From 0cab5e018c4da687d79fbf143f121ce519dcadbd Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 4 Jun 2026 12:08:40 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20cosmos=20standalone=20=E2=80=94=20motor?= =?UTF-8?q?=20astrom=C3=A9trico/astrol=C3=B3gico=20sobre=20Llimphi=20(git-?= =?UTF-8?q?dep=20al=20monorepo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Efemérides + cielo + reloj de sol + mareas + tránsitos + apuntado, más motor de cartas y UI GPU (app + canvas, demo dense_starfield vía pineal). Front-door: solo crates cosmos-*; Llimphi y lo fundacional por git-dep del monorepo gioser.git. cargo check pasa (31 crates, 0 errores). Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 3 + 01_yachay/cosmos/LEEME.md | 97 + 01_yachay/cosmos/README.md | 35 + 01_yachay/cosmos/README.qu.md | 37 + 01_yachay/cosmos/RECTIFICADOR.md | 96 + .../cosmos/cosmos-app-llimphi/Cargo.toml | 54 + 01_yachay/cosmos/cosmos-app-llimphi/LEEME.md | 16 + 01_yachay/cosmos/cosmos-app-llimphi/README.md | 16 + .../cosmos-app-llimphi/src/astrocarto.rs | 447 + .../cosmos-app-llimphi/src/astroview.rs | 379 + .../cosmos/cosmos-app-llimphi/src/chrome.rs | 2709 ++ .../cosmos/cosmos-app-llimphi/src/dialog.rs | 526 + .../cosmos/cosmos-app-llimphi/src/engine.rs | 71 + .../cosmos/cosmos-app-llimphi/src/format.rs | 42 + .../cosmos/cosmos-app-llimphi/src/glyphs.rs | 707 + .../cosmos/cosmos-app-llimphi/src/library.rs | 229 + .../cosmos/cosmos-app-llimphi/src/main.rs | 1638 + .../cosmos/cosmos-app-llimphi/src/model.rs | 884 + .../cosmos/cosmos-app-llimphi/src/persist.rs | 290 + .../cosmos/cosmos-app-llimphi/src/print.rs | 248 + .../cosmos/cosmos-app-llimphi/src/tools.rs | 368 + .../cosmos/cosmos-app-llimphi/src/view.rs | 734 + 01_yachay/cosmos/cosmos-astrology/Cargo.toml | 22 + 01_yachay/cosmos/cosmos-astrology/README.md | 193 + .../cosmos-astrology/examples/natal_chart.rs | 96 + .../cosmos/cosmos-astrology/src/angles.rs | 88 + .../cosmos/cosmos-astrology/src/aspect.rs | 415 + .../cosmos/cosmos-astrology/src/birth_data.rs | 58 + .../cosmos/cosmos-astrology/src/chart.rs | 293 + .../cosmos-astrology/src/chart_config.rs | 87 + .../cosmos/cosmos-astrology/src/composite.rs | 141 + .../cosmos/cosmos-astrology/src/eclipses.rs | 258 + .../cosmos/cosmos-astrology/src/error.rs | 23 + .../cosmos-astrology/src/house_system.rs | 126 + 01_yachay/cosmos/cosmos-astrology/src/lib.rs | 118 + 01_yachay/cosmos/cosmos-astrology/src/lots.rs | 234 + .../cosmos-astrology/src/lunar_phase.rs | 236 + .../cosmos/cosmos-astrology/src/mundane.rs | 256 + .../cosmos/cosmos-astrology/src/placement.rs | 62 + .../cosmos-astrology/src/primary_direction.rs | 667 + .../cosmos-astrology/src/profections.rs | 182 + .../cosmos-astrology/src/progression.rs | 194 + .../cosmos/cosmos-astrology/src/returns.rs | 97 + .../cosmos/cosmos-astrology/src/solar_arc.rs | 180 + .../cosmos/cosmos-astrology/src/stations.rs | 140 + .../cosmos/cosmos-astrology/src/synastry.rs | 77 + .../cosmos-astrology/src/topocentric.rs | 244 + .../cosmos/cosmos-astrology/src/transits.rs | 235 + .../cosmos/cosmos-astrology/src/zodiac.rs | 194 + .../tests/aspects_and_returns.rs | 228 + .../tests/campanus_directions.rs | 155 + .../cosmos-astrology/tests/composite.rs | 164 + .../tests/lots_and_profections.rs | 220 + .../tests/lunar_phase_and_eclipses.rs | 132 + .../cosmos-astrology/tests/natal_chart.rs | 187 + .../tests/primary_directions.rs | 199 + .../tests/progressions_and_solar_arc.rs | 208 + .../tests/regiomontanus_directions.rs | 180 + .../tests/stations_and_aspect_directions.rs | 201 + .../tests/transits_and_synastry.rs | 234 + .../cosmos/cosmos-canvas-llimphi/Cargo.toml | 19 + .../cosmos/cosmos-canvas-llimphi/LEEME.md | 10 + .../cosmos/cosmos-canvas-llimphi/README.md | 10 + .../examples/dense_starfield.rs | 211 + .../cosmos/cosmos-canvas-llimphi/src/lib.rs | 356 + .../tests/glyphs_parse_with_kurbo.rs | 46 + 01_yachay/cosmos/cosmos-card/Cargo.toml | 19 + 01_yachay/cosmos/cosmos-card/LEEME.md | 10 + 01_yachay/cosmos/cosmos-card/README.md | 10 + 01_yachay/cosmos/cosmos-card/src/lib.rs | 95 + 01_yachay/cosmos/cosmos-card/src/service.rs | 244 + 01_yachay/cosmos/cosmos-catalog/.gitignore | 1 + 01_yachay/cosmos/cosmos-catalog/Cargo.toml | 49 + 01_yachay/cosmos/cosmos-catalog/README.md | 146 + .../cosmos-catalog/examples/cone_search.rs | 37 + .../src/bin/forge/build_index.rs | 590 + .../cosmos-catalog/src/bin/forge/cli.rs | 119 + .../src/bin/forge/download_gaia.rs | 392 + .../cosmos-catalog/src/bin/forge/gaia.rs | 216 + .../src/bin/forge/ingest_gaia.rs | 426 + .../src/bin/forge/ingest_hipparcos.rs | 399 + .../cosmos-catalog/src/bin/forge/main.rs | 31 + .../cosmos-catalog/src/bin/forge/merge.rs | 278 + .../cosmos/cosmos-catalog/src/bin/query.rs | 249 + 01_yachay/cosmos/cosmos-catalog/src/lib.rs | 45 + .../cosmos-catalog/src/query/catalog.rs | 593 + .../cosmos/cosmos-catalog/src/query/cone.rs | 214 + .../cosmos-catalog/src/query/healpix.rs | 304 + .../cosmos/cosmos-catalog/src/query/mod.rs | 14 + .../tests/catalog_integration.rs | 61 + 01_yachay/cosmos/cosmos-cli/Cargo.toml | 18 + 01_yachay/cosmos/cosmos-cli/LEEME.md | 19 + 01_yachay/cosmos/cosmos-cli/README.md | 19 + 01_yachay/cosmos/cosmos-cli/src/main.rs | 164 + 01_yachay/cosmos/cosmos-coords/Cargo.toml | 29 + 01_yachay/cosmos/cosmos-coords/README.md | 217 + .../examples/coordinate_transforms.rs | 152 + .../cosmos-coords/examples/eop_basics.rs | 67 + .../cosmos-coords/examples/eop_update.rs | 82 + .../examples/galactic_ecliptic.rs | 191 + .../cosmos-coords/examples/solar_lunar.rs | 204 + .../src/aberration/coefficients.rs | 2008 + .../cosmos-coords/src/aberration/mod.rs | 355 + .../cosmos/cosmos-coords/src/constants.rs | 29 + .../cosmos/cosmos-coords/src/distance.rs | 325 + .../cosmos/cosmos-coords/src/eop/bundled.rs | 118 + .../cosmos-coords/src/eop/interpolate.rs | 522 + 01_yachay/cosmos/cosmos-coords/src/eop/mod.rs | 129 + .../cosmos/cosmos-coords/src/eop/parse.rs | 203 + .../cosmos/cosmos-coords/src/eop/record.rs | 411 + 01_yachay/cosmos/cosmos-coords/src/errors.rs | 112 + .../cosmos/cosmos-coords/src/frames/cirs.rs | 517 + .../cosmos-coords/src/frames/ecliptic.rs | 770 + .../src/frames/ecliptic_cartesian.rs | 98 + .../cosmos-coords/src/frames/galactic.rs | 324 + .../cosmos/cosmos-coords/src/frames/gcrs.rs | 473 + .../cosmos-coords/src/frames/heliographic.rs | 391 + .../cosmos/cosmos-coords/src/frames/icrs.rs | 726 + .../cosmos/cosmos-coords/src/frames/itrs.rs | 235 + .../cosmos/cosmos-coords/src/frames/mod.rs | 23 + .../cosmos-coords/src/frames/selenographic.rs | 334 + .../cosmos/cosmos-coords/src/frames/tirs.rs | 494 + .../src/frames/topocentric/hour_angle.rs | 131 + .../src/frames/topocentric/mod.rs | 74 + .../src/frames/topocentric/position.rs | 404 + .../src/frames/topocentric/tests.rs | 1034 + 01_yachay/cosmos/cosmos-coords/src/lib.rs | 27 + .../cosmos/cosmos-coords/src/lighttime.rs | 254 + 01_yachay/cosmos/cosmos-coords/src/lunar.rs | 287 + 01_yachay/cosmos/cosmos-coords/src/solar.rs | 251 + .../cosmos-coords/src/transforms/cartesian.rs | 12 + .../cosmos-coords/src/transforms/mod.rs | 12 + 01_yachay/cosmos/cosmos-core/Cargo.toml | 27 + 01_yachay/cosmos/cosmos-core/README.md | 69 + .../cosmos/cosmos-core/src/angle/core.rs | 575 + .../cosmos/cosmos-core/src/angle/format.rs | 683 + 01_yachay/cosmos/cosmos-core/src/angle/mod.rs | 18 + .../cosmos/cosmos-core/src/angle/normalize.rs | 286 + 01_yachay/cosmos/cosmos-core/src/angle/ops.rs | 78 + .../cosmos/cosmos-core/src/angle/parse.rs | 489 + .../cosmos/cosmos-core/src/angle/serde_.rs | 15 + .../cosmos/cosmos-core/src/angle/validate.rs | 183 + .../cosmos/cosmos-core/src/cio/coordinates.rs | 181 + .../cosmos/cosmos-core/src/cio/locator.rs | 647 + 01_yachay/cosmos/cosmos-core/src/cio/mod.rs | 123 + .../cosmos/cosmos-core/src/cio/origins.rs | 172 + 01_yachay/cosmos/cosmos-core/src/constants.rs | 96 + 01_yachay/cosmos/cosmos-core/src/errors.rs | 244 + 01_yachay/cosmos/cosmos-core/src/lib.rs | 76 + .../cosmos/cosmos-core/src/location/core.rs | 377 + .../cosmos-core/src/location/geodesy.rs | 301 + .../cosmos/cosmos-core/src/location/mod.rs | 9 + 01_yachay/cosmos/cosmos-core/src/math.rs | 23 + .../cosmos/cosmos-core/src/matrix/mod.rs | 10 + .../cosmos-core/src/matrix/rotation_matrix.rs | 843 + .../cosmos/cosmos-core/src/matrix/vector3.rs | 712 + .../src/nutation/fundamental_args.rs | 200 + .../cosmos-core/src/nutation/iau2000a.rs | 227 + .../cosmos-core/src/nutation/iau2000b.rs | 168 + .../cosmos-core/src/nutation/iau2006a.rs | 113 + .../src/nutation/lunisolar_terms.rs | 720 + .../cosmos/cosmos-core/src/nutation/mod.rs | 69 + .../src/nutation/planetary_terms.rs | 723 + .../cosmos/cosmos-core/src/nutation/types.rs | 106 + 01_yachay/cosmos/cosmos-core/src/obliquity.rs | 66 + .../cosmos-core/src/precession/iau2000.rs | 293 + .../cosmos-core/src/precession/iau2006.rs | 425 + .../cosmos/cosmos-core/src/precession/mod.rs | 84 + .../cosmos-core/src/precession/types.rs | 66 + .../cosmos/cosmos-core/src/test_helpers.rs | 79 + 01_yachay/cosmos/cosmos-core/src/utils.rs | 210 + 01_yachay/cosmos/cosmos-corpus/Cargo.toml | 11 + 01_yachay/cosmos/cosmos-corpus/GUIA.md | 158 + 01_yachay/cosmos/cosmos-corpus/LEEME.md | 10 + 01_yachay/cosmos/cosmos-corpus/README.md | 10 + 01_yachay/cosmos/cosmos-corpus/ejemplo.ron | 72 + 01_yachay/cosmos/cosmos-corpus/src/lib.rs | 730 + 01_yachay/cosmos/cosmos-eclipses/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-eclipses/LEEME.md | 18 + 01_yachay/cosmos/cosmos-eclipses/README.md | 18 + .../examples/next_eclipses_demo.rs | 68 + 01_yachay/cosmos/cosmos-eclipses/src/lib.rs | 583 + 01_yachay/cosmos/cosmos-engine/Cargo.toml | 33 + 01_yachay/cosmos/cosmos-engine/LEEME.md | 19 + 01_yachay/cosmos/cosmos-engine/README.md | 19 + .../cosmos/cosmos-engine/examples/wheel.rs | 73 + .../cosmos-engine/src/bridge/compute.rs | 448 + .../cosmos/cosmos-engine/src/bridge/maps.rs | 136 + .../cosmos/cosmos-engine/src/bridge/mod.rs | 39 + .../cosmos-engine/src/bridge/overlays.rs | 1173 + 01_yachay/cosmos/cosmos-engine/src/dignity.rs | 141 + 01_yachay/cosmos/cosmos-engine/src/lib.rs | 737 + .../cosmos/cosmos-engine/src/natal_cache.rs | 116 + 01_yachay/cosmos/cosmos-engine/src/rectify.rs | 133 + .../cosmos/cosmos-engine/src/svg_export.rs | 319 + 01_yachay/cosmos/cosmos-ephemeris/Cargo.toml | 45 + 01_yachay/cosmos/cosmos-ephemeris/README.md | 213 + .../src/bin/elpmpp02_gen/download.rs | 624 + .../src/bin/elpmpp02_gen/generate.rs | 883 + .../src/bin/elpmpp02_gen/main.rs | 145 + .../src/bin/elpmpp02_gen/parser.rs | 1102 + .../src/bin/vsop2013_gen/analyze.rs | 468 + .../src/bin/vsop2013_gen/download.rs | 596 + .../src/bin/vsop2013_gen/generate.rs | 773 + .../src/bin/vsop2013_gen/main.rs | 430 + .../src/bin/vsop2013_gen/mod.rs | 4 + .../src/bin/vsop2013_gen/parser.rs | 899 + .../src/bin/vsop2013_gen/pluto_horizons.rs | 111 + .../cosmos/cosmos-ephemeris/src/earth.rs | 172 + .../cosmos-ephemeris/src/jpl/chebyshev.rs | 231 + .../cosmos/cosmos-ephemeris/src/jpl/daf.rs | 695 + .../cosmos/cosmos-ephemeris/src/jpl/mod.rs | 283 + .../cosmos/cosmos-ephemeris/src/jpl/spk.rs | 755 + 01_yachay/cosmos/cosmos-ephemeris/src/lib.rs | 11 + .../src/lunar_coefficients/mod.rs | 2 + .../src/lunar_coefficients/moon.rs | 24383 ++++++++++ 01_yachay/cosmos/cosmos-ephemeris/src/moon.rs | 770 + .../src/planetary_coefficients/emb.rs | 39297 ++++++++++++++++ .../src/planetary_coefficients/jupiter.rs | 5721 +++ .../src/planetary_coefficients/mars.rs | 3453 ++ .../src/planetary_coefficients/mercury.rs | 976 + .../src/planetary_coefficients/mod.rs | 34 + .../src/planetary_coefficients/neptune.rs | 9063 ++++ .../src/planetary_coefficients/pluto.rs | 38922 +++++++++++++++ .../src/planetary_coefficients/saturn.rs | 11503 +++++ .../src/planetary_coefficients/uranus.rs | 14884 ++++++ .../src/planetary_coefficients/venus.rs | 1269 + .../cosmos-ephemeris/src/planets/mod.rs | 406 + .../cosmos-ephemeris/src/planets/tests/emb.rs | 64 + .../src/planets/tests/jupiter.rs | 88 + .../src/planets/tests/mars.rs | 88 + .../src/planets/tests/mercury.rs | 88 + .../cosmos-ephemeris/src/planets/tests/mod.rs | 9 + .../src/planets/tests/neptune.rs | 88 + .../src/planets/tests/pluto.rs | 88 + .../src/planets/tests/saturn.rs | 88 + .../src/planets/tests/uranus.rs | 88 + .../src/planets/tests/venus.rs | 93 + 01_yachay/cosmos/cosmos-ephemeris/src/sun.rs | 106 + .../cosmos-ephemeris/tests/data/de432s.bsp | Bin 0 -> 10895360 bytes 01_yachay/cosmos/cosmos-images/Cargo.toml | 43 + 01_yachay/cosmos/cosmos-images/README.md | 80 + .../cosmos/cosmos-images/src/core/errors.rs | 121 + .../cosmos/cosmos-images/src/core/mod.rs | 5 + .../cosmos/cosmos-images/src/core/types.rs | 215 + 01_yachay/cosmos/cosmos-images/src/debayer.rs | 688 + .../src/fits/compression/compress.rs | 432 + .../src/fits/compression/decompress.rs | 516 + .../cosmos-images/src/fits/compression/mod.rs | 68 + .../src/fits/compression/tests.rs | 804 + .../cosmos-images/src/fits/data/array.rs | 1139 + .../cosmos/cosmos-images/src/fits/data/mod.rs | 1 + .../cosmos/cosmos-images/src/fits/errors.rs | 46 + .../cosmos-images/src/fits/hdu/ascii_table.rs | 1182 + .../src/fits/hdu/binary_table/column_ops.rs | 1177 + .../src/fits/hdu/binary_table/compression.rs | 483 + .../fits/hdu/binary_table/format_parsing.rs | 107 + .../src/fits/hdu/binary_table/mod.rs | 69 + .../src/fits/hdu/binary_table/tests.rs | 73 + .../cosmos-images/src/fits/hdu/image.rs | 418 + .../cosmos/cosmos-images/src/fits/hdu/mod.rs | 884 + .../cosmos-images/src/fits/hdu/primary.rs | 465 + .../src/fits/hdu/random_groups.rs | 254 + .../cosmos-images/src/fits/header/keywords.rs | 856 + .../cosmos-images/src/fits/header/mod.rs | 5 + .../cosmos-images/src/fits/header/parser.rs | 803 + .../cosmos/cosmos-images/src/fits/image.rs | 361 + .../cosmos/cosmos-images/src/fits/io/mod.rs | 5 + .../cosmos-images/src/fits/io/reader.rs | 1435 + .../cosmos-images/src/fits/io/writer.rs | 1089 + .../cosmos/cosmos-images/src/fits/mod.rs | 33 + .../src/fits/util/buffer_pool.rs | 121 + .../cosmos-images/src/fits/util/checksum.rs | 314 + .../cosmos-images/src/fits/util/image.rs | 73 + .../cosmos/cosmos-images/src/fits/util/mod.rs | 3 + .../cosmos/cosmos-images/src/fits/wcs.rs | 149 + .../cosmos/cosmos-images/src/formats/mod.rs | 3 + .../src/formats/unified/astro.rs | 166 + .../src/formats/unified/image.rs | 732 + .../cosmos-images/src/formats/unified/meta.rs | 96 + .../cosmos-images/src/formats/unified/mod.rs | 39 + .../src/formats/unified/pixel.rs | 219 + .../src/formats/unified/tests.rs | 844 + .../src/formats/unified/writer.rs | 121 + 01_yachay/cosmos/cosmos-images/src/lib.rs | 219 + .../cosmos-images/src/ricecomp/bitbuffer.rs | 443 + .../cosmos-images/src/ricecomp/compress.rs | 412 + .../cosmos-images/src/ricecomp/decompress.rs | 409 + .../cosmos/cosmos-images/src/ricecomp/mod.rs | 404 + .../cosmos/cosmos-images/src/ser/buffer.rs | 251 + .../cosmos/cosmos-images/src/ser/error.rs | 188 + .../cosmos/cosmos-images/src/ser/header.rs | 429 + 01_yachay/cosmos/cosmos-images/src/ser/mod.rs | 13 + .../cosmos/cosmos-images/src/ser/reader.rs | 824 + .../cosmos/cosmos-images/src/ser/types.rs | 558 + .../cosmos/cosmos-images/src/ser/writer.rs | 498 + .../cosmos/cosmos-images/src/xisf/errors.rs | 124 + .../cosmos/cosmos-images/src/xisf/header.rs | 819 + .../cosmos/cosmos-images/src/xisf/mod.rs | 12 + .../cosmos/cosmos-images/src/xisf/reader.rs | 1185 + .../cosmos-images/src/xisf/writer/datatype.rs | 148 + .../cosmos-images/src/xisf/writer/mod.rs | 48 + .../cosmos-images/src/xisf/writer/tests.rs | 696 + .../cosmos-images/src/xisf/writer/wcs.rs | 175 + .../cosmos-images/src/xisf/writer/write.rs | 485 + .../cosmos/cosmos-images/test_data/cygnus.fit | 6624 +++ 01_yachay/cosmos/cosmos-leo/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-leo/LEEME.md | 19 + 01_yachay/cosmos/cosmos-leo/README.md | 19 + .../cosmos-leo/examples/iss_pass_demo.rs | 133 + 01_yachay/cosmos/cosmos-leo/src/lib.rs | 531 + 01_yachay/cosmos/cosmos-model/Cargo.toml | 12 + 01_yachay/cosmos/cosmos-model/LEEME.md | 18 + 01_yachay/cosmos/cosmos-model/README.md | 18 + 01_yachay/cosmos/cosmos-model/src/lib.rs | 394 + 01_yachay/cosmos/cosmos-modules/Cargo.toml | 13 + 01_yachay/cosmos/cosmos-modules/LEEME.md | 19 + 01_yachay/cosmos/cosmos-modules/README.md | 19 + 01_yachay/cosmos/cosmos-modules/src/lib.rs | 993 + .../cosmos/cosmos-notebook-kernel/Cargo.toml | 29 + .../cosmos/cosmos-notebook-kernel/LEEME.md | 19 + .../cosmos/cosmos-notebook-kernel/README.md | 19 + .../examples/notebook_cosmos_demo.rs | 106 + .../cosmos/cosmos-notebook-kernel/src/lib.rs | 1099 + 01_yachay/cosmos/cosmos-pointing/Cargo.toml | 32 + 01_yachay/cosmos/cosmos-pointing/README.md | 106 + .../pointing-data/cgx-l-data.dat | 153 + .../cosmos-pointing/pointing-data/gem-28.dat | 459 + .../cosmos-pointing/pointing-data/out.dat | 16 + .../cosmos-pointing/pointing-data/simple.dat | 7 + .../cosmos-pointing/src/bin/pointing.rs | 283 + .../cosmos-pointing/src/commands/adjust.rs | 45 + .../cosmos-pointing/src/commands/apply.rs | 176 + .../cosmos-pointing/src/commands/clist.rs | 40 + .../cosmos-pointing/src/commands/correct.rs | 154 + .../cosmos-pointing/src/commands/fauto.rs | 51 + .../cosmos-pointing/src/commands/fit.rs | 38 + .../cosmos-pointing/src/commands/fix.rs | 73 + .../cosmos-pointing/src/commands/gdec.rs | 203 + .../cosmos-pointing/src/commands/gdist.rs | 128 + .../cosmos-pointing/src/commands/gha.rs | 209 + .../cosmos-pointing/src/commands/ghyst.rs | 241 + .../cosmos-pointing/src/commands/gmap.rs | 193 + .../cosmos-pointing/src/commands/gscat.rs | 151 + .../cosmos-pointing/src/commands/help.rs | 109 + .../cosmos-pointing/src/commands/indat.rs | 63 + .../cosmos-pointing/src/commands/inmod.rs | 55 + .../cosmos-pointing/src/commands/lose.rs | 33 + .../cosmos-pointing/src/commands/lst.rs | 164 + .../cosmos-pointing/src/commands/mask.rs | 108 + .../cosmos-pointing/src/commands/mod.rs | 161 + .../cosmos-pointing/src/commands/mvet.rs | 70 + .../cosmos-pointing/src/commands/optimal.rs | 308 + .../cosmos-pointing/src/commands/outl.rs | 79 + .../cosmos-pointing/src/commands/outmod.rs | 34 + .../cosmos-pointing/src/commands/parallel.rs | 70 + .../cosmos-pointing/src/commands/predict.rs | 238 + .../cosmos-pointing/src/commands/reset.rs | 24 + .../cosmos-pointing/src/commands/show.rs | 60 + .../cosmos-pointing/src/commands/slist.rs | 112 + .../cosmos-pointing/src/commands/use_term.rs | 28 + 01_yachay/cosmos/cosmos-pointing/src/error.rs | 24 + 01_yachay/cosmos/cosmos-pointing/src/lib.rs | 12 + 01_yachay/cosmos/cosmos-pointing/src/model.rs | 321 + .../cosmos/cosmos-pointing/src/observation.rs | 140 + .../cosmos/cosmos-pointing/src/parser.rs | 503 + .../cosmos/cosmos-pointing/src/plot/mod.rs | 3 + .../cosmos-pointing/src/plot/residuals.rs | 222 + .../cosmos/cosmos-pointing/src/plot/svg.rs | 214 + .../cosmos-pointing/src/plot/terminal.rs | 104 + .../cosmos/cosmos-pointing/src/session.rs | 222 + .../cosmos/cosmos-pointing/src/solver.rs | 273 + .../cosmos/cosmos-pointing/src/terms/altaz.rs | 206 + .../cosmos-pointing/src/terms/equatorial.rs | 455 + .../cosmos-pointing/src/terms/harmonic.rs | 416 + .../cosmos/cosmos-pointing/src/terms/mod.rs | 105 + .../cosmos-pointing/tests/integration.rs | 850 + 01_yachay/cosmos/cosmos-render/Cargo.toml | 13 + 01_yachay/cosmos/cosmos-render/LEEME.md | 18 + 01_yachay/cosmos/cosmos-render/README.md | 18 + .../cosmos/cosmos-render/examples/catalog.rs | 166 + .../cosmos-render/src/constellations_data.rs | 344 + 01_yachay/cosmos/cosmos-render/src/draw.rs | 1178 + 01_yachay/cosmos/cosmos-render/src/glyphs.rs | 1608 + 01_yachay/cosmos/cosmos-render/src/gr.rs | 320 + .../cosmos/cosmos-render/src/harmonic.rs | 341 + 01_yachay/cosmos/cosmos-render/src/lib.rs | 265 + 01_yachay/cosmos/cosmos-render/src/math.rs | 402 + 01_yachay/cosmos/cosmos-render/src/palette.rs | 251 + .../cosmos/cosmos-render/src/sky_data.rs | 122 + .../cosmos-render/src/sphere3d/compose.rs | 396 + .../cosmos-render/src/sphere3d/earth.rs | 214 + .../cosmos-render/src/sphere3d/layers.rs | 293 + .../cosmos/cosmos-render/src/sphere3d/mod.rs | 289 + .../cosmos-render/src/sphere3d/starfield.rs | 241 + .../cosmos-render/src/sphere3d/tests.rs | 247 + 01_yachay/cosmos/cosmos-rise-set/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-rise-set/LEEME.md | 18 + 01_yachay/cosmos/cosmos-rise-set/README.md | 18 + .../examples/rise_set_lima_demo.rs | 95 + 01_yachay/cosmos/cosmos-rise-set/src/lib.rs | 494 + 01_yachay/cosmos/cosmos-server/Cargo.toml | 27 + 01_yachay/cosmos/cosmos-server/DEPLOY.md | 298 + 01_yachay/cosmos/cosmos-server/LEEME.md | 16 + 01_yachay/cosmos/cosmos-server/README.md | 16 + 01_yachay/cosmos/cosmos-server/src/main.rs | 603 + .../cosmos/cosmos-server/static/index.html | 276 + 01_yachay/cosmos/cosmos-sky/Cargo.toml | 25 + 01_yachay/cosmos/cosmos-sky/README.md | 129 + 01_yachay/cosmos/cosmos-sky/src/apparent.rs | 155 + 01_yachay/cosmos/cosmos-sky/src/body.rs | 152 + 01_yachay/cosmos/cosmos-sky/src/delta_t.rs | 16 + 01_yachay/cosmos/cosmos-sky/src/error.rs | 44 + .../cosmos/cosmos-sky/src/event_search.rs | 193 + 01_yachay/cosmos/cosmos-sky/src/instant.rs | 240 + 01_yachay/cosmos/cosmos-sky/src/lib.rs | 57 + 01_yachay/cosmos/cosmos-sky/src/observer.rs | 42 + 01_yachay/cosmos/cosmos-sky/src/session.rs | 543 + .../tests/parity_with_validation.rs | 156 + 01_yachay/cosmos/cosmos-skywatch/Cargo.toml | 22 + 01_yachay/cosmos/cosmos-skywatch/LEEME.md | 18 + 01_yachay/cosmos/cosmos-skywatch/README.md | 18 + .../examples/skywatch_lima_demo.rs | 60 + 01_yachay/cosmos/cosmos-skywatch/src/lib.rs | 448 + 01_yachay/cosmos/cosmos-store/Cargo.toml | 14 + 01_yachay/cosmos/cosmos-store/LEEME.md | 18 + 01_yachay/cosmos/cosmos-store/README.md | 18 + 01_yachay/cosmos/cosmos-store/src/lib.rs | 760 + 01_yachay/cosmos/cosmos-sundial/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-sundial/LEEME.md | 18 + 01_yachay/cosmos/cosmos-sundial/README.md | 18 + .../examples/sundial_lima_demo.rs | 49 + 01_yachay/cosmos/cosmos-sundial/src/lib.rs | 246 + 01_yachay/cosmos/cosmos-tides/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-tides/LEEME.md | 17 + 01_yachay/cosmos/cosmos-tides/README.md | 17 + .../examples/tides_callao_demo.rs | 73 + 01_yachay/cosmos/cosmos-tides/src/lib.rs | 267 + 01_yachay/cosmos/cosmos-time/Cargo.toml | 24 + 01_yachay/cosmos/cosmos-time/README.md | 72 + 01_yachay/cosmos/cosmos-time/src/constants.rs | 917 + 01_yachay/cosmos/cosmos-time/src/julian.rs | 176 + 01_yachay/cosmos/cosmos-time/src/lib.rs | 57 + 01_yachay/cosmos/cosmos-time/src/parsing.rs | 403 + .../cosmos/cosmos-time/src/scales/common.rs | 75 + .../src/scales/conversions/gps_tai.rs | 206 + .../cosmos-time/src/scales/conversions/mod.rs | 192 + .../src/scales/conversions/tai_tt.rs | 318 + .../src/scales/conversions/tcb_tdb.rs | 285 + .../src/scales/conversions/tcg_tcb.rs | 356 + .../src/scales/conversions/tt_tcg.rs | 278 + .../src/scales/conversions/tt_tdb.rs | 655 + .../src/scales/conversions/ut1_tai.rs | 455 + .../src/scales/conversions/utc_tai.rs | 554 + .../src/scales/conversions/utc_ut1.rs | 451 + .../cosmos/cosmos-time/src/scales/gps.rs | 231 + .../cosmos/cosmos-time/src/scales/mod.rs | 85 + .../cosmos/cosmos-time/src/scales/tai.rs | 240 + .../cosmos/cosmos-time/src/scales/tcb.rs | 214 + .../cosmos/cosmos-time/src/scales/tcg.rs | 234 + .../cosmos/cosmos-time/src/scales/tdb.rs | 215 + 01_yachay/cosmos/cosmos-time/src/scales/tt.rs | 290 + .../cosmos/cosmos-time/src/scales/ut1.rs | 216 + .../cosmos/cosmos-time/src/scales/utc.rs | 307 + .../cosmos/cosmos-time/src/sidereal/angle.rs | 102 + .../cosmos-time/src/sidereal/conversions.rs | 73 + .../cosmos/cosmos-time/src/sidereal/gast.rs | 171 + .../cosmos/cosmos-time/src/sidereal/gmst.rs | 237 + .../cosmos/cosmos-time/src/sidereal/last.rs | 470 + .../cosmos/cosmos-time/src/sidereal/lmst.rs | 343 + .../cosmos/cosmos-time/src/sidereal/mod.rs | 14 + .../cosmos-time/src/sidereal/observatory.rs | 413 + .../cosmos/cosmos-time/src/transforms/mod.rs | 7 + .../src/transforms/nutation/iau2000a.rs | 14 + .../src/transforms/nutation/iau2000b.rs | 13 + .../src/transforms/nutation/iau2006a.rs | 16 + .../src/transforms/nutation/mod.rs | 202 + .../src/transforms/precession/constants.rs | 7 + .../src/transforms/precession/iau2000.rs | 68 + .../src/transforms/precession/iau2006.rs | 84 + .../src/transforms/precession/mod.rs | 45 + .../cosmos-time/src/transforms/rotation.rs | 55 + 01_yachay/cosmos/cosmos-transits/Cargo.toml | 17 + 01_yachay/cosmos/cosmos-transits/LEEME.md | 17 + 01_yachay/cosmos/cosmos-transits/README.md | 17 + .../examples/next_transits_demo.rs | 77 + 01_yachay/cosmos/cosmos-transits/src/lib.rs | 280 + .../cosmos/cosmos-validation/CHANGELOG.md | 178 + .../cosmos/cosmos-validation/CONTRIBUTING.md | 103 + 01_yachay/cosmos/cosmos-validation/Cargo.toml | 73 + .../cosmos/cosmos-validation/PRECISION.md | 263 + 01_yachay/cosmos/cosmos-validation/README.md | 333 + .../regression-de432/self_baseline.json | 680 + .../horizons.json | 713 + .../horizons.json | 713 + .../horizons.json | 713 + .../horizons.json | 713 + .../swiss.json | 821 + .../fixtures/regression-de440/horizons.json | 864 + .../regression-vsop2013/horizons.json | 786 + .../fixtures/swiss-altaz/swiss-altaz.json | 69 + .../swiss-asteroids/swiss-asteroids.json | 143 + .../swiss-eclipses/swiss-eclipses.json | 160 + .../fixtures/swiss-houses/swiss-houses.json | 445 + .../swiss-local-eclipses.json | 182 + .../fixtures/swiss-lunar/swiss-lunar.json | 50 + .../swiss-risetrans/swiss-risetrans.json | 69 + .../fixtures/swiss-stars/swiss-stars.json | 491 + .../swiss-topocentric/swiss-topocentric.json | 93 + .../cosmos-validation/scripts/fetch_swiss.py | 226 + .../scripts/fetch_swiss_altaz.py | 98 + .../scripts/fetch_swiss_asteroids.py | 85 + .../scripts/fetch_swiss_eclipses.py | 82 + .../scripts/fetch_swiss_houses.py | 114 + .../scripts/fetch_swiss_local_eclipses.py | 100 + .../scripts/fetch_swiss_lunar.py | 75 + .../scripts/fetch_swiss_risetrans.py | 99 + .../scripts/fetch_swiss_stars.py | 80 + .../scripts/fetch_swiss_topocentric.py | 106 + .../cosmos/cosmos-validation/src/asteroids.rs | 228 + .../cosmos-validation/src/bin/altaz_check.rs | 115 + .../src/bin/asteroids_check.rs | 125 + .../src/bin/eclipses_check.rs | 147 + .../cosmos-validation/src/bin/houses_check.rs | 184 + .../src/bin/local_eclipses_check.rs | 117 + .../cosmos-validation/src/bin/lunar_check.rs | 111 + .../src/bin/precision_report.rs | 437 + .../src/bin/risetrans_check.rs | 189 + .../src/bin/sidereal_check.rs | 163 + .../cosmos-validation/src/bin/stars_check.rs | 103 + .../src/bin/topocentric_check.rs | 172 + .../cosmos/cosmos-validation/src/delta_t.rs | 138 + .../cosmos/cosmos-validation/src/eclipses.rs | 856 + .../cosmos-validation/src/fixed_stars.rs | 250 + .../cosmos/cosmos-validation/src/fixture.rs | 241 + .../cosmos/cosmos-validation/src/horizons.rs | 396 + .../cosmos/cosmos-validation/src/houses.rs | 625 + 01_yachay/cosmos/cosmos-validation/src/lib.rs | 31 + .../cosmos/cosmos-validation/src/lunar.rs | 313 + .../cosmos/cosmos-validation/src/oracle.rs | 607 + .../cosmos/cosmos-validation/src/report.rs | 130 + .../cosmos/cosmos-validation/src/rise_set.rs | 266 + .../cosmos/cosmos-validation/src/sidereal.rs | 200 + .../cosmos-validation/src/topocentric.rs | 260 + .../cosmos-validation/tests/regression.rs | 170 + 01_yachay/cosmos/cosmos-wcs/Cargo.toml | 20 + 01_yachay/cosmos/cosmos-wcs/README.md | 78 + .../cosmos/cosmos-wcs/references/errata.pdf | Bin 0 -> 92725 bytes .../cosmos/cosmos-wcs/references/paper_1.pdf | 4693 ++ .../cosmos/cosmos-wcs/references/paper_2.pdf | Bin 0 -> 1082038 bytes .../cosmos/cosmos-wcs/references/paper_3.pdf | Bin 0 -> 929871 bytes .../cosmos/cosmos-wcs/references/paper_5.pdf | Bin 0 -> 245452 bytes .../cosmos/cosmos-wcs/references/paper_7.pdf | Bin 0 -> 316674 bytes .../cosmos/cosmos-wcs/src/builder/build.rs | 438 + .../cosmos/cosmos-wcs/src/builder/keyword.rs | 37 + .../cosmos/cosmos-wcs/src/builder/mod.rs | 23 + .../cosmos/cosmos-wcs/src/builder/tests.rs | 1563 + .../cosmos/cosmos-wcs/src/builder/wcs.rs | 338 + 01_yachay/cosmos/cosmos-wcs/src/common.rs | 223 + 01_yachay/cosmos/cosmos-wcs/src/coordinate.rs | 186 + .../cosmos/cosmos-wcs/src/distortion/mod.rs | 128 + .../cosmos-wcs/src/distortion/polynomial.rs | 295 + .../cosmos/cosmos-wcs/src/distortion/sip.rs | 249 + .../cosmos/cosmos-wcs/src/distortion/tnx.rs | 772 + .../cosmos/cosmos-wcs/src/distortion/tpv.rs | 397 + 01_yachay/cosmos/cosmos-wcs/src/error.rs | 125 + 01_yachay/cosmos/cosmos-wcs/src/header.rs | 132 + 01_yachay/cosmos/cosmos-wcs/src/lib.rs | 15 + 01_yachay/cosmos/cosmos-wcs/src/linear.rs | 183 + .../cosmos/cosmos-wcs/src/spherical/conic.rs | 586 + .../cosmos-wcs/src/spherical/cylindrical.rs | 461 + .../cosmos/cosmos-wcs/src/spherical/mod.rs | 776 + .../cosmos-wcs/src/spherical/polyconic.rs | 449 + .../src/spherical/pseudocylindrical.rs | 422 + .../cosmos-wcs/src/spherical/quadcube.rs | 982 + .../cosmos-wcs/src/spherical/zenithal.rs | 1449 + .../cosmos/cosmos-web/.cargo/config.toml | 7 + 01_yachay/cosmos/cosmos-web/Cargo.toml | 23 + 01_yachay/cosmos/cosmos-web/LEEME.md | 18 + 01_yachay/cosmos/cosmos-web/README.md | 18 + 01_yachay/cosmos/cosmos-web/src/lib.rs | 99 + Cargo.lock | 8811 ++++ Cargo.toml | 469 + LICENSE | 21 + README.md | 20 + 585 files changed, 316208 insertions(+) create mode 100644 .gitignore create mode 100644 01_yachay/cosmos/LEEME.md create mode 100644 01_yachay/cosmos/README.md create mode 100644 01_yachay/cosmos/README.qu.md create mode 100644 01_yachay/cosmos/RECTIFICADOR.md create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/README.md create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/astrocarto.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/astroview.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/chrome.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/dialog.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/engine.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/format.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/glyphs.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/library.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/main.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/model.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/persist.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/print.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/tools.rs create mode 100644 01_yachay/cosmos/cosmos-app-llimphi/src/view.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-astrology/README.md create mode 100644 01_yachay/cosmos/cosmos-astrology/examples/natal_chart.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/angles.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/aspect.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/birth_data.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/chart.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/chart_config.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/composite.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/eclipses.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/error.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/house_system.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/lots.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/lunar_phase.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/mundane.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/placement.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/primary_direction.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/profections.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/progression.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/returns.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/solar_arc.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/stations.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/synastry.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/topocentric.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/transits.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/src/zodiac.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/aspects_and_returns.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/campanus_directions.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/composite.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/lots_and_profections.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/lunar_phase_and_eclipses.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/natal_chart.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/primary_directions.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/progressions_and_solar_arc.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/regiomontanus_directions.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/stations_and_aspect_directions.rs create mode 100644 01_yachay/cosmos/cosmos-astrology/tests/transits_and_synastry.rs create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/README.md create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/examples/dense_starfield.rs create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-canvas-llimphi/tests/glyphs_parse_with_kurbo.rs create mode 100644 01_yachay/cosmos/cosmos-card/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-card/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-card/README.md create mode 100644 01_yachay/cosmos/cosmos-card/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-card/src/service.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/.gitignore create mode 100644 01_yachay/cosmos/cosmos-catalog/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-catalog/README.md create mode 100644 01_yachay/cosmos/cosmos-catalog/examples/cone_search.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/build_index.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/cli.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/download_gaia.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/gaia.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_gaia.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_hipparcos.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/main.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/forge/merge.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/bin/query.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/query/catalog.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/query/cone.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/query/healpix.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/src/query/mod.rs create mode 100644 01_yachay/cosmos/cosmos-catalog/tests/catalog_integration.rs create mode 100644 01_yachay/cosmos/cosmos-cli/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-cli/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-cli/README.md create mode 100644 01_yachay/cosmos/cosmos-cli/src/main.rs create mode 100644 01_yachay/cosmos/cosmos-coords/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-coords/README.md create mode 100644 01_yachay/cosmos/cosmos-coords/examples/coordinate_transforms.rs create mode 100644 01_yachay/cosmos/cosmos-coords/examples/eop_basics.rs create mode 100644 01_yachay/cosmos/cosmos-coords/examples/eop_update.rs create mode 100644 01_yachay/cosmos/cosmos-coords/examples/galactic_ecliptic.rs create mode 100644 01_yachay/cosmos/cosmos-coords/examples/solar_lunar.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/aberration/coefficients.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/aberration/mod.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/constants.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/distance.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/eop/bundled.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/eop/interpolate.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/eop/mod.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/eop/parse.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/eop/record.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/errors.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/cirs.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/ecliptic.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/ecliptic_cartesian.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/galactic.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/gcrs.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/heliographic.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/icrs.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/itrs.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/mod.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/selenographic.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/tirs.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/topocentric/hour_angle.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/topocentric/mod.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/topocentric/position.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/frames/topocentric/tests.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/lighttime.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/lunar.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/solar.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/transforms/cartesian.rs create mode 100644 01_yachay/cosmos/cosmos-coords/src/transforms/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-core/README.md create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/core.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/format.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/normalize.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/ops.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/parse.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/serde_.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/angle/validate.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/cio/coordinates.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/cio/locator.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/cio/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/cio/origins.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/constants.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/errors.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/location/core.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/location/geodesy.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/location/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/math.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/matrix/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/matrix/rotation_matrix.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/matrix/vector3.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/fundamental_args.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/iau2000a.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/iau2000b.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/iau2006a.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/lunisolar_terms.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/planetary_terms.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/nutation/types.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/obliquity.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/precession/iau2000.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/precession/iau2006.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/precession/mod.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/precession/types.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/test_helpers.rs create mode 100644 01_yachay/cosmos/cosmos-core/src/utils.rs create mode 100644 01_yachay/cosmos/cosmos-corpus/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-corpus/GUIA.md create mode 100644 01_yachay/cosmos/cosmos-corpus/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-corpus/README.md create mode 100644 01_yachay/cosmos/cosmos-corpus/ejemplo.ron create mode 100644 01_yachay/cosmos/cosmos-corpus/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-eclipses/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-eclipses/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-eclipses/README.md create mode 100644 01_yachay/cosmos/cosmos-eclipses/examples/next_eclipses_demo.rs create mode 100644 01_yachay/cosmos/cosmos-eclipses/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-engine/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-engine/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-engine/README.md create mode 100644 01_yachay/cosmos/cosmos-engine/examples/wheel.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/bridge/compute.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/bridge/maps.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/bridge/mod.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/bridge/overlays.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/dignity.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/natal_cache.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/rectify.rs create mode 100644 01_yachay/cosmos/cosmos-engine/src/svg_export.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-ephemeris/README.md create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/download.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/generate.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/main.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/parser.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/analyze.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/download.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/generate.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/main.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/parser.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/pluto_horizons.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/earth.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/jpl/chebyshev.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/jpl/daf.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/jpl/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/jpl/spk.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/moon.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/moon.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/emb.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/jupiter.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mars.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mercury.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/neptune.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/pluto.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/saturn.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/uranus.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/venus.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/emb.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/jupiter.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mars.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mercury.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mod.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/neptune.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/pluto.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/saturn.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/uranus.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/venus.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/src/sun.rs create mode 100644 01_yachay/cosmos/cosmos-ephemeris/tests/data/de432s.bsp create mode 100644 01_yachay/cosmos/cosmos-images/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-images/README.md create mode 100644 01_yachay/cosmos/cosmos-images/src/core/errors.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/core/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/core/types.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/debayer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/compression/compress.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/compression/decompress.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/compression/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/compression/tests.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/data/array.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/data/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/errors.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/ascii_table.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/binary_table/column_ops.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/binary_table/compression.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/binary_table/format_parsing.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/binary_table/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/binary_table/tests.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/image.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/primary.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/hdu/random_groups.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/header/keywords.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/header/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/header/parser.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/image.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/io/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/io/reader.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/io/writer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/util/buffer_pool.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/util/checksum.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/util/image.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/util/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/fits/wcs.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/astro.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/image.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/meta.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/pixel.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/tests.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/formats/unified/writer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ricecomp/bitbuffer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ricecomp/compress.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ricecomp/decompress.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ricecomp/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/buffer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/error.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/header.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/reader.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/types.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/ser/writer.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/errors.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/header.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/reader.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/writer/datatype.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/writer/mod.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/writer/tests.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/writer/wcs.rs create mode 100644 01_yachay/cosmos/cosmos-images/src/xisf/writer/write.rs create mode 100644 01_yachay/cosmos/cosmos-images/test_data/cygnus.fit create mode 100644 01_yachay/cosmos/cosmos-leo/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-leo/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-leo/README.md create mode 100644 01_yachay/cosmos/cosmos-leo/examples/iss_pass_demo.rs create mode 100644 01_yachay/cosmos/cosmos-leo/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-model/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-model/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-model/README.md create mode 100644 01_yachay/cosmos/cosmos-model/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-modules/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-modules/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-modules/README.md create mode 100644 01_yachay/cosmos/cosmos-modules/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-notebook-kernel/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-notebook-kernel/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-notebook-kernel/README.md create mode 100644 01_yachay/cosmos/cosmos-notebook-kernel/examples/notebook_cosmos_demo.rs create mode 100644 01_yachay/cosmos/cosmos-notebook-kernel/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-pointing/README.md create mode 100644 01_yachay/cosmos/cosmos-pointing/pointing-data/cgx-l-data.dat create mode 100644 01_yachay/cosmos/cosmos-pointing/pointing-data/gem-28.dat create mode 100644 01_yachay/cosmos/cosmos-pointing/pointing-data/out.dat create mode 100644 01_yachay/cosmos/cosmos-pointing/pointing-data/simple.dat create mode 100644 01_yachay/cosmos/cosmos-pointing/src/bin/pointing.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/adjust.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/apply.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/clist.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/correct.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/fauto.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/fit.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/fix.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/gdec.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/gdist.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/gha.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/ghyst.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/gmap.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/gscat.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/help.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/indat.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/inmod.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/lose.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/lst.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/mask.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/mod.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/mvet.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/optimal.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/outl.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/outmod.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/parallel.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/predict.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/reset.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/show.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/slist.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/commands/use_term.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/error.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/model.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/observation.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/parser.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/plot/mod.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/plot/residuals.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/plot/svg.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/plot/terminal.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/session.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/solver.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/terms/altaz.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/terms/equatorial.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/terms/harmonic.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/src/terms/mod.rs create mode 100644 01_yachay/cosmos/cosmos-pointing/tests/integration.rs create mode 100644 01_yachay/cosmos/cosmos-render/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-render/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-render/README.md create mode 100644 01_yachay/cosmos/cosmos-render/examples/catalog.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/constellations_data.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/draw.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/glyphs.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/gr.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/harmonic.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/math.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/palette.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sky_data.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/compose.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/earth.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/layers.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/mod.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/starfield.rs create mode 100644 01_yachay/cosmos/cosmos-render/src/sphere3d/tests.rs create mode 100644 01_yachay/cosmos/cosmos-rise-set/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-rise-set/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-rise-set/README.md create mode 100644 01_yachay/cosmos/cosmos-rise-set/examples/rise_set_lima_demo.rs create mode 100644 01_yachay/cosmos/cosmos-rise-set/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-server/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-server/DEPLOY.md create mode 100644 01_yachay/cosmos/cosmos-server/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-server/README.md create mode 100644 01_yachay/cosmos/cosmos-server/src/main.rs create mode 100644 01_yachay/cosmos/cosmos-server/static/index.html create mode 100644 01_yachay/cosmos/cosmos-sky/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-sky/README.md create mode 100644 01_yachay/cosmos/cosmos-sky/src/apparent.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/body.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/delta_t.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/error.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/event_search.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/instant.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/observer.rs create mode 100644 01_yachay/cosmos/cosmos-sky/src/session.rs create mode 100644 01_yachay/cosmos/cosmos-sky/tests/parity_with_validation.rs create mode 100644 01_yachay/cosmos/cosmos-skywatch/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-skywatch/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-skywatch/README.md create mode 100644 01_yachay/cosmos/cosmos-skywatch/examples/skywatch_lima_demo.rs create mode 100644 01_yachay/cosmos/cosmos-skywatch/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-store/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-store/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-store/README.md create mode 100644 01_yachay/cosmos/cosmos-store/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-sundial/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-sundial/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-sundial/README.md create mode 100644 01_yachay/cosmos/cosmos-sundial/examples/sundial_lima_demo.rs create mode 100644 01_yachay/cosmos/cosmos-sundial/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-tides/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-tides/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-tides/README.md create mode 100644 01_yachay/cosmos/cosmos-tides/examples/tides_callao_demo.rs create mode 100644 01_yachay/cosmos/cosmos-tides/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-time/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-time/README.md create mode 100644 01_yachay/cosmos/cosmos-time/src/constants.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/julian.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/parsing.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/common.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/gps_tai.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/tai_tt.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/tcb_tdb.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/tcg_tcb.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/tt_tcg.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/tt_tdb.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/ut1_tai.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/utc_tai.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/conversions/utc_ut1.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/gps.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/tai.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/tcb.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/tcg.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/tdb.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/tt.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/ut1.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/scales/utc.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/angle.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/conversions.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/gast.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/gmst.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/last.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/lmst.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/sidereal/observatory.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/nutation/iau2000a.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/nutation/iau2000b.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/nutation/iau2006a.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/nutation/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/precession/constants.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/precession/iau2000.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/precession/iau2006.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/precession/mod.rs create mode 100644 01_yachay/cosmos/cosmos-time/src/transforms/rotation.rs create mode 100644 01_yachay/cosmos/cosmos-transits/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-transits/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-transits/README.md create mode 100644 01_yachay/cosmos/cosmos-transits/examples/next_transits_demo.rs create mode 100644 01_yachay/cosmos/cosmos-transits/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-validation/CHANGELOG.md create mode 100644 01_yachay/cosmos/cosmos-validation/CONTRIBUTING.md create mode 100644 01_yachay/cosmos/cosmos-validation/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-validation/PRECISION.md create mode 100644 01_yachay/cosmos/cosmos-validation/README.md create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de432/self_baseline.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440-apparent-vector/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440-astrometric/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440-observer-apparent/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440-observer-astrometric/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440-swiss-apparent/swiss.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-de440/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/regression-vsop2013/horizons.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-altaz/swiss-altaz.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-asteroids/swiss-asteroids.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-eclipses/swiss-eclipses.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-houses/swiss-houses.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-local-eclipses/swiss-local-eclipses.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-lunar/swiss-lunar.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-risetrans/swiss-risetrans.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-stars/swiss-stars.json create mode 100644 01_yachay/cosmos/cosmos-validation/fixtures/swiss-topocentric/swiss-topocentric.json create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_altaz.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_asteroids.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_eclipses.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_houses.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_local_eclipses.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_lunar.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_risetrans.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_stars.py create mode 100644 01_yachay/cosmos/cosmos-validation/scripts/fetch_swiss_topocentric.py create mode 100644 01_yachay/cosmos/cosmos-validation/src/asteroids.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/altaz_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/asteroids_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/eclipses_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/houses_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/local_eclipses_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/lunar_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/precision_report.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/risetrans_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/sidereal_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/stars_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/bin/topocentric_check.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/delta_t.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/eclipses.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/fixed_stars.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/fixture.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/horizons.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/houses.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/lunar.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/oracle.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/report.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/rise_set.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/sidereal.rs create mode 100644 01_yachay/cosmos/cosmos-validation/src/topocentric.rs create mode 100644 01_yachay/cosmos/cosmos-validation/tests/regression.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-wcs/README.md create mode 100644 01_yachay/cosmos/cosmos-wcs/references/errata.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/references/paper_1.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/references/paper_2.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/references/paper_3.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/references/paper_5.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/references/paper_7.pdf create mode 100644 01_yachay/cosmos/cosmos-wcs/src/builder/build.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/builder/keyword.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/builder/mod.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/builder/tests.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/builder/wcs.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/common.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/coordinate.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/distortion/mod.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/distortion/polynomial.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/distortion/sip.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/distortion/tnx.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/distortion/tpv.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/error.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/header.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/lib.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/linear.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/conic.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/cylindrical.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/mod.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/polyconic.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/pseudocylindrical.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/quadcube.rs create mode 100644 01_yachay/cosmos/cosmos-wcs/src/spherical/zenithal.rs create mode 100644 01_yachay/cosmos/cosmos-web/.cargo/config.toml create mode 100644 01_yachay/cosmos/cosmos-web/Cargo.toml create mode 100644 01_yachay/cosmos/cosmos-web/LEEME.md create mode 100644 01_yachay/cosmos/cosmos-web/README.md create mode 100644 01_yachay/cosmos/cosmos-web/src/lib.rs create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7141ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/target +**/*.rs.bk +*.pdb diff --git a/01_yachay/cosmos/LEEME.md b/01_yachay/cosmos/LEEME.md new file mode 100644 index 0000000..de60615 --- /dev/null +++ b/01_yachay/cosmos/LEEME.md @@ -0,0 +1,97 @@ +# cosmos + +> Astronomía con precisión astronómica. Tiempo · efemérides · coordenadas · imágenes · astrología. + +Suite Rust de cálculo astronómico validada contra ephemerides oficiales (JPL DE440/441, IAU 2006/2000A, IERS). Cubre desde escalas de tiempo (UTC/TT/TAI/UT1) hasta proyecciones WCS pasando por catálogos estelares, posiciones planetarias, eclipses, tránsitos, reloj de sol, mareas, astrología tropical y sideral. + +## Instalación + +```sh +# CLI +cargo run --release -p cosmos-cli -- --help + +# App Llimphi (mapa del cielo + ephemerides interactivas) +cargo run --release -p cosmos-app-llimphi + +# Server HTTP +cargo run --release -p cosmos-server +``` + +## Compatibilidad + +- **Linux / macOS / Windows** — todos los crates `core` compilan sin dep de sistema. +- **Wawa** — los core compilan a WASM (`cosmos-core`, `cosmos-time`, `cosmos-coords`, ...). +- **Web** — `cosmos-web` expone subset por WASM/JS. +- Validación contra **JPL Horizons** y **AstroPy** en `cosmos-validation`. + +## Crates + +| Crate | Rol | +|---|---| +| [`cosmos-core`](cosmos-core/README.md) | Tipos base; sin gráficos. | +| [`cosmos-time`](cosmos-time/README.md) | Escalas de tiempo IAU + ΔT histórico. | +| [`cosmos-coords`](cosmos-coords/README.md) | Transformaciones de coordenadas. | +| [`cosmos-ephemeris`](cosmos-ephemeris/README.md) | Posición planetaria via JPL DE. | +| [`cosmos-pointing`](cosmos-pointing/README.md) | Reducción topocéntrica (paralaje, refracción). | +| [`cosmos-catalog`](cosmos-catalog/README.md) | Catálogos estelares (HIP/Tycho/Gaia). | +| [`cosmos-sky`](cosmos-sky/README.md) | Fachada ergonómica (`Instant`/`Observer`/`EphemerisSession`). | +| [`cosmos-wcs`](cosmos-wcs/README.md) | World Coordinate System (FITS-compatible). | +| [`cosmos-images`](cosmos-images/README.md) | Carga + display de imágenes astronómicas (FITS). | +| [`cosmos-astrology`](cosmos-astrology/README.md) | Astrología tropical y sideral. | +| [`cosmos-rise-set`](cosmos-rise-set/README.md) | Salida/puesta de astros. | +| [`cosmos-transits`](cosmos-transits/README.md) | Tránsitos planetarios. | +| [`cosmos-eclipses`](cosmos-eclipses/README.md) | Eclipses solares/lunares. | +| [`cosmos-sundial`](cosmos-sundial/README.md) | Reloj de sol; tiempo aparente local. | +| [`cosmos-tides`](cosmos-tides/README.md) | Mareas (modelo simplificado luna+sol). | +| [`cosmos-skywatch`](cosmos-skywatch/README.md) | Observación general (constelaciones visibles, mejor hora). | +| [`cosmos-leo`](cosmos-leo/README.md) | Órbitas LEO (TLE). | +| [`cosmos-corpus`](cosmos-corpus/README.md) | Corpus textual astronómico ([GUIA](cosmos-corpus/GUIA.md)). | +| [`cosmos-model`](cosmos-model/README.md) | Tipos modelo compartidos. | +| [`cosmos-modules`](cosmos-modules/README.md) | Registro de módulos. | +| [`cosmos-engine`](cosmos-engine/README.md) | Engine genérico de cálculo. | +| [`cosmos-render`](cosmos-render/README.md) | Render agnóstico (skymap + 3D). | +| [`cosmos-canvas-llimphi`](cosmos-canvas-llimphi/README.md) | Backend Llimphi (vello). | +| [`cosmos-app-llimphi`](cosmos-app-llimphi/README.md) | App escritorio. | +| [`cosmos-card`](cosmos-card/README.md) | Card resumen para escritorio. | +| [`cosmos-cli`](cosmos-cli/README.md) | CLI. | +| [`cosmos-store`](cosmos-store/README.md) | Cache local (DE files, catálogos). | +| [`cosmos-server`](cosmos-server/README.md) | HTTP server (REST). | +| [`cosmos-validation`](cosmos-validation/README.md) | Regression harness vs Horizons/AstroPy. | +| [`cosmos-web`](cosmos-web/README.md) | Bindings WASM. | + +## Consideraciones + +- **Cero ejecución cliente con datos sensibles del usuario.** Latitud/longitud nunca dejan el binario sin permiso. +- Los DE files se descargan **explícitamente** vía `cosmos-cli download`. +- Astrología es separable: si no la querés, no enlazás `cosmos-astrology`. + +## Estado (2026-05-31) + +### Hecho + +- Suite astrométrica madura: tiempo IAU, coordenadas, efemérides JPL DE, + reducción topocéntrica, catálogos, WCS, salida/puesta, tránsitos, eclipses, + reloj de sol, mareas, órbitas LEO — validada contra Horizons/AstroPy + (`cosmos-validation`). +- Refactor astrométrico puro consolidado: `cosmos-{ephemeris,skywatch,sundial, + tides,transits}` extraídos del motor astrológico (`cosmos-engine`). +- Megafiles >1.5k LOC splitteados en módulos (`cosmos-images` xisf/fits, + `cosmos-render` sphere3d, `cosmos-coords` topocentric, `cosmos-engine` bridge). +- App de escritorio `cosmos-app-llimphi`: shell profesional de 3 zonas + redimensionables (datos | gráfica | herramientas), menú principal + menús + contextuales, pestañas y gráficas astronómicas. +- Árbol de datos jerárquico (grupos → contactos → cartas) sobre SQLite + (`cosmos-store`) con esfera 3D viva. +- CRUD completo del árbol desde la UI: crear/renombrar inline/eliminar + (borrado recursivo) y menú Archivo › Guardar/Duplicar/Eliminar contra el + store. +- `cosmos-cli` y `cosmos-server` (REST) operativos; bindings WASM (`cosmos-web`). + +### Pendiente + +- Cerrar el ciclo de edición de cartas en la UI (formularios de datos natales + ricos, no sólo nombre). +- Visualizaciones astrológicas avanzadas (ruedas de aspectos, tránsitos + animados) en el canvas Llimphi. +- Ampliar cobertura de `cosmos-validation` a los núcleos recién extraídos. +- Pulir `cosmos-card` y los kernels de notebook como vistas embebibles. diff --git a/01_yachay/cosmos/README.md b/01_yachay/cosmos/README.md new file mode 100644 index 0000000..06898be --- /dev/null +++ b/01_yachay/cosmos/README.md @@ -0,0 +1,35 @@ +# cosmos + +> Astronomy with astronomical precision. Time · ephemerides · coordinates · images · astrology. + +Rust suite for astronomical computation, validated against official ephemerides (JPL DE440/441, IAU 2006/2000A, IERS). Covers everything from time scales (UTC/TT/TAI/UT1) to WCS projections, through star catalogs, planetary positions, eclipses, transits, sundials, tides, tropical and sidereal astrology. + +## Install + +```sh +# CLI +cargo run --release -p cosmos-cli -- --help + +# Llimphi app (sky map + interactive ephemerides) +cargo run --release -p cosmos-app-llimphi + +# HTTP server +cargo run --release -p cosmos-server +``` + +## Compatibility + +- **Linux / macOS / Windows** — all `core` crates compile without system deps. +- **Wawa** — cores compile to WASM (`cosmos-core`, `cosmos-time`, `cosmos-coords`, ...). +- **Web** — `cosmos-web` exposes a subset via WASM/JS. +- Validation against **JPL Horizons** and **AstroPy** in `cosmos-validation`. + +## Crates + +See the table in [README.md](README.md). Highlights: `cosmos-time`, `cosmos-coords`, `cosmos-ephemeris`, `cosmos-pointing`, `cosmos-catalog`, `cosmos-sky` (ergonomic facade), `cosmos-wcs`, `cosmos-astrology`, `cosmos-rise-set`, `cosmos-transits`, `cosmos-eclipses`, `cosmos-sundial`, `cosmos-tides`, `cosmos-leo`, plus `cosmos-cli`, `cosmos-server`, `cosmos-app-llimphi`, `cosmos-web`, `cosmos-validation`. + +## Considerations + +- **Zero client-side execution with user-sensitive data.** Latitude/longitude never leaves the binary without permission. +- DE files are downloaded **explicitly** via `cosmos-cli download`. +- Astrology is separable: if you don't want it, you don't link `cosmos-astrology`. diff --git a/01_yachay/cosmos/README.qu.md b/01_yachay/cosmos/README.qu.md new file mode 100644 index 0000000..54ff130 --- /dev/null +++ b/01_yachay/cosmos/README.qu.md @@ -0,0 +1,37 @@ + + +# cosmos + +> Astronomía cheqaq tupukuywan. Pacha · efemérides · coordenadas · siq'ikuna · astrología. + +Rust suite astronómiko yupanapaq, oficial ephemerideswan tupachisqa (JPL DE440/441, IAU 2006/2000A, IERS). Pacha escalakuna (UTC/TT/TAI/UT1)-manta WCS proyecciones-kama, hanaq pacha catálogos, planeta posiciones, eclipsekuna, tránsitos, inti pacha, qucha-pacha, tropikal sideral astrología. + +## Churay + +```sh +# CLI +cargo run --release -p cosmos-cli -- --help + +# Llimphi (hanaq mapa + ephemerides kawsaqkuna) +cargo run --release -p cosmos-app-llimphi + +# HTTP server +cargo run --release -p cosmos-server +``` + +## Tinkuy + +- **Linux / macOS / Windows** — `core` crateskuna sistema deps illaqta wiñakun. +- **Wawa** — corekuna WASM-man wiñankun. +- **Web** — `cosmos-web` subset. +- **JPL Horizons** + **AstroPy** validation `cosmos-validation`-pi. + +## Crateskuna + +Sumaq tabla [README.md](README.md)-pi. Importantekuna: `cosmos-{time,coords,ephemeris,pointing,catalog,sky,wcs,astrology,rise-set,transits,eclipses,sundial,tides,leo}`, hinaspa `cosmos-{cli,server,app-llimphi,web,validation}`. + +## Yuyaykunaq + +- **Mana runaq sensible-datos hawapi ruwana.** Lat/lon manaña binario manta lloqsinchu mana runaq munaynin. +- DE files **sutilla** wasi-chayasqa `cosmos-cli download`-rayku. +- Astrología t'aqasqa: mana munanki chayqa, `cosmos-astrology` mana huñukuy. diff --git a/01_yachay/cosmos/RECTIFICADOR.md b/01_yachay/cosmos/RECTIFICADOR.md new file mode 100644 index 0000000..08f08fc --- /dev/null +++ b/01_yachay/cosmos/RECTIFICADOR.md @@ -0,0 +1,96 @@ +# Rectificador de hora — manual de uso + +El **rectificador** estima la hora de nacimiento verdadera cuando la +registrada es incierta. Usa el método de **direcciones primarias** del +**Sistema GR (Germán Rosas)**: en la hora correcta, los eventos reales de +la vida del sujeto **coinciden** con la perfección de una dirección +primaria (el arco que la esfera celeste rota tras el nacimiento hasta que +un promisor alcanza la posición mundana de un significador). + +La trigonometría esférica de esos arcos (método Placidus-mundano, +semi-arcos diurnos/nocturnos bajo el polo de cada cuerpo) la aporta +`eternal-astrology`; el rectificador es la capa de **optimización**: barre +las horas candidatas y minimiza el desajuste entre los eventos conocidos y +los arcos teóricos. + +## Dónde está + +Panel **«Rectificador de hora»**, en la categoría **Sistema** (engranaje) +del panel de herramientas. + +## Flujo de trabajo + +1. **Cargá la carta** del sujeto (la hora registrada/estimada es el punto + de partida del barrido). + +2. **Jog de hora** — los botones `-60 -10 -1 +1 +10 +60` corren la hora de + nacimiento en minutos **sin tocar la carta guardada**. Sirve para + explorar a mano: mirá cómo se mueven el Ascendente, el MC y las casas en + la rueda mientras ajustás. `0` vuelve al offset cero. + +3. **Eventos conocidos** — `+ evento` agrega un ancla; cada fila es la + **edad del sujeto** (en años) cuando ocurrió un hecho fuerte y datable + (matrimonio, mudanza, muerte de un padre, nacimiento de un hijo, + accidente…). Ajustá con `-1 / +1` (años) y `-0.1 / +0.1` (≈ mes y + medio). `quitar` borra la fila. + + Cuantos más eventos buenos cargues, más nítido el valle. Con uno solo, + el barrido puede tener varios mínimos: usá 3–5. + +4. **Rectificar** — corre el barrido de **dos pasadas** sobre ±2 h: + - **gruesa**, minuto a minuto sobre toda la ventana (es la curva de + perfil que se dibuja); + - **fina**, segundo a segundo alrededor del mejor minuto (de ahí la + precisión de segundo). + +5. **Resultado** — se muestra el mejor offset (`+s`, su equivalente en + `min s`) y el **error** del candidato (suma, en años, del desajuste de + cada evento a su dirección primaria más cercana; **menor = mejor**). + Debajo, la **curva de perfil**: el eje X es el offset y el **valle** + (marcado con la línea de acento) es la hora rectificada. + +6. **Aplicar al nacimiento** — escribe el mejor offset en la hora de la + carta (`hour:minute:second`), marca la certeza como *exacta*, persiste + la carta y recomputa. El jog vuelve a `0`. + +## Clave arco↔año + +El selector **Naibod / Ptolomeo** elige la conversión arco→tiempo: + +- **Naibod** — 0°59′08.33″/año (movimiento solar medio). Default moderno. +- **Ptolomeo** — 1°/año (clásica). + +Afecta tanto el barrido (*Rectificar*) como los triggers GR. Cambiarla con +triggers en pantalla los recalcula. + +## Triggers GR (HUD) + +Debajo del barrido, el HUD lista los **contactos del Sistema GR** a una +**edad de inspección** (`-5 -1 +1 +5` años + `ver triggers`): cada fila es +un promisor dirigido que cae sobre un punto natal — + +`promisor · D/C · objetivo · orbe` + +donde **D** = dirección directa y **C** = conversa. Las filas marcadas +**«convergencia»** (en acento) son las señales fuertes: el mismo punto +natal tocado por una directa y una conversa dentro del micro-orbe — el +indicio de rectificación que el Sistema GR busca. Ajustá la edad a la de +cada evento conocido y mirá si hay convergencia cerca. + +## Lectura de la curva + +- Un **valle único y profundo** → rectificación confiable. +- **Varios valles parecidos** → faltan anclas: agregá más eventos o usá + eventos más separados en el tiempo. +- **Curva casi plana** → los eventos no discriminan la hora (poco rango de + declinaciones tocadas); revisá las edades. + +## Notas + +- La clave arco↔año se elige en el panel (Naibod por defecto). +- La ventana del barrido es de **±2 h**. Si la hora registrada puede estar + más lejos, conviene primero acercarse con el jog y luego rectificar. +- El jog y el barrido **no modifican la carta** hasta que tocás *Aplicar*. +- El motor (`cosmos-engine::rectificar` + `cosmos-render::gr` — los + *triggers* GR de convergencia directo/converso) está disponible siempre + que el feature `eternal-bridge` esté activo (lo está por defecto). diff --git a/01_yachay/cosmos/cosmos-app-llimphi/Cargo.toml b/01_yachay/cosmos/cosmos-app-llimphi/Cargo.toml new file mode 100644 index 0000000..bae1d9e --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/Cargo.toml @@ -0,0 +1,54 @@ +[package] +name = "cosmos-app-llimphi" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +authors.workspace = true +publish.workspace = true +description = "cosmos-app-llimphi — visor del lienzo astrológico sobre Llimphi. Llama a `cosmos-engine::compose` (VSOP2013 vía eternal-bridge) con un `Chart` sample y pinta el `RenderModel` con `cosmos-canvas-llimphi`. Toolbar de overlays (Transit/Progression/SolarArc) en la barra superior. Biblioteca de cartas como árbol (`llimphi-widget-tree`) en el sidebar tiled." + +[[bin]] +name = "cosmos-app-llimphi" +path = "src/main.rs" + +[dependencies] +cosmos-canvas-llimphi = { path = "../cosmos-canvas-llimphi" } +cosmos-engine = { path = "../cosmos-engine" } +cosmos-model = { path = "../cosmos-model" } +cosmos-store = { path = "../cosmos-store" } +cosmos-render = { path = "../cosmos-render" } +cosmos-core = { workspace = true } +cosmos-time = { path = "../cosmos-time" } +cosmos-skywatch = { path = "../cosmos-skywatch" } +cosmos-sundial = { path = "../cosmos-sundial" } +cosmos-tides = { path = "../cosmos-tides" } +cosmos-rise-set = { path = "../cosmos-rise-set" } +cosmos-eclipses = { path = "../cosmos-eclipses" } +nahual-geo-core = { workspace = true } +llimphi-ui = { workspace = true } +llimphi-theme = { workspace = true } +llimphi-widget-button = { workspace = true } +llimphi-widget-panel = { workspace = true } +llimphi-widget-tree = { workspace = true } +llimphi-widget-tabs = { workspace = true } +llimphi-widget-splitter = { workspace = true } +llimphi-widget-context-menu = { workspace = true } +llimphi-widget-segmented = { workspace = true } +llimphi-widget-dock-rail = { workspace = true } +llimphi-widget-text-input = { workspace = true } +llimphi-widget-switch = { workspace = true } +llimphi-widget-slider = { workspace = true } +llimphi-widget-scroll = { workspace = true } +llimphi-motion = { workspace = true } +notify = { workspace = true } +pollster = { workspace = true } +png = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +rimay-localize = { workspace = true } +wawa-config = { workspace = true } +wawa-config-llimphi = { workspace = true } +# Rail hospedado: cosmos puede delegar su sidebar al marco pata (sus dientes +# aparecen en el rail global cuando tiene foco; su ventana queda puro canvas). +pata-host = { workspace = true } diff --git a/01_yachay/cosmos/cosmos-app-llimphi/LEEME.md b/01_yachay/cosmos/cosmos-app-llimphi/LEEME.md new file mode 100644 index 0000000..4e93a7a --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/LEEME.md @@ -0,0 +1,16 @@ +# cosmos-app-llimphi + +> App de escritorio de [cosmos](../README.md): mapa del cielo + ephemerides interactivas. + +Binario para uso humano: mapa del cielo desde tu ubicación (auto-detect o manual), tabla de ephemerides en vivo (planetas, luna, sol), próximos eventos (eclipses, tránsitos, rise/set), búsqueda fuzzy de objetos del catálogo. Panel "esta noche" con la mejor hora de cada constelación visible. + +## Uso + +```sh +cargo run --release -p cosmos-app-llimphi +``` + +## Deps + +- Todos los `cosmos-*` core + [`cosmos-canvas-llimphi`](../cosmos-canvas-llimphi/README.md), [`cosmos-engine`](../cosmos-engine/README.md), [`cosmos-skywatch`](../cosmos-skywatch/README.md) +- [`llimphi-ui`](../../../02_ruway/llimphi/) diff --git a/01_yachay/cosmos/cosmos-app-llimphi/README.md b/01_yachay/cosmos/cosmos-app-llimphi/README.md new file mode 100644 index 0000000..ea02bee --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/README.md @@ -0,0 +1,16 @@ +# cosmos-app-llimphi + +> Desktop app of [cosmos](../README.md): sky map + interactive ephemerides. + +Binary for human use: sky map from your location (auto-detect or manual), live ephemerides table (planets, moon, sun), upcoming events (eclipses, transits, rise/set), fuzzy catalog search. "Tonight" panel with the best time for each visible constellation. + +## Usage + +```sh +cargo run --release -p cosmos-app-llimphi +``` + +## Deps + +- All `cosmos-*` core + [`cosmos-canvas-llimphi`](../cosmos-canvas-llimphi/README.md), [`cosmos-engine`](../cosmos-engine/README.md), [`cosmos-skywatch`](../cosmos-skywatch/README.md) +- [`llimphi-ui`](../../../02_ruway/llimphi/) diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/astrocarto.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/astrocarto.rs new file mode 100644 index 0000000..4d3d1b5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/astrocarto.rs @@ -0,0 +1,447 @@ +//! Tile AstroCarto — MC/IC + Asc/Desc líneas sobre un mapa equirectangular. +//! +//! MVP sin fondo de continentes — solo grilla lat/long y las líneas de los +//! cuerpos clásicos. La aproximación supone latitud eclíptica β=0 para +//! todos los cuerpos (válido para AstroCarto a este zoom; Luna y Plutón +//! se separan unos grados pero la silueta de líneas es la misma). La +//! obliquidad usa ε₂₀₀₀ = 23.4393° fijo — el error a 100 años es <0.01°. + +use cosmos_model::Chart; +use cosmos_render::{LayerKind, RenderModel}; +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::prelude::{length, percent, Size, Style}; +use llimphi_ui::llimphi_raster::peniko::Color; +use llimphi_ui::View; + +use crate::model::Msg; +use crate::view::line; + +const ASTROCARTO_OBLIQUITY: f64 = 23.4393; +const ASTROCARTO_W: f32 = 320.0; +const ASTROCARTO_H: f32 = 160.0; + +fn julian_day_utc(year: i32, month: u32, day: u32, hour: u32, minute: u32, second: f64) -> f64 { + let (y, m) = if month <= 2 { + (year - 1, (month + 12) as i32) + } else { + (year, month as i32) + }; + let a = (y as f64 / 100.0).floor(); + let b = 2.0 - a + (a / 4.0).floor(); + let jd0 = (365.25 * (y as f64 + 4716.0)).floor() + + (30.6001 * (m as f64 + 1.0)).floor() + + day as f64 + + b + - 1524.5; + let frac = (hour as f64 + minute as f64 / 60.0 + second / 3600.0) / 24.0; + jd0 + frac +} + +/// GMST en grados [0, 360) — Meeus 12.4. +fn gmst_deg(jd_ut: f64) -> f64 { + let t = (jd_ut - 2451545.0) / 36525.0; + let g = 280.46061837 + + 360.98564736629 * (jd_ut - 2451545.0) + + 0.000387933 * t * t + - t * t * t / 38710000.0; + g.rem_euclid(360.0) +} + +/// Conversión ecliptica → ecuatorial con β=0 fijo. Retorna (RA°, Dec°). +fn ecliptic_to_equatorial(lon_deg: f64) -> (f64, f64) { + let l = lon_deg.to_radians(); + let e = ASTROCARTO_OBLIQUITY.to_radians(); + let ra = (l.sin() * e.cos()).atan2(l.cos()).to_degrees().rem_euclid(360.0); + let dec = (e.sin() * l.sin()).asin().to_degrees(); + (ra, dec) +} + +/// Color por cuerpo en el AstroCarto. Hue distintivo para que las líneas +/// se diferencien aun cuando se cruzan. +fn color_de_cuerpo(name: &str) -> Color { + match name { + "sun" => Color::from_rgba8(255, 200, 60, 255), + "moon" => Color::from_rgba8(200, 210, 220, 255), + "mercury" => Color::from_rgba8(180, 180, 180, 255), + "venus" => Color::from_rgba8(120, 220, 130, 255), + "mars" => Color::from_rgba8(230, 90, 90, 255), + "jupiter" => Color::from_rgba8(240, 170, 80, 255), + "saturn" => Color::from_rgba8(180, 150, 90, 255), + "uranus" => Color::from_rgba8(100, 220, 220, 255), + "neptune" => Color::from_rgba8(100, 130, 230, 255), + "pluto" => Color::from_rgba8(170, 90, 130, 255), + _ => Color::from_rgba8(140, 140, 140, 255), + } +} + +/// Proyección equirectangular a coordenadas locales del canvas. +fn project_lon_lat(lon_deg: f64, lat_deg: f64) -> (f32, f32) { + let x = ((lon_deg + 180.0) / 360.0) as f32 * ASTROCARTO_W; + let y = ((90.0 - lat_deg) / 180.0) as f32 * ASTROCARTO_H; + (x.clamp(0.0, ASTROCARTO_W), y.clamp(0.0, ASTROCARTO_H)) +} + +pub(crate) fn tile_astrocarto( + chart: &Chart, + render: &RenderModel, + theme: &Theme, + zoom: f32, + pan: (f32, f32), + rect_cell: std::sync::Arc>>, +) -> View { + let bd = &chart.birth_data; + // Local → UTC. + let total_minutes_local = bd.hour as i64 * 60 + bd.minute as i64; + let total_minutes_utc = total_minutes_local - bd.tz_offset_minutes as i64; + let h_utc = total_minutes_utc as f64 / 60.0; + let jd = julian_day_utc(bd.year, bd.month, bd.day, 0, 0, bd.second) + h_utc / 24.0; + let gmst = gmst_deg(jd); + // Cosas owned para meter dentro de la closure 'static. + let natal_lat = bd.latitude_deg; + let natal_lon = bd.longitude_deg; + + // Cuerpos natales con su longitud eclíptica. + let bodies: Vec<(String, f64)> = render + .layers + .iter() + .filter(|l| l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies)) + .flat_map(|l| l.glyphs.iter()) + .map(|g| (g.symbol.clone(), g.deg as f64)) + .collect(); + + let bg = theme.bg_panel_alt; + let grid = theme.fg_muted; + let zoom = zoom.max(0.1) as f64; + let pan = (pan.0 as f64, pan.1 as f64); + let canvas = View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(0.0_f32), + }, + flex_grow: 1.0, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .fill(bg) + .radius(3.0) + .clip(true) + // Arrastrar panea el mapa (la rueda hace zoom vía App::on_wheel). + .draggable_at(|phase, dx, dy, _lx, _ly| match phase { + llimphi_ui::DragPhase::Move => Some(Msg::WheelPan(dx, dy)), + llimphi_ui::DragPhase::End => None, + }) + .paint_with(move |scene, ts, rect: llimphi_ui::PaintRect| { + use llimphi_ui::llimphi_raster::kurbo::{Affine, BezPath, Point, Stroke}; + use llimphi_ui::llimphi_raster::peniko::Color as PColor; + use llimphi_ui::llimphi_text::{draw_layout, layout_block, Alignment, TextBlock}; + // Deja el rect del lienzo para que `on_wheel` haga zoom al cursor. + if let Ok(mut g) = rect_cell.lock() { + *g = Some((rect.x, rect.y, rect.w, rect.h)); + } + // Aspect-fit centrado + zoom/paneo del usuario. + let scale_x = rect.w as f64 / ASTROCARTO_W as f64; + let scale_y = rect.h as f64 / ASTROCARTO_H as f64; + let scale = scale_x.min(scale_y) * zoom; + let disp_w = ASTROCARTO_W as f64 * scale; + let disp_h = ASTROCARTO_H as f64 * scale; + let off_x = rect.x as f64 + (rect.w as f64 - disp_w) * 0.5 + pan.0; + let off_y = rect.y as f64 + (rect.h as f64 - disp_h) * 0.5 + pan.1; + let xform = Affine::translate((off_x, off_y)) * Affine::scale(scale); + // Grosor de trazo medido en PÍXELES de pantalla: las líneas no + // engordan con el zoom (el `scale` las inflaría), apenas crecen + // un pelo (zoom^0.15) para acompañar el acercamiento. Como la + // escena va escalada por `scale`, dividimos por `scale` para que + // el ancho final en pantalla sea el pedido. + let px_w = move |screen_px: f64| screen_px * zoom.powf(0.15) / scale; + + // Mapa de fondo: continentes (world-countries.geojson vía + // nahual-geo-core). Relleno tenue de tierra + contorno de costas. + let land_fill = PColor::from_rgba8( + (grid.components[0] * 255.0) as u8, + (grid.components[1] * 255.0) as u8, + (grid.components[2] * 255.0) as u8, + 38, + ); + let coast = PColor::from_rgba8( + (grid.components[0] * 255.0) as u8, + (grid.components[1] * 255.0) as u8, + (grid.components[2] * 255.0) as u8, + 150, + ); + for poly in &nahual_geo_core::world_base().polygons { + for ring in poly { + if ring.len() < 2 { + continue; + } + let mut path = BezPath::new(); + for (i, c) in ring.iter().enumerate() { + let (x, y) = project_lon_lat(c[0], c[1]); + if i == 0 { + path.move_to((x as f64, y as f64)); + } else { + path.line_to((x as f64, y as f64)); + } + } + path.close_path(); + scene.fill( + llimphi_ui::llimphi_raster::peniko::Fill::NonZero, + xform, + land_fill, + None, + &path, + ); + scene.stroke(&Stroke::new(px_w(0.6)), xform, coast, None, &path); + } + } + + // Grilla (graticule). El acercamiento ABRE detalle: aparece una + // grilla fina entre las líneas mayores. Mayores cada 30°/30°; + // las finas cada 10° (zoom ≥ 2.5) o 5° (zoom ≥ 5). + let grid_color = PColor::from_rgba8( + (grid.components[0] * 255.0) as u8, + (grid.components[1] * 255.0) as u8, + (grid.components[2] * 255.0) as u8, + 80, + ); + let minor_color = PColor::from_rgba8( + (grid.components[0] * 255.0) as u8, + (grid.components[1] * 255.0) as u8, + (grid.components[2] * 255.0) as u8, + 38, + ); + let minor_step = if zoom >= 5.0 { + 5.0_f64 + } else if zoom >= 2.5 { + 10.0 + } else { + 0.0 + }; + // Paralelos finos. + if minor_step > 0.0 { + let mut lat = -85.0_f64; + while lat <= 85.0 { + if (lat / 30.0).fract().abs() > 1e-6 { + let (_, y) = project_lon_lat(0.0, lat); + let mut p = BezPath::new(); + p.move_to((0.0, y as f64)); + p.line_to((ASTROCARTO_W as f64, y as f64)); + scene.stroke(&Stroke::new(px_w(0.4)), xform, minor_color, None, &p); + } + lat += minor_step; + } + let mut lon = -180.0_f64; + while lon <= 180.0 { + if (lon / 30.0).fract().abs() > 1e-6 { + let (x, _) = project_lon_lat(lon, 0.0); + let mut p = BezPath::new(); + p.move_to((x as f64, 0.0)); + p.line_to((x as f64, ASTROCARTO_H as f64)); + scene.stroke(&Stroke::new(px_w(0.4)), xform, minor_color, None, &p); + } + lon += minor_step; + } + } + // Paralelos mayores cada 30°. + for lat in [-60.0_f64, -30.0, 0.0, 30.0, 60.0] { + let (_, y) = project_lon_lat(0.0, lat); + let mut p = BezPath::new(); + p.move_to((0.0, y as f64)); + p.line_to((ASTROCARTO_W as f64, y as f64)); + let w = if lat.abs() < 0.5 { px_w(0.9) } else { px_w(0.5) }; + scene.stroke(&Stroke::new(w), xform, grid_color, None, &p); + } + // Meridianos mayores cada 30°. + let mut lon = -150.0_f64; + while lon <= 180.0 { + let (x, _) = project_lon_lat(lon, 0.0); + let mut p = BezPath::new(); + p.move_to((x as f64, 0.0)); + p.line_to((x as f64, ASTROCARTO_H as f64)); + let w = if lon.abs() < 0.5 { px_w(0.9) } else { px_w(0.5) }; + scene.stroke(&Stroke::new(w), xform, grid_color, None, &p); + lon += 30.0; + } + + for (name, ecl_lon) in &bodies { + let (ra, dec) = ecliptic_to_equatorial(*ecl_lon); + let mc_lon = wrap_lon(ra - gmst); + let ic_lon = wrap_lon(mc_lon + 180.0); + let body_color = color_de_cuerpo(name); + + // MC: línea vertical a lo largo del canvas. + let (x_mc, _) = project_lon_lat(mc_lon, 0.0); + let mut p = BezPath::new(); + p.move_to((x_mc as f64, 0.0)); + p.line_to((x_mc as f64, ASTROCARTO_H as f64)); + scene.stroke(&Stroke::new(px_w(1.5)), xform, body_color, None, &p); + + // IC: línea vertical punteada para distinguir. + let (x_ic, _) = project_lon_lat(ic_lon, 0.0); + let mut p = BezPath::new(); + p.move_to((x_ic as f64, 0.0)); + p.line_to((x_ic as f64, ASTROCARTO_H as f64)); + scene.stroke( + &Stroke::new(px_w(1.1)).with_dashes(0.0, [px_w(4.0), px_w(4.0)]), + xform, + body_color, + None, + &p, + ); + + // Asc/Desc: curvas paramétricas en latitud. + if dec.abs() < 89.9 { + let mut rise = BezPath::new(); + let mut set = BezPath::new(); + let mut rise_started = false; + let mut set_started = false; + let dec_r = dec.to_radians(); + let mut phi_deg = -85.0_f64; + while phi_deg <= 85.0 { + let phi_r = phi_deg.to_radians(); + let cos_h = -phi_r.tan() * dec_r.tan(); + if cos_h.abs() <= 1.0 { + let h_deg = cos_h.acos().to_degrees(); + let lon_r = wrap_lon(ra - h_deg - gmst); + let lon_s = wrap_lon(ra + h_deg - gmst); + let (xr, yr) = project_lon_lat(lon_r, phi_deg); + let (xs, ys) = project_lon_lat(lon_s, phi_deg); + if rise_started { + rise.line_to((xr as f64, yr as f64)); + } else { + rise.move_to((xr as f64, yr as f64)); + rise_started = true; + } + if set_started { + set.line_to((xs as f64, ys as f64)); + } else { + set.move_to((xs as f64, ys as f64)); + set_started = true; + } + } else if rise_started || set_started { + // Cruzamos región circumpolar — corta la línea. + rise_started = false; + set_started = false; + } + phi_deg += 3.0; + } + if rise_started { + scene.stroke(&Stroke::new(px_w(0.9)), xform, body_color, None, &rise); + } + if set_started { + scene.stroke(&Stroke::new(px_w(0.9)), xform, body_color, None, &set); + } + } + } + + // Marca del lugar de nacimiento. + let (px, py) = project_lon_lat(natal_lon, natal_lat); + let mark = llimphi_ui::llimphi_raster::kurbo::Circle::new( + (px as f64, py as f64), + px_w(3.0), + ); + scene.fill( + llimphi_ui::llimphi_raster::peniko::Fill::NonZero, + xform, + PColor::from_rgba8(255, 255, 255, 230), + None, + &mark, + ); + + // Etiquetas de coordenadas — tamaño FIJO en pantalla (no escalan + // con el zoom): se dibujan en coordenadas de pantalla aplicando + // `xform` al punto del mapa. Paralelos sobre el borde izquierdo, + // meridianos sobre el borde inferior del mapa. + let label_col = PColor::from_rgba8( + (grid.components[0] * 255.0) as u8, + (grid.components[1] * 255.0) as u8, + (grid.components[2] * 255.0) as u8, + 210, + ); + let draw_label = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, + ts: &mut llimphi_ui::llimphi_text::Typesetter, + wx: f64, + wy: f64, + text: &str| { + let sp = xform * Point::new(wx, wy); + let block = TextBlock { + text, + size_px: 9.5, + color: label_col, + origin: (sp.x + 2.0, sp.y - 5.0), + max_width: None, + alignment: Alignment::Start, + line_height: 1.0, + italic: false, + font_family: None, + }; + let layout = layout_block(ts, &block); + draw_layout(scene, &layout, label_col, block.origin); + }; + for lat in [-60.0_f64, -30.0, 0.0, 30.0, 60.0] { + let (_, y) = project_lon_lat(2.0, lat); + let txt = if lat.abs() < 0.5 { + "Ec.".to_string() + } else if lat > 0.0 { + format!("{}°N", lat as i32) + } else { + format!("{}°S", (-lat) as i32) + }; + draw_label(scene, ts, 2.0, y as f64, &txt); + } + for lon in [-120.0_f64, -60.0, 0.0, 60.0, 120.0] { + let (x, _) = project_lon_lat(lon, -86.0); + let txt = if lon.abs() < 0.5 { + "0°".to_string() + } else if lon > 0.0 { + format!("{}°E", lon as i32) + } else { + format!("{}°O", (-lon) as i32) + }; + draw_label(scene, ts, x as f64, 158.0, &txt); + } + }); + + // Columna a alto completo: el lienzo ocupa todo el espacio (base más + // grande), la leyenda abajo. + let legend = line( + rimay_localize::t("cosmos-astrocarto-leyenda"), + 9.0, + theme.fg_muted, + ); + View::new(Style { + flex_direction: llimphi_ui::llimphi_layout::taffy::prelude::FlexDirection::Column, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + flex_grow: 1.0, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + padding: llimphi_ui::llimphi_layout::taffy::Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(8.0_f32), + bottom: length(6.0_f32), + }, + gap: Size { + width: length(0.0_f32), + height: length(4.0_f32), + }, + ..Default::default() + }) + .children(vec![canvas, legend]) +} + +fn wrap_lon(lon: f64) -> f64 { + let l = lon.rem_euclid(360.0); + if l > 180.0 { + l - 360.0 + } else { + l + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/astroview.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/astroview.rs new file mode 100644 index 0000000..24456bd --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/astroview.rs @@ -0,0 +1,379 @@ +//! Gráficas astronómicas (no astrológicas) sobre el mismo motor de +//! efemérides: cielo (alt/az), orto/ocaso, reloj de sol, mareas, +//! eclipses y efemérides. El cómputo es puntual para el instante de la +//! carta (o "ahora", según `CosmosConfig::use_now`) y la ubicación del +//! lugar de nacimiento. +//! +//! `AstroState` cachea las lecturas: se recalcula sólo al cambiar carta +//! o instante (ver `main::recompute_astro`), nunca por frame. + +use cosmos_core::Location; +use cosmos_eclipses::{ + lunar_reading_at, solar_reading_at, LunarEclipseKind, LunarEclipseReading, SolarEclipseKind, + SolarEclipseReading, +}; +use cosmos_model::Chart; +use cosmos_rise_set::{rise_transit_set, Horizon, RiseTransitSet}; +use cosmos_skywatch::{sky_positions_all, Body, SkyPosition}; +use cosmos_sundial::{sundial_reading, SundialReading}; +use cosmos_tides::{tide_reading, TideReading}; +use cosmos_time::{utc_from_calendar, JulianDate, UTC, TDB}; + +use llimphi_theme::Theme; +use llimphi_ui::View; + +use crate::format::simbolo_cuerpo; +use crate::model::Msg; +use crate::view::{line, section_label, tile_container}; + +/// Lecturas astronómicas cacheadas para el instante/lugar vigente. +#[derive(Clone)] +pub(crate) struct AstroState { + pub(crate) instant_iso: String, + pub(crate) place_label: String, + /// Tiempo sidéreo local (grados) y latitud del observador — para + /// proyectar las constelaciones al cielo del observador (alt/az). + pub(crate) lst_deg: f64, + pub(crate) lat_deg: f64, + pub(crate) sky: Vec<(Body, SkyPosition)>, + pub(crate) sundial: SundialReading, + pub(crate) tide: TideReading, + /// Orto/tránsito/ocaso por cuerpo, con el horizonte usado. + pub(crate) riseset: Vec<(Body, RiseTransitSet)>, + pub(crate) solar: SolarEclipseReading, + pub(crate) lunar: LunarEclipseReading, +} + +fn build_instant(chart: &Chart, use_now: bool) -> (TDB, String, f64) { + let utc = if use_now { + UTC::now() + } else { + let bd = &chart.birth_data; + // El calendario guardado es local; restamos el offset para + // obtener UTC real antes de pasar a TDB. + utc_from_calendar( + bd.year, + bd.month as u8, + bd.day as u8, + bd.hour as u8, + bd.minute as u8, + bd.second, + ) + .add_seconds(-(bd.tz_offset_minutes as f64) * 60.0) + }; + let jd_ut = utc.to_julian_date().to_f64(); + let tdb = TDB::from(utc.to_julian_date()); + (tdb, utc.to_iso8601(), jd_ut) +} + +/// GMST en grados (fórmula IAU 1982, suficiente para ubicar figuras). +fn gmst_deg(jd_ut: f64) -> f64 { + let t = (jd_ut - 2451545.0) / 36525.0; + let g = 280.46061837 + 360.98564736629 * (jd_ut - 2451545.0) + + 0.000387933 * t * t + - t * t * t / 38710000.0; + g.rem_euclid(360.0) +} + +fn build_location(chart: &Chart) -> Location { + let bd = &chart.birth_data; + Location::from_degrees(bd.latitude_deg, bd.longitude_deg, bd.altitude_m) + .unwrap_or_else(|_| Location::from_degrees(0.0, 0.0, 0.0).expect("loc 0,0")) +} + +/// Horizonte estándar por cuerpo (refracción + semidiámetro). +fn horizon_for(body: Body) -> Horizon { + match body { + Body::Sun => Horizon::SunStandard, + Body::Moon => Horizon::MoonStandard, + _ => Horizon::Geometric, + } +} + +pub(crate) fn compute_astro(chart: &Chart, use_now: bool) -> AstroState { + let (tdb, instant_iso, jd_ut) = build_instant(chart, use_now); + let loc = build_location(chart); + let lst_deg = (gmst_deg(jd_ut) + chart.birth_data.longitude_deg).rem_euclid(360.0); + let lat_deg = chart.birth_data.latitude_deg; + + let sky: Vec<(Body, SkyPosition)> = sky_positions_all(&tdb, &loc).to_vec(); + let sundial = sundial_reading(&tdb, &loc); + let tide = tide_reading(&tdb, &loc); + let riseset: Vec<(Body, RiseTransitSet)> = Body::all() + .iter() + .map(|b| (*b, rise_transit_set(b, &tdb, &loc, horizon_for(*b)))) + .collect(); + let solar = solar_reading_at(&tdb); + let lunar = lunar_reading_at(&tdb); + + let place_label = chart + .birth_data + .birthplace_label + .clone() + .unwrap_or_else(|| { + format!( + "{:.3}°, {:.3}°", + chart.birth_data.latitude_deg, chart.birth_data.longitude_deg + ) + }); + + AstroState { + instant_iso, + place_label, + lst_deg, + lat_deg, + sky, + sundial, + tide, + riseset, + solar, + lunar, + } +} + +// ===================================================================== +// Renderers +// ===================================================================== + +/// Placeholder mientras el cómputo astronómico (orto/ocaso/efemérides, la +/// parte cara: 144 muestras × 10 cuerpos) corre en un worker. La UI nunca se +/// bloquea esperándolo; se reemplaza por las lecturas reales al reentrar el +/// `Msg::AstroComputed`. +pub(crate) fn calculando(theme: &Theme) -> View { + tile_container( + vec![line("calculando…".to_string(), 12.0, theme.fg_muted)], + theme, + ) +} + +/// Cabecera común: instante + lugar. +fn astro_header(a: &AstroState, theme: &Theme) -> View { + line( + format!("{} · {}", a.instant_iso, a.place_label), + 10.0, + theme.fg_muted, + ) +} + +/// `HH:MM` UTC de un instante TDB (aprox: ignora TDB−UTC ~ms). +fn hhmm(tdb: &TDB) -> String { + let iso = UTC::from_julian_date(jd_of(tdb)).to_iso8601(); + // ISO: YYYY-MM-DDTHH:MM:SS… → tomamos HH:MM. + iso.get(11..16).unwrap_or("--:--").to_string() +} + +fn jd_of(tdb: &TDB) -> JulianDate { + tdb.to_julian_date() +} + +/// Cielo: tabla alt/az de los 10 cuerpos, ordenada por altitud. +pub(crate) fn view_cielo(a: &AstroState, theme: &Theme) -> View { + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(line( + format!("{:<5}{:>8}{:>8}{:>10}", "cuer", "alt", "az", "dist(au)"), + 10.0, + theme.fg_muted, + )); + let mut sky = a.sky.clone(); + sky.sort_by(|x, y| { + y.1.visibility_score() + .partial_cmp(&x.1.visibility_score()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + for (b, p) in &sky { + let color = if p.above_horizon { + theme.fg_text + } else { + theme.fg_muted + }; + let txt = format!( + "{:<5}{:>7.1}°{:>7.1}°{:>10.3}", + simbolo_cuerpo(b.canonical()), + p.altitude_deg, + p.azimuth_deg, + p.distance_au + ); + rows.push(line(txt, 11.0, color)); + } + tile_container(rows, theme) +} + +/// Orto/tránsito/ocaso por cuerpo (horarios en UTC). +pub(crate) fn view_ortoocaso(a: &AstroState, theme: &Theme) -> View { + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(line( + format!( + "{:<5}{:>8}{:>8}{:>8}{:>8}", + "cuer", "orto", "culm", "alt°", "ocaso" + ), + 10.0, + theme.fg_muted, + )); + for (b, r) in &a.riseset { + let orto = if r.never_rises { + "----".to_string() + } else if r.never_sets { + "circ".to_string() + } else { + r.rise.as_ref().map(hhmm).unwrap_or_else(|| "----".into()) + }; + let culm = hhmm(&r.transit); + let ocaso = r.set.as_ref().map(hhmm).unwrap_or_else(|| "----".into()); + let txt = format!( + "{:<5}{:>8}{:>8}{:>7.1}{:>8}", + simbolo_cuerpo(b.canonical()), + orto, + culm, + r.transit_altitude_deg, + ocaso + ); + rows.push(line(txt, 11.0, theme.fg_text)); + } + tile_container(rows, theme) +} + +/// Reloj de sol: azimut y largo de sombra del gnomon. +pub(crate) fn view_sundial(a: &AstroState, theme: &Theme) -> View { + let s = &a.sundial; + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(section_label("Sol".to_string(), theme)); + rows.push(line( + format!( + "altitud {:.2}° azimut {:.2}°", + s.sun.altitude_deg, s.sun.azimuth_deg + ), + 11.0, + theme.fg_text, + )); + rows.push(line( + format!("ángulo horario {:.2}°", s.hour_angle_deg), + 11.0, + theme.fg_muted, + )); + rows.push(section_label("Sombra del gnomon".to_string(), theme)); + match (s.shadow_azimuth_deg, s.shadow_length_ratio) { + (Some(az), Some(ratio)) => { + rows.push(line( + format!("azimut de sombra {az:.2}°"), + 11.0, + theme.fg_text, + )); + rows.push(line( + format!("largo / altura del gnomon = {ratio:.2}"), + 11.0, + theme.fg_text, + )); + rows.push(line( + format!("(gnomon de 1 m -> sombra de {:.2} m)", ratio), + 10.0, + theme.fg_muted, + )); + } + _ => { + rows.push(line( + "Sol bajo el horizonte — sin sombra".to_string(), + 11.0, + theme.fg_muted, + )); + } + } + tile_container(rows, theme) +} + +/// Mareas de equilibrio (Sol + Luna). +pub(crate) fn view_mareas(a: &AstroState, theme: &Theme) -> View { + let t = &a.tide; + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(section_label("Marea de equilibrio".to_string(), theme)); + rows.push(line( + format!("total {:+.3} m", t.total_height_m), + 13.0, + theme.fg_text, + )); + let comp = |label: &str, c: &cosmos_tides::ComponentReading| -> String { + format!( + "{label:<6} {:+.3} m cenital {:.1}° alt {:.1}°", + c.height_m, c.zenith_deg, c.sky.altitude_deg + ) + }; + rows.push(section_label("Componentes".to_string(), theme)); + rows.push(line(comp("Luna", &t.lunar), 11.0, theme.fg_text)); + rows.push(line(comp("Sol", &t.solar), 11.0, theme.fg_text)); + rows.push(line( + "MVP: fuerza generadora, sin respuesta hidrodinámica de la cuenca." + .to_string(), + 9.0, + theme.fg_muted, + )); + tile_container(rows, theme) +} + +/// Eclipses: lectura puntual solar y lunar para el instante. +pub(crate) fn view_eclipses(a: &AstroState, theme: &Theme) -> View { + let s = &a.solar; + let l = &a.lunar; + let solar_kind = match s.kind { + SolarEclipseKind::None => "ninguno", + SolarEclipseKind::Partial => "parcial", + SolarEclipseKind::Annular => "anular", + SolarEclipseKind::Total => "total", + }; + let lunar_kind = match l.kind { + LunarEclipseKind::None => "ninguno", + LunarEclipseKind::Penumbral => "penumbral", + LunarEclipseKind::Partial => "parcial", + LunarEclipseKind::Total => "total", + }; + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(section_label("Eclipse solar".to_string(), theme)); + rows.push(line( + format!("tipo: {solar_kind} magnitud {:.3}", s.magnitude), + 11.0, + theme.fg_text, + )); + rows.push(line( + format!( + "separación Sol·Luna {:.3}° (r Sol {:.3}°, r Luna {:.3}°)", + s.separation_deg, s.sun_apparent_radius_deg, s.moon_apparent_radius_deg + ), + 11.0, + theme.fg_muted, + )); + rows.push(section_label("Eclipse lunar".to_string(), theme)); + rows.push(line( + format!("tipo: {lunar_kind} magnitud umbral {:.3}", l.umbral_magnitude), + 11.0, + theme.fg_text, + )); + rows.push(line( + format!( + "γ {:.0} km umbra {:.0} km penumbra {:.0} km", + l.gamma_km, l.umbra_radius_km, l.penumbra_radius_km + ), + 11.0, + theme.fg_muted, + )); + tile_container(rows, theme) +} + +/// Efemérides: RA/dec/distancia de los cuerpos para el instante. +pub(crate) fn view_efemerides(a: &AstroState, theme: &Theme) -> View { + let mut rows: Vec> = vec![astro_header(a, theme)]; + rows.push(line( + format!("{:<5}{:>10}{:>9}{:>11}", "cuer", "AR(h)", "dec°", "dist(au)"), + 10.0, + theme.fg_muted, + )); + for (b, p) in &a.sky { + let ra_h = p.right_ascension_deg / 15.0; + let txt = format!( + "{:<5}{:>9.3}h{:>8.2}°{:>11.4}", + simbolo_cuerpo(b.canonical()), + ra_h, + p.declination_deg, + p.distance_au + ); + rows.push(line(txt, 11.0, theme.fg_text)); + } + tile_container(rows, theme) +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/chrome.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/chrome.rs new file mode 100644 index 0000000..609960d --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/chrome.rs @@ -0,0 +1,2709 @@ +//! Chrome del shell: barra de menú principal, árbol de navegación, +//! tira de pestañas, barra de estado, menús contextuales (overlay) y el +//! dispatch del contenido central según la vista activa. +//! +//! Los menús (principal y contextual) comparten una representación común +//! [`MenuEntry`]/[`MenuCmd`]: `view_overlay` arma los `ContextMenuItem` +//! desde la lista y `main::update` resuelve el índice clickeado contra la +//! misma lista — una sola fuente de verdad para que no se desincronicen. + +use std::sync::Arc; + +use cosmos_canvas_llimphi::{canvas_view_clickable_ex, ViewTransform}; +use cosmos_render::{ + compose_sphere, compose_wheel_with_hits, CompositionOpts, DrawCommand, Palette, Rgba, + SphereOpts, SphereView, TextAnchor, +}; +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::{ + prelude::{auto, length, percent, FlexDirection, Size, Style}, + style::{FlexWrap, Position}, + AlignItems, JustifyContent, Rect, +}; +use llimphi_ui::llimphi_raster::peniko::Color; +use llimphi_ui::llimphi_text::Alignment; +use llimphi_ui::{DragPhase, PaintRect, View}; +use llimphi_widget_dock_rail::{dock_rail_view, DockRailItem, DockRailPalette}; +use llimphi_widget_context_menu::{ + context_menu_view, context_menu_view_ex, ContextMenuExtras, ContextMenuItem, + ContextMenuPalette, ContextMenuSpec, +}; +use llimphi_widget_panel::{panel_signature_painter, PanelStyle}; +use llimphi_widget_scroll::{clamp_offset, scroll_y, ScrollPalette}; +use llimphi_widget_segmented::{segmented_view, SegmentedPalette}; +use llimphi_widget_tree::{tree_view, TreePalette, TreeRow, TreeSpec}; +use llimphi_widget_slider::{slider_view, SliderPalette}; +use llimphi_widget_text_input::{text_input_view, TextInputPalette}; +use llimphi_widget_switch::{switch_view, SwitchPalette}; + +use std::collections::HashMap; + +use crate::glyphs::{self, Icon}; +use crate::library::{ChartKind, NavKind, NavNode}; +use crate::model::MenuKind; +use crate::model::{ + ChartView, DockItem, DockSide, Model, Msg, OverlayKind, ToolCat, WheelOpt, DOCK_COLLAPSE_W, + HARMONICS, MENU_BAR_H, MENU_BTN_W, STATUS_H, TAB_BAR_H, TOOLS_RAIL_W, VIEWPORT, WHEEL_SIZE, +}; +use crate::view; + +// ===================================================================== +// Entradas de menú compartidas (principal + contextual) +// ===================================================================== + +#[derive(Debug, Clone, Copy)] +pub(crate) enum MenuCmd { + Sep, + Nueva, + Guardar, + Duplicar, + Recargar, + Eliminar, + /// Cambia el tipo de gráfica del centro. + SetChartView(ChartView), + /// Salta a una categoría del panel de herramientas (derecha). + GoToolCat(ToolCat), + /// Muestra/oculta el árbol de datos (izquierda). + ToggleNav, + /// Muestra/oculta el panel de herramientas (derecha). + ToggleTools, + Overlay(OverlayKind), + Harmonic(u32), + /// Modo de tema: 0 = Oscuro, 1 = Claro, 2 = Impresión. + Theme(usize), + /// Manda la hoja imprimible al navegador del SO. + Imprimir, + AcercaDe, + Wheel(WheelOpt), + Deselect, +} + +pub(crate) struct MenuEntry { + label: String, + pub(crate) cmd: MenuCmd, + separator: bool, + destructive: bool, + enabled: bool, + shortcut: Option<&'static str>, +} + +impl MenuEntry { + fn act(label: &str, cmd: MenuCmd) -> Self { + Self { + label: label.to_string(), + cmd, + separator: false, + destructive: false, + enabled: true, + shortcut: None, + } + } + fn act_string(label: String, cmd: MenuCmd) -> Self { + Self { + label, + cmd, + separator: false, + destructive: false, + enabled: true, + shortcut: None, + } + } + fn sep() -> Self { + Self { + label: String::new(), + cmd: MenuCmd::Sep, + separator: true, + destructive: false, + enabled: true, + shortcut: None, + } + } + fn destructive(mut self) -> Self { + self.destructive = true; + self + } + fn enabled(mut self, b: bool) -> Self { + self.enabled = b; + self + } + fn shortcut(mut self, s: &'static str) -> Self { + self.shortcut = Some(s); + self + } + pub(crate) fn to_item(&self) -> ContextMenuItem { + if self.separator { + return ContextMenuItem::separator(); + } + let mut it = ContextMenuItem::action(self.label.clone()); + if let Some(s) = self.shortcut { + it = it.with_shortcut(s); + } + if !self.enabled { + it = it.disabled(); + } + if self.destructive { + it = it.destructive(); + } + it + } +} + +/// Lado del lienzo de cada carta en modo mosaico. +const TILE_SIZE: f32 = 360.0; + +/// Paleta del lienzo según el tema activo. En modo impresión usa la +/// paleta clara sobre papel blanco (alto contraste para fotocopia). +fn graphics_palette(model: &Model) -> Palette { + if model.cfg.theme_dark && !model.cfg.print_mode { + Palette::dark() + } else { + Palette::light() + } +} + +/// Fondo del lienzo según el tema activo. +fn graphics_bg(model: &Model) -> Color { + if model.cfg.print_mode { + Color::from_rgba8(255, 255, 255, 255) + } else if model.cfg.theme_dark { + Color::from_rgba8(8, 10, 16, 255) + } else { + Color::from_rgba8(246, 247, 250, 255) + } +} + +/// Convierte un `Color` (peniko) a `Rgba` (cosmos-render). +fn rgba_of(c: Color) -> Rgba { + let [r, g, b, a] = c.components; + Rgba { r, g, b, a } +} + +/// Marca de "activo" en las entradas de menú. Bullet (U+2022, presente en +/// las fuentes default) en vez de ✓ que cae como `.notdef`. +fn check(label: &str, on: bool) -> String { + if on { + format!("• {label}") + } else { + format!(" {label}") + } +} + +/// Entradas de un menú principal. `main::update` reusa esta función para +/// resolver el índice clickeado. +pub(crate) fn menu_entries(kind: MenuKind, m: &Model) -> Vec { + match kind { + MenuKind::Archivo => vec![ + MenuEntry::act("Nueva carta (ejemplo)", MenuCmd::Nueva), + MenuEntry::act("Guardar carta en biblioteca", MenuCmd::Guardar).shortcut("Ctrl+S"), + MenuEntry::act("Duplicar carta actual", MenuCmd::Duplicar), + MenuEntry::act("Recargar desde disco", MenuCmd::Recargar), + MenuEntry::sep(), + MenuEntry::act("Imprimir hoja…", MenuCmd::Imprimir).shortcut("Ctrl+P"), + MenuEntry::sep(), + MenuEntry::act("Eliminar selección", MenuCmd::Eliminar) + .destructive() + .enabled(m.nav_selected.is_some()), + ], + // No hay campos de texto editables: la carta se edita en el JSON + // de disco y se recarga por watcher. El menú «Editar» reúne las + // acciones reales sobre la selección/carta cargada. + MenuKind::Editar => vec![ + MenuEntry::act("Quitar selección del cuerpo", MenuCmd::Deselect) + .enabled(m.selected_body.is_some()), + MenuEntry::sep(), + MenuEntry::act("Recargar carta desde disco", MenuCmd::Recargar), + MenuEntry::act("Guardar carta en biblioteca", MenuCmd::Guardar).shortcut("Ctrl+S"), + MenuEntry::act("Duplicar carta actual", MenuCmd::Duplicar), + MenuEntry::sep(), + MenuEntry::act("Eliminar selección", MenuCmd::Eliminar) + .destructive() + .enabled(m.nav_selected.is_some()), + ], + MenuKind::Vista => { + let mut v = Vec::new(); + // Tipo de gráfica del centro. + for cv in ChartView::all() { + v.push(MenuEntry::act_string( + check(cv.title(), m.chart_view == *cv), + MenuCmd::SetChartView(*cv), + )); + } + v.push(MenuEntry::sep()); + // Categorías de herramientas: activas si su pestaña es la + // activa en algún sidebar del dock. + for tc in ToolCat::all() { + let item = DockItem::from_tool_cat(*tc); + let on = m.dock_active(DockSide::Left) == Some(item) + || m.dock_active(DockSide::Right) == Some(item); + v.push(MenuEntry::act_string(check(tc.title(), on), MenuCmd::GoToolCat(*tc))); + } + v.push(MenuEntry::sep()); + // Paneles laterales guardables. + v.push(MenuEntry::act_string(check("Árbol de datos", m.nav_open), MenuCmd::ToggleNav)); + v.push(MenuEntry::act_string(check("Panel de herramientas", m.tools_open), MenuCmd::ToggleTools)); + v.push(MenuEntry::sep()); + // Tema (espeja el segmented de Configuración). + let ti = m.cfg.theme_idx(); + v.push(MenuEntry::act_string(check("Tema oscuro", ti == 0), MenuCmd::Theme(0))); + v.push(MenuEntry::act_string(check("Tema claro", ti == 1), MenuCmd::Theme(1))); + v.push(MenuEntry::act_string(check("Modo impresión (B/N)", ti == 2), MenuCmd::Theme(2))); + v + } + MenuKind::Capas => OverlayKind::all() + .iter() + .map(|k| { + MenuEntry::act_string(check(k.nombre(), m.overlays.contains(k)), MenuCmd::Overlay(*k)) + }) + .collect(), + MenuKind::Armonico => HARMONICS + .iter() + .map(|h| MenuEntry::act_string(check(&format!("H{h}"), m.harmonic == *h), MenuCmd::Harmonic(*h))) + .collect(), + MenuKind::Ayuda => vec![MenuEntry::act("Acerca de cosmos", MenuCmd::AcercaDe)], + } +} + +/// Entradas del menú contextual de la rueda. +pub(crate) fn ctx_entries(m: &Model) -> Vec { + let mut v = Vec::new(); + if m.selected_body.is_some() { + v.push(MenuEntry::act("Quitar selección", MenuCmd::Deselect)); + v.push(MenuEntry::sep()); + } + v.push(MenuEntry::act_string( + check("Aspectos menores", m.cfg.minor_aspects), + MenuCmd::Wheel(WheelOpt::MinorAspects), + )); + v.push(MenuEntry::act_string( + check("Etiquetas de coordenadas", m.cfg.coord_labels), + MenuCmd::Wheel(WheelOpt::CoordLabels), + )); + v.push(MenuEntry::act_string( + check("Dial 3D", m.cfg.dial_3d), + MenuCmd::Wheel(WheelOpt::Dial3d), + )); + v.push(MenuEntry::act_string( + check("Cruz ascensional", m.cfg.asc_cross), + MenuCmd::Wheel(WheelOpt::AscCross), + )); + v.push(MenuEntry::sep()); + v.push(MenuEntry::act("Duplicar carta", MenuCmd::Duplicar)); + v +} + +// ===================================================================== +// Menú contextual de una fila del árbol de datos +// ===================================================================== + +/// Acción del menú contextual del árbol — resuelta por `main::update` +/// contra el índice clickeado (misma fuente que pinta el menú). +#[derive(Debug, Clone, Copy)] +pub(crate) enum NavAct { + NewGroup, + NewContact, + NewChart, + Rename, + Cut, + Paste, + Duplicate, + Delete, +} + +/// Una entrada del menú contextual del árbol. +pub(crate) struct NavCtxItem { + label: &'static str, + /// `None` = separador. + pub(crate) act: Option, + enabled: bool, + destructive: bool, +} + +impl NavCtxItem { + fn act(label: &'static str, act: NavAct) -> Self { + Self { label, act: Some(act), enabled: true, destructive: false } + } + fn sep() -> Self { + Self { label: "", act: None, enabled: true, destructive: false } + } + fn enabled(mut self, b: bool) -> Self { + self.enabled = b; + self + } + fn destructive(mut self) -> Self { + self.destructive = true; + self + } + fn to_item(&self) -> ContextMenuItem { + if self.act.is_none() { + return ContextMenuItem::separator(); + } + let mut it = ContextMenuItem::action(self.label.to_string()); + if !self.enabled { + it = it.disabled(); + } + if self.destructive { + it = it.destructive(); + } + it + } +} + +/// Entradas del menú contextual según el tipo del nodo `key`. +pub(crate) fn nav_ctx_entries(m: &Model, key: &str) -> Vec { + let has_cut = m.nav_cut.is_some(); + let kind = m.node(key).map(|n| n.kind); + match kind { + Some(NavKind::Group) => vec![ + NavCtxItem::act("Nuevo subgrupo", NavAct::NewGroup), + NavCtxItem::act("Nuevo contacto", NavAct::NewContact), + NavCtxItem::sep(), + NavCtxItem::act("Renombrar", NavAct::Rename), + NavCtxItem::act("Cortar", NavAct::Cut), + NavCtxItem::act("Pegar aquí", NavAct::Paste).enabled(has_cut), + NavCtxItem::sep(), + NavCtxItem::act("Eliminar grupo", NavAct::Delete).destructive(), + ], + Some(NavKind::Contact) => vec![ + NavCtxItem::act("Nueva carta", NavAct::NewChart), + NavCtxItem::sep(), + NavCtxItem::act("Renombrar", NavAct::Rename), + NavCtxItem::act("Cortar", NavAct::Cut), + NavCtxItem::sep(), + NavCtxItem::act("Eliminar contacto", NavAct::Delete).destructive(), + ], + Some(NavKind::Chart) => vec![ + NavCtxItem::act("Duplicar carta", NavAct::Duplicate), + NavCtxItem::sep(), + NavCtxItem::act("Renombrar", NavAct::Rename), + NavCtxItem::sep(), + NavCtxItem::act("Eliminar carta", NavAct::Delete).destructive(), + ], + None => vec![NavCtxItem::act("Nuevo grupo", NavAct::NewGroup)], + } +} + +// ===================================================================== +// Barra de menú principal +// ===================================================================== + +pub(crate) fn menu_bar(model: &Model, theme: &Theme) -> View { + let mut kids: Vec> = Vec::new(); + + // Pill de marca. + kids.push( + View::new(Style { + size: Size { + width: length(68.0_f32), + height: length(20.0_f32), + }, + flex_shrink: 0.0, + margin: Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(5.0_f32), + bottom: length(5.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .fill(theme.accent) + .radius(4.0) + .text_aligned("cosmos".to_string(), 11.0, theme.bg_app, Alignment::Center), + ); + + for k in MenuKind::order() { + let active = model.menu_open == Some(*k); + let mut btn = View::new(Style { + size: Size { + width: length(MENU_BTN_W), + height: percent(1.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .text_aligned(k.label().to_string(), 12.0, theme.fg_text, Alignment::Center) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::OpenMenu(*k)); + if active { + btn = btn.fill(theme.bg_selected); + } + kids.push(btn); + } + + // Spacer + etiqueta de la carta a la derecha. + kids.push( + View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: percent(1.0_f32), + }, + ..Default::default() + }), + ); + kids.push( + View::new(Style { + size: Size { + width: length(260.0_f32), + height: percent(1.0_f32), + }, + flex_shrink: 0.0, + padding: Rect { + left: length(0.0_f32), + right: length(12.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(model.chart.label.clone(), 11.0, theme.fg_muted, Alignment::End), + ); + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(MENU_BAR_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .fill(theme.bg_panel) + .children(kids) +} + +// ===================================================================== +// Árbol de navegación +// ===================================================================== + +/// Un nodo es visible sólo si TODOS sus ancestros (grupos/contactos) están +/// expandidos. Sube por la cadena de `parent` hasta la raíz. +fn ancestors_expanded( + node: &NavNode, + by_key: &HashMap<&str, &NavNode>, + model: &Model, +) -> bool { + let mut cur = node.parent.clone(); + while let Some(pk) = cur { + if !model.nav_expanded.contains(&pk) { + return false; + } + cur = by_key.get(pk.as_str()).and_then(|n| n.parent.clone()); + } + true +} + +/// Alto de fila del árbol, sangría por nivel y alto de la barra de +/// acciones — compartidos por el render y por el anclaje del menú +/// contextual de fila. +pub(crate) const NAV_ROW_H: f32 = 26.0; +const NAV_INDENT: f32 = 16.0; +pub(crate) const NAV_TOOLBAR_H: f32 = 28.0; + +/// Icono de un nodo según su tipo (grupo abierto/cerrado, contacto, o el +/// tipo de carta). +fn nav_icon(n: &NavNode, _expanded: bool, _theme: &Theme) -> View { + // Iconos coloridos (sencillos) por tipo de nodo. + match n.kind { + NavKind::Group => glyphs::group_icon_view(17.0), + NavKind::Contact => glyphs::contact_icon_view(17.0), + NavKind::Chart => glyphs::chart_kind_colored(n.chart_kind.unwrap_or(ChartKind::Natal), 17.0), + } +} + +/// Filas visibles del árbol (las que tienen todos sus ancestros +/// expandidos), en orden de display. Reusado por el render y por el +/// anclaje del menú contextual. +fn visible_nav_nodes<'a>(model: &'a Model) -> Vec<&'a NavNode> { + let by_key: HashMap<&str, &NavNode> = + model.nav_nodes.iter().map(|n| (n.key.as_str(), n)).collect(); + model + .nav_nodes + .iter() + .filter(|n| ancestors_expanded(n, &by_key, model)) + .collect() +} + +/// Alto del viewport del árbol (de la barra de acciones a la barra de +/// estado). +pub(crate) fn nav_viewport_h(model: &Model) -> f32 { + (model.viewport.1 - MENU_BAR_H - STATUS_H - NAV_TOOLBAR_H).max(60.0) +} + +/// Alto total del contenido del árbol. +pub(crate) fn nav_content_h(model: &Model) -> f32 { + visible_nav_nodes(model).len() as f32 * NAV_ROW_H + 8.0 +} + +/// Árbol izquierdo: explorador jerárquico (grupo → contacto → carta) +/// sobre `cosmos-store`, con el widget `llimphi-widget-tree`: icono +/// gráfico por tipo, líneas guía, chevron y menú contextual. Scroll +/// vertical propio cuando desborda. +pub(crate) fn nav_tree(model: &Model, theme: &Theme) -> View { + let mut rows: Vec> = Vec::new(); + for n in visible_nav_nodes(model) { + let is_container = n.kind != NavKind::Chart; + let expanded = is_container && model.nav_expanded.contains(&n.key); + let editor = if model.nav_rename.as_deref() == Some(n.key.as_str()) { + Some(text_input_view( + &model.rename_input, + "nombre…", + true, + &TextInputPalette::from_theme(theme), + Msg::RenameStart, + )) + } else { + None + }; + let toggle = if is_container { + Msg::ToggleNavNode(n.key.clone()) + } else { + Msg::NavClick(n.key.clone()) + }; + rows.push(TreeRow { + label: n.label.clone(), + depth: n.depth, + has_children: is_container, + expanded, + selected: model.nav_selected.as_deref() == Some(n.key.as_str()), + on_toggle: toggle, + on_select: Msg::NavClick(n.key.clone()), + icon: Some(nav_icon(n, expanded, theme)), + on_context: Some(Msg::OpenNavCtx(n.key.clone())), + editor, + }); + } + + let tree = tree_view(TreeSpec { + rows, + row_height: NAV_ROW_H, + indent_px: NAV_INDENT, + palette: TreePalette::from_theme(theme), + guides: true, + }); + + // Scroll vertical del árbol. + let viewport = nav_viewport_h(model); + let content = nav_content_h(model); + let offset = clamp_offset(model.nav_scroll, content, viewport); + let scroll = scroll_y( + offset, + content, + viewport, + tree, + Msg::NavScroll, + &ScrollPalette::from_theme(theme), + ); + let scroll_box = View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(1.0_f32), + height: percent(0.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![scroll]); + + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + flex_direction: FlexDirection::Column, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel) + .children(vec![nav_toolbar(model, theme), scroll_box]) +} + +/// Barra de acciones del explorador: crear grupo/contacto/carta sobre la +/// selección, renombrar y borrar. +fn nav_toolbar(model: &Model, theme: &Theme) -> View { + let has_sel = model.nav_selected.is_some(); + let has_cut = model.nav_cut.is_some(); + // Botón "nuevo X": icono (plus) + etiqueta. + let new_btn = |label: &str, msg: Msg, enabled: bool| -> View { + let fg = if enabled { theme.fg_text } else { theme.fg_muted }; + let plus = if enabled { theme.accent } else { theme.fg_muted }; + let mut v = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: length(22.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(3.0_f32), + right: length(5.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .radius(4.0) + .children(vec![ + glyphs::icon_view(Icon::Plus, 13.0, plus), + View::new(Style { + size: Size { + width: auto(), + height: length(22.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(label.to_string(), 11.0, fg, Alignment::Start), + ]); + if enabled { + v = v.hover_fill(theme.bg_row_hover).on_click(msg); + } + v + }; + // Botón icónico (renombrar/cortar/pegar/borrar). + let icon_btn = |icon: Icon, msg: Msg, enabled: bool, destructive: bool| -> View { + let fg = if !enabled { + theme.fg_muted + } else if destructive { + theme.fg_destructive + } else { + theme.fg_text + }; + let mut v = View::new(Style { + size: Size { + width: length(24.0_f32), + height: length(22.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .radius(4.0) + .children(vec![glyphs::icon_view(icon, 15.0, fg)]); + if enabled { + v = v.hover_fill(theme.bg_row_hover).on_click(msg); + } + v + }; + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(28.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(2.0_f32), + height: length(0.0_f32), + }, + padding: Rect { + left: length(6.0_f32), + right: length(6.0_f32), + top: length(3.0_f32), + bottom: length(3.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel_alt) + .children(vec![ + new_btn("grupo", Msg::NewGroup, true), + new_btn("contacto", Msg::OpenNewContactDialog, true), + new_btn("carta", Msg::OpenNewChartDialog, has_sel), + icon_btn(Icon::Pencil, Msg::RenameStart, has_sel, false), + icon_btn(Icon::Scissors, Msg::CutNode, has_sel, false), + icon_btn(Icon::Clipboard, Msg::PasteNode, has_cut, false), + icon_btn(Icon::Trash, Msg::DeleteSelected, has_sel, true), + ]) +} + +// ===================================================================== +// Pestañas + contenido +// ===================================================================== + +// ===================================================================== +// Dock — sidebars con pestañas acoplables (arrastrables entre lados) +// ===================================================================== + +/// Icono del diente de un item del dock. +fn dock_icon(item: DockItem) -> Icon { + match item { + DockItem::Arbol => Icon::Folder, + _ => crate::tools::cat_icon(item.tool_cat().unwrap_or(ToolCat::Principal)), + } +} + +/// Contenido del item activo de un sidebar. +fn dock_content(item: DockItem, model: &Model, theme: &Theme) -> View { + match item.tool_cat() { + None => nav_tree(model, theme), + Some(cat) => crate::tools::dock_tool_content(cat, model, theme), + } +} + +/// Rail de dientes (pestañas) de un sidebar. Cada diente: icono, activa +/// al click y **arrastrable** (su payload = el item) para moverlo al otro +/// sidebar. Alto auto (sólo los dientes), pegado arriba. La forma vive en +/// `llimphi-widget-dock-rail`; acá sólo mapeamos los `DockItem` a ids y +/// dibujamos su icono. +fn dock_rail(side: DockSide, items: &[DockItem], active: Option, theme: &Theme) -> View { + // Orden canónico: Biblioteca, Principal, Análisis, Astronomía, Sistema. + let mut ordered: Vec = items.to_vec(); + ordered.sort_by_key(|i| i.to_u64()); + let rail_items: Vec = ordered + .iter() + .map(|&item| DockRailItem { + id: item.to_u64(), + active: active == Some(item), + }) + .collect(); + dock_rail_view( + &rail_items, + TOOLS_RAIL_W, + &DockRailPalette::from_theme(theme), + |id, size, color| { + let item = DockItem::from_u64(id).unwrap_or(DockItem::Arbol); + glyphs::icon_view(dock_icon(item), size, color) + }, + move |id| Msg::DockActivate(side, DockItem::from_u64(id).unwrap_or(DockItem::Arbol)), + move |payload| Some(Msg::DockDrop(side, payload)), + ) +} + +/// Envuelve el rail de un lado como **overlay absoluto** pegado al borde +/// interno del centro (los dientes flotan sobre la rueda; el hueco debajo +/// lo usa la rueda). `None` si el lado no tiene rail. +fn dock_rail_overlay(side: DockSide, model: &Model, theme: &Theme) -> Option> { + // En modo delegado el rail lo pinta pata (con los dientes prestados); cosmos + // queda puro canvas y no dibuja sus tiras. + if model.delegated { + return None; + } + let rail = dock_rail_for(side, model, theme)?; + let inset = match side { + DockSide::Left => Rect { + top: length(6.0_f32), + left: length(0.0_f32), + right: auto(), + bottom: auto(), + }, + DockSide::Right => Rect { + top: length(6.0_f32), + right: length(0.0_f32), + left: auto(), + bottom: auto(), + }, + }; + Some( + View::new(Style { + position: Position::Absolute, + inset, + size: Size { + width: length(TOOLS_RAIL_W), + height: auto(), + }, + ..Default::default() + }) + .children(vec![rail]), + ) +} + +/// El rail (tira de dientes) de un sidebar, o `None` si está oculto o sin +/// items. Va **pegado al centro** (fuera del área resizable) para que los +/// dientes "sobresalgan" del panel. +pub(crate) fn dock_rail_for(side: DockSide, model: &Model, theme: &Theme) -> Option> { + let open = match side { + DockSide::Left => model.nav_open, + DockSide::Right => model.tools_open, + }; + let items: &[DockItem] = match side { + DockSide::Left => &model.dock_left, + DockSide::Right => &model.dock_right, + }; + if !open || items.is_empty() { + return None; + } + Some(dock_rail(side, items, model.dock_active(side), theme)) +} + +/// El contenido (panel) del item activo de un sidebar — sin el rail. Va en +/// el área resizable. `None` si está oculto o sin item activo. +pub(crate) fn dock_panel_for(side: DockSide, model: &Model, theme: &Theme) -> Option> { + let open = match side { + DockSide::Left => model.nav_open, + DockSide::Right => model.tools_open, + }; + if !open { + return None; + } + let active = model.dock_active(side)?; + Some(dock_content(active, model, theme)) +} + +/// `true` si la ventana es angosta y los sidebars deben colapsar a rail. +pub(crate) fn dock_collapsed(model: &Model) -> bool { + model.viewport.0 < DOCK_COLLAPSE_W +} + +/// El panel central: cabecera con el switch de tipo de gráfica + la +/// gráfica elegida. El centro es **sólo el gráfico**; las tablas viven en +/// el panel de herramientas (derecha). +pub(crate) fn center_view(model: &Model, theme: &Theme) -> View { + let switcher = chart_switcher(model, theme); + + // Mosaico (cartas lado a lado) sólo si hay >1 abierta; si no, la activa. + let inner = if model.tile_mode && model.open.len() > 1 { + let tiles: Vec> = model + .open + .iter() + .enumerate() + .map(|(i, tab)| tile_cell(model, i, tab, theme)) + .collect(); + View::new(Style { + flex_direction: FlexDirection::Row, + flex_wrap: FlexWrap::Wrap, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + gap: Size { + width: length(10.0_f32), + height: length(10.0_f32), + }, + ..Default::default() + }) + .children(tiles) + } else { + // Vista única: el gráfico ocupa toda el área (fondo a sangre). + graphic_for(model, &model.chart, &model.render, WHEEL_SIZE, theme, true) + }; + + // Los rails de los sidebars flotan como overlay sobre el área gráfica + // (pegados a los bordes internos), así la rueda usa todo el espacio y + // los dientes sobresalen sobre ella. + let mut area_kids = vec![inner]; + if let Some(l) = dock_rail_overlay(DockSide::Left, model, theme) { + area_kids.push(l); + } + if let Some(r) = dock_rail_overlay(DockSide::Right, model, theme) { + area_kids.push(r); + } + let graphic_area = View::new(Style { + flex_grow: 1.0, + flex_direction: FlexDirection::Column, + size: Size { + width: percent(1.0_f32), + height: percent(0.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .children(area_kids); + + View::new(Style { + flex_direction: FlexDirection::Column, + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: percent(1.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_app) + .children(vec![chart_tabs(model, theme), switcher, graphic_area]) +} + +/// Una celda del mosaico: etiqueta (clickeable → activa la carta) + su +/// gráfica a tamaño reducido. +fn tile_cell(model: &Model, i: usize, tab: &crate::model::OpenTab, theme: &Theme) -> View { + let active = i == model.active_tab; + let label = View::new(Style { + size: Size { + width: length(TILE_SIZE), + height: length(22.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .fill(if active { theme.bg_selected } else { theme.bg_panel }) + .radius(4.0) + .text_aligned(tab.label().to_string(), 11.0, theme.fg_text, Alignment::Center) + .on_click(Msg::ActivateChartTab(i)); + + let g = graphic_for(model, &tab.chart, &tab.render, TILE_SIZE, theme, false); + + // Firma del kit: cada carta del mosaico queda enmarcada como card + // tallada (gradiente vertical ~4% + hairline accent) en vez de un + // label + gráfica sueltos sobre el fondo. El contenedor se ensancha + // para alojar el padding sin achicar la gráfica. + let ps = PanelStyle::from_theme(theme); + View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: length(TILE_SIZE + 16.0_f32), + height: auto(), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(8.0_f32), + bottom: length(8.0_f32), + }, + gap: Size { + width: length(0.0_f32), + height: length(6.0_f32), + }, + ..Default::default() + }) + .paint_with(panel_signature_painter(ps)) + .radius(ps.radius) + .clip(true) + .children(vec![label, g]) +} + +/// La gráfica elegida (según `chart_view`) para una carta/render dados, al +/// tamaño `size`. Reusada por la vista única y por cada celda del mosaico. +/// `fill = true` (vista única): el lienzo ocupa toda el área central (el +/// fondo sangra a pantalla completa y la rueda se ajusta centrada). +/// `fill = false` (mosaico): lienzo de lado fijo `size`. +fn graphic_for( + model: &Model, + chart: &cosmos_model::Chart, + render: &cosmos_render::RenderModel, + size: f32, + theme: &Theme, + fill: bool, +) -> View { + match model.chart_view { + ChartView::Estandar => wheel_canvas(model, render, size, theme, fill), + ChartView::Uraniano => uranian_dial_canvas(model, render, size, theme, fill), + ChartView::Armonica => harmonic_wheel_canvas(model, render, size, theme, fill), + ChartView::Carto => crate::astrocarto::tile_astrocarto( + chart, + render, + theme, + model.wheel_zoom, + model.wheel_pan, + model.carto_rect.clone(), + ), + ChartView::Esfera3d => sphere_canvas(model, render, size, theme, fill), + ChartView::Cielo => sky_canvas(model, size, theme, fill), + ChartView::Impresion => print_view(model, theme), + } +} + +// ===================================================================== +// Hoja imprimible +// ===================================================================== + +/// Lado del lienzo de la rueda en la hoja imprimible (px lógicos). +const PRINT_WHEEL: f32 = 460.0; +/// Ancho de la hoja imprimible (px lógicos). +const PRINT_SHEET_W: f32 = 600.0; + +/// La rueda natal estándar para la hoja: paleta clara sobre papel blanco, +/// sin zoom/paneo ni interactividad (es para imprimir). Caja fija de lado +/// `size`, centrada horizontalmente. +fn print_wheel(model: &Model, render: &cosmos_render::RenderModel, size: f32) -> View { + let opts = CompositionOpts { + size, + rot_offset_deg: model.cfg.rot_offset_deg, + include_bodies: true, + palette: Palette::light(), + draw_ascensional_cross: model.cfg.asc_cross, + show_coord_labels: model.cfg.coord_labels, + show_minor_aspects: model.cfg.minor_aspects, + dial_3d: false, + selected_body: None, + detail: 1.0, + }; + let (commands, _hits) = compose_wheel_with_hits(render, &opts); + let canvas = cosmos_canvas_llimphi::canvas_view::( + commands, + size, + Some(Color::from_rgba8(255, 255, 255, 255)), + ); + // Caja fija: el canvas mide percent(100%), necesita un rect definido. + let boxed = View::new(Style { + size: Size { + width: length(size), + height: length(size), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .children(vec![canvas]); + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(size), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .children(vec![boxed]) +} + +/// Contenido de la hoja imprimible (sin botón): cabecera de la carta + +/// rueda natal + tabla de aspectos, sobre papel blanco. Es EXACTAMENTE lo +/// que se rasteriza a PNG — el mismo árbol de `View`, la misma pintura — +/// así que la impresión tiene la fidelidad de la pantalla. Usa siempre el +/// tema «Print» (B/N) sin importar el tema de la app: el papel es blanco. +pub(crate) fn print_page_content(model: &Model) -> View { + let theme = Theme::print(); + let titulo = View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(26.0), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned( + if model.chart.label.is_empty() { + "Carta natal".to_string() + } else { + model.chart.label.clone() + }, + 20.0, + theme.fg_text, + Alignment::Start, + ); + View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: length(PRINT_SHEET_W), + height: auto(), + }, + flex_shrink: 0.0, + padding: Rect { + left: length(28.0), + right: length(28.0), + top: length(24.0), + bottom: length(24.0), + }, + gap: Size { + width: length(0.0_f32), + height: length(10.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_app) + .children(vec![ + titulo, + view::tile_carta(model, &theme), + print_wheel(model, &model.render, PRINT_WHEEL), + view::section_label("Aspectos".to_string(), &theme), + view::tile_aspectos(&model.render, &theme), + ]) +} + +/// La vista en pantalla del modo «Hoja»: botón Imprimir arriba + la hoja +/// (previsualización en papel) debajo, alineada arriba para que el botón +/// quede siempre visible aunque la tabla sea larga. +fn print_view(model: &Model, theme: &Theme) -> View { + let btn = View::new(Style { + size: Size { + width: length(190.0), + height: length(30.0), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + margin: Rect { + left: length(0.0), + right: length(0.0), + top: length(0.0), + bottom: length(10.0), + }, + ..Default::default() + }) + .radius(4.0) + .fill(theme.bg_button) + .hover_fill(theme.bg_button_hover) + .text_aligned("Imprimir hoja…".to_string(), 13.0, theme.fg_text, Alignment::Center) + .on_click(Msg::PrintSheet); + + View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Start), + padding: Rect { + left: length(8.0), + right: length(8.0), + top: length(12.0), + bottom: length(8.0), + }, + ..Default::default() + }) + .children(vec![btn, print_page_content(model)]) +} + +/// Arma la columna `[controles?, lienzo]`. Con `fill` el lienzo crece para +/// ocupar todo el espacio (fondo a sangre, recortado para no pisar los +/// paneles vecinos); sin `fill` queda en una caja de lado `size`. +fn canvas_column( + controls: Option>, + canvas: View, + size: f32, + fill: bool, +) -> View { + let canvas_box = if fill { + View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(1.0_f32), + height: percent(0.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .clip(true) + .children(vec![canvas]) + } else { + View::new(Style { + size: Size { + width: length(size), + height: length(size), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .children(vec![canvas]) + }; + let mut kids: Vec> = Vec::new(); + if let Some(c) = controls { + kids.push(c); + } + kids.push(canvas_box); + let style = if fill { + Style { + flex_direction: FlexDirection::Column, + flex_grow: 1.0, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(0.0_f32), + height: length(4.0_f32), + }, + ..Default::default() + } + } else { + Style { + flex_direction: FlexDirection::Column, + size: Size { + width: length(size), + height: auto(), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(0.0_f32), + height: length(4.0_f32), + }, + ..Default::default() + } + }; + View::new(style).children(kids) +} + +/// Longitudes eclípticas de los cuerpos natales (símbolo → grados). +fn natal_body_lons(render: &cosmos_render::RenderModel) -> Vec<(String, f32)> { + render + .layers + .iter() + .filter(|l| { + l.module_id == "natal" && matches!(l.kind, cosmos_render::LayerKind::Bodies) + }) + .flat_map(|l| l.glyphs.iter()) + .map(|g| (g.symbol.clone(), g.deg)) + .collect() +} + +/// Envuelve un lienzo custom (sin hit-test de cuerpos) en la columna con +/// botonera de zoom + zoom/paneo, igual que la rueda estándar. +fn custom_canvas(model: &Model, cmds: Vec, size: f32, theme: &Theme, fill: bool) -> View { + let t = ViewTransform { + zoom: model.wheel_zoom, + pan: model.wheel_pan, + }; + let canvas = cosmos_canvas_llimphi::canvas_view_ex::(cmds, size, Some(graphics_bg(model)), t) + .draggable_at(|phase, dx, dy, _lx, _ly| match phase { + DragPhase::Move => Some(Msg::WheelPan(dx, dy)), + DragPhase::End => None, + }); + canvas_column(Some(zoom_controls(model, theme)), canvas, size, fill) +} + +/// Dial uraniano de 90° (Escuela de Hamburgo). Los cuerpos se proyectan +/// a su longitud módulo 90° sobre un disco graduado; cuerpos que caen +/// cerca (misma "fórmula") quedan agrupados visualmente. 0° arriba. +fn uranian_dial_canvas( + model: &Model, + render: &cosmos_render::RenderModel, + size: f32, + theme: &Theme, + fill: bool, +) -> View { + use cosmos_render::glyphs::planet_commands; + let cx = size / 2.0; + let cy = size / 2.0; + let r = size * 0.42; + let pal = graphics_palette(model); + let grid = rgba_of(theme.fg_muted); + let grid_soft = Rgba { a: 0.4, ..grid }; + let fg = rgba_of(theme.fg_text); + + let mut cmds: Vec = Vec::new(); + cmds.push(DrawCommand::Circle { + cx, + cy, + r, + stroke: Some(grid), + fill: Some(rgba_of(theme.bg_panel)), + stroke_w: 1.5, + }); + cmds.push(DrawCommand::Circle { + cx, + cy, + r: r * 0.78, + stroke: Some(grid_soft), + fill: None, + stroke_w: 0.8, + }); + // Graduación: ticks cada grado del dial (90), mayores cada 15°. + for d in 0..90 { + let ang = (d as f32 / 90.0 * 360.0 - 90.0).to_radians(); + let major = d % 15 == 0; + let inner = if major { r * 0.86 } else { r * 0.93 }; + cmds.push(DrawCommand::Line { + x1: cx + ang.cos() * inner, + y1: cy + ang.sin() * inner, + x2: cx + ang.cos() * r, + y2: cy + ang.sin() * r, + color: if major { grid } else { grid_soft }, + width: if major { 1.2 } else { 0.5 }, + dash: None, + }); + if major { + cmds.push(DrawCommand::Text { + x: cx + ang.cos() * r * 0.7, + y: cy + ang.sin() * r * 0.7, + content: format!("{d}"), + color: grid, + size: 11.0, + anchor: TextAnchor::Middle, + }); + } + } + // Cuerpos sobre el dial (longitud mod 90). + for (sym, deg) in natal_body_lons(render) { + let m90 = deg.rem_euclid(90.0); + let ang = (m90 / 90.0 * 360.0 - 90.0).to_radians(); + let gx = cx + ang.cos() * r * 1.06; + let gy = cy + ang.sin() * r * 1.06; + cmds.push(DrawCommand::Line { + x1: cx + ang.cos() * r, + y1: cy + ang.sin() * r, + x2: cx + ang.cos() * r * 0.78, + y2: cy + ang.sin() * r * 0.78, + color: pal.aspect("conjunction"), + width: 1.0, + dash: None, + }); + cmds.extend(planet_commands(&canon_glyph(&sym), gx, gy, size * 0.04, fg, 1.6)); + } + cmds.push(DrawCommand::Text { + x: cx, + y: cy, + content: "90°".to_string(), + color: grid_soft, + size: 13.0, + anchor: TextAnchor::Middle, + }); + + custom_canvas(model, cmds, size, theme, fill) +} + +/// Rueda armónica (Cochrane / Addey): cada longitud natal se multiplica +/// por el armónico activo (mod 360) y se grafica en un zodíaco de 12 +/// signos. H1 = la carta natal. Debajo, el espectro armónico si existe. +fn harmonic_wheel_canvas( + model: &Model, + render: &cosmos_render::RenderModel, + size: f32, + theme: &Theme, + fill: bool, +) -> View { + use cosmos_render::glyphs::{planet_commands, sign_commands}; + let h = model.harmonic.max(1) as f32; + let cx = size / 2.0; + let cy = size / 2.0; + let r = size * 0.42; + let grid = rgba_of(theme.fg_muted); + let grid_soft = Rgba { a: 0.4, ..grid }; + let fg = rgba_of(theme.fg_text); + + let mut cmds: Vec = Vec::new(); + cmds.push(DrawCommand::Circle { + cx, + cy, + r, + stroke: Some(grid), + fill: Some(rgba_of(theme.bg_panel)), + stroke_w: 1.5, + }); + cmds.push(DrawCommand::Circle { + cx, + cy, + r: r * 0.80, + stroke: Some(grid_soft), + fill: None, + stroke_w: 0.8, + }); + // 12 sectores zodiacales + glyph de cada signo en el anillo exterior. + let sign_ids = crate::glyphs::SIGN_IDS; + for i in 0..12 { + let ang = (i as f32 * 30.0 - 90.0).to_radians(); + cmds.push(DrawCommand::Line { + x1: cx + ang.cos() * r * 0.80, + y1: cy + ang.sin() * r * 0.80, + x2: cx + ang.cos() * r, + y2: cy + ang.sin() * r, + color: grid_soft, + width: 0.7, + dash: None, + }); + let mid = ((i as f32 + 0.5) * 30.0 - 90.0).to_radians(); + let sx = cx + mid.cos() * r * 0.90; + let sy = cy + mid.sin() * r * 0.90; + let scol = rgba_of(sign_color_theme(i, model)); + cmds.extend(sign_commands(sign_ids[i], sx, sy, size * 0.035, scol, 1.4)); + } + // Cuerpos en longitud armónica. + for (sym, deg) in natal_body_lons(render) { + let hl = (deg * h).rem_euclid(360.0); + let ang = (hl - 90.0).to_radians(); + let gx = cx + ang.cos() * r * 0.66; + let gy = cy + ang.sin() * r * 0.66; + cmds.push(DrawCommand::Circle { + cx: cx + ang.cos() * r * 0.80, + cy: cy + ang.sin() * r * 0.80, + r: 2.0, + stroke: None, + fill: Some(grid), + stroke_w: 0.0, + }); + cmds.extend(planet_commands(&canon_glyph(&sym), gx, gy, size * 0.045, fg, 1.7)); + } + cmds.push(DrawCommand::Text { + x: cx, + y: cy, + content: format!("H{}", model.harmonic), + color: grid, + size: 16.0, + anchor: TextAnchor::Middle, + }); + + custom_canvas(model, cmds, size, theme, fill) +} + +/// Normaliza alias de cuerpos a un id que `planet_commands` entienda. +fn canon_glyph(sym: &str) -> String { + match sym { + "ascending_node" | "mean_node" => "north_node", + "descending_node" => "south_node", + other => other, + } + .to_string() +} + +/// Color elemental de un signo por índice, según el tema. +fn sign_color_theme(sign_idx: usize, model: &Model) -> Color { + let pal = graphics_palette(model); + let ids = crate::glyphs::SIGN_IDS; + let c = pal.sign(ids[sign_idx % 12]); + Color::from_rgba8( + (c.r.clamp(0.0, 1.0) * 255.0) as u8, + (c.g.clamp(0.0, 1.0) * 255.0) as u8, + (c.b.clamp(0.0, 1.0) * 255.0) as u8, + (c.a.clamp(0.0, 1.0) * 255.0) as u8, + ) +} + + +/// Cielo del observador: proyección azimutal (cénit al centro, horizonte +/// al borde) de los cuerpos en alt/az. Compone `DrawCommand`s y los pinta +/// en el mismo canvas que la rueda. Usa `model.astro` (la lectura +/// astronómica cacheada); si todavía no está, muestra "calculando…". +fn sky_canvas(model: &Model, size: f32, theme: &Theme, fill: bool) -> View { + let Some(astro) = &model.astro else { + return pending_view("Cielo del observador — calculando…", theme); + }; + let dark = model.cfg.theme_dark; + let nadir = model.sky_nadir; + // Zoom + paneo del lienzo (rueda y arrastre) — compartidos con el resto + // de vistas. `rect_cell` deja el rect pintado para el zoom hacia el + // cursor en `on_wheel` (igual que astrocarto). + let zoom = model.wheel_zoom as f64; + let pan = model.wheel_pan; + let rect_cell = model.carto_rect.clone(); + let lst = astro.lst_deg; + let lat = astro.lat_deg; + let pal = graphics_palette(model); + // Cuerpos: (nombre canónico, altitud°, azimut°). + let bodies: Vec<(String, f64, f64)> = astro + .sky + .iter() + .map(|(b, p)| (b.canonical().to_string(), p.altitude_deg, p.azimuth_deg)) + .collect(); + let fg_text = rgba_of(theme.fg_text); + let fg_muted = rgba_of(theme.fg_muted); + let border = rgba_of(theme.border); + let bg = graphics_bg(model); + + let canvas = View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + flex_grow: 1.0, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .fill(bg) + .radius(3.0) + .clip(true) + // Arrastrar panea la cúpula (con zoom hace falta para recorrerla). + .draggable_at(|phase, dx, dy, _lx, _ly| match phase { + DragPhase::Move => Some(Msg::WheelPan(dx, dy)), + DragPhase::End => None, + }) + .paint_with(move |scene, ts, rect: PaintRect| { + use llimphi_ui::llimphi_raster::kurbo::{Affine, Circle as KCircle, Line as KLine, Stroke}; + use llimphi_ui::llimphi_raster::peniko::{Color as PColor, Fill}; + use llimphi_ui::llimphi_text::{draw_layout, layout_block, Alignment, TextBlock}; + + // Deja el rect para que `on_wheel` haga zoom hacia el cursor. + if let Ok(mut g) = rect_cell.lock() { + *g = Some((rect.x, rect.y, rect.w, rect.h)); + } + // Centro desplazado por el paneo, radio escalado por el zoom. + let cx = rect.x as f64 + rect.w as f64 * 0.5 + pan.0 as f64; + let cy = rect.y as f64 + rect.h as f64 * 0.5 + pan.1 as f64; + let r = (rect.w.min(rect.h) as f64) * 0.42 * zoom; + let id = Affine::IDENTITY; + let col = |c: Rgba| { + PColor::from_rgba8( + (c.r * 255.0) as u8, + (c.g * 255.0) as u8, + (c.b * 255.0) as u8, + (c.a.clamp(0.0, 1.0) * 255.0) as u8, + ) + }; + let disc = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, x: f64, y: f64, rad: f64, c: PColor| { + scene.fill(Fill::NonZero, id, c, None, &KCircle::new((x, y), rad)); + }; + let ring = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, x: f64, y: f64, rad: f64, w: f64, c: PColor| { + scene.stroke(&Stroke::new(w), id, c, None, &KCircle::new((x, y), rad)); + }; + let seg = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, a: (f64, f64), b: (f64, f64), w: f64, c: PColor| { + scene.stroke(&Stroke::new(w), id, c, None, &KLine::new(a, b)); + }; + let text = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, + ts: &mut llimphi_ui::llimphi_text::Typesetter, + x: f64, + y: f64, + s: &str, + size_px: f32, + c: PColor, + center: bool| { + let approx = size_px as f64 * s.chars().count() as f64 * 0.5; + let block = TextBlock { + text: s, + size_px, + color: c, + origin: (if center { x - approx } else { x }, y - size_px as f64 * 0.5), + max_width: if center { Some(approx as f32 * 2.0) } else { None }, + alignment: if center { Alignment::Center } else { Alignment::Start }, + line_height: 1.0, + italic: false, + font_family: None, + }; + let layout = layout_block(ts, &block); + draw_layout(scene, &layout, c, block.origin); + }; + + // alt/az del observador para una posición ecuatorial. + let radec_altaz = move |ra: f64, dec: f64| -> (f64, f64) { + let h = ((lst - ra).rem_euclid(360.0)).to_radians(); + let decr = dec.to_radians(); + let latr = lat.to_radians(); + let sin_alt = decr.sin() * latr.sin() + decr.cos() * latr.cos() * h.cos(); + let alt = sin_alt.clamp(-1.0, 1.0).asin().to_degrees(); + let a_south = h.sin().atan2(h.cos() * latr.sin() - decr.tan() * latr.cos()); + let az = (a_south.to_degrees() + 180.0).rem_euclid(360.0); + (alt, az) + }; + // Cúpula azimutal: (alt°, az°) → (x, y, visible). En modo cénit el + // centro es el cénit y se ve el hemisferio sobre el horizonte; en + // nadir el centro es el nadir, el este-oeste se espeja (como mirar + // hacia abajo) y se ve el hemisferio bajo el horizonte. + let dome = move |alt: f64, az: f64| -> (f64, f64, bool) { + let azr = az.to_radians(); + if !nadir { + let rr = r * (90.0 - alt) / 90.0; + (cx + rr * azr.sin(), cy - rr * azr.cos(), alt > 0.0) + } else { + let rr = r * (90.0 + alt) / 90.0; + (cx - rr * azr.sin(), cy - rr * azr.cos(), alt < 0.0) + } + }; + + // --- Disco del cielo --- + let dome_fill = if dark { + PColor::from_rgba8(7, 9, 16, 255) + } else { + PColor::from_rgba8(232, 238, 246, 255) + }; + disc(scene, cx, cy, r, dome_fill); + + // --- Malla ecuatorial: meridianos de AR y paralelos de declinación --- + // Las "coordenadas meridianas": una rejilla celeste tenue que ubica + // los objetos en ascensión recta / declinación. Se dibuja segmento a + // segmento, sólo donde ambos extremos están sobre el horizonte. + let polyline = |scene: &mut llimphi_ui::llimphi_raster::vello::Scene, + pts: &[(f64, f64)], + w: f64, + c: PColor| { + let mut prev: Option<(f64, f64, bool)> = None; + for &(ra, dec) in pts { + let (alt, az) = radec_altaz(ra, dec); + let (x, y, vis) = dome(alt, az); + if let Some((px, py, pv)) = prev { + if vis && pv { + seg(scene, (px, py), (x, y), w, c); + } + } + prev = Some((x, y, vis)); + } + }; + let grid_eq = col(fg_muted.with_alpha(0.14)); + // Meridianos de AR cada 30° (2 h), de declinación −80° a +80°. + for h in 0..12 { + let ra = h as f64 * 30.0; + let pts: Vec<(f64, f64)> = (-8..=8).map(|j| (ra, j as f64 * 10.0)).collect(); + polyline(scene, &pts, 0.5, grid_eq); + } + // Paralelos de declinación; el ecuador celeste (0°) algo más marcado. + for &d in &[-60.0_f64, -30.0, 0.0, 30.0, 60.0] { + let pts: Vec<(f64, f64)> = (0..=72).map(|i| (i as f64 * 5.0, d)).collect(); + let w = if d == 0.0 { 0.7 } else { 0.5 }; + let c = if d == 0.0 { col(fg_muted.with_alpha(0.22)) } else { grid_eq }; + polyline(scene, &pts, w, c); + } + + // --- Eclíptica: el camino del Sol, círculo máximo (tono cálido) --- + let eps = 23.4393_f64.to_radians(); + let ecl_pts: Vec<(f64, f64)> = (0..=180) + .map(|i| { + let lam = (i as f64 * 2.0).to_radians(); + let ra = (lam.sin() * eps.cos()).atan2(lam.cos()).to_degrees().rem_euclid(360.0); + let dec = (lam.sin() * eps.sin()).asin().to_degrees(); + (ra, dec) + }) + .collect(); + let ecl_col = col(Rgba { r: 0.93, g: 0.74, b: 0.36, a: 1.0 }.with_alpha(0.55)); + polyline(scene, &ecl_pts, 1.1, ecl_col); + + // --- Figuras de constelaciones (tenues) + sus estrellas como puntos --- + let cons_col = col(fg_muted.with_alpha(0.34)); + let cstar = if dark { + Rgba { r: 0.78, g: 0.82, b: 0.95, a: 0.5 } + } else { + Rgba { r: 0.20, g: 0.24, b: 0.34, a: 0.5 } + }; + for fig in cosmos_render::constellations_data::FIGURAS { + for path in fig.paths { + for s in path.windows(2) { + let (a_alt, a_az) = radec_altaz(s[0].0 as f64, s[0].1 as f64); + let (b_alt, b_az) = radec_altaz(s[1].0 as f64, s[1].1 as f64); + let (ax, ay, au) = dome(a_alt, a_az); + let (bx, by, bu) = dome(b_alt, b_az); + if au && bu { + seg(scene, (ax, ay), (bx, by), 0.6, cons_col); + } + } + // Los vértices del trazo son estrellas: puntitos discretos. + for &(ra, dec) in path.iter() { + let (alt, az) = radec_altaz(ra as f64, dec as f64); + let (x, y, vis) = dome(alt, az); + if vis { + disc(scene, x, y, (r * 0.0035).max(0.7), col(cstar)); + } + } + } + } + + // --- Estrellas brillantes reales: tamaño/brillo por magnitud --- + for st in cosmos_render::sky_data::BRIGHT_STARS { + let (alt, az) = radec_altaz(st.ra_deg as f64, st.dec_deg as f64); + let (x, y, vis) = dome(alt, az); + if !vis { + continue; + } + // mag −1.5 (Sirio) → brillante; mag 1.65 → tenue. + let b = (((1.8 - st.mag as f64) / 3.4).clamp(0.12, 1.0)).powf(0.8); + let rad = r * (0.006 + 0.013 * b); + let star_c = if dark { + Rgba { r: 0.86, g: 0.90, b: 1.0, a: (0.55 + 0.45 * b) as f32 } + } else { + Rgba { r: 0.10, g: 0.13, b: 0.22, a: (0.55 + 0.45 * b) as f32 } + }; + disc(scene, x, y, rad, col(star_c)); + // Destello en cruz para las muy brillantes. + if st.mag < 0.6 { + let ray = rad * 2.6; + let rc = col(star_c.with_alpha(star_c.a * 0.6)); + seg(scene, (x - ray, y), (x + ray, y), 0.8, rc); + seg(scene, (x, y - ray), (x, y + ray), 0.8, rc); + } + // Nombre de las más brillantes. + if st.mag < 1.0 { + text(scene, ts, x, y - rad - 6.0, st.name, 9.0, col(fg_muted.with_alpha(0.85)), true); + } + } + + // --- Anillos de altitud + cruz de cardinales --- + let grid_c = col(border.with_alpha(0.9)); + ring(scene, cx, cy, r, 1.4, grid_c); + for alt in [30.0_f64, 60.0] { + let rr = r * (90.0 - alt) / 90.0; + ring(scene, cx, cy, rr, 0.6, col(border.with_alpha(0.5))); + // Etiqueta de altitud sobre el meridiano norte. + let (lx, ly, _) = dome(alt, 0.0); + text(scene, ts, lx + 3.0, ly, &format!("{}°", alt as i32), 8.5, col(fg_muted.with_alpha(0.7)), false); + } + seg(scene, (cx - r, cy), (cx + r, cy), 0.6, col(border.with_alpha(0.5))); + seg(scene, (cx, cy - r), (cx, cy + r), 0.6, col(border.with_alpha(0.5))); + // Cardinales — posición vía la proyección (espeja sola en nadir). + for (txt, az) in [("N", 0.0_f64), ("E", 90.0), ("S", 180.0), ("O", 270.0)] { + let (x, y, _) = dome(0.0, az); + let ux = (x - cx) * 1.06 + cx; + let uy = (y - cy) * 1.06 + cy; + text(scene, ts, ux, uy, txt, 13.0, col(fg_muted), true); + } + + // --- Planetas con personalidad: color propio, tamaño por brillo, + // adornos (rayos del Sol, anillo de Saturno) --- + for (name, alt, az) in &bodies { + let (x, y, vis) = dome(*alt, *az); + if !vis { + continue; + } + let pc = pal.planet(name); + // Presencia aparente de cada cuerpo (no a escala — legibilidad). + let k = match name.as_str() { + "sun" => 2.7, + "moon" => 2.4, + "jupiter" => 1.9, + "venus" => 1.8, + "saturn" => 1.6, + "mars" => 1.4, + "mercury" => 1.05, + "uranus" => 1.1, + "neptune" => 1.1, + "pluto" => 0.85, + _ => 1.2, + }; + let rad = r * 0.011 * k; + // Halo suave del color del cuerpo. + disc(scene, x, y, rad * 1.9, col(pc.with_alpha(0.18))); + disc(scene, x, y, rad, col(pc)); + ring(scene, x, y, rad, 1.0, col(pc.with_alpha(0.9))); + match name.as_str() { + "sun" => { + let rc = col(pc.with_alpha(0.85)); + for k8 in 0..8 { + let a = std::f64::consts::PI * k8 as f64 / 4.0; + let (s, c) = a.sin_cos(); + seg(scene, (x + c * rad * 1.4, y + s * rad * 1.4), (x + c * rad * 2.2, y + s * rad * 2.2), 1.0, rc); + } + } + "saturn" => { + // Anillo inclinado. + let rc = col(pc.with_alpha(0.9)); + scene.stroke( + &Stroke::new(1.0), + Affine::translate((x, y)) * Affine::rotate(-0.5) * Affine::scale_non_uniform(1.0, 0.42), + rc, + None, + &KCircle::new((0.0, 0.0), rad * 1.7), + ); + } + _ => {} + } + text(scene, ts, x, y - rad - 7.0, crate::format::simbolo_cuerpo(name), 10.0, col(fg_text), true); + } + + // --- Encabezado: modo + lugar --- + let modo = if nadir { "Nadir (hemisferio bajo el horizonte)" } else { "Cénit (cielo visible)" }; + text(scene, ts, rect.x as f64 + 8.0, rect.y as f64 + rect.h as f64 - 10.0, modo, 9.5, col(fg_muted.with_alpha(0.85)), false); + }); + + canvas_column(Some(sky_controls(nadir, theme)), canvas, size, fill) +} + +/// Controles del Cielo: alterna cénit/nadir. +fn sky_controls(nadir: bool, theme: &Theme) -> View { + let label = if nadir { "Ver cénit ↑" } else { "Ver nadir ↓" }; + let btn = View::new(Style { + size: Size { + width: auto(), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + padding: Rect { + left: length(10.0_f32), + right: length(10.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .radius(4.0) + .fill(theme.bg_panel) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::ToggleSkyNadir) + .text_aligned(label.to_string(), 11.0, theme.fg_text, Alignment::Center); + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: length(26.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(6.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![btn]) +} + +/// Tira de pestañas de cartas abiertas (multi-carta). Cada pestaña: label +/// clickeable + ✕ para cerrar. La activa va resaltada. +fn chart_tabs(model: &Model, theme: &Theme) -> View { + let mut kids: Vec> = Vec::new(); + for (i, tab) in model.open.iter().enumerate() { + let active = i == model.active_tab; + let label = View::new(Style { + size: Size { + width: auto(), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(10.0_f32), + right: length(6.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .text_aligned(tab.label().to_string(), 12.0, theme.fg_text, Alignment::Center) + .on_click(Msg::ActivateChartTab(i)); + let close = View::new(Style { + size: Size { + width: length(18.0_f32), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::CloseChartTab(i)) + .children(vec![glyphs::icon_view(Icon::Close, 11.0, theme.fg_muted)]); + + let mut tabv = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: percent(1.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + margin: Rect { + left: length(0.0_f32), + right: length(2.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![label, close]); + tabv = if active { + tabv.fill(theme.bg_app) + } else { + tabv.fill(theme.bg_panel) + }; + kids.push(tabv); + } + + // Relleno + botón de alternar pestañas/mosaico (a la derecha). + kids.push( + View::new(Style { + flex_grow: 1.0, + size: Size { + width: auto(), + height: percent(1.0_f32), + }, + ..Default::default() + }), + ); + let (toggle_icon, toggle_label) = if model.tile_mode { + (Icon::Window, "pestañas") + } else { + (Icon::Grid, "mosaico") + }; + kids.push( + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: percent(1.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + gap: Size { + width: length(4.0_f32), + height: length(0.0_f32), + }, + padding: Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::ToggleTileMode) + .children(vec![ + glyphs::icon_view(toggle_icon, 14.0, theme.fg_muted), + View::new(Style { + size: Size { + width: auto(), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(toggle_label.to_string(), 11.0, theme.fg_muted, Alignment::Center), + ]), + ); + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(28.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(4.0_f32), + right: length(4.0_f32), + top: length(2.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel_alt) + .children(kids) +} + +/// Segmented en la cabecera del centro para alternar el tipo de gráfica. +fn chart_switcher(model: &Model, theme: &Theme) -> View { + let labels: Vec<&str> = ChartView::all().iter().map(|c| c.title()).collect(); + let sel = ChartView::all() + .iter() + .position(|c| *c == model.chart_view) + .unwrap_or(0); + let seg = segmented_view( + &labels, + sel, + |i| Msg::SetChartView(ChartView::all().get(i).copied().unwrap_or_default()), + &SegmentedPalette::from_theme(theme), + ); + let seg_box = View::new(Style { + size: Size { + width: length(520.0_f32), + height: percent(1.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![seg]); + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(TAB_BAR_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + padding: Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(2.0_f32), + bottom: length(2.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel) + .children(vec![seg_box]) +} + +/// Esfera celeste 3D (wireframe) — compone con `cosmos-render::sphere3d` +/// y pinta los `DrawCommand` en el mismo canvas que la rueda. La botonera +/// ◀▶▲▼⟳ rota yaw/pitch (el canvas committeado no expone drag todavía). +fn sphere_canvas(model: &Model, render: &cosmos_render::RenderModel, size: f32, theme: &Theme, fill: bool) -> View { + let opts = SphereOpts { + size, + palette: graphics_palette(model), + ..Default::default() + }; + let view = SphereView { + yaw_deg: model.sphere_yaw, + pitch_deg: model.sphere_pitch, + }; + let commands = compose_sphere(render, &view, &opts); + let canvas_bg = graphics_bg(model); + let t = ViewTransform { + zoom: model.wheel_zoom, + pan: model.wheel_pan, + }; + // Drag para rotar (yaw/pitch); la rueda hace zoom vía el transform. + let canvas = cosmos_canvas_llimphi::canvas_view_ex::(commands, size, Some(canvas_bg), t) + .draggable_at(|phase, dx, dy, _lx, _ly| match phase { + DragPhase::Move => Some(Msg::SphereRotate(dx * 0.4, dy * 0.4)), + DragPhase::End => None, + }); + canvas_column(Some(sphere_controls(theme)), canvas, size, fill) +} + +/// Botonera de rotación de la esfera 3D. +fn sphere_controls(theme: &Theme) -> View { + let step = 15.0_f32; + let btn = |icon: Icon, msg: Msg| -> View { + View::new(Style { + size: Size { + width: length(30.0_f32), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .radius(4.0) + .fill(theme.bg_panel) + .hover_fill(theme.bg_row_hover) + .on_click(msg) + .children(vec![glyphs::icon_view(icon, 14.0, theme.fg_text)]) + }; + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: length(26.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(4.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![ + btn(Icon::ArrowLeft, Msg::SphereRotate(-step, 0.0)), + btn(Icon::ArrowRight, Msg::SphereRotate(step, 0.0)), + btn(Icon::ArrowUp, Msg::SphereRotate(0.0, -step)), + btn(Icon::ArrowDown, Msg::SphereRotate(0.0, step)), + btn(Icon::Refresh, Msg::SphereReset), + ]) +} + +fn pending_view(msg: &str, theme: &Theme) -> View { + view::tile_container( + vec![view::line(msg.to_string(), 12.0, theme.fg_muted)], + theme, + ) +} + +/// La rueda natal 2D como canvas clickeable (sólo el gráfico), de la carta +/// cuyo `render` se pasa, al tamaño `size`. +fn wheel_canvas(model: &Model, render: &cosmos_render::RenderModel, size: f32, theme: &Theme, fill: bool) -> View { + let opts = CompositionOpts { + size, + rot_offset_deg: model.cfg.rot_offset_deg, + include_bodies: true, + palette: graphics_palette(model), + draw_ascensional_cross: model.cfg.asc_cross, + show_coord_labels: model.cfg.coord_labels, + show_minor_aspects: model.cfg.minor_aspects, + dial_3d: model.cfg.dial_3d, + selected_body: model.selected_body.clone(), + // El zoom de la rueda re-dibuja con más detalle (no magnifica el + // bitmap): se mete como `detail`, no como escala uniforme. + detail: model.wheel_zoom, + }; + let (commands, hits) = compose_wheel_with_hits(render, &opts); + let canvas_bg = graphics_bg(model); + // Offset del menú contextual: origen del centro ≈ nav (resizable) + + // barra de menú + cabecera del switcher. (Aprox. en mosaico.) + let nav_off = model.nav_w + if model.nav_open { 6.0 } else { 0.0 }; + // Sin escala uniforme: el detalle ya lo aplicó `compose_wheel`. Sólo + // paneo. + let t = ViewTransform { + zoom: 1.0, + pan: model.wheel_pan, + }; + let canvas = canvas_view_clickable_ex::(commands, size, Some(canvas_bg), t, move |wx, wy| { + let picked: Option = hits.pick(wx, wy).map(str::to_string); + Some(Msg::SelectBody(picked)) + }) + // Drag: paneo del lienzo. Coexiste con el on_click_at (el press + // selecciona el cuerpo; el movimiento panea). La rueda (zoom/paneo + // con Ctrl/Alt) la maneja App::on_wheel. + .draggable_at(|phase, dx, dy, _lx, _ly| match phase { + DragPhase::Move => Some(Msg::WheelPan(dx, dy)), + DragPhase::End => None, + }) + .on_right_click_at(move |lx, ly, _w, _h| { + Some(Msg::OpenCanvasCtx(nav_off + lx, MENU_BAR_H + TAB_BAR_H + ly)) + }); + + canvas_column(Some(zoom_controls(model, theme)), canvas, size, fill) +} + +/// Botonera de zoom/encuadre del lienzo de la rueda. +fn zoom_controls(model: &Model, theme: &Theme) -> View { + let btn = |icon: Icon, msg: Msg| -> View { + View::new(Style { + size: Size { + width: length(26.0_f32), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .radius(4.0) + .fill(theme.bg_panel) + .hover_fill(theme.bg_row_hover) + .on_click(msg) + .children(vec![glyphs::icon_view(icon, 15.0, theme.fg_text)]) + }; + let pct = View::new(Style { + size: Size { + width: length(46.0_f32), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .text_aligned( + format!("{:.0}%", model.wheel_zoom * 100.0), + 11.0, + theme.fg_muted, + Alignment::Center, + ); + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: auto(), + height: length(26.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(4.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![ + btn(Icon::ZoomOut, Msg::WheelZoom(0.8)), + pct, + btn(Icon::ZoomIn, Msg::WheelZoom(1.25)), + btn(Icon::Refresh, Msg::WheelResetView), + ]) +} + +// ===================================================================== +// Vista de configuración +// ===================================================================== + +fn switch_row(label: &str, on: bool, msg: Msg, pal: &SwitchPalette, theme: &Theme) -> View { + let lbl = View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(label.to_string(), 12.0, theme.fg_text, Alignment::Start); + + let sw = View::new(Style { + size: Size { + width: length(44.0_f32), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .children(vec![switch_view(if on { 1.0 } else { 0.0 }, msg, pal)]); + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(28.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![lbl, sw]) +} + +pub(crate) fn config_view(model: &Model, theme: &Theme) -> View { + let seg_pal = SegmentedPalette::from_theme(theme); + let sw_pal = SwitchPalette::from_theme(theme); + let sl_pal = SliderPalette::from_theme(theme); + + let mut rows: Vec> = Vec::new(); + + rows.push(view::section_label("Tema".to_string(), theme)); + rows.push(segmented_view( + &["Oscuro", "Claro", "Impresión"], + model.cfg.theme_idx(), + |i| Msg::SetThemeMode(i), + &seg_pal, + )); + + rows.push(view::section_label("Armónico".to_string(), theme)); + let h_idx = HARMONICS.iter().position(|h| *h == model.harmonic).unwrap_or(0); + rows.push(segmented_view( + &["H1", "H4", "H5", "H7", "H9"], + h_idx, + |i| Msg::SetHarmonic(HARMONICS.get(i).copied().unwrap_or(1)), + &seg_pal, + )); + + rows.push(view::section_label("Rueda".to_string(), theme)); + rows.push(switch_row( + "Aspectos menores", + model.cfg.minor_aspects, + Msg::ToggleWheelOpt(WheelOpt::MinorAspects), + &sw_pal, + theme, + )); + rows.push(switch_row( + "Etiquetas de coordenadas", + model.cfg.coord_labels, + Msg::ToggleWheelOpt(WheelOpt::CoordLabels), + &sw_pal, + theme, + )); + rows.push(switch_row( + "Dial 3D", + model.cfg.dial_3d, + Msg::ToggleWheelOpt(WheelOpt::Dial3d), + &sw_pal, + theme, + )); + rows.push(switch_row( + "Cruz ascensional", + model.cfg.asc_cross, + Msg::ToggleWheelOpt(WheelOpt::AscCross), + &sw_pal, + theme, + )); + rows.push(slider_view( + "Rotación", + model.cfg.rot_offset_deg, + 0.0, + 360.0, + &sl_pal, + |phase, dv| match phase { + DragPhase::Move => Some(Msg::SetRotOffset(dv)), + DragPhase::End => None, + }, + )); + + rows.push(view::section_label("Astronomía".to_string(), theme)); + rows.push(switch_row( + "Usar instante actual (ahora)", + model.cfg.use_now, + Msg::SetUseNow(!model.cfg.use_now), + &sw_pal, + theme, + )); + let (instante, lugar) = match &model.astro { + Some(a) => (a.instant_iso.clone(), a.place_label.clone()), + None => ("calculando…".to_string(), "calculando…".to_string()), + }; + rows.push(view::line(format!("instante: {instante}"), 11.0, theme.fg_muted)); + rows.push(view::line(format!("lugar: {lugar}"), 11.0, theme.fg_muted)); + + rows.push(view::section_label("Capas".to_string(), theme)); + for k in OverlayKind::all() { + rows.push(switch_row( + k.nombre(), + model.overlays.contains(k), + Msg::ToggleOverlay(*k), + &sw_pal, + theme, + )); + } + + view::tile_container(rows, theme) +} + +// ===================================================================== +// Rectificador de hora (direcciones primarias) +// ===================================================================== + +/// Botoncito de texto reutilizable para el rectificador. +fn mini_btn(label: &str, msg: Msg, enabled: bool, theme: &Theme) -> View { + let fg = if enabled { theme.fg_text } else { theme.fg_muted }; + let mut v = View::new(Style { + size: Size { + width: auto(), + height: length(22.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + padding: Rect { + left: length(6.0_f32), + right: length(6.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .radius(4.0) + .fill(theme.bg_panel) + .text_aligned(label.to_string(), 11.0, fg, Alignment::Center); + if enabled { + v = v.hover_fill(theme.bg_row_hover).on_click(msg); + } + v +} + +fn mini_row(kids: Vec>) -> View { + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(26.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(4.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(kids) +} + +/// Panel del rectificador de hora: jog del nacimiento, eventos conocidos, +/// barrido por direcciones primarias (Sistema GR / Germán Rosas) y curva +/// de perfil con su valle. +pub(crate) fn rectify_view(model: &Model, theme: &Theme) -> View { + let mut rows: Vec> = Vec::new(); + + // Jog de la hora. + rows.push(view::section_label( + format!("Jog de hora — offset {:+} min", model.rectify_offset_min), + theme, + )); + rows.push(mini_row(vec![ + mini_btn("-60", Msg::RectifyNudge(-60), true, theme), + mini_btn("-10", Msg::RectifyNudge(-10), true, theme), + mini_btn("-1", Msg::RectifyNudge(-1), true, theme), + mini_btn("+1", Msg::RectifyNudge(1), true, theme), + mini_btn("+10", Msg::RectifyNudge(10), true, theme), + mini_btn("+60", Msg::RectifyNudge(60), true, theme), + mini_btn("0", Msg::RectifyResetOffset, true, theme), + ])); + + // Clave arco↔año. + rows.push(view::section_label("Clave arco↔año".to_string(), theme)); + rows.push(segmented_view( + &["Naibod", "Ptolomeo"], + if model.rectify_naibod { 0 } else { 1 }, + |i| Msg::RectifySetKey(i == 0), + &SegmentedPalette::from_theme(theme), + )); + + // Eventos conocidos. + rows.push(view::section_label("Eventos conocidos (edad)".to_string(), theme)); + for (i, age) in model.rectify_events.iter().enumerate() { + rows.push(mini_row(vec![ + view::line(format!("{age:.1} a"), 12.0, theme.fg_text), + mini_btn("-1", Msg::RectifyEventDelta(i, -1.0), true, theme), + mini_btn("+1", Msg::RectifyEventDelta(i, 1.0), true, theme), + mini_btn("-0.1", Msg::RectifyEventDelta(i, -0.1), true, theme), + mini_btn("+0.1", Msg::RectifyEventDelta(i, 0.1), true, theme), + mini_btn("quitar", Msg::RectifyRemoveEvent(i), true, theme), + ])); + } + rows.push(mini_row(vec![ + mini_btn("+ evento", Msg::RectifyAddEvent, true, theme), + mini_btn( + "Rectificar", + Msg::RectifyRun, + !model.rectify_events.is_empty(), + theme, + ), + ])); + + // Resultado + curva de perfil. + if let Some(res) = &model.rectify_result { + let secs = res.mejor_offset_segundos; + rows.push(view::line( + format!( + "mejor: {:+} s ({:+} min {:02} s) · error {:.3}", + secs, + secs / 60, + (secs.abs() % 60), + res.mejor_puntaje + ), + 11.0, + theme.accent, + )); + rows.push(mini_row(vec![mini_btn( + "Aplicar al nacimiento", + Msg::RectifyApply, + true, + theme, + )])); + rows.push(profile_curve(&res.perfil, res.mejor_offset_segundos, theme)); + } + + // HUD de triggers GR (contactos directo/converso a una edad). + rows.push(view::section_label( + format!("Triggers GR — edad {:.1} a", model.rectify_age), + theme, + )); + rows.push(mini_row(vec![ + mini_btn("-5", Msg::RectifyAgeDelta(-5.0), true, theme), + mini_btn("-1", Msg::RectifyAgeDelta(-1.0), true, theme), + mini_btn("+1", Msg::RectifyAgeDelta(1.0), true, theme), + mini_btn("+5", Msg::RectifyAgeDelta(5.0), true, theme), + mini_btn("ver triggers", Msg::RectifyTriggers, true, theme), + ])); + for t in model.rectify_triggers.iter().take(24) { + let col = if t.event { theme.accent } else { theme.fg_text }; + let dir = match t.direction { + cosmos_render::GrDirection::Direct => "D", + cosmos_render::GrDirection::Converse => "C", + }; + let cells: Vec> = vec![ + glyphs::body_view(&t.promissor, 15.0, col), + txt_cell(dir.to_string(), 14.0, 11.0, theme.fg_muted), + glyphs::body_view(&t.natal_target, 15.0, col), + txt_cell(format!("{:.2}°", t.orb_deg), 52.0, 11.0, theme.fg_muted), + txt_cell( + if t.event { "convergencia".into() } else { String::new() }, + 80.0, + 10.0, + theme.accent, + ), + ]; + rows.push( + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(20.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(4.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(cells), + ); + } + + view::tile_container(rows, theme) +} + +/// Celda de texto de ancho fijo (alto auto, centrado vertical por la fila). +fn txt_cell(text: String, w: f32, size: f32, color: Color) -> View { + View::new(Style { + size: Size { + width: length(w), + height: auto(), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .text_aligned(text, size, color, Alignment::Start) +} + +/// Curva del perfil de rectificación: error vs offset (su valle marca la +/// hora rectificada). Marca el mejor offset con una línea de acento. +fn profile_curve(perfil: &[(i64, f32)], best: i64, theme: &Theme) -> View { + let pts: Vec<(f32, f32)> = perfil.iter().map(|(o, e)| (*o as f32, *e)).collect(); + let line_col = theme.fg_muted; + let accent = theme.accent; + let track = theme.bg_panel_alt; + let best_f = best as f32; + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(56.0_f32), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .fill(track) + .radius(3.0) + .paint_with(move |scene, _ts, rect: PaintRect| { + use llimphi_ui::llimphi_raster::kurbo::{BezPath, Line as KLine, Stroke}; + if pts.len() < 2 { + return; + } + let (mut min_o, mut max_o) = (f32::INFINITY, f32::NEG_INFINITY); + let (mut min_e, mut max_e) = (f32::INFINITY, f32::NEG_INFINITY); + for (o, e) in &pts { + min_o = min_o.min(*o); + max_o = max_o.max(*o); + min_e = min_e.min(*e); + max_e = max_e.max(*e); + } + let pad = 4.0_f32; + let w = (rect.w - 2.0 * pad).max(1.0); + let h = (rect.h - 2.0 * pad).max(1.0); + let span_o = (max_o - min_o).max(1.0); + let span_e = (max_e - min_e).max(1e-6); + let sx = |o: f32| rect.x + pad + (o - min_o) / span_o * w; + // Error menor arriba (valle visible como pico hacia abajo → lo + // dibujamos con el menor error ABAJO para que el valle sea un pozo). + let sy = |e: f32| rect.y + pad + (e - min_e) / span_e * h; + // Marca del mejor offset. + let bx = sx(best_f) as f64; + scene.stroke( + &Stroke::new(1.5), + llimphi_ui::llimphi_raster::kurbo::Affine::IDENTITY, + accent, + None, + &KLine::new((bx, rect.y as f64), (bx, (rect.y + rect.h) as f64)), + ); + let mut path = BezPath::new(); + for (i, (o, e)) in pts.iter().enumerate() { + let p = (sx(*o) as f64, sy(*e) as f64); + if i == 0 { + path.move_to(p); + } else { + path.line_to(p); + } + } + scene.stroke( + &Stroke::new(1.2), + llimphi_ui::llimphi_raster::kurbo::Affine::IDENTITY, + line_col, + None, + &path, + ); + }) +} + +// ===================================================================== +// Barra de estado +// ===================================================================== + +pub(crate) fn status_bar(model: &Model, theme: &Theme) -> View { + let txt = if let Some(err) = &model.error { + format!("error: {err}") + } else if let Some(note) = &model.status_note { + note.clone() + } else { + format!( + "{} · {} ms · {} capas · {} aspectos · {} overlays", + model.active_label(), + model.render.compute_ms, + model.render.layers.len(), + model.render.aspect_summary.len(), + model.render.overlays.len(), + ) + }; + let color = if model.error.is_some() { + theme.fg_destructive + } else { + theme.fg_muted + }; + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(STATUS_H), + }, + flex_shrink: 0.0, + padding: Rect { + left: length(14.0_f32), + right: length(14.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .fill(theme.bg_panel) + .text_aligned(txt, 11.0, color, Alignment::Start) +} + +// ===================================================================== +// Overlay (menú principal desplegado o menú contextual) +// ===================================================================== + +pub(crate) fn overlay_view(model: &Model, theme: &Theme) -> Option> { + let pal = ContextMenuPalette::from_theme(theme); + if let Some(kind) = model.menu_open { + let entries = menu_entries(kind, model); + let items: Vec = entries.iter().map(MenuEntry::to_item).collect(); + return Some(context_menu_view_ex( + ContextMenuSpec { + anchor: (kind.anchor_x(), MENU_BAR_H), + viewport: VIEWPORT, + header: Some(kind.label().to_uppercase()), + items, + active: model.menu_active, + on_pick: Arc::new(move |i| Msg::MenuPick(kind, i)), + on_dismiss: Msg::CloseMenu, + palette: pal, + }, + ContextMenuExtras { + appear: model.menu_anim.value(), + ..Default::default() + }, + )); + } + if let Some(anchor) = model.ctx_open { + let entries = ctx_entries(model); + let items: Vec = entries.iter().map(MenuEntry::to_item).collect(); + return Some(context_menu_view(ContextMenuSpec { + anchor, + viewport: VIEWPORT, + header: Some("RUEDA".to_string()), + items, + active: usize::MAX, + on_pick: Arc::new(Msg::CtxPick), + on_dismiss: Msg::CloseCtx, + palette: pal, + })); + } + if let Some(key) = &model.nav_ctx { + let entries = nav_ctx_entries(model, key); + let items: Vec = entries.iter().map(NavCtxItem::to_item).collect(); + let header = model + .node(key) + .map(|n| n.label.to_uppercase()) + .unwrap_or_else(|| "ÁRBOL".to_string()); + // Ancla: índice visible de la fila × alto de fila, menos el scroll. + let vis_idx = visible_nav_nodes(model) + .iter() + .position(|n| &n.key == key) + .unwrap_or(0) as f32; + let anchor_y = MENU_BAR_H + NAV_TOOLBAR_H + 4.0 - model.nav_scroll + + vis_idx * NAV_ROW_H + + NAV_ROW_H * 0.5; + let anchor = ((model.nav_w * 0.45).max(40.0), anchor_y.max(MENU_BAR_H)); + return Some(context_menu_view(ContextMenuSpec { + anchor, + viewport: VIEWPORT, + header: Some(header), + items, + active: usize::MAX, + on_pick: Arc::new(Msg::NavCtxPick), + on_dismiss: Msg::CloseCtx, + palette: pal, + })); + } + None +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/dialog.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/dialog.rs new file mode 100644 index 0000000..0836e29 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/dialog.rs @@ -0,0 +1,526 @@ +//! Diálogos modales de creación: **contacto** y **carta**. +//! +//! Rescatado del cosmos GPUI (cosmos-tree, "Fase 2 — CRUD UX", borrado en +//! la migración a Llimphi 2026-05-26): el form de carta con los campos +//! mínimos de `StoredBirthData` y el **atlas de ciudades** que autocompleta +//! lat/lon/tz al elegir un lugar de nacimiento. +//! +//! Se renderea como overlay (`App::view_overlay`): un scrim a pantalla +//! completa + una card centrada. Un solo `TextInputState` en el `Model` +//! edita el campo enfocado; el valor vive en el form y se escribe en cada +//! tecla. La confirmación valida/parsea y crea en el store. + +use cosmos_model::{ContactId, GroupId}; + +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::{ + prelude::{length, percent, Dimension, FlexDirection, Size, Style}, + AlignItems, JustifyContent, Rect, +}; +use llimphi_ui::llimphi_text::Alignment; +use llimphi_ui::View; +use llimphi_widget_panel::{panel_signature_painter, PanelStyle}; +use llimphi_widget_text_input::{text_input_view, TextInputPalette}; + +use crate::glyphs::{self, Icon}; +use crate::model::{Model, Msg}; + +/// Preset de ciudad: autocompleta lat/lon/tz al elegirlo. TZ es la zona +/// estándar (sin DST). Rescatado del cosmos GPUI. +#[derive(Clone, Debug)] +pub(crate) struct CityPreset { + pub name: &'static str, + pub lat: f64, + pub lon: f64, + pub tz: i32, +} + +/// Campo del diálogo con foco de teclado. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub(crate) enum DialogField { + #[default] + Name, + Label, + Date, + Time, + City, +} + +/// Estado de un diálogo abierto. +pub(crate) enum Dialog { + NewContact(NewContactForm), + NewChart(NewChartForm), +} + +pub(crate) struct NewContactForm { + pub group: Option, + pub name: String, +} + +pub(crate) struct NewChartForm { + pub contact: ContactId, + pub label: String, + /// `YYYY-MM-DD`. + pub date: String, + /// `HH:MM`. + pub time: String, + pub city_query: String, + pub place: String, + pub lat: f64, + pub lon: f64, + pub tz: i32, +} + +impl Dialog { + /// Lee el valor textual del campo `f`. + pub(crate) fn field(&self, f: DialogField) -> String { + match (self, f) { + (Dialog::NewContact(c), DialogField::Name) => c.name.clone(), + (Dialog::NewChart(c), DialogField::Label) => c.label.clone(), + (Dialog::NewChart(c), DialogField::Date) => c.date.clone(), + (Dialog::NewChart(c), DialogField::Time) => c.time.clone(), + (Dialog::NewChart(c), DialogField::City) => c.city_query.clone(), + _ => String::new(), + } + } + /// Escribe `v` en el campo `f`. + pub(crate) fn set_field(&mut self, f: DialogField, v: String) { + match (self, f) { + (Dialog::NewContact(c), DialogField::Name) => c.name = v, + (Dialog::NewChart(c), DialogField::Label) => c.label = v, + (Dialog::NewChart(c), DialogField::Date) => c.date = v, + (Dialog::NewChart(c), DialogField::Time) => c.time = v, + (Dialog::NewChart(c), DialogField::City) => c.city_query = v, + _ => {} + } + } +} + +/// Ciudades que matchean la query (case-insensitive, substring). +pub(crate) fn city_matches(query: &str) -> Vec<(usize, &'static CityPreset)> { + let q = query.trim().to_lowercase(); + CITY_PRESETS + .iter() + .enumerate() + .filter(|(_, c)| q.is_empty() || c.name.to_lowercase().contains(&q)) + .take(8) + .collect() +} + +// ===================================================================== +// Render +// ===================================================================== + +pub(crate) fn dialog_overlay(model: &Model, theme: &Theme) -> Option> { + let dialog = model.dialog.as_ref()?; + let (title, body): (&str, Vec>) = match dialog { + Dialog::NewContact(_) => ("Nuevo contacto", contact_body(model, theme)), + Dialog::NewChart(_) => ("Nueva carta", chart_body(model, theme)), + }; + + // Card centrada. + let mut kids: Vec> = Vec::new(); + kids.push( + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(26.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![View::new(Style { + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned(title.to_string(), 14.0, theme.fg_text, Alignment::Start)]), + ); + kids.extend(body); + kids.push(dialog_buttons(theme)); + + let card = View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: length(420.0_f32), + height: Dimension::auto(), + }, + flex_shrink: 0.0, + padding: Rect { + left: length(16.0_f32), + right: length(16.0_f32), + top: length(14.0_f32), + bottom: length(14.0_f32), + }, + gap: Size { + width: length(0.0_f32), + height: length(8.0_f32), + }, + ..Default::default() + }) + .paint_with(panel_signature_painter(PanelStyle::from_theme_large(theme))) + .radius(PanelStyle::from_theme_large(theme).radius) + .clip(true) + .children(kids); + + // Scrim a pantalla completa: click afuera = cancelar. + Some( + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .fill(scrim(theme)) + .on_click(Msg::DialogCancel) + .children(vec![card]), + ) +} + +fn scrim(theme: &Theme) -> llimphi_ui::llimphi_raster::peniko::Color { + let [r, g, b, _] = theme.bg_app.components; + llimphi_ui::llimphi_raster::peniko::Color::new([r, g, b, 0.6]) +} + +fn contact_body(model: &Model, theme: &Theme) -> Vec> { + vec![field_row(model, theme, "Nombre", DialogField::Name)] +} + +fn chart_body(model: &Model, theme: &Theme) -> Vec> { + let mut rows = vec![ + field_row(model, theme, "Etiqueta", DialogField::Label), + field_row(model, theme, "Fecha (AAAA-MM-DD)", DialogField::Date), + field_row(model, theme, "Hora (HH:MM)", DialogField::Time), + field_row(model, theme, "Ciudad", DialogField::City), + ]; + // Lista de ciudades que matchean (al editar el campo Ciudad). + if model.dialog_field == DialogField::City { + if let Some(Dialog::NewChart(c)) = &model.dialog { + for (idx, city) in city_matches(&c.city_query) { + rows.push( + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(22.0_f32), + }, + flex_shrink: 0.0, + padding: Rect { + left: length(10.0_f32), + right: length(8.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .hover_fill(theme.bg_row_hover) + .radius(3.0) + .on_click(Msg::DialogPickCity(idx)) + .children(vec![View::new(Style { + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned(city.name.to_string(), 11.0, theme.fg_muted, Alignment::Start)]), + ); + } + } + } + // Resumen del lugar elegido. + if let Some(Dialog::NewChart(c)) = &model.dialog { + if !c.place.is_empty() { + rows.push( + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(18.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![View::new(Style { + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned( + format!( + "{} · {:.2}°, {:.2}° · UTC{:+}", + c.place, + c.lat, + c.lon, + c.tz as f32 / 60.0 + ), + 10.0, + theme.accent, + Alignment::Start, + )]), + ); + } + } + rows +} + +/// Una fila etiqueta + campo de texto. El campo enfocado usa el +/// `dialog_input` vivo; el resto muestra su valor (clickeable para +/// enfocar). +fn field_row(model: &Model, theme: &Theme, label: &str, field: DialogField) -> View { + let lbl = View::new(Style { + size: Size { + width: length(132.0_f32), + height: Dimension::auto(), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .text_aligned(label.to_string(), 12.0, theme.fg_muted, Alignment::Start); + + let focused = model.dialog_field == field; + let input: View = if focused { + text_input_view( + &model.dialog_input, + "", + true, + &TextInputPalette::from_theme(theme), + Msg::DialogFocus(field), + ) + } else { + let val = model + .dialog + .as_ref() + .map(|d| d.field(field)) + .unwrap_or_default(); + View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: length(26.0_f32), + }, + padding: Rect { + left: length(8.0_f32), + right: length(8.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .fill(theme.bg_panel) + .radius(4.0) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::DialogFocus(field)) + .children(vec![View::new(Style { + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned(val, 12.0, theme.fg_text, Alignment::Start)]) + }; + let input_box = View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: length(28.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![input]); + + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(30.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![lbl, input_box]) +} + +fn dialog_buttons(theme: &Theme) -> View { + let btn = |label: &str, icon: Icon, msg: Msg, accent: bool| -> View { + let fg = if accent { theme.bg_app } else { theme.fg_text }; + let bg = if accent { theme.accent } else { theme.bg_panel }; + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: Dimension::auto(), + height: length(28.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + gap: Size { + width: length(5.0_f32), + height: length(0.0_f32), + }, + padding: Rect { + left: length(12.0_f32), + right: length(12.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .fill(bg) + .radius(5.0) + .hover_fill(theme.bg_row_hover) + .on_click(msg) + .children(vec![ + glyphs::icon_view(icon, 13.0, fg), + View::new(Style { + size: Size { + width: Dimension::auto(), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned(label.to_string(), 12.0, fg, Alignment::Center), + ]) + }; + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(30.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::End), + gap: Size { + width: length(8.0_f32), + height: length(0.0_f32), + }, + margin: Rect { + left: length(0.0_f32), + right: length(0.0_f32), + top: length(6.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![ + btn("Cancelar", Icon::Close, Msg::DialogCancel, false), + btn("Crear", Icon::Plus, Msg::DialogConfirm, true), + ]) +} + +/// Atlas hardcoded — ciudades canónicas que cubren la mayoría de casos. +/// (Rescatado de `cosmos-tree::default_city_presets`.) +pub(crate) const CITY_PRESETS: &[CityPreset] = &[ + CityPreset { name: "Buenos Aires, AR", lat: -34.6037, lon: -58.3816, tz: -180 }, + CityPreset { name: "Córdoba, AR", lat: -31.4201, lon: -64.1888, tz: -180 }, + CityPreset { name: "Rosario, AR", lat: -32.9587, lon: -60.6930, tz: -180 }, + CityPreset { name: "Mendoza, AR", lat: -32.8908, lon: -68.8272, tz: -180 }, + CityPreset { name: "Caracas, VE", lat: 10.4806, lon: -66.9036, tz: -240 }, + CityPreset { name: "Maracaibo, VE", lat: 10.6427, lon: -71.6125, tz: -240 }, + CityPreset { name: "Valencia, VE", lat: 10.1620, lon: -68.0078, tz: -240 }, + CityPreset { name: "Bogotá, CO", lat: 4.7110, lon: -74.0721, tz: -300 }, + CityPreset { name: "Medellín, CO", lat: 6.2442, lon: -75.5812, tz: -300 }, + CityPreset { name: "Cali, CO", lat: 3.4516, lon: -76.5320, tz: -300 }, + CityPreset { name: "Lima, PE", lat: -12.0464, lon: -77.0428, tz: -300 }, + CityPreset { name: "Cusco, PE", lat: -13.5319, lon: -71.9675, tz: -300 }, + CityPreset { name: "Santiago, CL", lat: -33.4489, lon: -70.6693, tz: -240 }, + CityPreset { name: "Valparaíso, CL", lat: -33.0472, lon: -71.6127, tz: -240 }, + CityPreset { name: "Quito, EC", lat: -0.1807, lon: -78.4678, tz: -300 }, + CityPreset { name: "Guayaquil, EC", lat: -2.1709, lon: -79.9224, tz: -300 }, + CityPreset { name: "Montevideo, UY", lat: -34.9011, lon: -56.1645, tz: -180 }, + CityPreset { name: "Asunción, PY", lat: -25.2637, lon: -57.5759, tz: -240 }, + CityPreset { name: "La Paz, BO", lat: -16.4897, lon: -68.1193, tz: -240 }, + CityPreset { name: "Ciudad de México", lat: 19.4326, lon: -99.1332, tz: -360 }, + CityPreset { name: "Guadalajara, MX", lat: 20.6597, lon: -103.3496, tz: -360 }, + CityPreset { name: "Monterrey, MX", lat: 25.6866, lon: -100.3161, tz: -360 }, + CityPreset { name: "Habana, CU", lat: 23.1136, lon: -82.3666, tz: -300 }, + CityPreset { name: "San Juan, PR", lat: 18.4655, lon: -66.1057, tz: -240 }, + CityPreset { name: "San José, CR", lat: 9.9281, lon: -84.0907, tz: -360 }, + CityPreset { name: "Panamá, PA", lat: 8.9824, lon: -79.5199, tz: -300 }, + CityPreset { name: "San Salvador, SV", lat: 13.6929, lon: -89.2182, tz: -360 }, + CityPreset { name: "Guatemala, GT", lat: 14.6349, lon: -90.5069, tz: -360 }, + CityPreset { name: "Tegucigalpa, HN", lat: 14.0723, lon: -87.1921, tz: -360 }, + CityPreset { name: "Managua, NI", lat: 12.1149, lon: -86.2362, tz: -360 }, + CityPreset { name: "Santo Domingo, DO", lat: 18.4861, lon: -69.9312, tz: -240 }, + CityPreset { name: "São Paulo, BR", lat: -23.5505, lon: -46.6333, tz: -180 }, + CityPreset { name: "Rio de Janeiro, BR", lat: -22.9068, lon: -43.1729, tz: -180 }, + CityPreset { name: "Brasília, BR", lat: -15.8267, lon: -47.9218, tz: -180 }, + CityPreset { name: "Salvador, BR", lat: -12.9777, lon: -38.5016, tz: -180 }, + CityPreset { name: "Madrid, ES", lat: 40.4168, lon: -3.7038, tz: 60 }, + CityPreset { name: "Barcelona, ES", lat: 41.3851, lon: 2.1734, tz: 60 }, + CityPreset { name: "Sevilla, ES", lat: 37.3891, lon: -5.9845, tz: 60 }, + CityPreset { name: "Valencia, ES", lat: 39.4699, lon: -0.3763, tz: 60 }, + CityPreset { name: "Bilbao, ES", lat: 43.2630, lon: -2.9350, tz: 60 }, + CityPreset { name: "London, UK", lat: 51.5074, lon: -0.1278, tz: 0 }, + CityPreset { name: "Paris, FR", lat: 48.8566, lon: 2.3522, tz: 60 }, + CityPreset { name: "Berlin, DE", lat: 52.5200, lon: 13.4050, tz: 60 }, + CityPreset { name: "München, DE", lat: 48.1351, lon: 11.5820, tz: 60 }, + CityPreset { name: "Roma, IT", lat: 41.9028, lon: 12.4964, tz: 60 }, + CityPreset { name: "Milano, IT", lat: 45.4642, lon: 9.1900, tz: 60 }, + CityPreset { name: "Amsterdam, NL", lat: 52.3676, lon: 4.9041, tz: 60 }, + CityPreset { name: "Bruxelles, BE", lat: 50.8503, lon: 4.3517, tz: 60 }, + CityPreset { name: "Wien, AT", lat: 48.2082, lon: 16.3738, tz: 60 }, + CityPreset { name: "Zürich, CH", lat: 47.3769, lon: 8.5417, tz: 60 }, + CityPreset { name: "Lisboa, PT", lat: 38.7223, lon: -9.1393, tz: 0 }, + CityPreset { name: "Dublin, IE", lat: 53.3498, lon: -6.2603, tz: 0 }, + CityPreset { name: "Stockholm, SE", lat: 59.3293, lon: 18.0686, tz: 60 }, + CityPreset { name: "Oslo, NO", lat: 59.9139, lon: 10.7522, tz: 60 }, + CityPreset { name: "København, DK", lat: 55.6761, lon: 12.5683, tz: 60 }, + CityPreset { name: "Helsinki, FI", lat: 60.1699, lon: 24.9384, tz: 120 }, + CityPreset { name: "Warszawa, PL", lat: 52.2297, lon: 21.0122, tz: 60 }, + CityPreset { name: "Praha, CZ", lat: 50.0755, lon: 14.4378, tz: 60 }, + CityPreset { name: "Budapest, HU", lat: 47.4979, lon: 19.0402, tz: 60 }, + CityPreset { name: "Athina, GR", lat: 37.9838, lon: 23.7275, tz: 120 }, + CityPreset { name: "İstanbul, TR", lat: 41.0082, lon: 28.9784, tz: 180 }, + CityPreset { name: "Moskva, RU", lat: 55.7558, lon: 37.6173, tz: 180 }, + CityPreset { name: "New York, US", lat: 40.7128, lon: -74.0060, tz: -300 }, + CityPreset { name: "Los Angeles, US", lat: 34.0522, lon: -118.2437, tz: -480 }, + CityPreset { name: "Chicago, US", lat: 41.8781, lon: -87.6298, tz: -360 }, + CityPreset { name: "Miami, US", lat: 25.7617, lon: -80.1918, tz: -300 }, + CityPreset { name: "Houston, US", lat: 29.7604, lon: -95.3698, tz: -360 }, + CityPreset { name: "San Francisco, US", lat: 37.7749, lon: -122.4194, tz: -480 }, + CityPreset { name: "Seattle, US", lat: 47.6062, lon: -122.3321, tz: -480 }, + CityPreset { name: "Boston, US", lat: 42.3601, lon: -71.0589, tz: -300 }, + CityPreset { name: "Washington DC", lat: 38.9072, lon: -77.0369, tz: -300 }, + CityPreset { name: "Toronto, CA", lat: 43.6532, lon: -79.3832, tz: -300 }, + CityPreset { name: "Montreal, CA", lat: 45.5017, lon: -73.5673, tz: -300 }, + CityPreset { name: "Vancouver, CA", lat: 49.2827, lon: -123.1207, tz: -480 }, + CityPreset { name: "Tokyo, JP", lat: 35.6762, lon: 139.6503, tz: 540 }, + CityPreset { name: "Beijing, CN", lat: 39.9042, lon: 116.4074, tz: 480 }, + CityPreset { name: "Shanghai, CN", lat: 31.2304, lon: 121.4737, tz: 480 }, + CityPreset { name: "Hong Kong", lat: 22.3193, lon: 114.1694, tz: 480 }, + CityPreset { name: "Singapore", lat: 1.3521, lon: 103.8198, tz: 480 }, + CityPreset { name: "Seoul, KR", lat: 37.5665, lon: 126.9780, tz: 540 }, + CityPreset { name: "Bangkok, TH", lat: 13.7563, lon: 100.5018, tz: 420 }, + CityPreset { name: "Jakarta, ID", lat: -6.2088, lon: 106.8456, tz: 420 }, + CityPreset { name: "Manila, PH", lat: 14.5995, lon: 120.9842, tz: 480 }, + CityPreset { name: "Mumbai, IN", lat: 19.0760, lon: 72.8777, tz: 330 }, + CityPreset { name: "Delhi, IN", lat: 28.7041, lon: 77.1025, tz: 330 }, + CityPreset { name: "Bangalore, IN", lat: 12.9716, lon: 77.5946, tz: 330 }, + CityPreset { name: "Karachi, PK", lat: 24.8607, lon: 67.0011, tz: 300 }, + CityPreset { name: "Tehran, IR", lat: 35.6892, lon: 51.3890, tz: 210 }, + CityPreset { name: "Dubai, AE", lat: 25.2048, lon: 55.2708, tz: 240 }, + CityPreset { name: "Tel Aviv, IL", lat: 32.0853, lon: 34.7818, tz: 120 }, + CityPreset { name: "Cairo, EG", lat: 30.0444, lon: 31.2357, tz: 120 }, + CityPreset { name: "Lagos, NG", lat: 6.5244, lon: 3.3792, tz: 60 }, + CityPreset { name: "Nairobi, KE", lat: -1.2921, lon: 36.8219, tz: 180 }, + CityPreset { name: "Johannesburg, ZA", lat: -26.2041, lon: 28.0473, tz: 120 }, + CityPreset { name: "Cape Town, ZA", lat: -33.9249, lon: 18.4241, tz: 120 }, + CityPreset { name: "Casablanca, MA", lat: 33.5731, lon: -7.5898, tz: 60 }, + CityPreset { name: "Sydney, AU", lat: -33.8688, lon: 151.2093, tz: 600 }, + CityPreset { name: "Melbourne, AU", lat: -37.8136, lon: 144.9631, tz: 600 }, + CityPreset { name: "Auckland, NZ", lat: -36.8485, lon: 174.7633, tz: 720 }, +]; diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/engine.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/engine.rs new file mode 100644 index 0000000..be98945 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/engine.rs @@ -0,0 +1,71 @@ +//! Puente a `cosmos-engine`: la carta de ejemplo y el `compute` que arma el +//! `RenderModel` desde un `Chart` + overlays + armónico. + +use cosmos_engine::{compose, NatalOptions, PipelineRequest}; +use cosmos_model::{ + Chart, ChartId, ChartKind, ContactId, StoredBirthData, StoredChartConfig, TimeCertainty, +}; +use cosmos_render::RenderModel; + +use crate::model::OverlayKind; + +pub(crate) fn sample_chart() -> Chart { + Chart { + id: ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: rimay_localize::t("cosmos-demo-title"), + birth_data: StoredBirthData { + year: 1990, + month: 6, + day: 21, + hour: 12, + minute: 0, + second: 0.0, + tz_offset_minutes: -300, + latitude_deg: -12.0464, + longitude_deg: -77.0428, + altitude_m: 154.0, + time_certainty: TimeCertainty::Estimated, + subject_name: None, + birthplace_label: Some("Lima".into()), + }, + config: StoredChartConfig::default(), + related_chart_id: None, + created_at_ms: 0, + } +} + +pub(crate) fn compute( + chart: &Chart, + overlays: &[OverlayKind], + harmonic: u32, + show_minors: bool, + offset_min: i64, +) -> (RenderModel, Option) { + let target_age = 35.0; + let requests: Vec = overlays + .iter() + .map(|k| k.to_request(target_age)) + .collect(); + let opts = NatalOptions { + show_majors: true, + show_minors, + orb_multiplier: 1.0, + show_dignities: true, + harmonic, + }; + // `offset_min` = jog de rectificación: corre la hora de nacimiento sin + // tocar la carta guardada, para ver moverse ángulos/casas en vivo. + match cosmos_engine::compose_with_options(chart, offset_min, &requests, &opts) { + Ok(r) => (r, None), + Err(e) => { + let msg = format!("{e}"); + ( + compose(chart, offset_min, &[]) + .unwrap_or_else(|_| cosmos_engine::compute_mock(chart)), + Some(msg), + ) + } + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/format.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/format.rs new file mode 100644 index 0000000..e579547 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/format.rs @@ -0,0 +1,42 @@ +//! Helpers de formateo de longitudes y códigos de cuerpo/aspecto. +//! +//! **Por qué letras y no unicode** (☉☽☿… ☌☍△□⚹): las fuentes default del +//! sistema (LiberationSans, AdwaitaSans) no traen `U+2609..U+265F`, así que +//! cualquier glyph astrológico cae como `.notdef`. En el wheel ya se dibujan +//! como path (`cosmos_render::glyphs`); acá son texto plano en filas, así que +//! usamos códigos cortos. + +pub(crate) fn fmt_dms(deg: f64) -> String { + let total_min = (deg.abs() * 60.0).round() as i64; + let d = total_min / 60; + let m = total_min % 60; + format!("{:>2}°{:02}'", d, m) +} + +/// Códigos alfabéticos para mostrar cuerpos en los tiles del sidebar. +pub(crate) fn simbolo_cuerpo(s: &str) -> &'static str { + match s { + "sun" => "Sol", + "moon" => "Lun", + "mercury" => "Mer", + "venus" => "Ven", + "mars" => "Mar", + "jupiter" => "Jup", + "saturn" => "Sat", + "uranus" => "Ura", + "neptune" => "Nep", + "pluto" => "Plu", + "earth" => "Tie", + "north_node" | "ascending_node" => "NoN", + "south_node" | "descending_node" => "NoS", + "lilith" => "Lil", + "chiron" => "Qui", + "mean_node" => "NoN", + "asc" => "Asc", + "desc" => "Dsc", + "mc" => "MC", + "ic" => "IC", + _ => "·", + } +} + diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/glyphs.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/glyphs.rs new file mode 100644 index 0000000..5ae3897 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/glyphs.rs @@ -0,0 +1,707 @@ +//! Glyphs e iconos como **mini-canvas vectorial** — la pieza que mata +//! los tofus de la app. +//! +//! Nada de unicode astrológico (☉☽♈…☌△) ni dingbats (✎✂🗑⚙) como texto: +//! las fuentes default del sistema (LiberationSans/AdwaitaSans) no traen +//! esos bloques y caen como `.notdef`. En su lugar todo se dibuja como +//! geometría (`DrawCommand`) y se pinta con el mismo canvas vello que la +//! rueda (`cosmos_canvas_llimphi::canvas_view`). +//! +//! Tres familias: +//! - **cuerpos** (`body_view`) — planetas/luminarias/nodos vía +//! `cosmos_render::glyphs::planet_commands`; los puntos del chart +//! (Asc/MC/…) caen a texto ASCII corto. +//! - **signos** (`sign_view`) y **aspectos** (`aspect_view`) — paths +//! propios de `cosmos_render::glyphs`. +//! - **iconos de chrome** (`icon_view`) — set vectorial hecho a mano +//! para la botonera, el rail, las pestañas y el árbol. + +use cosmos_canvas_llimphi::canvas_view; +use cosmos_model::ChartKind; +use cosmos_render::glyphs::{aspect_commands, planet_commands, sign_commands}; +use cosmos_render::{DrawCommand, Palette, Rgba}; +use llimphi_ui::llimphi_layout::taffy::{ + prelude::{length, Size, Style}, + AlignItems, JustifyContent, +}; +use llimphi_ui::llimphi_raster::peniko::Color; +use llimphi_ui::llimphi_text::Alignment; +use llimphi_ui::View; + +use crate::format::simbolo_cuerpo; + +/// Ids zodiacales en orden — index = longitud / 30. +pub(crate) const SIGN_IDS: [&str; 12] = [ + "aries", + "taurus", + "gemini", + "cancer", + "leo", + "virgo", + "libra", + "scorpio", + "sagittarius", + "capricorn", + "aquarius", + "pisces", +]; + +/// Id del signo (en inglés, para los glyph paths) de una longitud. +pub(crate) fn sign_id(deg: f32) -> &'static str { + SIGN_IDS[((deg.rem_euclid(360.0) / 30.0) as usize) % 12] +} + +/// Cuerpos con glyph vectorial propio en `planet_commands`. +const PLANET_GLYPHS: &[&str] = &[ + "sun", + "moon", + "mercury", + "venus", + "mars", + "jupiter", + "saturn", + "uranus", + "neptune", + "pluto", + "earth", + "north_node", + "south_node", + "chiron", + "lilith", +]; + +/// Normaliza alias de cuerpos al id que entiende `planet_commands`. +fn canon_body(name: &str) -> &str { + match name { + "ascending_node" | "mean_node" => "north_node", + "descending_node" => "south_node", + other => other, + } +} + +fn rgba(c: Color) -> Rgba { + let [r, g, b, a] = c.components; + Rgba { r, g, b, a } +} + +/// Grosor de trazo proporcional al tamaño de la celda. +fn sw(px: f32) -> f32 { + (px * 0.085).clamp(1.1, 3.0) +} + +/// Caja cuadrada `px` que pinta `cmds` (centrados en `px/2`) con vello. +fn cell(cmds: Vec, px: f32) -> View { + View::new(Style { + size: Size { + width: length(px), + height: length(px), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .children(vec![canvas_view::(cmds, px, None)]) +} + +/// Celda de texto corto (para puntos del chart sin glyph: Asc/MC/…). +fn text_cell(txt: &str, w: f32, px: f32, color: Color) -> View { + View::new(Style { + size: Size { + width: length(w), + height: length(px), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .text_aligned(txt.to_string(), (px * 0.62).clamp(9.0, 12.0), color, Alignment::Center) +} + +/// Glyph de un cuerpo. Planetas/nodos → path vectorial; puntos del chart +/// (Asc/MC/…) → texto ASCII corto. +pub(crate) fn body_view(name: &str, px: f32, color: Color) -> View { + let canon = canon_body(name); + if PLANET_GLYPHS.contains(&canon) { + cell( + planet_commands(canon, px / 2.0, px / 2.0, px * 0.82, rgba(color), sw(px)), + px, + ) + } else { + text_cell(simbolo_cuerpo(name), px * 1.3, px, color) + } +} + +/// Glyph de un signo zodiacal (por id inglés: `"aries"`…). +pub(crate) fn sign_view(name: &str, px: f32, color: Color) -> View { + cell( + sign_commands(name, px / 2.0, px / 2.0, px * 0.82, rgba(color), sw(px)), + px, + ) +} + +/// Glyph de un aspecto, coloreado por la paleta (oscura). +pub(crate) fn aspect_view(kind: &str, px: f32) -> View { + let c = Palette::dark().aspect(kind); + cell( + aspect_commands(kind, px / 2.0, px / 2.0, px * 0.82, c, sw(px)), + px, + ) +} + +// ===================================================================== +// Iconos de chrome (botonera, rail, pestañas, controles, árbol) +// ===================================================================== + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum Icon { + Plus, + Pencil, + Scissors, + Clipboard, + Trash, + Close, + Gear, + Star, + Refresh, + ChevronDown, + ChevronRight, + ArrowLeft, + ArrowRight, + ArrowUp, + ArrowDown, + Grid, + Window, + Folder, + FolderOpen, + Moon, + Triangle, + ZoomIn, + ZoomOut, + /// Dirección de un aspecto: aplicando (◄) / separando (►). + Applying, + Separating, +} + +/// Icono de chrome como mini-canvas `px` del color dado. +pub(crate) fn icon_view(icon: Icon, px: f32, color: Color) -> View { + cell(icon_cmds(icon, px / 2.0, px / 2.0, px, rgba(color)), px) +} + +// ===================================================================== +// Iconos coloridos para el árbol (grupo / contacto / tipo de carta) +// ===================================================================== + +const fn rg(r: f32, g: f32, b: f32) -> Rgba { + Rgba { r, g, b, a: 1.0 } +} + +/// Carpeta (grupo) — ámbar. +pub(crate) fn group_icon_view(px: f32) -> View { + let (cx, cy, r) = (px / 2.0, px / 2.0, px * 0.5); + let body = rg(0.96, 0.78, 0.33); + let tab = rg(0.86, 0.62, 0.22); + let left = cx - r * 0.66; + let right = cx + r * 0.66; + let top = cy - r * 0.28; + let bot = cy + r * 0.46; + let cmds = vec![ + // Pestaña de la carpeta (atrás). + DrawCommand::Polygon { + points: vec![ + (left, top - r * 0.22), + (left + r * 0.5, top - r * 0.22), + (left + r * 0.66, top), + (left, top), + ], + fill: Some(tab), + stroke: None, + stroke_w: 0.0, + }, + // Cuerpo. + DrawCommand::Polygon { + points: vec![(left, top), (right, top), (right, bot), (left, bot)], + fill: Some(body), + stroke: None, + stroke_w: 0.0, + }, + ]; + cell(cmds, px) +} + +/// Persona (contacto) — turquesa. +pub(crate) fn contact_icon_view(px: f32) -> View { + let (cx, cy, r) = (px / 2.0, px / 2.0, px * 0.5); + let c = rg(0.32, 0.72, 0.82); + let cmds = vec![ + DrawCommand::Circle { + cx, + cy: cy - r * 0.34, + r: r * 0.26, + stroke: None, + fill: Some(c), + stroke_w: 0.0, + }, + DrawCommand::Polygon { + points: vec![ + (cx - r * 0.46, cy + r * 0.58), + (cx - r * 0.30, cy + r * 0.04), + (cx + r * 0.30, cy + r * 0.04), + (cx + r * 0.46, cy + r * 0.58), + ], + fill: Some(c), + stroke: None, + stroke_w: 0.0, + }, + ]; + cell(cmds, px) +} + +/// Icono colorido del tipo de carta (rueda natal, torta de cumpleaños +/// para la revolución solar, luna para la lunar, etc.). +pub(crate) fn chart_kind_colored(kind: ChartKind, px: f32) -> View { + let (cx, cy, r) = (px / 2.0, px / 2.0, px * 0.5); + let w = sw(px); + let cmds = match kind { + ChartKind::SolarReturn => birthday_cake_cmds(cx, cy, r), + ChartKind::LunarReturn => { + planet_commands("moon", cx, cy, px * 0.78, rg(0.80, 0.84, 0.92), w) + } + ChartKind::Natal | ChartKind::Mundane => natal_wheel_cmds(cx, cy, r, w), + ChartKind::Transit | ChartKind::Synastry | ChartKind::Composite | ChartKind::Davison => { + vec![ + DrawCommand::Circle { + cx, + cy, + r: r * 0.42, + stroke: Some(rg(0.58, 0.52, 0.86)), + fill: None, + stroke_w: w, + }, + DrawCommand::Circle { + cx, + cy, + r: r * 0.22, + stroke: Some(rg(0.36, 0.74, 0.82)), + fill: None, + stroke_w: w, + }, + ] + } + _ => vec![ + DrawCommand::Circle { + cx, + cy, + r: r * 0.40, + stroke: Some(rg(0.95, 0.70, 0.35)), + fill: None, + stroke_w: w, + }, + DrawCommand::Circle { + cx, + cy, + r: r * 0.10, + stroke: None, + fill: Some(rg(0.95, 0.70, 0.35)), + stroke_w: 0.0, + }, + ], + }; + cell(cmds, px) +} + +/// Ruedita natal: aro violeta + cruz de ejes dorada + punto central. +fn natal_wheel_cmds(cx: f32, cy: f32, r: f32, w: f32) -> Vec { + let ring = rg(0.62, 0.52, 0.88); + let cross = rg(0.95, 0.80, 0.42); + let rr = r * 0.44; + vec![ + DrawCommand::Circle { + cx, + cy, + r: rr, + stroke: Some(ring), + fill: None, + stroke_w: w, + }, + DrawCommand::Line { + x1: cx - rr, + y1: cy, + x2: cx + rr, + y2: cy, + color: cross, + width: w * 0.8, + dash: None, + }, + DrawCommand::Line { + x1: cx, + y1: cy - rr, + x2: cx, + y2: cy + rr, + color: cross, + width: w * 0.8, + dash: None, + }, + DrawCommand::Circle { + cx, + cy, + r: r * 0.09, + stroke: None, + fill: Some(cross), + stroke_w: 0.0, + }, + ] +} + +/// Torta de cumpleaños (revolución solar): plato, bizcocho, glaseado +/// rosa, velas y llamas. +fn birthday_cake_cmds(cx: f32, cy: f32, r: f32) -> Vec { + let plate = rg(0.80, 0.82, 0.88); + let cake = rg(0.82, 0.58, 0.40); + let frosting = rg(0.96, 0.62, 0.72); + let candle = rg(0.45, 0.70, 0.95); + let flame = rg(0.99, 0.75, 0.25); + let rect = |x0: f32, y0: f32, x1: f32, y1: f32, c: Rgba| DrawCommand::Polygon { + points: vec![(x0, y0), (x1, y0), (x1, y1), (x0, y1)], + fill: Some(c), + stroke: None, + stroke_w: 0.0, + }; + let mut out = vec![ + // Plato. + rect(cx - r * 0.7, cy + r * 0.5, cx + r * 0.7, cy + r * 0.62, plate), + // Bizcocho. + rect(cx - r * 0.55, cy - r * 0.02, cx + r * 0.55, cy + r * 0.5, cake), + // Glaseado. + rect(cx - r * 0.55, cy - r * 0.18, cx + r * 0.55, cy - r * 0.02, frosting), + ]; + // Velas + llamas. + for dx in [-r * 0.28, 0.0, r * 0.28] { + out.push(DrawCommand::Line { + x1: cx + dx, + y1: cy - r * 0.18, + x2: cx + dx, + y2: cy - r * 0.52, + color: candle, + width: (r * 0.12).max(1.4), + dash: None, + }); + out.push(DrawCommand::Circle { + cx: cx + dx, + cy: cy - r * 0.62, + r: r * 0.10, + stroke: None, + fill: Some(flame), + stroke_w: 0.0, + }); + } + out +} + +fn ring(cx: f32, cy: f32, r: f32, c: Rgba, box_px: f32) -> DrawCommand { + DrawCommand::Circle { + cx, + cy, + r, + stroke: Some(c), + fill: None, + stroke_w: sw(box_px), + } +} + +/// Geometría de cada icono, centrada en `(cx, cy)` dentro de una caja de +/// lado `box_px`. Coordenadas absolutas dentro de `[0, box_px]`. +fn icon_cmds(icon: Icon, cx: f32, cy: f32, box_px: f32, c: Rgba) -> Vec { + let r = box_px * 0.5; + let w = sw(box_px); + let line = |x1: f32, y1: f32, x2: f32, y2: f32| DrawCommand::Line { + x1, + y1, + x2, + y2, + color: c, + width: w, + dash: None, + }; + match icon { + Icon::Plus => vec![ + line(cx - r * 0.6, cy, cx + r * 0.6, cy), + line(cx, cy - r * 0.6, cx, cy + r * 0.6), + ], + Icon::Close => vec![ + line(cx - r * 0.55, cy - r * 0.55, cx + r * 0.55, cy + r * 0.55), + line(cx + r * 0.55, cy - r * 0.55, cx - r * 0.55, cy + r * 0.55), + ], + Icon::ChevronDown => vec![ + line(cx - r * 0.5, cy - r * 0.25, cx, cy + r * 0.3), + line(cx, cy + r * 0.3, cx + r * 0.5, cy - r * 0.25), + ], + Icon::ChevronRight => vec![ + line(cx - r * 0.25, cy - r * 0.5, cx + r * 0.3, cy), + line(cx + r * 0.3, cy, cx - r * 0.25, cy + r * 0.5), + ], + Icon::ArrowLeft => vec![ + line(cx + r * 0.6, cy, cx - r * 0.55, cy), + line(cx - r * 0.55, cy, cx - r * 0.05, cy - r * 0.45), + line(cx - r * 0.55, cy, cx - r * 0.05, cy + r * 0.45), + ], + Icon::ArrowRight | Icon::Separating => vec![ + line(cx - r * 0.6, cy, cx + r * 0.55, cy), + line(cx + r * 0.55, cy, cx + r * 0.05, cy - r * 0.45), + line(cx + r * 0.55, cy, cx + r * 0.05, cy + r * 0.45), + ], + Icon::ArrowUp => vec![ + line(cx, cy + r * 0.6, cx, cy - r * 0.55), + line(cx, cy - r * 0.55, cx - r * 0.45, cy - r * 0.05), + line(cx, cy - r * 0.55, cx + r * 0.45, cy - r * 0.05), + ], + Icon::ArrowDown => vec![ + line(cx, cy - r * 0.6, cx, cy + r * 0.55), + line(cx, cy + r * 0.55, cx - r * 0.45, cy + r * 0.05), + line(cx, cy + r * 0.55, cx + r * 0.45, cy + r * 0.05), + ], + // Aplicando: triángulo izquierdo relleno. + Icon::Applying => vec![DrawCommand::Polygon { + points: vec![ + (cx - r * 0.5, cy), + (cx + r * 0.4, cy - r * 0.5), + (cx + r * 0.4, cy + r * 0.5), + ], + fill: Some(c), + stroke: None, + stroke_w: 0.0, + }], + Icon::Triangle => vec![DrawCommand::Polygon { + points: vec![ + (cx, cy - r * 0.6), + (cx + r * 0.6, cy + r * 0.5), + (cx - r * 0.6, cy + r * 0.5), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }], + Icon::Pencil => vec![ + // Cuerpo diagonal del lápiz + punta. + line(cx - r * 0.45, cy + r * 0.5, cx + r * 0.35, cy - r * 0.4), + line(cx + r * 0.35, cy - r * 0.4, cx + r * 0.5, cy - r * 0.55), + line(cx - r * 0.45, cy + r * 0.5, cx - r * 0.6, cy + r * 0.62), + ], + Icon::Scissors => { + let h = box_px * 0.07; + vec![ + DrawCommand::Circle { + cx: cx - r * 0.35, + cy: cy + r * 0.45, + r: h, + stroke: Some(c), + fill: None, + stroke_w: w * 0.8, + }, + DrawCommand::Circle { + cx: cx + r * 0.35, + cy: cy + r * 0.45, + r: h, + stroke: Some(c), + fill: None, + stroke_w: w * 0.8, + }, + line(cx - r * 0.28, cy + r * 0.38, cx + r * 0.55, cy - r * 0.55), + line(cx + r * 0.28, cy + r * 0.38, cx - r * 0.55, cy - r * 0.55), + ] + } + Icon::Clipboard => { + let bw = r * 0.55; + let top = cy - r * 0.55; + let bot = cy + r * 0.6; + vec![ + DrawCommand::Polygon { + points: vec![ + (cx - bw, top), + (cx + bw, top), + (cx + bw, bot), + (cx - bw, bot), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }, + // Pestaña superior. + DrawCommand::Polygon { + points: vec![ + (cx - r * 0.22, top - r * 0.18), + (cx + r * 0.22, top - r * 0.18), + (cx + r * 0.22, top + r * 0.1), + (cx - r * 0.22, top + r * 0.1), + ], + fill: Some(c), + stroke: None, + stroke_w: 0.0, + }, + ] + } + Icon::Trash => { + let bw = r * 0.45; + let top = cy - r * 0.35; + let bot = cy + r * 0.6; + vec![ + // Cuerpo (trapecio). + DrawCommand::Polygon { + points: vec![ + (cx - bw, top), + (cx + bw, top), + (cx + bw * 0.78, bot), + (cx - bw * 0.78, bot), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }, + // Tapa. + line(cx - r * 0.62, top, cx + r * 0.62, top), + // Asa. + line(cx - r * 0.2, top, cx - r * 0.12, cy - r * 0.6), + line(cx + r * 0.2, top, cx + r * 0.12, cy - r * 0.6), + line(cx - r * 0.12, cy - r * 0.6, cx + r * 0.12, cy - r * 0.6), + ] + } + Icon::Gear => { + let mut out = vec![ + ring(cx, cy, r * 0.42, c, box_px), + DrawCommand::Circle { + cx, + cy, + r: r * 0.16, + stroke: None, + fill: Some(c), + stroke_w: 0.0, + }, + ]; + for k in 0..8 { + let a = std::f32::consts::PI * (k as f32) / 4.0; + let (s, co) = a.sin_cos(); + out.push(line( + cx + co * r * 0.42, + cy + s * r * 0.42, + cx + co * r * 0.7, + cy + s * r * 0.7, + )); + } + out + } + Icon::Star => { + let mut pts = Vec::with_capacity(10); + for k in 0..10 { + let a = std::f32::consts::PI * (k as f32) / 5.0 - std::f32::consts::FRAC_PI_2; + let rad = if k % 2 == 0 { r * 0.72 } else { r * 0.3 }; + pts.push((cx + a.cos() * rad, cy + a.sin() * rad)); + } + vec![DrawCommand::Polygon { + points: pts, + fill: None, + stroke: Some(c), + stroke_w: w, + }] + } + Icon::Refresh => { + // Arco ~270° + cabeza de flecha. + let rr = r * 0.5; + let d = format!( + "M {} {} A {rr} {rr} 0 1 1 {} {}", + cx, + cy - rr, + cx + rr, + cy, + ); + vec![ + DrawCommand::Path { + d, + stroke: Some(c), + fill: None, + stroke_w: w, + }, + line(cx + rr, cy, cx + rr * 0.45, cy - rr * 0.55), + line(cx + rr, cy, cx + rr * 1.05, cy - rr * 0.55), + ] + } + Icon::Grid => { + let s = r * 0.6; + vec![ + DrawCommand::Polygon { + points: vec![ + (cx - s, cy - s), + (cx + s, cy - s), + (cx + s, cy + s), + (cx - s, cy + s), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }, + line(cx, cy - s, cx, cy + s), + line(cx - s, cy, cx + s, cy), + ] + } + Icon::Window => { + let s = r * 0.6; + vec![ + DrawCommand::Polygon { + points: vec![ + (cx - s, cy - s), + (cx + s, cy - s), + (cx + s, cy + s), + (cx - s, cy + s), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }, + line(cx - s, cy - s * 0.45, cx + s, cy - s * 0.45), + ] + } + Icon::Folder | Icon::FolderOpen => { + let left = cx - r * 0.62; + let right = cx + r * 0.62; + let top = cy - r * 0.32; + let bot = cy + r * 0.45; + let mut out = vec![DrawCommand::Polygon { + points: vec![ + (left, top), + (cx - r * 0.1, top), + (cx + r * 0.02, top - r * 0.18), + (right, top - r * 0.18), + (right, bot), + (left, bot), + ], + fill: None, + stroke: Some(c), + stroke_w: w, + }]; + if icon == Icon::FolderOpen { + out.push(line(left, cy, right, cy)); + } + out + } + Icon::Moon => planet_commands("moon", cx, cy, box_px * 0.82, c, w), + Icon::ZoomIn | Icon::ZoomOut => { + let lens = r * 0.38; + let lcx = cx - r * 0.12; + let lcy = cy - r * 0.12; + let mut out = vec![ + DrawCommand::Circle { + cx: lcx, + cy: lcy, + r: lens, + stroke: Some(c), + fill: None, + stroke_w: w, + }, + line(lcx + lens * 0.7, lcy + lens * 0.7, cx + r * 0.6, cy + r * 0.6), + line(lcx - lens * 0.5, lcy, lcx + lens * 0.5, lcy), + ]; + if icon == Icon::ZoomIn { + out.push(line(lcx, lcy - lens * 0.5, lcx, lcy + lens * 0.5)); + } + out + } + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/library.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/library.rs new file mode 100644 index 0000000..9d1b3f7 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/library.rs @@ -0,0 +1,229 @@ +//! Biblioteca de cartas sobre `cosmos-store` (SQLite): abre el store, +//! lo siembra/migra en la primera corrida y arma un **snapshot +//! jerárquico** plano (grupo → subgrupos → contactos → cartas) que el +//! árbol izquierdo pinta como un explorador de archivos clásico. +//! +//! El árbol no consulta SQLite por frame: `snapshot()` se llama al +//! arrancar (y tras mutaciones) y deja un `Vec` cacheado en el +//! `Model`. Cargar una carta sí va al store por id (`get_chart`). + +pub(crate) use cosmos_model::ChartKind; +use cosmos_model::{Chart, ChartId, ContactId, GroupId}; +use cosmos_store::Store; + +use crate::persist::{list_cards, load_card}; + +/// Parsea la parte `` de una clave `":"`. +fn key_id(key: &str, prefix: &str) -> Option { + key.strip_prefix(prefix).map(|s| s.to_string()) +} + +pub(crate) fn parse_group_key(key: &str) -> Option { + key_id(key, "g:")?.parse().ok() +} + +pub(crate) fn parse_contact_key(key: &str) -> Option { + key_id(key, "c:")?.parse().ok() +} + +pub(crate) fn parse_chart_key(key: &str) -> Option { + key_id(key, "h:")?.parse().ok() +} + +/// Borra un contacto y todas sus cartas. +pub(crate) fn delete_contact_recursive(store: &Store, id: ContactId) { + for ch in store.list_charts(id).unwrap_or_default() { + let _ = store.delete_chart(ch.id); + } + let _ = store.delete_contact(id); +} + +/// Borra un grupo, sus subgrupos, contactos y cartas (en cascada manual — +/// `delete_group` del store no cascadea). +pub(crate) fn delete_group_recursive(store: &Store, id: GroupId) { + for sub in store.list_groups(Some(id)).unwrap_or_default() { + delete_group_recursive(store, sub.id); + } + for c in store.list_contacts(Some(id)).unwrap_or_default() { + delete_contact_recursive(store, c.id); + } + let _ = store.delete_group(id); +} + +/// Tipo de nodo del árbol de datos. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum NavKind { + Group, + Contact, + Chart, +} + +/// Un nodo del snapshot jerárquico, ya aplanado en orden de display con +/// su profundidad. La visibilidad real (colapsado/expandido) la resuelve +/// el árbol contra el set de nodos expandidos del `Model`. +#[derive(Debug, Clone)] +pub(crate) struct NavNode { + /// Clave única y estable: `"g:"`, `"c:"`, `"h:"`. + pub(crate) key: String, + /// Clave del padre (grupo o contacto). `None` = raíz. + pub(crate) parent: Option, + pub(crate) depth: usize, + pub(crate) label: String, + pub(crate) kind: NavKind, + /// Id de la carta (sólo en nodos `Chart`) para `get_chart`. + pub(crate) chart_id: Option, + /// Tipo de carta (sólo en nodos `Chart`) — define su icono en el árbol. + pub(crate) chart_kind: Option, +} + +/// Abre (o crea) el store SQLite en el config dir de wawa. `None` si no +/// hay config dir o SQLite falla — el árbol queda vacío pero la app sigue. +pub(crate) fn open_store() -> Option { + let path = wawa_config::config_dir()?.join("cosmos.db"); + Store::open(&path) + .map_err(|e| eprintln!("cosmos · store: no se pudo abrir {path:?}: {e}")) + .ok() +} + +/// Siembra el store si está vacío: migra las cartas JSON existentes +/// (`cosmos-charts/*.json`) bajo un grupo «Cartas» / contacto +/// «Importadas»; si no hay ninguna, crea una de ejemplo desde `fallback`. +pub(crate) fn ensure_seed(store: &Store, fallback: &Chart) { + let empty = store + .list_groups(None) + .map(|g| g.is_empty()) + .unwrap_or(true) + && store + .list_all_charts() + .map(|c| c.is_empty()) + .unwrap_or(true); + if !empty { + return; + } + + let group = match store.create_group(None, "Cartas", None) { + Ok(g) => g, + Err(e) => { + eprintln!("cosmos · store: seed grupo: {e}"); + return; + } + }; + let contact = match store.create_contact(Some(group.id), "Importadas", None) { + Ok(c) => c, + Err(e) => { + eprintln!("cosmos · store: seed contacto: {e}"); + return; + } + }; + + // Migrar la biblioteca JSON existente. + let mut migradas = 0usize; + for name in list_cards() { + if let Some(ch) = load_card(&name) { + if store + .create_chart( + contact.id, + ChartKind::Natal, + &ch.label, + &ch.birth_data, + &ch.config, + None, + ) + .is_ok() + { + migradas += 1; + } + } + } + + // Si no había nada que migrar, sembrar la carta actual de ejemplo. + if migradas == 0 { + let _ = store.create_chart( + contact.id, + ChartKind::Natal, + &fallback.label, + &fallback.birth_data, + &fallback.config, + None, + ); + } +} + +/// Arma el snapshot jerárquico completo (grupos anidados → contactos → +/// cartas) en orden de display. +pub(crate) fn snapshot(store: &Store) -> Vec { + let mut out = Vec::new(); + walk_groups(store, None, None, 0, &mut out); + // Contactos sin grupo, a la raíz. + add_contacts(store, None, None, 0, &mut out); + out +} + +fn walk_groups( + store: &Store, + parent_id: Option, + parent_key: Option, + depth: usize, + out: &mut Vec, +) { + let groups = store.list_groups(parent_id).unwrap_or_default(); + for g in groups { + let gkey = format!("g:{}", g.id); + out.push(NavNode { + key: gkey.clone(), + parent: parent_key.clone(), + depth, + label: g.name.clone(), + kind: NavKind::Group, + chart_id: None, + chart_kind: None, + }); + // Subgrupos primero, luego contactos del grupo. + walk_groups(store, Some(g.id), Some(gkey.clone()), depth + 1, out); + add_contacts(store, Some(g.id), Some(gkey.clone()), depth + 1, out); + } +} + +fn add_contacts( + store: &Store, + group_id: Option, + parent_key: Option, + depth: usize, + out: &mut Vec, +) { + let contacts = store.list_contacts(group_id).unwrap_or_default(); + for c in contacts { + let ckey = format!("c:{}", c.id); + out.push(NavNode { + key: ckey.clone(), + parent: parent_key.clone(), + depth, + label: c.name.clone(), + kind: NavKind::Contact, + chart_id: None, + chart_kind: None, + }); + let charts = store.list_charts(c.id).unwrap_or_default(); + for ch in charts { + out.push(NavNode { + key: format!("h:{}", ch.id), + parent: Some(ckey.clone()), + depth: depth + 1, + label: ch.label.clone(), + kind: NavKind::Chart, + chart_id: Some(ch.id.to_string()), + chart_kind: Some(ch.kind), + }); + } + } +} + +/// Claves de todos los nodos contenedores (grupos + contactos) — usado +/// para expandir todo en la primera carga. +pub(crate) fn container_keys(nodes: &[NavNode]) -> Vec { + nodes + .iter() + .filter(|n| n.kind != NavKind::Chart) + .map(|n| n.key.clone()) + .collect() +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/main.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/main.rs new file mode 100644 index 0000000..1f39871 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/main.rs @@ -0,0 +1,1638 @@ +//! `cosmos-app-llimphi` — shell astronómico/astrológico sobre Llimphi. +//! +//! IDE de cartas: barra de menú principal arriba (`Archivo`/`Vista`/ +//! `Capas`/`Armónico`/`Ayuda`), árbol de navegación a la izquierda +//! (biblioteca de cartas + catálogo de gráficas astrológicas y +//! astronómicas), pestañas en el área central (una por gráfica abierta) +//! y barra de estado abajo. Click derecho sobre la rueda abre un menú +//! contextual con las opciones del wheel. Todo lo configurable vive en la +//! vista `Configuración` y en los menús `Capas`/`Armónico`. +//! +//! Módulos: `model` (estado + mensajes + taxonomías), `persist` +//! (UI-state + cartas + watcher), `engine` (compose del wheel), +//! `astroview` (cómputo + gráficas astronómicas), `view` (paneles +//! astrológicos), `chrome` (menú/árbol/pestañas/estado/contextuales), +//! `astrocarto` (mapa equirectangular), `format` (símbolos). Acá queda el +//! `impl App` y la lógica de transición. + +mod astrocarto; +mod astroview; +mod chrome; +mod dialog; +mod engine; +mod format; +mod glyphs; +mod library; +mod model; +mod persist; +mod print; +mod tools; +mod view; + +use std::sync::Arc; + +use cosmos_engine::Corpus; +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::prelude::{percent, FlexDirection, Size, Style}; +use llimphi_ui::{App, DragPhase, Handle, Key, KeyState, NamedKey, View}; +use llimphi_widget_splitter::{splitter_two, Direction, PaneSize, SplitterPalette}; +use wawa_config_llimphi::theme_from_wawa; + +use crate::astroview::compute_astro; +use crate::chrome::MenuCmd; +use crate::engine::{compute, sample_chart}; +use crate::model::{MenuKind, Model, Msg, OpenTab, WheelOpt}; +use crate::persist::{ + load_chart_from_disk, load_ui_state, save_chart_to_disk, save_ui_state, spawn_chart_watcher, + UiState, +}; + +const CORPUS_DEFAULT_RON: &str = include_str!("../../cosmos-corpus/ejemplo.ron"); + +struct Cosmos; + +// ===================================================================== +// Helpers de transición (reusados por mensajes directos y menú) +// ===================================================================== + +/// Recomputa el render de TODAS las cartas abiertas (mosaico siempre +/// consistente al cambiar capas/armónico) y refresca `m.render` con el de +/// la pestaña activa. Las cartas abiertas son pocas; el costo es marginal. +fn recompute_chart(m: &mut Model) { + let off = m.rectify_offset_min; + if m.open.is_empty() { + let (render, error) = compute(&m.chart, &m.overlays, m.harmonic, m.cfg.minor_aspects, off); + m.render = render; + m.error = error; + return; + } + let overlays = m.overlays.clone(); + let (h, minor) = (m.harmonic, m.cfg.minor_aspects); + let active = m.active_tab.min(m.open.len() - 1); + for i in 0..m.open.len() { + let (render, error) = compute(&m.open[i].chart, &overlays, h, minor, off); + m.open[i].render = render; + if i == active { + m.render = m.open[i].render.clone(); + m.error = error; + } + } +} + +/// Render puntual de una carta con las opciones globales actuales. +fn compute_render(m: &Model, chart: &cosmos_model::Chart) -> cosmos_render::RenderModel { + compute(chart, &m.overlays, m.harmonic, m.cfg.minor_aspects, m.rectify_offset_min).0 +} + +// El cómputo astronómico es el pesado (144 muestras × 10 cuerpos): NO corre +// en el hilo de UI. Esto sólo marca sucio; el despacho a un worker ocurre al +// final de `update` (que tiene el Handle). El render de la carta sí es barato +// y queda síncrono (ver `recompute_chart`). +fn recompute_astro(m: &mut Model) { + m.astro_dirty = true; +} + +/// Activa la carta-pestaña `i`: la vuelve la carta de trabajo y recomputa. +fn activate_tab(m: &mut Model, i: usize) { + let Some(tab) = m.open.get(i) else { return }; + m.active_tab = i; + m.chart = tab.chart.clone(); + m.selected_card = tab.id.clone(); + if let Some(id) = &tab.id { + m.nav_selected = Some(format!("h:{id}")); + } + save_chart_to_disk(&m.chart); + recompute_chart(m); + recompute_astro(m); +} + +fn close_chart_tab(m: &mut Model, i: usize) { + if i >= m.open.len() { + return; + } + m.open.remove(i); + if m.open.is_empty() { + // Nunca quedamos sin carta: re-abrimos la de trabajo como scratch. + m.open.push(OpenTab { + id: None, + chart: m.chart.clone(), + render: m.render.clone(), + }); + activate_tab(m, 0); + return; + } + let new = if m.active_tab > i { + m.active_tab - 1 + } else if m.active_tab >= m.open.len() { + m.open.len() - 1 + } else { + m.active_tab + }; + activate_tab(m, new); +} + +fn set_harmonic(m: &mut Model, h: u32) { + if m.harmonic != h { + m.harmonic = h; + recompute_chart(m); + } +} + +fn apply_overlay(m: &mut Model, k: model::OverlayKind) { + if let Some(idx) = m.overlays.iter().position(|x| *x == k) { + m.overlays.remove(idx); + } else { + m.overlays.push(k); + } + recompute_chart(m); +} + +fn toggle_wheel(m: &mut Model, opt: WheelOpt) { + match opt { + WheelOpt::MinorAspects => { + m.cfg.minor_aspects = !m.cfg.minor_aspects; + // Los menores deben calcularse para poder dibujarse. + recompute_chart(m); + } + WheelOpt::CoordLabels => m.cfg.coord_labels = !m.cfg.coord_labels, + WheelOpt::Dial3d => m.cfg.dial_3d = !m.cfg.dial_3d, + WheelOpt::AscCross => m.cfg.asc_cross = !m.cfg.asc_cross, + } +} + +/// Carga una carta del store por su id (string ULID) como pestaña: si ya +/// está abierta, salta a ella; si no, la abre en una pestaña nueva. +fn do_cargar(m: &mut Model, id: String) { + if let Some(i) = m.open.iter().position(|t| t.id.as_deref() == Some(id.as_str())) { + activate_tab(m, i); + return; + } + let chart = m + .store + .as_ref() + .and_then(|s| id.parse().ok().and_then(|cid| s.get_chart(cid).ok())); + if let Some(chart) = chart { + let render = compute_render(m, &chart); + m.open.push(OpenTab { + id: Some(id), + chart, + render, + }); + let i = m.open.len() - 1; + activate_tab(m, i); + } else { + m.error = Some(format!("no se pudo cargar carta: {id}")); + } +} + +/// Abre una carta de ejemplo como pestaña nueva (scratch, sin id). +fn do_nueva(m: &mut Model) { + let chart = sample_chart(); + let render = compute_render(m, &chart); + m.open.push(OpenTab { + id: None, + chart, + render, + }); + let i = m.open.len() - 1; + activate_tab(m, i); + m.status_note = Some("Carta de ejemplo abierta".into()); +} + +/// Duplica la carta de trabajo como una carta nueva del store, bajo el +/// contacto del nodo seleccionado (o el contacto padre de la carta sel.). +fn do_duplicar(m: &mut Model) { + let contact = m.selected_node().and_then(|n| match n.kind { + library::NavKind::Contact => library::parse_contact_key(&n.key), + library::NavKind::Chart => n.parent.as_deref().and_then(library::parse_contact_key), + library::NavKind::Group => None, + }); + let Some(cid) = contact else { + m.error = Some("Duplicar: seleccioná una carta o un contacto".into()); + return; + }; + let label = format!("{} (copia)", m.chart.label); + let res = m.store.as_ref().map(|s| { + s.create_chart( + cid, + cosmos_model::ChartKind::Natal, + &label, + &m.chart.birth_data, + &m.chart.config, + None, + ) + }); + match res { + Some(Ok(ch)) => { + m.nav_expanded.insert(format!("c:{cid}")); + m.nav_selected = Some(format!("h:{}", ch.id)); + refresh_nav(m); + m.status_note = Some(format!("Carta duplicada: {label}")); + } + Some(Err(e)) => m.error = Some(format!("duplicar: {e}")), + None => {} + } +} + +/// Persiste la carta de trabajo en el store. Si hay una carta +/// seleccionada en el árbol, la sobrescribe; si hay un contacto +/// seleccionado, crea una carta nueva bajo él. +fn do_guardar(m: &mut Model) { + let sel = m.selected_node().map(|n| (n.kind, n.key.clone())); + match sel { + Some((library::NavKind::Chart, key)) => { + let Some(id) = library::parse_chart_key(&key) else { return }; + let res = m.store.as_ref().map(|s| { + s.update_chart(id, &m.chart.label, &m.chart.birth_data, &m.chart.config) + }); + match res { + Some(Ok(())) => { + refresh_nav(m); + m.status_note = Some(format!("Carta guardada: {}", m.chart.label)); + } + Some(Err(e)) => m.error = Some(format!("guardar: {e}")), + None => {} + } + } + Some((library::NavKind::Contact, key)) => { + let Some(cid) = library::parse_contact_key(&key) else { return }; + let res = m.store.as_ref().map(|s| { + s.create_chart( + cid, + cosmos_model::ChartKind::Natal, + &m.chart.label, + &m.chart.birth_data, + &m.chart.config, + None, + ) + }); + match res { + Some(Ok(ch)) => { + m.nav_expanded.insert(key.clone()); + m.selected_card = Some(ch.id.to_string()); + m.nav_selected = Some(format!("h:{}", ch.id)); + // La pestaña activa (scratch) queda ligada a la carta nueva. + if let Some(t) = m.open.get_mut(m.active_tab) { + t.id = Some(ch.id.to_string()); + t.chart = m.chart.clone(); + } + refresh_nav(m); + m.status_note = Some(format!("Carta creada: {}", m.chart.label)); + } + Some(Err(e)) => m.error = Some(format!("guardar: {e}")), + None => {} + } + } + _ => { + m.error = + Some("Guardar: seleccioná una carta (sobrescribe) o un contacto (crea)".into()) + } + } +} + +/// Reconstruye el snapshot del árbol desde el store (tras una mutación). +fn refresh_nav(m: &mut Model) { + if let Some(s) = &m.store { + m.nav_nodes = library::snapshot(s); + } +} + +/// El nodo seleccionado interpretado como ids del store (según su tipo). +fn nav_click(m: &mut Model, key: String) { + m.nav_selected = Some(key.clone()); + match m.node(&key).map(|n| n.kind) { + Some(library::NavKind::Chart) => { + if let Some(id) = m.node(&key).and_then(|n| n.chart_id.clone()) { + do_cargar(m, id); + } + } + Some(_) => m.toggle_nav(key), + None => {} + } +} + +fn new_group(m: &mut Model) { + let Some(store) = &m.store else { return }; + // Bajo el grupo seleccionado si lo hay; si no, a la raíz. + let parent = m + .selected_node() + .and_then(|n| library::parse_group_key(&n.key)); + match store.create_group(parent, "Grupo nuevo", None) { + Ok(g) => { + if let Some(pk) = m.nav_selected.clone() { + m.nav_expanded.insert(pk); + } + refresh_nav(m); + start_rename(m, format!("g:{}", g.id)); + } + Err(e) => m.error = Some(format!("crear grupo: {e}")), + } +} + + +fn delete_selected(m: &mut Model) { + let Some(store) = &m.store else { return }; + let Some(node) = m.selected_node() else { return }; + let key = node.key.clone(); + match node.kind { + library::NavKind::Group => { + if let Some(id) = library::parse_group_key(&key) { + library::delete_group_recursive(store, id); + } + } + library::NavKind::Contact => { + if let Some(id) = library::parse_contact_key(&key) { + library::delete_contact_recursive(store, id); + } + } + library::NavKind::Chart => { + if let Some(id) = library::parse_chart_key(&key) { + let _ = store.delete_chart(id); + } + } + } + m.nav_selected = None; + refresh_nav(m); + m.status_note = Some("Elemento eliminado".into()); +} + +/// Mueve el nodo cortado (`nav_cut`) bajo el grupo seleccionado (o a la +/// raíz si no hay selección). Grupos y contactos se mueven con +/// `store.move_*`; las cartas no (no hay move_chart). +fn paste_node(m: &mut Model) { + let Some(cut_key) = m.nav_cut.clone() else { + m.error = Some("Pegar: nada cortado".into()); + return; + }; + if library::parse_chart_key(&cut_key).is_some() { + m.error = Some("Pegar: las cartas no se mueven entre contactos".into()); + return; + } + let target_group = match m.selected_node().map(|n| (n.kind, n.key.clone())) { + None => None, + Some((library::NavKind::Group, key)) => library::parse_group_key(&key), + Some(_) => { + m.error = Some("Pegar: elegí un grupo destino (o deseleccioná para la raíz)".into()); + return; + } + }; + if let Some(gid) = library::parse_group_key(&cut_key) { + if Some(gid) == target_group { + m.error = Some("Pegar: destino inválido".into()); + return; + } + } + let res = m.store.as_ref().map(|s| { + if let Some(gid) = library::parse_group_key(&cut_key) { + s.move_group(gid, target_group) + } else if let Some(cid) = library::parse_contact_key(&cut_key) { + s.move_contact(cid, target_group) + } else { + Ok(()) + } + }); + match res { + Some(Ok(())) => { + if let Some(g) = target_group { + m.nav_expanded.insert(format!("g:{g}")); + } + m.nav_cut = None; + refresh_nav(m); + m.status_note = Some("Movido".into()); + } + Some(Err(e)) => m.error = Some(format!("mover: {e}")), + None => {} + } +} + +fn start_rename(m: &mut Model, key: String) { + let current = m.node(&key).map(|n| n.label.clone()).unwrap_or_default(); + m.rename_input.set_text(current); + m.nav_selected = Some(key.clone()); + m.nav_rename = Some(key); +} + +fn commit_rename(m: &mut Model) { + let Some(key) = m.nav_rename.take() else { return }; + let name = m.rename_input.text(); + if let Some(store) = &m.store { + if name.trim().is_empty() { + return; + } + let r = if let Some(id) = library::parse_group_key(&key) { + store.rename_group(id, &name) + } else if let Some(id) = library::parse_contact_key(&key) { + store.rename_contact(id, &name) + } else if let Some(id) = library::parse_chart_key(&key) { + store.rename_chart(id, &name) + } else { + Ok(()) + }; + if let Err(e) = r { + m.error = Some(format!("renombrar: {e}")); + } + } + refresh_nav(m); +} + +/// Aplica una selección del segmented de tema (0 = Oscuro, 1 = Claro, +/// 2 = Impresión) y refleja el `Theme` activo en el modelo. La selección +/// manual gana sobre el tinte de wawa-config (mismo criterio que antes: +/// elegir tema a mano fija el preset puro). +fn set_theme_mode(m: &mut Model, idx: usize) { + m.cfg.set_theme_idx(idx); + m.theme = m.cfg.active_theme(); +} + +/// Rasteriza la hoja imprimible (rueda + cabecera + aspectos) a un PNG de +/// alta resolución con el mismo motor que pinta la pantalla — fidelidad +/// gráfica — y la abre en el visor de imágenes del SO para imprimir. +fn do_imprimir(m: &mut Model) { + match crate::print::imprimir_carta(m) { + Ok(path) => { + m.status_note = Some(format!("Hoja rasterizada y abierta para imprimir ({})", path.display())); + } + Err(e) => m.error = Some(format!("imprimir: {e}")), + } +} + +fn do_recargar(m: &mut Model) { + if let Some(c) = load_chart_from_disk() { + m.chart = c; + recompute_chart(m); + recompute_astro(m); + m.status_note = Some("Carta recargada de disco".into()); + } +} + +/// Elimina el nodo seleccionado del árbol (carta/contacto/grupo) — misma +/// ruta que el botón 🗑 del explorador. +fn do_eliminar(m: &mut Model) { + delete_selected(m); +} + +fn apply_cmd(m: &mut Model, cmd: MenuCmd) { + match cmd { + MenuCmd::Sep => {} + MenuCmd::Nueva => do_nueva(m), + MenuCmd::Guardar => do_guardar(m), + MenuCmd::Theme(idx) => set_theme_mode(m, idx), + MenuCmd::Imprimir => do_imprimir(m), + MenuCmd::Duplicar => do_duplicar(m), + MenuCmd::Recargar => do_recargar(m), + MenuCmd::Eliminar => do_eliminar(m), + MenuCmd::SetChartView(cv) => m.chart_view = cv, + MenuCmd::GoToolCat(tc) => { + // Activa la categoría en el sidebar donde vive (o la trae al + // derecho si no está acoplada en ningún lado). + let item = model::DockItem::from_tool_cat(tc); + if m.dock_left.contains(&item) { + m.active_left = Some(item); + } else { + m.dock_move(item, model::DockSide::Right); + } + m.tools_open = true; + } + MenuCmd::ToggleNav => m.nav_open = !m.nav_open, + MenuCmd::ToggleTools => m.tools_open = !m.tools_open, + MenuCmd::Overlay(k) => apply_overlay(m, k), + MenuCmd::Harmonic(h) => set_harmonic(m, h), + MenuCmd::AcercaDe => { + m.status_note = + Some("cosmos · astronomía + astrología sobre Llimphi (wgpu + vello + taffy)".into()) + } + MenuCmd::Wheel(opt) => toggle_wheel(m, opt), + MenuCmd::Deselect => m.selected_body = None, + } +} + +/// Ejecuta una acción del menú contextual del árbol sobre el nodo ya +/// seleccionado (lo dejó `OpenNavCtx`). +fn apply_nav_act(m: &mut Model, act: chrome::NavAct) { + use chrome::NavAct; + match act { + NavAct::NewGroup => new_group(m), + NavAct::NewContact => open_contact_dialog(m), + NavAct::NewChart => open_chart_dialog(m), + NavAct::Rename => { + if let Some(key) = m.nav_selected.clone() { + start_rename(m, key); + } + } + NavAct::Cut => { + m.nav_cut = m.nav_selected.clone(); + if m.nav_cut.is_some() { + m.status_note = Some("Cortado — elegí un grupo destino y pegá".into()); + } + } + NavAct::Paste => paste_node(m), + NavAct::Duplicate => do_duplicar(m), + NavAct::Delete => delete_selected(m), + } +} + +// ===================================================================== +// Rectificador de hora (direcciones primarias) +// ===================================================================== + +/// Corre el barrido de rectificación con los eventos cargados (±2 h). +fn run_rectify(m: &mut Model) { + if m.rectify_events.is_empty() { + m.error = Some("Rectificador: cargá al menos un evento (edad)".into()); + return; + } + let eventos: Vec = m + .rectify_events + .iter() + .map(|&edad_years| cosmos_engine::EventoConocido { edad_years }) + .collect(); + let key = rectify_key(m); + match cosmos_engine::rectificar(&m.chart, &eventos, 120, key) { + Ok(res) => { + let secs = res.mejor_offset_segundos; + m.status_note = Some(format!( + "Rectificación: {:+} s ({:+} min) · error {:.2}", + secs, + secs / 60, + res.mejor_puntaje + )); + m.rectify_result = Some(res); + } + Err(e) => m.error = Some(format!("rectificar: {e}")), + } +} + +/// Clave arco↔año para el motor. +fn rectify_key(m: &Model) -> &'static str { + if m.rectify_naibod { + "naibod" + } else { + "ptolemy" + } +} + +/// Calcula los triggers GR (contactos directo/converso) a la edad de +/// inspección, con la carta y el offset de jog actuales. +fn compute_triggers(m: &mut Model) { + let req = cosmos_engine::PipelineRequest::PrimaryDirections { + target_age_years: m.rectify_age, + key: rectify_key(m).to_string(), + }; + match cosmos_engine::compose(&m.chart, m.rectify_offset_min, &[req]) { + Ok(r) => { + m.rectify_triggers = r.gr_triggers; + if m.rectify_triggers.is_empty() { + m.status_note = Some(format!("Sin triggers GR a los {:.1} años", m.rectify_age)); + } + } + Err(e) => m.error = Some(format!("triggers GR: {e}")), + } +} + +/// Aplica el mejor offset hallado a la hora de nacimiento de la carta. +fn apply_rectify(m: &mut Model) { + let Some(res) = &m.rectify_result else { + m.error = Some("Rectificador: corré primero el barrido".into()); + return; + }; + let secs = res.mejor_offset_segundos; + let bd = &mut m.chart.birth_data; + // Total de segundos del día + offset, normalizado a [0, 86400). + let total = ((bd.hour as i64 * 60 + bd.minute as i64) * 60) + bd.second as i64 + secs; + let total = total.rem_euclid(86_400); + bd.hour = (total / 3600) as u32; + bd.minute = ((total % 3600) / 60) as u32; + bd.second = (total % 60) as f64; + bd.time_certainty = cosmos_model::TimeCertainty::Exact; + // Refleja en la pestaña activa, persiste y recomputa con offset 0. + if let Some(t) = m.open.get_mut(m.active_tab) { + t.chart = m.chart.clone(); + } + m.rectify_offset_min = 0; + m.rectify_result = None; + save_chart_to_disk(&m.chart); + recompute_chart(m); + recompute_astro(m); + m.status_note = Some(format!( + "Hora rectificada: {:02}:{:02}:{:02}", + m.chart.birth_data.hour, m.chart.birth_data.minute, m.chart.birth_data.second as u32 + )); +} + +// ===================================================================== +// Diálogos modales (crear contacto / crear carta) +// ===================================================================== + +/// Abre el diálogo de nuevo contacto bajo el grupo seleccionado (o su +/// grupo padre, o la raíz). +fn open_contact_dialog(m: &mut Model) { + let group = m.selected_node().and_then(|n| match n.kind { + library::NavKind::Group => library::parse_group_key(&n.key), + _ => n.parent.as_deref().and_then(library::parse_group_key), + }); + m.dialog = Some(dialog::Dialog::NewContact(dialog::NewContactForm { + group, + name: String::new(), + })); + m.dialog_field = dialog::DialogField::Name; + m.dialog_input.set_text(String::new()); + m.menu_open = None; + m.nav_ctx = None; +} + +/// Abre el diálogo de nueva carta bajo el contacto seleccionado (o el +/// contacto padre de la carta seleccionada). Prefill desde la carta de +/// trabajo. Sin contacto destino → error. +fn open_chart_dialog(m: &mut Model) { + let contact = m.selected_node().and_then(|n| match n.kind { + library::NavKind::Contact => library::parse_contact_key(&n.key), + library::NavKind::Chart => n.parent.as_deref().and_then(library::parse_contact_key), + library::NavKind::Group => None, + }); + let Some(contact) = contact else { + m.error = Some("Nueva carta: seleccioná un contacto".into()); + return; + }; + let bd = &m.chart.birth_data; + m.dialog = Some(dialog::Dialog::NewChart(dialog::NewChartForm { + contact, + label: "Carta nueva".into(), + date: format!("{:04}-{:02}-{:02}", bd.year, bd.month, bd.day), + time: format!("{:02}:{:02}", bd.hour, bd.minute), + city_query: String::new(), + place: bd.birthplace_label.clone().unwrap_or_default(), + lat: bd.latitude_deg, + lon: bd.longitude_deg, + tz: bd.tz_offset_minutes, + })); + m.dialog_field = dialog::DialogField::Label; + m.dialog_input.set_text("Carta nueva".to_string()); + m.menu_open = None; + m.nav_ctx = None; +} + +/// Carga el valor del campo `f` en el buffer de edición y le da el foco. +fn dialog_focus(m: &mut Model, f: dialog::DialogField) { + let v = m.dialog.as_ref().map(|d| d.field(f)).unwrap_or_default(); + m.dialog_field = f; + m.dialog_input.set_text(v); +} + +/// Aplica una ciudad del atlas al form de carta (autocompleta lat/lon/tz). +fn dialog_pick_city(m: &mut Model, idx: usize) { + let Some(city) = dialog::CITY_PRESETS.get(idx) else { return }; + if let Some(dialog::Dialog::NewChart(c)) = m.dialog.as_mut() { + c.place = city.name.to_string(); + c.lat = city.lat; + c.lon = city.lon; + c.tz = city.tz; + c.city_query = city.name.to_string(); + } + if m.dialog_field == dialog::DialogField::City { + m.dialog_input.set_text(city.name.to_string()); + } +} + +/// Confirma el diálogo abierto: valida y crea en el store. +fn dialog_confirm(m: &mut Model) { + match m.dialog.take() { + Some(dialog::Dialog::NewContact(f)) => { + let name = f.name.trim().to_string(); + if name.is_empty() { + m.error = Some("El contacto necesita un nombre".into()); + m.dialog = Some(dialog::Dialog::NewContact(f)); + return; + } + match m.store.as_ref().map(|s| s.create_contact(f.group, &name, None)) { + Some(Ok(c)) => { + if let Some(g) = f.group { + m.nav_expanded.insert(format!("g:{g}")); + } + refresh_nav(m); + m.nav_selected = Some(format!("c:{}", c.id)); + m.status_note = Some(format!("Contacto creado: {name}")); + } + Some(Err(e)) => m.error = Some(format!("crear contacto: {e}")), + None => {} + } + } + Some(dialog::Dialog::NewChart(f)) => { + let Some((y, mo, d)) = parse_date(&f.date) else { + m.error = Some("Fecha inválida (usá AAAA-MM-DD)".into()); + m.dialog = Some(dialog::Dialog::NewChart(f)); + return; + }; + let Some((h, mi)) = parse_time(&f.time) else { + m.error = Some("Hora inválida (usá HH:MM)".into()); + m.dialog = Some(dialog::Dialog::NewChart(f)); + return; + }; + let mut bd = m.chart.birth_data.clone(); + bd.year = y; + bd.month = mo; + bd.day = d; + bd.hour = h; + bd.minute = mi; + bd.second = 0.0; + bd.tz_offset_minutes = f.tz; + bd.latitude_deg = f.lat; + bd.longitude_deg = f.lon; + bd.birthplace_label = if f.place.is_empty() { + None + } else { + Some(f.place.clone()) + }; + let label = if f.label.trim().is_empty() { + "Carta nueva" + } else { + f.label.trim() + }; + let res = m.store.as_ref().map(|s| { + s.create_chart( + f.contact, + cosmos_model::ChartKind::Natal, + label, + &bd, + &m.chart.config, + None, + ) + }); + match res { + Some(Ok(ch)) => { + m.nav_expanded.insert(format!("c:{}", f.contact)); + refresh_nav(m); + m.status_note = Some(format!("Carta creada: {label}")); + do_cargar(m, ch.id.to_string()); + } + Some(Err(e)) => m.error = Some(format!("crear carta: {e}")), + None => {} + } + } + None => {} + } +} + +/// Parsea `AAAA-MM-DD`. +fn parse_date(s: &str) -> Option<(i32, u32, u32)> { + let p: Vec<&str> = s.trim().split('-').collect(); + if p.len() != 3 { + return None; + } + let y = p[0].trim().parse().ok()?; + let mo: u32 = p[1].trim().parse().ok()?; + let d: u32 = p[2].trim().parse().ok()?; + if (1..=12).contains(&mo) && (1..=31).contains(&d) { + Some((y, mo, d)) + } else { + None + } +} + +/// Parsea `HH:MM`. +fn parse_time(s: &str) -> Option<(u32, u32)> { + let p: Vec<&str> = s.trim().split(':').collect(); + if p.len() != 2 { + return None; + } + let h: u32 = p[0].trim().parse().ok()?; + let mi: u32 = p[1].trim().parse().ok()?; + if h < 24 && mi < 60 { + Some((h, mi)) + } else { + None + } +} + +fn save_ui(m: &Model) { + save_ui_state(&UiState { + overlays: m.overlays.clone(), + harmonic: m.harmonic, + cfg: m.cfg.clone(), + nav_w: m.nav_w, + tools_w: m.tools_w, + nav_open: m.nav_open, + tools_open: m.tools_open, + chart_view: m.chart_view, + tool_cat: m.tool_cat, + expanded_panels: m.expanded_panels.clone(), + tile_mode: m.tile_mode, + dock_left: m.dock_left.clone(), + dock_right: m.dock_right.clone(), + sphere_yaw: m.sphere_yaw, + sphere_pitch: m.sphere_pitch, + sky_nadir: m.sky_nadir, + }); +} + +impl App for Cosmos { + type Model = Model; + type Msg = Msg; + + fn title() -> &'static str { + "cosmos · canvas (llimphi)" + } + + /// El `app_id` Wayland: pata lo usa para correlacionar foco ↔ dientes en el + /// rail hospedado, así que el `HostClient` registra con este mismo string. + fn app_id() -> Option<&'static str> { + Some("gioser.cosmos") + } + + fn initial_size() -> (u32, u32) { + (1200, 860) + } + + fn init(handle: &Handle) -> Model { + let cfg_wawa = wawa_config::WawaConfig::load(); + let _ = rimay_localize::set_locale(&cfg_wawa.lang); + + let handle_clone = handle.clone(); + let watcher = wawa_config::ConfigWatcher::spawn(move |new_cfg| { + handle_clone.dispatch(Msg::WawaConfigChanged(Box::new(new_cfg))); + }) + .map_err(|e| eprintln!("cosmos · wawa-config watcher: {e}")) + .ok(); + + let chart = load_chart_from_disk().unwrap_or_else(|| { + let c = sample_chart(); + save_chart_to_disk(&c); + c + }); + let ui = load_ui_state(); + // En modo impresión el tema B/N gana y no acepta el tinte de + // wawa-config (la hoja tiene que ser blanca sí o sí). En claro/ + // oscuro, el tinte del SO se aplica como siempre. + let theme = if ui.cfg.print_mode { + ui.cfg.active_theme() + } else { + let base = if ui.cfg.theme_dark { + Theme::dark() + } else { + Theme::light() + }; + theme_from_wawa(&cfg_wawa, &base) + }; + // El render de la carta es barato → síncrono. El astro (orto/ocaso/ + // efemérides) es el caro: arranca en `None` ("calculando…") y se + // computa en un worker que reentra con `AstroComputed`. `init` corre + // en winit DESPUÉS de crear la ventana, así que un cómputo pesado aquí + // congelaría la ventana recién abierta. Generación 1 = la del arranque. + let (render, error) = compute(&chart, &ui.overlays, ui.harmonic, ui.cfg.minor_aspects, 0); + let astro = None; + { + let (c, use_now) = (chart.clone(), ui.cfg.use_now); + handle.spawn(move || Msg::AstroComputed(1, Arc::new(compute_astro(&c, use_now)))); + } + let corpus = Corpus::desde_ron(CORPUS_DEFAULT_RON).unwrap_or_default(); + let chart_watcher = spawn_chart_watcher(handle); + + // Árbol de datos sobre cosmos-store: abrir, sembrar/migrar y armar + // el snapshot jerárquico. Todo expandido en la primera carga. + let store = library::open_store(); + if let Some(s) = &store { + library::ensure_seed(s, &chart); + } + let nav_nodes = store.as_ref().map(library::snapshot).unwrap_or_default(); + let nav_expanded = library::container_keys(&nav_nodes).into_iter().collect(); + + // Una pestaña inicial con la carta de trabajo (scratch, sin id). + let open = vec![OpenTab { + id: None, + chart: chart.clone(), + render: render.clone(), + }]; + + // Rail hospedado: si `COSMOS_DELEGATE_SIDEBAR` está set, cosmos delega su + // sidebar a pata — publica sus dientes y queda puro canvas. El callback + // (en el hilo lector del cliente) reinyecta las activaciones al bucle Elm. + let delegated = std::env::var_os("COSMOS_DELEGATE_SIDEBAR").is_some(); + let host = if delegated { + let teeth: Vec = ui + .dock_left + .iter() + .chain(&ui.dock_right) + .map(|i| dock_item_tooth(*i)) + .collect(); + let h = handle.clone(); + pata_host::HostClient::connect("gioser.cosmos", "Cosmos", teeth, move |id| { + h.dispatch(Msg::HostActivate(id)) + }) + } else { + None + }; + + Model { + chart, + overlays: ui.overlays, + harmonic: ui.harmonic, + render, + astro, + astro_dirty: false, + astro_gen: 1, + corpus, + cfg: ui.cfg, + theme, + error, + status_note: None, + open, + active_tab: 0, + tile_mode: ui.tile_mode, + selected_card: None, + selected_body: None, + store, + nav_nodes, + nav_expanded, + nav_selected: None, + nav_rename: None, + rename_input: llimphi_widget_text_input::TextInputState::new(), + nav_cut: None, + sphere_yaw: ui.sphere_yaw, + sphere_pitch: ui.sphere_pitch, + sky_nadir: ui.sky_nadir, + wheel_zoom: 1.0, + wheel_pan: (0.0, 0.0), + carto_rect: Arc::new(std::sync::Mutex::new(None)), + viewport: model::VIEWPORT, + tools_scroll: 0.0, + nav_w: ui.nav_w, + tools_w: ui.tools_w, + nav_open: ui.nav_open, + tools_open: ui.tools_open, + chart_view: ui.chart_view, + tool_cat: ui.tool_cat, + expanded_panels: ui.expanded_panels, + active_left: ui.dock_left.first().copied(), + active_right: ui.dock_right.first().copied(), + dock_expanded: None, + dock_left: ui.dock_left, + dock_right: ui.dock_right, + menu_open: None, + menu_active: usize::MAX, + menu_anim: llimphi_motion::Tween::idle(1.0), + ctx_open: None, + nav_ctx: None, + nav_scroll: 0.0, + rectify_offset_min: 0, + rectify_events: Vec::new(), + rectify_result: None, + rectify_naibod: true, + rectify_age: 30.0, + rectify_triggers: Vec::new(), + dialog: None, + dialog_field: dialog::DialogField::Name, + dialog_input: llimphi_widget_text_input::TextInputState::new(), + delegated, + _host: host, + _wawa_watcher: watcher, + _chart_watcher: chart_watcher, + } + } + + fn update(model: Model, msg: Msg, handle: &Handle) -> Model { + let mut m = model; + let mut persist = false; + // Cualquier interacción que no sea abrir un menú limpia la nota + // efímera de estado. El resultado del worker (AstroComputed) tampoco + // la toca: es un evento de fondo, no una acción del usuario. + match &msg { + Msg::OpenMenu(_) | Msg::MenuTick | Msg::WawaConfigChanged(_) | Msg::AstroComputed(..) => {} + _ => m.status_note = None, + } + match msg { + Msg::WawaConfigChanged(cfg) => { + // El modo impresión ignora el tinte del SO: la hoja es B/N. + if !m.cfg.print_mode { + m.theme = theme_from_wawa(&cfg, &m.theme); + } + if cfg.lang != rimay_localize::current_locale() { + let _ = rimay_localize::set_locale(&cfg.lang); + } + } + // multi-carta (tabs del centro) + Msg::ActivateChartTab(i) => activate_tab(&mut m, i), + Msg::CloseChartTab(i) => close_chart_tab(&mut m, i), + Msg::ToggleTileMode => { + m.tile_mode = !m.tile_mode; + persist = true; + } + Msg::SphereRotate(dyaw, dpitch) => { + // Sin persistir: el drag dispara muchos por segundo; evita + // escribir el UI-state a disco en cada movimiento. + m.sphere_yaw = (m.sphere_yaw + dyaw).rem_euclid(360.0); + m.sphere_pitch = (m.sphere_pitch + dpitch).clamp(-89.0, 89.0); + } + Msg::SphereReset => { + m.sphere_yaw = 26.0; + m.sphere_pitch = -64.0; + persist = true; + } + Msg::WheelPan(dx, dy) => { + m.wheel_pan.0 += dx; + m.wheel_pan.1 += dy; + } + Msg::WheelZoom(factor) => { + m.wheel_zoom = (m.wheel_zoom * factor).clamp(0.25, 8.0); + } + Msg::WheelResetView => { + m.wheel_zoom = 1.0; + m.wheel_pan = (0.0, 0.0); + } + Msg::WheelSetView(z, px, py) => { + m.wheel_zoom = z; + m.wheel_pan = (px, py); + } + Msg::ToggleSkyNadir => { + m.sky_nadir = !m.sky_nadir; + persist = true; + } + Msg::Resized(w, h) => m.viewport = (w, h), + Msg::ToolsScroll(delta) => { + // El panel de herramientas que scrollea es la categoría + // activa (derecha primero, si no izquierda). + let cat = m + .dock_active(model::DockSide::Right) + .and_then(|i| i.tool_cat()) + .or_else(|| m.dock_active(model::DockSide::Left).and_then(|i| i.tool_cat())); + let content = cat.map(|c| tools::tools_content_h(c, &m)).unwrap_or(0.0); + let viewport = tools::tools_viewport_h(&m); + m.tools_scroll = llimphi_widget_scroll::clamp_offset( + m.tools_scroll + delta, + content, + viewport, + ); + } + // navegación + Msg::ToggleNavNode(key) => m.toggle_nav(key), + Msg::NavClick(key) => nav_click(&mut m, key), + Msg::NewGroup => new_group(&mut m), + Msg::DeleteSelected => delete_selected(&mut m), + Msg::CutNode => { + m.nav_cut = m.nav_selected.clone(); + if m.nav_cut.is_some() { + m.status_note = Some("Cortado — seleccioná un grupo destino y pegá".into()); + } + } + Msg::PasteNode => { + paste_node(&mut m); + persist = true; + } + Msg::RenameStart => { + if let Some(key) = m.nav_selected.clone() { + start_rename(&mut m, key); + } + } + Msg::RenameKey(ev) => { + if m.nav_rename.is_some() { + m.rename_input.apply_key(&ev); + } + } + Msg::RenameCommit => commit_rename(&mut m), + Msg::RenameCancel => m.nav_rename = None, + Msg::ChartFileChanged => { + if let Some(c) = load_chart_from_disk() { + m.chart = c.clone(); + // Reflejar la edición externa en la pestaña activa. + if let Some(t) = m.open.get_mut(m.active_tab) { + t.chart = c; + } + recompute_chart(&mut m); + recompute_astro(&mut m); + } + } + Msg::SelectBody(sel) => { + m.selected_body = if m.selected_body == sel { None } else { sel }; + } + // capas / armónico / configuración + Msg::ToggleOverlay(k) => { + apply_overlay(&mut m, k); + persist = true; + } + Msg::SetHarmonic(n) => { + set_harmonic(&mut m, n); + persist = true; + } + Msg::SetThemeMode(idx) => { + set_theme_mode(&mut m, idx); + persist = true; + } + Msg::PrintSheet => do_imprimir(&mut m), + Msg::ToggleWheelOpt(opt) => { + toggle_wheel(&mut m, opt); + persist = true; + } + Msg::SetRotOffset(dv) => { + m.cfg.rot_offset_deg = (m.cfg.rot_offset_deg + dv).rem_euclid(360.0); + persist = true; + } + Msg::SetUseNow(b) => { + m.cfg.use_now = b; + recompute_astro(&mut m); + persist = true; + } + // menú principal + Msg::OpenMenu(k) => { + m.menu_open = if m.menu_open == Some(k) { None } else { Some(k) }; + m.menu_active = usize::MAX; + m.ctx_open = None; + // Animación de aparición/swap: cada vez que se abre (o se + // cambia de) menú, el dropdown se funde+desliza de nuevo. + if m.menu_open.is_some() { + m.menu_anim = llimphi_motion::Tween::new( + 0.0, + 1.0, + llimphi_motion::motion::FAST, + llimphi_motion::motion::ease_out_cubic, + ); + llimphi_motion::animate(handle, llimphi_motion::motion::FAST, || Msg::MenuTick); + } + } + Msg::MenuPick(kind, idx) => { + m.menu_open = None; + m.menu_active = usize::MAX; + let cmd = chrome::menu_entries(kind, &m).get(idx).map(|e| e.cmd); + if let Some(cmd) = cmd { + apply_cmd(&mut m, cmd); + persist = true; + } + } + Msg::MenuNav(dir) => { + if let Some(kind) = m.menu_open { + let entries = chrome::menu_entries(kind, &m); + let items: Vec<_> = entries.iter().map(chrome::MenuEntry::to_item).collect(); + m.menu_active = + llimphi_widget_context_menu::step_active(&items, m.menu_active, dir); + } + } + Msg::MenuActivate => { + if let Some(kind) = m.menu_open { + let idx = m.menu_active; + let cmd = chrome::menu_entries(kind, &m).get(idx).map(|e| e.cmd); + m.menu_open = None; + m.menu_active = usize::MAX; + if let Some(cmd) = cmd { + apply_cmd(&mut m, cmd); + persist = true; + } + } + } + Msg::MenuTick => {} + Msg::CloseMenu => { + m.menu_open = None; + m.menu_active = usize::MAX; + } + // menú contextual + Msg::OpenCanvasCtx(x, y) => { + m.ctx_open = Some((x, y)); + m.menu_open = None; + } + Msg::CtxPick(idx) => { + m.ctx_open = None; + let cmd = chrome::ctx_entries(&m).get(idx).map(|e| e.cmd); + if let Some(cmd) = cmd { + apply_cmd(&mut m, cmd); + persist = true; + } + } + Msg::CloseCtx => { + m.ctx_open = None; + m.nav_ctx = None; + } + // menú contextual del árbol de datos + Msg::OpenNavCtx(key) => { + m.nav_selected = Some(key.clone()); + m.nav_ctx = Some(key); + m.ctx_open = None; + m.menu_open = None; + } + Msg::NavCtxPick(idx) => { + let act = m + .nav_ctx + .as_ref() + .map(|k| chrome::nav_ctx_entries(&m, k)) + .and_then(|entries| entries.get(idx).and_then(|e| e.act)); + m.nav_ctx = None; + if let Some(act) = act { + apply_nav_act(&mut m, act); + persist = true; + } + } + Msg::NavScroll(delta) => { + let content = chrome::nav_content_h(&m); + let viewport = chrome::nav_viewport_h(&m); + m.nav_scroll = + llimphi_widget_scroll::clamp_offset(m.nav_scroll + delta, content, viewport); + } + // rectificador de hora + Msg::RectifyNudge(d) => { + m.rectify_offset_min += d; + recompute_chart(&mut m); + recompute_astro(&mut m); + } + Msg::RectifyResetOffset => { + m.rectify_offset_min = 0; + recompute_chart(&mut m); + recompute_astro(&mut m); + } + Msg::RectifyAddEvent => m.rectify_events.push(25.0), + Msg::RectifyEventDelta(i, d) => { + if let Some(e) = m.rectify_events.get_mut(i) { + *e = (*e + d).clamp(0.0, 120.0); + } + } + Msg::RectifyRemoveEvent(i) => { + if i < m.rectify_events.len() { + m.rectify_events.remove(i); + } + } + Msg::RectifyRun => run_rectify(&mut m), + Msg::RectifyApply => apply_rectify(&mut m), + Msg::RectifySetKey(naibod) => { + m.rectify_naibod = naibod; + if !m.rectify_triggers.is_empty() { + compute_triggers(&mut m); + } + } + Msg::RectifyAgeDelta(d) => { + m.rectify_age = (m.rectify_age + d).clamp(0.0, 120.0); + } + Msg::RectifyTriggers => compute_triggers(&mut m), + // diálogos modales + Msg::OpenNewContactDialog => open_contact_dialog(&mut m), + Msg::OpenNewChartDialog => open_chart_dialog(&mut m), + Msg::DialogFocus(f) => dialog_focus(&mut m, f), + Msg::DialogKey(ev) => { + m.dialog_input.apply_key(&ev); + let txt = m.dialog_input.text(); + let f = m.dialog_field; + if let Some(d) = m.dialog.as_mut() { + d.set_field(f, txt); + } + } + Msg::DialogPickCity(idx) => dialog_pick_city(&mut m, idx), + Msg::DialogConfirm => { + dialog_confirm(&mut m); + persist = true; + } + Msg::DialogCancel => m.dialog = None, + // layout guardable + Msg::SetNavWidth(dx) => m.nudge_nav(dx), + Msg::SetToolsWidth(dx) => m.nudge_tools(dx), + Msg::PersistLayout => persist = true, + // panel de herramientas + Msg::ToggleToolPanel(p) => { + m.toggle_panel(p); + persist = true; + } + // dock + Msg::DockActivate(side, item) => { + // Clic en el diente activo del lado ya desplegado → colapsa + // (toggle, estilo web); cualquier otro → activa + despliega. + let toggle_off = m.dock_active(side) == Some(item) + && m.dock_expanded == Some(side); + match side { + model::DockSide::Left => m.active_left = Some(item), + model::DockSide::Right => m.active_right = Some(item), + } + m.dock_expanded = if toggle_off { None } else { Some(side) }; + persist = true; + } + Msg::DockDrop(side, payload) => { + if let Some(item) = model::DockItem::from_u64(payload) { + // Sólo mover si cambia de lado — evita el reordenado + // molesto al soltar (o al hacer clic) en el mismo lado. + let already = match side { + model::DockSide::Left => m.dock_left.contains(&item), + model::DockSide::Right => m.dock_right.contains(&item), + }; + if !already { + m.dock_move(item, side); + persist = true; + } + } + } + // Rail hospedado: pata reenvió el clic de un diente prestado. Mapea el + // id al DockItem, deduce el lado por dónde vive, y togglea ese panel + // (mismo comportamiento que DockActivate) — así aparece/desaparece + // sobre el canvas de cosmos. + Msg::HostActivate(id) => { + if let Some(item) = model::DockItem::from_u64(id as u64) { + let side = if m.dock_left.contains(&item) { + model::DockSide::Left + } else { + model::DockSide::Right + }; + let toggle_off = + m.dock_active(side) == Some(item) && m.dock_expanded == Some(side); + match side { + model::DockSide::Left => m.active_left = Some(item), + model::DockSide::Right => m.active_right = Some(item), + } + m.dock_expanded = if toggle_off { None } else { Some(side) }; + persist = true; + } + } + // tipo de gráfica + Msg::SetChartView(v) => { + m.chart_view = v; + persist = true; + } + // Resultado del worker astronómico. Se aplica sólo si su + // generación sigue vigente (si no, un recálculo posterior ya lo + // dejó viejo y lo descartamos). `try_unwrap` recupera el dueño sin + // copiar: el `Arc` llega con refcount 1 porque el Msg no se clona. + Msg::AstroComputed(gen, astro) => { + if gen == m.astro_gen { + m.astro = Some(Arc::try_unwrap(astro).unwrap_or_else(|a| (*a).clone())); + } + } + } + if persist { + save_ui(&m); + } + // Cómputo astronómico FUERA del hilo de UI. Si algo lo marcó sucio, + // bumpeamos la generación y lo despachamos a un worker; el resultado + // reentra como `AstroComputed` y la UI sigue respondiendo (muestra el + // astro previo —o "calculando…"— hasta que llega). + if m.astro_dirty { + m.astro_dirty = false; + m.astro_gen = m.astro_gen.wrapping_add(1); + let gen = m.astro_gen; + let (c, use_now) = (m.chart.clone(), m.cfg.use_now); + handle.spawn(move || Msg::AstroComputed(gen, Arc::new(compute_astro(&c, use_now)))); + } + m + } + + fn view(model: &Model) -> View { + let theme = model.theme; + let menu = chrome::menu_bar(model, &theme); + let status = chrome::status_bar(model, &theme); + let sp = SplitterPalette::from_theme(&theme); + + let center = chrome::center_view(model, &theme); + + // Dock: los **rails** flotan como overlay sobre el centro (los + // dibuja `center_view`), así la rueda usa todo el hueco. Acá sólo + // colocamos los **paneles** de contenido en panes resizables; la + // barra azul queda pegada al panel. Angosto → sólo rails; clic en + // un diente despliega ese lado (estilo web). + let collapsed = chrome::dock_collapsed(model); + // En modo delegado los rails los pinta pata; el panel de un lado aparece + // sólo cuando ese lado está expandido (un diente hospedado activo) → + // sin nada activo, cosmos es puro canvas. + let (left_show, right_show) = if model.delegated { + ( + model.dock_expanded == Some(model::DockSide::Left), + model.dock_expanded == Some(model::DockSide::Right), + ) + } else { + ( + !collapsed || model.dock_expanded == Some(model::DockSide::Left), + !collapsed || model.dock_expanded == Some(model::DockSide::Right), + ) + }; + let left_panel = if left_show { + chrome::dock_panel_for(model::DockSide::Left, model, &theme) + } else { + None + }; + let right_panel = if right_show { + chrome::dock_panel_for(model::DockSide::Right, model, &theme) + } else { + None + }; + + let mut core = center; + if let Some(rp) = right_panel { + core = splitter_two( + Direction::Row, + core, + PaneSize::Flex, + rp, + PaneSize::Fixed(model.tools_w), + |phase, dx| match phase { + DragPhase::Move => Some(Msg::SetToolsWidth(dx)), + DragPhase::End => Some(Msg::PersistLayout), + }, + &sp, + ); + } + if let Some(lp) = left_panel { + core = splitter_two( + Direction::Row, + lp, + PaneSize::Fixed(model.nav_w), + core, + PaneSize::Flex, + |phase, dx| match phase { + DragPhase::Move => Some(Msg::SetNavWidth(dx)), + DragPhase::End => Some(Msg::PersistLayout), + }, + &sp, + ); + } + let body = core; + + let body_box = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + flex_grow: 1.0, + min_size: Size { + width: llimphi_ui::llimphi_layout::taffy::prelude::length(0.0_f32), + height: llimphi_ui::llimphi_layout::taffy::prelude::length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![body]); + + View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_app) + .children(vec![menu, body_box, status]) + } + + fn view_overlay(model: &Model) -> Option> { + // El diálogo modal tiene prioridad sobre los menús. + dialog::dialog_overlay(model, &model.theme).or_else(|| chrome::overlay_view(model, &model.theme)) + } + + fn on_key(model: &Model, ev: &llimphi_ui::KeyEvent) -> Option { + // Un diálogo modal captura el teclado: Enter confirma, Escape + // cancela, el resto alimenta el campo enfocado. + if model.dialog.is_some() { + if ev.state == KeyState::Pressed { + match &ev.key { + Key::Named(NamedKey::Enter) => return Some(Msg::DialogConfirm), + Key::Named(NamedKey::Escape) => return Some(Msg::DialogCancel), + _ => {} + } + } + return Some(Msg::DialogKey(ev.clone())); + } + // Renombrar un nodo del árbol captura el teclado: Enter confirma, + // Escape cancela, el resto alimenta el buffer de texto. + if model.nav_rename.is_some() { + if ev.state == KeyState::Pressed { + match &ev.key { + Key::Named(NamedKey::Enter) => return Some(Msg::RenameCommit), + Key::Named(NamedKey::Escape) => return Some(Msg::RenameCancel), + _ => {} + } + } + return Some(Msg::RenameKey(ev.clone())); + } + if ev.state != KeyState::Pressed { + return None; + } + // Menú principal abierto: las flechas navegan. ←/→ cambian de menú + // raíz (con wrap), ↑/↓ mueven la fila activa, Enter ejecuta, Esc + // cierra. El context-menu de la rueda queda mouse-only (sólo Esc). + if let Some(kind) = model.menu_open { + let order = MenuKind::order(); + let n = order.len().max(1); + let cur = order.iter().position(|k| *k == kind).unwrap_or(0); + return match &ev.key { + Key::Named(NamedKey::Escape) => Some(Msg::CloseMenu), + Key::Named(NamedKey::ArrowLeft) => { + Some(Msg::OpenMenu(order[(cur + n - 1) % n])) + } + Key::Named(NamedKey::ArrowRight) => Some(Msg::OpenMenu(order[(cur + 1) % n])), + Key::Named(NamedKey::ArrowDown) => Some(Msg::MenuNav(1)), + Key::Named(NamedKey::ArrowUp) => Some(Msg::MenuNav(-1)), + Key::Named(NamedKey::Enter) => Some(Msg::MenuActivate), + _ => None, + }; + } + match &ev.key { + Key::Named(NamedKey::Escape) => { + if model.menu_open.is_some() { + Some(Msg::CloseMenu) + } else if model.ctx_open.is_some() { + Some(Msg::CloseCtx) + } else { + None + } + } + Key::Character(s) if ev.modifiers.ctrl && s.as_str().eq_ignore_ascii_case("w") => { + Some(Msg::CloseChartTab(model.active_tab)) + } + // Ctrl+S → guardar carta en biblioteca (espeja Archivo/Editar). + // Resolvemos el índice contra la misma lista que pinta el menú + // para no acoplar el atajo al orden de las entradas. + Key::Character(s) if ev.modifiers.ctrl && s.as_str().eq_ignore_ascii_case("s") => { + chrome::menu_entries(MenuKind::Archivo, model) + .iter() + .position(|e| matches!(e.cmd, MenuCmd::Guardar)) + .map(|i| Msg::MenuPick(MenuKind::Archivo, i)) + } + _ => None, + } + } + + fn on_resize(_model: &Model, width: u32, height: u32) -> Option { + Some(Msg::Resized(width as f32, height as f32)) + } + + /// Rueda del ratón sobre el lienzo central: zoom (rueda sola), paneo + /// vertical (Ctrl) y paneo horizontal (Alt). El árbol y el panel de + /// herramientas **consumen** la rueda por su cuenta (scroll propio), + /// así que cuando este handler global se invoca el cursor está sobre + /// el área gráfica — no hace falta gating por coordenadas (que fallaba + /// al maximizar / en HiDPI). + fn on_wheel( + model: &Model, + delta: llimphi_ui::WheelDelta, + cursor: (f32, f32), + modifiers: llimphi_ui::Modifiers, + ) -> Option { + const STEP: f32 = 40.0; + if modifiers.ctrl { + Some(Msg::WheelPan(0.0, -delta.y * STEP)) + } else if modifiers.alt { + Some(Msg::WheelPan(-delta.y * STEP, 0.0)) + } else { + // Zoom: rueda hacia arriba (delta.y < 0) acerca. + let factor = if delta.y < 0.0 { 1.12 } else { 0.892 }; + // En astrocarto, el zoom va HACIA el cursor: ajusta el paneo + // para que el punto del mapa bajo el puntero quede fijo. Sólo + // ahí conocemos el rect del lienzo (lo dejó el `paint_with`). + // En el Cielo el lienzo es una cúpula radial centrada: basta + // ajustar el paneo para que el punto bajo el cursor quede fijo + // (no hace falta la escala base, sólo el centro del rect). + if matches!(model.chart_view, crate::model::ChartView::Cielo) { + if let Ok(guard) = model.carto_rect.lock() { + if let Some((rx, ry, rw, rh)) = *guard { + let z = model.wheel_zoom; + let z2 = (z * factor).clamp(0.25, 8.0); + let f = if z > 0.0 { z2 / z } else { 1.0 }; + let rcx = rx + rw * 0.5; + let rcy = ry + rh * 0.5; + let (cx, cy) = cursor; + let pan_x = (cx - rcx) * (1.0 - f) + model.wheel_pan.0 * f; + let pan_y = (cy - rcy) * (1.0 - f) + model.wheel_pan.1 * f; + return Some(Msg::WheelSetView(z2, pan_x, pan_y)); + } + } + return Some(Msg::WheelZoom(factor)); + } + if matches!(model.chart_view, crate::model::ChartView::Carto) { + if let Ok(guard) = model.carto_rect.lock() { + if let Some((rx, ry, rw, rh)) = *guard { + let base = (rw / 320.0).min(rh / 160.0); + let z = model.wheel_zoom; + let z2 = (z * factor).clamp(0.25, 8.0); + let s = base * z; + let s2 = base * z2; + if s > 0.0 && base > 0.0 { + let (cx, cy) = cursor; + let rcx = rx + rw * 0.5; + let rcy = ry + rh * 0.5; + let off_x = rcx - 320.0 * s / 2.0 + model.wheel_pan.0; + let off_y = rcy - 160.0 * s / 2.0 + model.wheel_pan.1; + let wx = (cx - off_x) / s; + let wy = (cy - off_y) / s; + let pan_x = cx - wx * s2 - rcx + 320.0 * s2 / 2.0; + let pan_y = cy - wy * s2 - rcy + 160.0 * s2 / 2.0; + return Some(Msg::WheelSetView(z2, pan_x, pan_y)); + } + } + } + } + Some(Msg::WheelZoom(factor)) + } + } +} + +fn main() { + rimay_localize::init(); + llimphi_ui::run::(); +} + +/// Proyecta un `DockItem` a un diente hospedado `(id, icono, etiqueta)` para +/// publicarlo en el rail de pata. El `id` codifica el `DockItem` (`to_u64`) y +/// vuelve tal cual en [`Msg::HostActivate`]. +fn dock_item_tooth(item: model::DockItem) -> pata_host::HostedTooth { + use model::{DockItem, ToolCat}; + let (icon, label): (&str, String) = match item { + DockItem::Arbol => ("folder", "Biblioteca".to_string()), + other => { + let tc = other.tool_cat().unwrap_or(ToolCat::Principal); + let icon = match tc { + ToolCat::Astronomia => "astro", + ToolCat::Sistema => "settings", + _ => "tools", + }; + (icon, tc.title().to_string()) + } + }; + pata_host::HostedTooth::new(item.to_u64() as u32, icon, label) +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/model.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/model.rs new file mode 100644 index 0000000..db89f79 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/model.rs @@ -0,0 +1,884 @@ +//! Modelo del shell, mensajes del bucle Elm y las taxonomías de +//! vistas/capas/menús. +//! +//! El shell es un IDE astronómico/astrológico: barra de menú principal +//! arriba, árbol de navegación a la izquierda (cartas + catálogo de +//! gráficas), pestañas en el área central (una por gráfica abierta) y +//! barra de estado abajo. Menús contextuales (click derecho) sobre la +//! rueda. Todo lo configurable vive en la vista `Configuración` y en el +//! menú `Capas`/`Armónico`. + +use std::collections::HashSet; + +use cosmos_engine::{Corpus, PipelineRequest}; +use cosmos_model::Chart; +use cosmos_render::RenderModel; +use cosmos_store::Store; +use llimphi_motion::Tween; +use llimphi_theme::Theme; +use llimphi_widget_text_input::TextInputState; +use serde::{Deserialize, Serialize}; + +use crate::astroview::AstroState; +use crate::library::NavNode; + +pub(crate) const WHEEL_SIZE: f32 = 720.0; +pub(crate) const NAV_WIDTH: f32 = 232.0; +pub(crate) const TOOLS_WIDTH: f32 = 360.0; +/// Rail de categorías del panel derecho (tabs verticales estilo Photoshop). +pub(crate) const TOOLS_RAIL_W: f32 = 40.0; +pub(crate) const MENU_BAR_H: f32 = 30.0; +pub(crate) const TAB_BAR_H: f32 = 30.0; +pub(crate) const STATUS_H: f32 = 22.0; +pub(crate) const HARMONICS: &[u32] = &[1, 4, 5, 7, 9]; +/// Límites de arrastre de los paneles laterales guardables. +pub(crate) const NAV_MIN: f32 = 160.0; +pub(crate) const NAV_MAX: f32 = 460.0; +pub(crate) const TOOLS_MIN: f32 = 240.0; +pub(crate) const TOOLS_MAX: f32 = 620.0; + +// ===================================================================== +// Tipo de gráfica del centro (switcheable) +// ===================================================================== + +/// Qué dibuja el panel central. El usuario alterna con un segmented en la +/// cabecera del centro. La rueda estándar es el default. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)] +#[serde(rename_all = "kebab-case")] +pub(crate) enum ChartView { + /// Rueda natal 2D clásica (zodíaco + casas + aspectos). + #[default] + Estandar, + /// Dial uraniano de 90° (Escuela de Hamburgo / Witte-Ebertin). + Uraniano, + /// Rueda armónica (Cochrane / Addey): longitudes × N mod 360. + Armonica, + /// Mapa equirectangular (Astrocartografía, Jim Lewis). + Carto, + /// Esfera celeste 3D (wireframe). + Esfera3d, + /// Cielo como lo ve el observador (alt/az). + Cielo, + /// Hoja imprimible: cabecera de la carta + tabla de aspectos en B/N, + /// con un botón para mandarla a imprimir (vía el navegador del SO). + Impresion, +} + +impl ChartView { + pub(crate) fn title(self) -> &'static str { + match self { + ChartView::Estandar => "Estándar", + ChartView::Uraniano => "Dial 90°", + ChartView::Armonica => "Armónica", + ChartView::Carto => "Astrocarto", + ChartView::Esfera3d => "3D", + ChartView::Cielo => "Cielo", + ChartView::Impresion => "Hoja", + } + } + + pub(crate) fn all() -> &'static [ChartView] { + &[ + ChartView::Estandar, + ChartView::Uraniano, + ChartView::Armonica, + ChartView::Carto, + ChartView::Esfera3d, + ChartView::Cielo, + ChartView::Impresion, + ] + } +} + +// ===================================================================== +// Dock — items acoplables que viven en el sidebar izquierdo o derecho +// ===================================================================== + +/// Lado del dock. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum DockSide { + Left, + Right, +} + +/// Un panel acoplable: el árbol de datos o una de las categorías de +/// herramientas. Cada uno es una pestaña (diente del rail) que puede +/// vivir en cualquiera de los dos sidebars y arrastrarse entre ellos. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "kebab-case")] +pub(crate) enum DockItem { + Arbol, + Principal, + Analisis, + Astronomia, + Sistema, +} + +impl DockItem { + /// El item de dock que corresponde a una categoría de herramientas. + pub(crate) fn from_tool_cat(tc: ToolCat) -> DockItem { + match tc { + ToolCat::Principal => DockItem::Principal, + ToolCat::Analisis => DockItem::Analisis, + ToolCat::Astronomia => DockItem::Astronomia, + ToolCat::Sistema => DockItem::Sistema, + } + } + + /// La categoría de herramientas asociada (None para el árbol). + pub(crate) fn tool_cat(self) -> Option { + match self { + DockItem::Arbol => None, + DockItem::Principal => Some(ToolCat::Principal), + DockItem::Analisis => Some(ToolCat::Analisis), + DockItem::Astronomia => Some(ToolCat::Astronomia), + DockItem::Sistema => Some(ToolCat::Sistema), + } + } + + pub(crate) fn to_u64(self) -> u64 { + match self { + DockItem::Arbol => 0, + DockItem::Principal => 1, + DockItem::Analisis => 2, + DockItem::Astronomia => 3, + DockItem::Sistema => 4, + } + } + + pub(crate) fn from_u64(v: u64) -> Option { + Some(match v { + 0 => DockItem::Arbol, + 1 => DockItem::Principal, + 2 => DockItem::Analisis, + 3 => DockItem::Astronomia, + 4 => DockItem::Sistema, + _ => return None, + }) + } +} + +/// Reparto por defecto: la biblioteca a la izquierda, las herramientas a +/// la derecha. +pub(crate) fn default_dock_left() -> Vec { + vec![DockItem::Arbol] +} +pub(crate) fn default_dock_right() -> Vec { + vec![ + DockItem::Principal, + DockItem::Analisis, + DockItem::Astronomia, + DockItem::Sistema, + ] +} + +/// Por debajo de este ancho de ventana los sidebars se colapsan a sólo el +/// rail (auto-colapso responsive). +pub(crate) const DOCK_COLLAPSE_W: f32 = 920.0; + +// ===================================================================== +// Categorías del panel de herramientas (derecha) +// ===================================================================== + +/// Cada categoría es un contenedor de paneles que se intercambia con las +/// tabs verticales. `Principal` es la más usada (aspectos + cuerpos) y el +/// default. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)] +#[serde(rename_all = "kebab-case")] +pub(crate) enum ToolCat { + /// Lo más usado: aspectos (geocéntrico + topocéntrico) y cuerpos. + #[default] + Principal, + /// Análisis astrológico avanzado (cualidades, uraniano, lotes…). + Analisis, + /// Lecturas astronómicas (cielo, orto/ocaso, mareas, eclipses…). + Astronomia, + /// Configuración del visor. + Sistema, +} + +impl ToolCat { + pub(crate) fn title(self) -> &'static str { + match self { + ToolCat::Principal => "Principal", + ToolCat::Analisis => "Análisis", + ToolCat::Astronomia => "Astronomía", + ToolCat::Sistema => "Sistema", + } + } + + pub(crate) fn all() -> &'static [ToolCat] { + &[ + ToolCat::Principal, + ToolCat::Analisis, + ToolCat::Astronomia, + ToolCat::Sistema, + ] + } + + /// Paneles que viven en esta categoría, en orden de aparición. + pub(crate) fn panels(self) -> &'static [ToolPanel] { + match self { + ToolCat::Principal => &[ + ToolPanel::Carta, + ToolPanel::Aspectos, + ToolPanel::Cuerpos, + ], + ToolCat::Analisis => &[ + ToolPanel::Cualidades, + ToolPanel::Uraniano, + ToolPanel::BoxGraph, + ToolPanel::Lotes, + ToolPanel::EstrellasFijas, + ToolPanel::PuntosMedios, + ToolPanel::Corpus, + ], + ToolCat::Astronomia => &[ + ToolPanel::Cielo, + ToolPanel::OrtoOcaso, + ToolPanel::Sundial, + ToolPanel::Mareas, + ToolPanel::Eclipses, + ToolPanel::Efemerides, + ], + ToolCat::Sistema => &[ToolPanel::Rectificador, ToolPanel::Configuracion], + } + } +} + +// ===================================================================== +// Paneles de herramientas (colapsables) del panel derecho +// ===================================================================== + +/// Cada panel es una sección colapsable (acordeón) dentro de una +/// categoría. `Aspectos` y `AspectosTopo` arrancan expandidos. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "kebab-case")] +pub(crate) enum ToolPanel { + Carta, + Aspectos, + AspectosTopo, + Cuerpos, + Cualidades, + Uraniano, + BoxGraph, + Lotes, + EstrellasFijas, + PuntosMedios, + Corpus, + Cielo, + OrtoOcaso, + Sundial, + Mareas, + Eclipses, + Efemerides, + Rectificador, + Configuracion, +} + +impl ToolPanel { + pub(crate) fn title(self) -> &'static str { + match self { + ToolPanel::Carta => "Datos de la carta", + ToolPanel::Aspectos => "Aspectos (geo · topo)", + ToolPanel::AspectosTopo => "Aspectos (geo · topo)", + ToolPanel::Cuerpos => "Cuerpos", + ToolPanel::Cualidades => "Cualidades", + ToolPanel::Uraniano => "Uraniano", + ToolPanel::BoxGraph => "Aspectario", + ToolPanel::Lotes => "Lotes", + ToolPanel::EstrellasFijas => "Estrellas fijas", + ToolPanel::PuntosMedios => "Puntos medios", + ToolPanel::Corpus => "Interpretación", + ToolPanel::Cielo => "Cielo (alt/az)", + ToolPanel::OrtoOcaso => "Orto y ocaso", + ToolPanel::Sundial => "Reloj de sol", + ToolPanel::Mareas => "Mareas", + ToolPanel::Eclipses => "Eclipses", + ToolPanel::Efemerides => "Efemérides", + ToolPanel::Rectificador => "Rectificador de hora", + ToolPanel::Configuracion => "Configuración", + } + } + + /// Paneles abiertos por defecto en una instalación nueva: los dos + /// primeros de cada categoría. El estado luego se recuerda por panel + /// (se persiste en cada toggle). + pub(crate) fn defaults_expanded() -> Vec { + ToolCat::all() + .iter() + .flat_map(|c| c.panels().iter().take(2).copied()) + .collect() + } +} + +/// Origen X de la primera entrada de menú (después del pill "cosmos"). +pub(crate) const MENU_X0: f32 = 84.0; +/// Ancho fijo de cada botón de la barra de menú — fija el anclaje del +/// dropdown sin medir el texto. +pub(crate) const MENU_BTN_W: f32 = 84.0; + +/// Viewport asumido para clamping de overlays. La ventana puede +/// redimensionarse; usamos el tamaño inicial como aproximación (el +/// trait `App` no expone resize). Suficiente para que el dropdown no se +/// salga por abajo/derecha en el tamaño por defecto. +pub(crate) const VIEWPORT: (f32, f32) = (1200.0, 860.0); + +// ===================================================================== +// Cartas abiertas (tabs del centro) — multi-carta +// ===================================================================== + +/// Una carta abierta como pestaña del centro. Guarda la carta completa +/// para poder alternar sin volver al store (y soporta cartas «scratch» +/// sin id). `render`/`astro` se recomputan al activar la pestaña. +#[derive(Debug, Clone)] +pub(crate) struct OpenTab { + /// Id de la carta en el store (`None` = scratch / ejemplo no guardado). + pub(crate) id: Option, + pub(crate) chart: Chart, + /// Render cacheado de esta carta — permite pintar varias en mosaico + /// sin recomputar por frame. Se recomputa al cambiar capas/armónico. + pub(crate) render: RenderModel, +} + +impl OpenTab { + pub(crate) fn label(&self) -> &str { + &self.chart.label + } +} + +// ===================================================================== +// Capas (overlays) que se superponen a la carta natal +// ===================================================================== + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub(crate) enum OverlayKind { + Transit, + Progression, + SolarArc, + Uranian, + Lots, + FixedStars, + Midpoints, + /// Capa ascensional/topocéntrica: planetas en coordenadas del lugar. + /// Activa por default — habilita la tabla de aspectos topocéntricos. + Topocentric, +} + +impl OverlayKind { + pub(crate) fn all() -> &'static [OverlayKind] { + &[ + OverlayKind::Transit, + OverlayKind::Progression, + OverlayKind::SolarArc, + OverlayKind::Uranian, + OverlayKind::Lots, + OverlayKind::FixedStars, + OverlayKind::Midpoints, + OverlayKind::Topocentric, + ] + } + + /// Nombre legible en español para el menú `Capas` y la vista de + /// configuración. (Los keys fluent siguen en `cosmos-overlay-*` pero + /// el chrome nuevo usa literales para no acoplar a la i18n.) + pub(crate) fn nombre(self) -> &'static str { + match self { + OverlayKind::Transit => "Tránsitos", + OverlayKind::Progression => "Progresiones", + OverlayKind::SolarArc => "Arco solar", + OverlayKind::Uranian => "Uraniano", + OverlayKind::Lots => "Lotes", + OverlayKind::FixedStars => "Estrellas fijas", + OverlayKind::Midpoints => "Puntos medios", + OverlayKind::Topocentric => "Topocéntrico", + } + } + + pub(crate) fn to_request(self, target_age: f64) -> PipelineRequest { + match self { + OverlayKind::Transit => PipelineRequest::Transit, + OverlayKind::Progression => PipelineRequest::SecondaryProgression { + target_age_years: target_age, + }, + OverlayKind::SolarArc => PipelineRequest::SolarArc { + target_age_years: target_age, + }, + OverlayKind::Uranian => PipelineRequest::Uranian, + OverlayKind::Lots => PipelineRequest::Lots, + OverlayKind::FixedStars => PipelineRequest::FixedStars, + OverlayKind::Midpoints => PipelineRequest::Midpoints, + OverlayKind::Topocentric => PipelineRequest::Topocentric, + } + } +} + +// ===================================================================== +// Menú principal y opciones configurables +// ===================================================================== + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum MenuKind { + Archivo, + Editar, + Vista, + Capas, + Armonico, + Ayuda, +} + +impl MenuKind { + pub(crate) fn label(self) -> &'static str { + match self { + MenuKind::Archivo => "Archivo", + MenuKind::Editar => "Editar", + MenuKind::Vista => "Vista", + MenuKind::Capas => "Capas", + MenuKind::Armonico => "Armónico", + MenuKind::Ayuda => "Ayuda", + } + } + + pub(crate) fn order() -> &'static [MenuKind] { + &[ + MenuKind::Archivo, + MenuKind::Editar, + MenuKind::Vista, + MenuKind::Capas, + MenuKind::Armonico, + MenuKind::Ayuda, + ] + } + + /// X de anclaje del dropdown bajo el botón de la barra. + pub(crate) fn anchor_x(self) -> f32 { + let idx = Self::order().iter().position(|m| *m == self).unwrap_or(0); + MENU_X0 + idx as f32 * MENU_BTN_W + } +} + + +/// Opción booleana del wheel — togglada desde el menú contextual y la +/// vista de configuración. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub(crate) enum WheelOpt { + MinorAspects, + CoordLabels, + Dial3d, + AscCross, +} + +/// Configuración persistente del visor: tema, opciones del wheel, +/// instante de cómputo astronómico. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub(crate) struct CosmosConfig { + pub(crate) theme_dark: bool, + /// Modo impresión: tema blanco y negro de alto contraste. Cuando está + /// activo prevalece sobre `theme_dark` (que sólo recuerda la base + /// claro/oscuro a la que volver). `#[serde(default)]` para no romper + /// configs viejas que no lo traían. + #[serde(default)] + pub(crate) print_mode: bool, + pub(crate) minor_aspects: bool, + pub(crate) coord_labels: bool, + pub(crate) dial_3d: bool, + pub(crate) asc_cross: bool, + pub(crate) rot_offset_deg: f32, + /// `true` = las gráficas astronómicas usan el instante actual; + /// `false` = usan el instante de la carta cargada. + pub(crate) use_now: bool, +} + +impl Default for CosmosConfig { + fn default() -> Self { + Self { + theme_dark: true, + print_mode: false, + minor_aspects: false, + coord_labels: true, + dial_3d: true, + asc_cross: true, + rot_offset_deg: 0.0, + use_now: false, + } + } +} + +impl CosmosConfig { + /// Índice del segmented de tema: 0 = Oscuro, 1 = Claro, 2 = Impresión. + pub(crate) fn theme_idx(&self) -> usize { + if self.print_mode { + 2 + } else if self.theme_dark { + 0 + } else { + 1 + } + } + + /// Aplica una selección del segmented de tema (0/1/2). Impresión + /// preserva la base claro/oscuro para poder volver a ella. + pub(crate) fn set_theme_idx(&mut self, idx: usize) { + match idx { + 2 => self.print_mode = true, + 1 => { + self.print_mode = false; + self.theme_dark = false; + } + _ => { + self.print_mode = false; + self.theme_dark = true; + } + } + } + + /// El `Theme` activo según el modo. Impresión gana sobre claro/oscuro. + pub(crate) fn active_theme(&self) -> llimphi_theme::Theme { + if self.print_mode { + llimphi_theme::Theme::print() + } else if self.theme_dark { + llimphi_theme::Theme::dark() + } else { + llimphi_theme::Theme::light() + } + } +} + +// ===================================================================== +// Mensajes del bucle Elm +// ===================================================================== + +#[derive(Clone)] +pub(crate) enum Msg { + WawaConfigChanged(Box), + // multi-carta (tabs del centro) + ActivateChartTab(usize), + CloseChartTab(usize), + /// Alterna entre vista de pestañas y mosaico (cartas lado a lado). + ToggleTileMode, + /// Rota la esfera 3D por pasos (Δyaw, Δpitch) desde los botones. + SphereRotate(f32, f32), + /// Resetea la orientación de la esfera 3D. + SphereReset, + /// Paneo del lienzo de la rueda (Δx, Δy en píxeles de pantalla) — + /// emitido por el drag y por la rueda del ratón. + WheelPan(f32, f32), + /// Multiplica el zoom del lienzo de la rueda por el factor dado. + WheelZoom(f32), + /// Restaura zoom 1× y paneo 0 (encuadre). + WheelResetView, + /// Fija zoom y paneo del lienzo de una (para zoom hacia el cursor): + /// (zoom, pan_x, pan_y). + WheelSetView(f32, f32, f32), + /// Alterna la cúpula del Cielo entre cénit y nadir. + ToggleSkyNadir, + /// Cambió el tamaño de la ventana (ancho, alto en px lógicos). + Resized(f32, f32), + /// Desplaza el contenedor de paneles (derecha) en `delta` px. + ToolsScroll(f32), + /// Expande/colapsa un nodo (grupo o contacto) del árbol de datos. + ToggleNavNode(String), + /// Selecciona un nodo del árbol; carta→carga, contenedor→toggle. + NavClick(String), + // CRUD del árbol de datos (cosmos-store) + NewGroup, + DeleteSelected, + /// Marca el nodo seleccionado para mover (cortar). + CutNode, + /// Mueve el nodo cortado bajo el seleccionado (pegar). + PasteNode, + RenameStart, + RenameKey(llimphi_ui::KeyEvent), + RenameCommit, + RenameCancel, + /// `cosmos-chart.json` cambió en disco — recargar. + ChartFileChanged, + SelectBody(Option), + // capas / armónico / configuración + ToggleOverlay(OverlayKind), + SetHarmonic(u32), + /// Elige el modo de tema: 0 = Oscuro, 1 = Claro, 2 = Impresión. + SetThemeMode(usize), + /// Genera la hoja imprimible (cabecera + aspectos) y la abre en el + /// navegador del sistema para usar su diálogo de impresión. + PrintSheet, + ToggleWheelOpt(WheelOpt), + SetRotOffset(f32), + SetUseNow(bool), + // menú principal + OpenMenu(MenuKind), + MenuPick(MenuKind, usize), + /// Navegación de teclado en el dropdown del menú principal (±1 fila, + /// salta separadores y deshabilitados). + MenuNav(i32), + /// Enter sobre la fila activa del menú principal. + MenuActivate, + /// Tick de re-render para la animación de aparición del dropdown. + MenuTick, + CloseMenu, + // menú contextual sobre la rueda + OpenCanvasCtx(f32, f32), + CtxPick(usize), + CloseCtx, + // menú contextual sobre una fila del árbol de datos + OpenNavCtx(String), + NavCtxPick(usize), + /// Desplaza el árbol de datos (izquierda) en `delta` px. + NavScroll(f32), + // rectificador de hora + /// Corre el jog de la hora en `delta` minutos (puede ser negativo). + RectifyNudge(i64), + /// Restaura el jog a 0. + RectifyResetOffset, + /// Agrega un evento conocido (edad por defecto). + RectifyAddEvent, + /// Cambia la edad del evento `idx` en `delta` años. + RectifyEventDelta(usize, f64), + /// Quita el evento `idx`. + RectifyRemoveEvent(usize), + /// Corre el barrido de rectificación con los eventos cargados. + RectifyRun, + /// Aplica el mejor offset hallado a la hora de nacimiento de la carta. + RectifyApply, + /// Elige la clave arco↔año (`true` = Naibod, `false` = Ptolomeo). + RectifySetKey(bool), + /// Cambia la edad de inspección de triggers en `delta` años. + RectifyAgeDelta(f64), + /// Recalcula los triggers GR a la edad de inspección. + RectifyTriggers, + // diálogos modales (crear contacto / crear carta) + OpenNewContactDialog, + OpenNewChartDialog, + DialogFocus(crate::dialog::DialogField), + DialogKey(llimphi_ui::KeyEvent), + DialogPickCity(usize), + DialogConfirm, + DialogCancel, + // layout guardable (paneles laterales tipo móvil) + SetNavWidth(f32), + SetToolsWidth(f32), + PersistLayout, + // panel de herramientas (derecha) + ToggleToolPanel(ToolPanel), + // dock: activar una pestaña de un sidebar / moverla de lado (drop) + DockActivate(DockSide, DockItem), + DockDrop(DockSide, u64), + /// Rail hospedado (modo delegado): pata reenvió un clic en un diente que + /// cosmos le prestó. El `u32` es el `DockItem` codificado (`DockItem::to_u64`). + HostActivate(u32), + // tipo de gráfica del centro + SetChartView(ChartView), + /// Resultado del cómputo astronómico PESADO (orto/ocaso/efemérides), + /// hecho en un worker en vez de bloquear el hilo de UI. `u64` es la + /// generación: `update` descarta resultados viejos si entretanto se pidió + /// otro recálculo. `Arc` evita que `Msg: Clone` copie el `AstroState`. + AstroComputed(u64, std::sync::Arc), +} + +// ===================================================================== +// Modelo +// ===================================================================== + +pub(crate) struct Model { + pub(crate) chart: Chart, + pub(crate) overlays: Vec, + pub(crate) harmonic: u32, + pub(crate) render: RenderModel, + /// Lecturas astronómicas cacheadas (alt/az, sundial, mareas, orto/ocaso, + /// eclipses). `None` mientras el worker las calcula —la UI pinta + /// "calculando…" en vez de bloquearse—. El cómputo (caro: 144 muestras × + /// 10 cuerpos) corre SIEMPRE fuera del hilo de UI. + pub(crate) astro: Option, + /// `astro` está sucio y hay que recalcularlo. Lo marca `recompute_astro` + /// dentro de `update`; el despacho al worker ocurre al final de `update` + /// (que tiene el Handle). La generación evita que un resultado tardío pise + /// a uno más nuevo. + pub(crate) astro_dirty: bool, + pub(crate) astro_gen: u64, + pub(crate) corpus: Corpus, + pub(crate) cfg: CosmosConfig, + pub(crate) theme: Theme, + pub(crate) error: Option, + /// Nota efímera en la barra de estado (confirmaciones, "acerca de"). + pub(crate) status_note: Option, + // multi-carta (tabs del centro) + pub(crate) open: Vec, + pub(crate) active_tab: usize, + /// `true` = mosaico (todas las cartas lado a lado); `false` = pestañas. + pub(crate) tile_mode: bool, + pub(crate) selected_card: Option, + pub(crate) selected_body: Option, + // árbol de datos (cosmos-store) + pub(crate) store: Option, + pub(crate) nav_nodes: Vec, + pub(crate) nav_expanded: HashSet, + /// Nodo seleccionado en el árbol (clave de [`NavNode`]). + pub(crate) nav_selected: Option, + /// Clave del nodo en edición de nombre (`None` = no se renombra). + pub(crate) nav_rename: Option, + pub(crate) rename_input: TextInputState, + /// Clave del nodo cortado, pendiente de pegar (mover). + pub(crate) nav_cut: Option, + // esfera 3D (orientación) + pub(crate) sphere_yaw: f32, + pub(crate) sphere_pitch: f32, + // Cielo del observador (vista alt/az) + /// `false` = cénit al centro (cielo visible); `true` = nadir al + /// centro (el hemisferio bajo el horizonte). + pub(crate) sky_nadir: bool, + // rueda 2D: zoom + paneo del lienzo (transitorio, no se persiste) + pub(crate) wheel_zoom: f32, + pub(crate) wheel_pan: (f32, f32), + /// Rect (x, y, w, h en px de ventana) del último lienzo de + /// astrocarto pintado. Lo escribe el `paint_with` y lo lee + /// `on_wheel` para hacer zoom hacia la posición del cursor (el + /// `update` no conoce el layout computado; el paint sí). + pub(crate) carto_rect: std::sync::Arc>>, + /// Tamaño actual de la ventana (px lógicos). Para gating de la rueda + /// y el alto del scroll de paneles. Arranca en [`VIEWPORT`]. + pub(crate) viewport: (f32, f32), + /// Desplazamiento vertical del contenedor de paneles (derecha). + pub(crate) tools_scroll: f32, + // layout guardable (3 zonas resizables) + pub(crate) nav_w: f32, + pub(crate) tools_w: f32, + pub(crate) nav_open: bool, + pub(crate) tools_open: bool, + // centro + herramientas + pub(crate) chart_view: ChartView, + pub(crate) tool_cat: ToolCat, + pub(crate) expanded_panels: Vec, + // dock: qué paneles viven en cada sidebar + cuál está activo + pub(crate) dock_left: Vec, + pub(crate) dock_right: Vec, + pub(crate) active_left: Option, + pub(crate) active_right: Option, + /// En modo colapsado (ventana angosta), qué sidebar está desplegado + /// temporalmente (al hacer clic en un diente). `None` = ambos a rail. + pub(crate) dock_expanded: Option, + // chrome + pub(crate) menu_open: Option, + /// Fila activa (resaltada por teclado) del dropdown del menú principal. + pub(crate) menu_active: usize, + /// Animación de aparición/swap del dropdown del menú principal (0→1). + pub(crate) menu_anim: Tween, + pub(crate) ctx_open: Option<(f32, f32)>, + /// Menú contextual de una fila del árbol: clave del nodo (el ancla se + /// calcula en `overlay_view` desde su índice visible). + pub(crate) nav_ctx: Option, + /// Desplazamiento vertical del árbol de datos (izquierda). + pub(crate) nav_scroll: f32, + // rectificador de hora (direcciones primarias) + /// Jog de la hora de nacimiento en minutos (no toca la carta guardada + /// hasta «Aplicar»). Mueve ángulos/casas en vivo. + pub(crate) rectify_offset_min: i64, + /// Eventos conocidos (edades en años) que anclan la rectificación. + pub(crate) rectify_events: Vec, + /// Resultado del último barrido de rectificación. + pub(crate) rectify_result: Option, + /// Clave arco↔año: `true` = Naibod (default), `false` = Ptolomeo. + pub(crate) rectify_naibod: bool, + /// Edad (años) a la que inspeccionar los triggers GR. + pub(crate) rectify_age: f64, + /// Triggers GR (contactos directo/converso) calculados a `rectify_age`. + pub(crate) rectify_triggers: Vec, + /// Diálogo modal abierto (crear contacto / crear carta), si lo hay. + pub(crate) dialog: Option, + /// Campo del diálogo que tiene el foco de teclado. + pub(crate) dialog_field: crate::dialog::DialogField, + /// Buffer de edición del campo enfocado del diálogo. + pub(crate) dialog_input: TextInputState, + // rail hospedado (sidebar delegado a pata) + /// `true` si cosmos delega su sidebar al marco pata: no pinta sus propios + /// rails (queda puro canvas) y sus dientes aparecen en el rail de pata + /// cuando cosmos tiene foco. Lo enciende `COSMOS_DELEGATE_SIDEBAR`. + pub(crate) delegated: bool, + /// Cliente del rail hospedado (mantiene viva la conexión a pata + el hilo + /// que recibe las activaciones). `None` si no se delega o pata no escucha. + /// Sólo se retiene (las activaciones llegan por callback); `_` evita el lint. + pub(crate) _host: Option, + // watchers + pub(crate) _wawa_watcher: Option, + pub(crate) _chart_watcher: Option, +} + +impl Model { + /// Etiqueta de la carta activa (para la barra de estado). + pub(crate) fn active_label(&self) -> &str { + self.open + .get(self.active_tab) + .map(|t| t.label()) + .unwrap_or("—") + } + + pub(crate) fn toggle_nav(&mut self, key: String) { + if !self.nav_expanded.remove(&key) { + self.nav_expanded.insert(key); + } + } + + /// El nodo actualmente seleccionado en el árbol, si existe. + pub(crate) fn selected_node(&self) -> Option<&NavNode> { + let key = self.nav_selected.as_deref()?; + self.nav_nodes.iter().find(|n| n.key == key) + } + + /// Busca un nodo por su clave. + pub(crate) fn node(&self, key: &str) -> Option<&NavNode> { + self.nav_nodes.iter().find(|n| n.key == key) + } + + pub(crate) fn panel_expanded(&self, p: ToolPanel) -> bool { + self.expanded_panels.contains(&p) + } + + pub(crate) fn toggle_panel(&mut self, p: ToolPanel) { + if let Some(i) = self.expanded_panels.iter().position(|x| *x == p) { + self.expanded_panels.remove(i); + } else { + self.expanded_panels.push(p); + } + } + + /// Pestaña activa de un sidebar (con fallback a la primera del lado). + pub(crate) fn dock_active(&self, side: DockSide) -> Option { + let (items, active) = match side { + DockSide::Left => (&self.dock_left, self.active_left), + DockSide::Right => (&self.dock_right, self.active_right), + }; + active + .filter(|a| items.contains(a)) + .or_else(|| items.first().copied()) + } + + /// Mueve `item` al `side` indicado (lo saca del otro), y lo activa. + /// Mantiene cada lado en orden canónico (Biblioteca, Principal, + /// Análisis, Astronomía, Sistema) — Principal primero, Sistema último. + pub(crate) fn dock_move(&mut self, item: DockItem, side: DockSide) { + self.dock_left.retain(|x| *x != item); + self.dock_right.retain(|x| *x != item); + match side { + DockSide::Left => { + self.dock_left.push(item); + self.dock_left.sort_by_key(|i| i.to_u64()); + self.active_left = Some(item); + } + DockSide::Right => { + self.dock_right.push(item); + self.dock_right.sort_by_key(|i| i.to_u64()); + self.active_right = Some(item); + } + } + } + + pub(crate) fn nudge_nav(&mut self, dx: f32) { + self.nav_w = (self.nav_w + dx).clamp(NAV_MIN, NAV_MAX); + } + + /// El divisor entre centro y herramientas: arrastrar a la derecha + /// (dx>0) achica el panel de herramientas. + pub(crate) fn nudge_tools(&mut self, dx: f32) { + self.tools_w = (self.tools_w - dx).clamp(TOOLS_MIN, TOOLS_MAX); + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/persist.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/persist.rs new file mode 100644 index 0000000..61a2c0a --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/persist.rs @@ -0,0 +1,290 @@ +//! Persistencia en disco: estado de UI (`cosmos-ui.json`), carta cargada +//! (`cosmos-chart.json`) con su watcher, y la librería multi-archivo de +//! cartas en el subdirectorio `cosmos-charts/`. + +use std::path::PathBuf; + +use cosmos_model::{Chart, ChartId, ChartKind, ContactId, StoredBirthData, StoredChartConfig}; +use llimphi_ui::Handle; +use serde::{Deserialize, Serialize}; + +use crate::model::{ + ChartView, CosmosConfig, Msg, OverlayKind, ToolCat, ToolPanel, NAV_WIDTH, TOOLS_WIDTH, +}; + +/// Subdirectorio dentro del config dir donde viven las cartas guardadas +/// como archivos individuales `.json`. El usuario lo gestiona +/// con su file manager — la app solo lista, lee y escribe. +const CHARTS_SUBDIR: &str = "cosmos-charts"; + +/// Nombre del archivo JSON donde persiste el estado de la UI (orden de +/// tiles + overlays activos + armónico). Vive en el config dir de wawa +/// para no acoplar a un dirs propio por app — un solo árbol de config. +const UI_STATE_FILE: &str = "cosmos-ui.json"; + +/// Nombre del archivo JSON donde persiste la carta cargada. El usuario +/// edita ESTE archivo con su editor para cambiar fecha/lat/long/label; +/// la app reacciona vía watcher (mismo patrón que wawa-config). Sin +/// form de UI hasta que llegue la fase de store de cartas. +const CHART_FILE: &str = "cosmos-chart.json"; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub(crate) struct UiState { + #[serde(default = "default_overlays")] + pub(crate) overlays: Vec, + #[serde(default = "default_harmonic")] + pub(crate) harmonic: u32, + #[serde(default)] + pub(crate) cfg: CosmosConfig, + // layout guardable (paneles laterales tipo móvil) + #[serde(default = "default_nav_w")] + pub(crate) nav_w: f32, + #[serde(default = "default_tools_w")] + pub(crate) tools_w: f32, + #[serde(default = "default_true")] + pub(crate) nav_open: bool, + #[serde(default = "default_true")] + pub(crate) tools_open: bool, + #[serde(default)] + pub(crate) chart_view: ChartView, + #[serde(default)] + pub(crate) tool_cat: ToolCat, + #[serde(default = "ToolPanel::defaults_expanded")] + pub(crate) expanded_panels: Vec, + #[serde(default)] + pub(crate) tile_mode: bool, + // dock (reparto de paneles por sidebar) + #[serde(default = "crate::model::default_dock_left")] + pub(crate) dock_left: Vec, + #[serde(default = "crate::model::default_dock_right")] + pub(crate) dock_right: Vec, + #[serde(default = "default_yaw")] + pub(crate) sphere_yaw: f32, + #[serde(default = "default_pitch")] + pub(crate) sphere_pitch: f32, + /// Cielo: `false` = mira al cénit (cielo visible), `true` = mira al + /// nadir (el hemisferio bajo el horizonte). + #[serde(default)] + pub(crate) sky_nadir: bool, +} + +fn default_harmonic() -> u32 { + 1 +} + +fn default_yaw() -> f32 { + 26.0 +} + +fn default_pitch() -> f32 { + -64.0 +} + +/// Topocéntrico activo por default — habilita la tabla de aspectos +/// topocéntricos que el usuario quiere ver de entrada. +fn default_overlays() -> Vec { + vec![OverlayKind::Topocentric] +} + +fn default_nav_w() -> f32 { + NAV_WIDTH +} + +fn default_tools_w() -> f32 { + TOOLS_WIDTH +} + +fn default_true() -> bool { + true +} + +impl Default for UiState { + fn default() -> Self { + Self { + overlays: default_overlays(), + harmonic: 1, + cfg: CosmosConfig::default(), + nav_w: NAV_WIDTH, + tools_w: TOOLS_WIDTH, + nav_open: true, + tools_open: true, + chart_view: ChartView::default(), + tool_cat: ToolCat::default(), + expanded_panels: ToolPanel::defaults_expanded(), + tile_mode: false, + dock_left: crate::model::default_dock_left(), + dock_right: crate::model::default_dock_right(), + sphere_yaw: default_yaw(), + sphere_pitch: default_pitch(), + sky_nadir: false, + } + } +} + +fn ui_state_path() -> Option { + wawa_config::config_dir().map(|d| d.join(UI_STATE_FILE)) +} + +pub(crate) fn chart_path() -> Option { + wawa_config::config_dir().map(|d| d.join(CHART_FILE)) +} + +/// Forma serializada minimal de un Chart natal. Pierde `id`/`contact_id` +/// (se regeneran al cargar) y `created_at_ms` — son metadata interna que +/// no aporta al usuario que edita el JSON a mano. +#[derive(Debug, Clone, Serialize, Deserialize)] +struct ChartFile { + label: String, + birth_data: StoredBirthData, + #[serde(default)] + config: StoredChartConfig, +} + +impl From<&Chart> for ChartFile { + fn from(c: &Chart) -> Self { + Self { + label: c.label.clone(), + birth_data: c.birth_data.clone(), + config: c.config.clone(), + } + } +} + +impl ChartFile { + fn into_chart(self) -> Chart { + Chart { + id: ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: self.label, + birth_data: self.birth_data, + config: self.config, + related_chart_id: None, + created_at_ms: 0, + } + } +} + +pub(crate) fn load_chart_from_disk() -> Option { + let path = chart_path()?; + let bytes = std::fs::read(&path).ok()?; + let f: ChartFile = serde_json::from_slice(&bytes) + .map_err(|e| eprintln!("cosmos · chart-file: no se pudo parsear {path:?}: {e}")) + .ok()?; + Some(f.into_chart()) +} + +/// Arranca un watcher sobre `cosmos-chart.json` que dispara +/// `Msg::ChartFileChanged` al detectar `Modify`/`Create` en el archivo. +/// Devuelve `None` si no hay config dir disponible o si notify falla — +/// la app sigue funcionando sin hot-reload, solo no reaccionará a edits +/// externos hasta el próximo arranque. +pub(crate) fn spawn_chart_watcher(handle: &Handle) -> Option { + let path = chart_path()?; + // Asegurá que el dir existe y el archivo está sembrado antes de + // watchearlo — notify exige que el path exista al `watch`. + if let Some(parent) = path.parent() { + let _ = std::fs::create_dir_all(parent); + } + if !path.exists() { + // Sembrado lazy: si nunca pasó por init(), no hay archivo. Lo + // creamos vacío para que el watcher tenga algo que mirar; init + // lo sobreescribirá con el sample al arrancar. + let _ = std::fs::write(&path, b"{}"); + } + let h = handle.clone(); + wawa_config::watch_path(&path, move |ev: notify::Event| { + use notify::EventKind; + if matches!( + ev.kind, + EventKind::Modify(_) | EventKind::Create(_) + ) { + h.dispatch(Msg::ChartFileChanged); + } + }) + .map_err(|e| eprintln!("cosmos · chart-watcher: {e}")) + .ok() +} + +// ===================================================================== +// Store de cartas (multi-archivo) +// ===================================================================== + +pub(crate) fn charts_dir() -> Option { + wawa_config::config_dir().map(|d| d.join(CHARTS_SUBDIR)) +} + +/// Lista los nombres de las cartas guardadas (sin `.json`), ordenados +/// alfabéticamente. Lee el directorio en cada call — barato porque son +/// pocos archivos y la app no es hot-path. +pub(crate) fn list_cards() -> Vec { + let Some(dir) = charts_dir() else { + return Vec::new(); + }; + let mut out = Vec::new(); + if let Ok(entries) = std::fs::read_dir(&dir) { + for e in entries.flatten() { + let p = e.path(); + if p.extension().and_then(|s| s.to_str()) == Some("json") { + if let Some(stem) = p.file_stem().and_then(|s| s.to_str()) { + out.push(stem.to_string()); + } + } + } + } + out.sort(); + out +} + +pub(crate) fn load_card(name: &str) -> Option { + let path = charts_dir()?.join(format!("{name}.json")); + let bytes = std::fs::read(&path).ok()?; + serde_json::from_slice::(&bytes) + .map_err(|e| eprintln!("cosmos · load_card({name}): {e}")) + .ok() + .map(|f| f.into_chart()) +} + +/// Elimina el archivo de una carta de la biblioteca. No toca la carta +/// cargada (`cosmos-chart.json`). +pub(crate) fn save_chart_to_disk(chart: &Chart) { + let Some(path) = chart_path() else { return }; + if let Some(parent) = path.parent() { + let _ = std::fs::create_dir_all(parent); + } + let f: ChartFile = chart.into(); + if let Ok(json) = serde_json::to_vec_pretty(&f) { + if let Err(e) = std::fs::write(&path, json) { + eprintln!("cosmos · chart-file: write fallido {path:?}: {e}"); + } + } +} + +pub(crate) fn load_ui_state() -> UiState { + let Some(path) = ui_state_path() else { + return UiState::default(); + }; + let Ok(bytes) = std::fs::read(&path) else { + return UiState::default(); + }; + match serde_json::from_slice::(&bytes) { + Ok(s) => s, + Err(e) => { + eprintln!("cosmos · ui-state: no se pudo parsear {path:?}: {e}"); + UiState::default() + } + } +} + +pub(crate) fn save_ui_state(s: &UiState) { + let Some(path) = ui_state_path() else { return }; + if let Some(parent) = path.parent() { + let _ = std::fs::create_dir_all(parent); + } + let Ok(json) = serde_json::to_vec_pretty(s) else { + return; + }; + if let Err(e) = std::fs::write(&path, json) { + eprintln!("cosmos · ui-state: write fallido {path:?}: {e}"); + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/print.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/print.rs new file mode 100644 index 0000000..a765a86 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/print.rs @@ -0,0 +1,248 @@ +//! Hoja imprimible con **fidelidad gráfica**: rasteriza el MISMO árbol de +//! `View` que se ve en pantalla (rueda + cabecera + aspectos) a un PNG de +//! alta resolución, reutilizando la tubería vello+wgpu de Llimphi, y lo +//! abre en el visor de imágenes del sistema para imprimir. +//! +//! **Por qué render real y no HTML.** El HTML reconstruía la carta con +//! tipografía del navegador — perdía la fidelidad del motor (glyphs +//! vectoriales propios, layout exacto, la rueda). Acá montamos el `View`, +//! lo pintamos a una `vello::Scene` y lo escalamos ×N sobre una textura +//! offscreen: lo impreso es pixel-fiel a lo que pinta la app, a cualquier +//! DPI (los vectores no pixelan al ampliar). +//! +//! El render abre una segunda instancia headless de wgpu (`Hal::new(None)`) +//! para no tocar el device de la ventana — cuesta ~1 s de cold-start de +//! shaders, aceptable para una acción manual de "imprimir". + +use std::path::PathBuf; +use std::process::Command; + +use llimphi_ui::llimphi_hal::{wgpu, Hal}; +use llimphi_ui::llimphi_layout::{taffy, LayoutTree}; +use llimphi_ui::llimphi_raster::kurbo::Affine; +use llimphi_ui::llimphi_raster::peniko::Color; +use llimphi_ui::llimphi_raster::{vello, Renderer}; +use llimphi_ui::llimphi_text::Typesetter; +use llimphi_ui::{measure_text_node, mount, paint}; + +use crate::model::Model; + +/// Ancho lógico de la hoja (debe coincidir con `chrome::PRINT_SHEET_W` + +/// padding del contenedor). Damos un poco de aire a los lados. +const SHEET_LOGICAL_W: f32 = 616.0; +/// Factor de escala del render — vectores, así que sube el DPI sin pixelar. +const SCALE: f32 = 2.5; +/// Límite de lado de textura (los GPUs suelen topar en 8192/16384). +const MAX_PX: u32 = 8192; + +/// Arma la hoja, la rasteriza a PNG de alta resolución y la abre en el +/// visor del sistema. Devuelve la ruta escrita o un mensaje de error. +pub(crate) fn imprimir_carta(model: &Model) -> Result { + let view = crate::chrome::print_page_content(model); + let png = render_view_to_png(view, SHEET_LOGICAL_W, SCALE)?; + let path = std::env::temp_dir().join("cosmos-hoja.png"); + std::fs::write(&path, &png).map_err(|e| format!("no se pudo escribir {path:?}: {e}"))?; + abrir(&path)?; + Ok(path) +} + +/// Monta un `View`, lo pinta a una escena vello y la rasteriza a un PNG +/// (RGBA8) ampliada ×`scale` sobre una textura offscreen. +fn render_view_to_png( + view: llimphi_ui::View, + logical_w: f32, + scale: f32, +) -> Result, String> { + // GPU headless (sin surface) + rasterizador + tipografía. + let hal = pollster::block_on(Hal::new(None)).map_err(|e| format!("gpu init: {e}"))?; + let mut renderer = Renderer::new(&hal).map_err(|e| e.to_string())?; + let mut ts = Typesetter::new(); + + // Mount + layout. Alto disponible enorme → el alto real lo fija el + // contenido (la hoja es `height: auto`). + let mut layout = LayoutTree::new(); + let mounted = mount(&mut layout, view); + let computed = { + let tmap = &mounted.text_measures; + layout + .compute_with_measure(mounted.root, (logical_w, 100_000.0), |nid, known, avail| { + match tmap.get(&nid) { + Some(tm) => measure_text_node(&mut ts, tm, known, avail), + None => taffy::Size::ZERO, + } + }) + .map_err(|e| format!("layout: {e}"))? + }; + // Tamaño real de la hoja según el layout (ancho fijo, alto por + // contenido) — el PNG queda justo, sin márgenes muertos. + let root = computed.get(mounted.root).ok_or("sin layout de raíz")?; + let logical_w_real = root.w.max(1.0); + let logical_h = root.h.max(1.0); + + // Pintar a coords lógicas, luego escalar la escena entera ×scale. + let mut inner = vello::Scene::new(); + paint(&mut inner, &mounted, &computed, &mut ts, None, None); + let mut scene = vello::Scene::new(); + scene.append(&inner, Some(Affine::scale(scale as f64))); + + let w_px = ((logical_w_real * scale).ceil() as u32).clamp(1, MAX_PX); + let h_px = ((logical_h * scale).ceil() as u32).clamp(1, MAX_PX); + + // Textura offscreen (mismas usages que el gpu-bench: vello escribe por + // STORAGE_BINDING, leemos por COPY_SRC). + let tex = hal.device.create_texture(&wgpu::TextureDescriptor { + label: Some("cosmos-print-target"), + size: wgpu::Extent3d { + width: w_px, + height: h_px, + depth_or_array_layers: 1, + }, + mip_level_count: 1, + sample_count: 1, + dimension: wgpu::TextureDimension::D2, + format: wgpu::TextureFormat::Rgba8Unorm, + usage: wgpu::TextureUsages::RENDER_ATTACHMENT + | wgpu::TextureUsages::STORAGE_BINDING + | wgpu::TextureUsages::TEXTURE_BINDING + | wgpu::TextureUsages::COPY_SRC, + view_formats: &[], + }); + let tview = tex.create_view(&wgpu::TextureViewDescriptor::default()); + renderer + .render_to_view(&hal, &scene, &tview, w_px, h_px, Color::from_rgba8(255, 255, 255, 255)) + .map_err(|e| e.to_string())?; + + leer_textura_png(&hal, &tex, w_px, h_px) +} + +/// Copia la textura a un buffer mapeable (stride alineado a 256 B como pide +/// wgpu), desempaqueta las filas y codifica un PNG RGBA8 en memoria. +fn leer_textura_png(hal: &Hal, target: &wgpu::Texture, w: u32, h: u32) -> Result, String> { + let unpadded = (w * 4) as usize; + let align = wgpu::COPY_BYTES_PER_ROW_ALIGNMENT as usize; + let padded = unpadded.div_ceil(align) * align; + let buf_size = (padded * h as usize) as u64; + + let buf = hal.device.create_buffer(&wgpu::BufferDescriptor { + label: Some("cosmos-print-readback"), + size: buf_size, + usage: wgpu::BufferUsages::MAP_READ | wgpu::BufferUsages::COPY_DST, + mapped_at_creation: false, + }); + let mut encoder = hal + .device + .create_command_encoder(&wgpu::CommandEncoderDescriptor { + label: Some("cosmos-print-copy"), + }); + encoder.copy_texture_to_buffer( + wgpu::TexelCopyTextureInfo { + texture: target, + mip_level: 0, + origin: wgpu::Origin3d::ZERO, + aspect: wgpu::TextureAspect::All, + }, + wgpu::TexelCopyBufferInfo { + buffer: &buf, + layout: wgpu::TexelCopyBufferLayout { + offset: 0, + bytes_per_row: Some(padded as u32), + rows_per_image: Some(h), + }, + }, + wgpu::Extent3d { + width: w, + height: h, + depth_or_array_layers: 1, + }, + ); + hal.queue.submit(std::iter::once(encoder.finish())); + + let slice = buf.slice(..); + let (tx, rx) = std::sync::mpsc::channel(); + slice.map_async(wgpu::MapMode::Read, move |r| { + let _ = tx.send(r); + }); + hal.device.poll(wgpu::Maintain::Wait); + rx.recv().map_err(|e| e.to_string())?.map_err(|e| e.to_string())?; + let data = slice.get_mapped_range(); + + let mut pixels = Vec::with_capacity((w * h * 4) as usize); + for row in 0..h as usize { + let start = row * padded; + pixels.extend_from_slice(&data[start..start + unpadded]); + } + drop(data); + buf.unmap(); + + let mut out = Vec::new(); + { + let mut enc = png::Encoder::new(&mut out, w, h); + enc.set_color(png::ColorType::Rgba); + enc.set_depth(png::BitDepth::Eight); + let mut writer = enc.write_header().map_err(|e| e.to_string())?; + writer.write_image_data(&pixels).map_err(|e| e.to_string())?; + } + Ok(out) +} + +/// Abre `path` con el visor/imagen por defecto del SO. Linux `xdg-open`, +/// macOS `open`, Windows `cmd /C start`. +fn abrir(path: &PathBuf) -> Result<(), String> { + let p = path.to_string_lossy().to_string(); + let res = if cfg!(target_os = "macos") { + Command::new("open").arg(&p).spawn() + } else if cfg!(target_os = "windows") { + Command::new("cmd").args(["/C", "start", "", &p]).spawn() + } else { + Command::new("xdg-open").arg(&p).spawn() + }; + res.map(|_| ()) + .map_err(|e| format!("no se pudo abrir el visor: {e} (la hoja quedó en {p})")) +} + +#[cfg(test)] +mod tests { + use super::*; + use llimphi_ui::llimphi_layout::taffy::prelude::{length, Size, Style}; + use llimphi_ui::View; + + /// Smoke del pipeline headless: monta un `View` con texto + relleno, + /// lo rasteriza y verifica que sale un PNG válido del tamaño esperado + /// y con contenido (no todo blanco). Requiere GPU — se ignora por + /// defecto para no romper CI sin display; correr con `--ignored`. + #[test] + #[ignore = "necesita GPU/headless wgpu"] + fn rasteriza_view_a_png_valido() { + let view: View = View::new(Style { + size: Size { + width: length(200.0), + height: length(80.0), + }, + ..Default::default() + }) + .fill(Color::from_rgba8(255, 255, 255, 255)) + .text_aligned( + "Cosmos ☉♈ test".to_string(), + 24.0, + Color::from_rgba8(0, 0, 0, 255), + llimphi_ui::llimphi_text::Alignment::Start, + ); + + let scale = 2.0; + let png = render_view_to_png(view, 200.0, scale).expect("render"); + // Firma PNG. + assert_eq!(&png[..8], &[0x89, b'P', b'N', b'G', b'\r', b'\n', 0x1a, b'\n']); + + // Decodificar y comprobar dimensiones + que hay píxeles no-blancos + // (el texto negro dejó marca). + let decoder = png::Decoder::new(std::io::Cursor::new(&png)); + let mut reader = decoder.read_info().expect("png info"); + assert_eq!(reader.info().width, (200.0 * scale) as u32); + let mut buf = vec![0u8; reader.output_buffer_size().expect("buffer size")]; + let info = reader.next_frame(&mut buf).expect("frame"); + let any_dark = buf[..info.buffer_size() as usize] + .chunks_exact(4) + .any(|px| px[0] < 200 && px[1] < 200 && px[2] < 200); + assert!(any_dark, "la imagen salió toda blanca — el texto no pintó"); + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/tools.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/tools.rs new file mode 100644 index 0000000..efc8a25 --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/tools.rs @@ -0,0 +1,368 @@ +//! Panel de herramientas (derecha): rail vertical de categorías (tabs +//! estilo Photoshop) + acordeón de paneles colapsables dentro de la +//! categoría activa. +//! +//! Cada [`ToolPanel`] es una sección colapsable cuyo cuerpo reusa las +//! mismas funciones de tabla que ya existían (`view::tile_*`, +//! `astroview::view_*`). Aspectos (geocéntrico) y Aspectos topocéntrico +//! arrancan expandidos. El panel completo vive en una zona resizable +//! guardable; el usuario alterna categoría con el rail y abre/cierra cada +//! panel con su cabecera. + +use cosmos_render::LayerKind; +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::{ + prelude::{length, percent, Dimension, FlexDirection, Size, Style}, + AlignItems, JustifyContent, Rect, +}; +use llimphi_ui::llimphi_text::Alignment; +use llimphi_ui::View; + +use llimphi_widget_panel::{panel_signature_painter, PanelStyle}; +use llimphi_widget_scroll::{clamp_offset, scroll_y, ScrollPalette}; + +use crate::astroview; +use crate::chrome; +use crate::glyphs::{self, Icon}; +use crate::model::{Model, Msg, ToolCat, ToolPanel, MENU_BAR_H, STATUS_H}; +use crate::view; + +/// Alto visible del contenedor de paneles (de bajo la barra de menú a +/// sobre la barra de estado). +pub(crate) fn tools_viewport_h(model: &Model) -> f32 { + (model.viewport.1 - MENU_BAR_H - STATUS_H).max(60.0) +} + +/// Alto total estimado del acordeón (cabecera de categoría + paneles). +/// Aproximado a partir del nº de filas de cada tabla — suficiente para +/// dimensionar la barra de scroll y acotar el offset. +pub(crate) fn tools_content_h(cat: ToolCat, model: &Model) -> f32 { + let mut h = 24.0 + 8.0; // cabecera de categoría + padding del acordeón + for panel in cat.panels() { + h += HEAD_H + 6.0; // cabecera de la card + gap + if model.panel_expanded(*panel) { + h += panel_rows(*panel, model) as f32 * 20.0 + 22.0; // filas + padding + } + } + h +} + +/// Estimación del nº de filas (~20 px) del cuerpo de cada panel. +fn panel_rows(panel: ToolPanel, model: &Model) -> usize { + let r = &model.render; + let bodies = || { + r.layers + .iter() + .filter(|l| l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies)) + .flat_map(|l| l.glyphs.iter()) + .count() + }; + let layer = |k: LayerKind| { + r.layers + .iter() + .filter(|l| std::mem::discriminant(&l.kind) == std::mem::discriminant(&k)) + .flat_map(|l| l.glyphs.iter()) + .count() + }; + match panel { + ToolPanel::Carta => 10, + ToolPanel::Aspectos | ToolPanel::AspectosTopo => 1 + r.aspect_summary.len().min(60), + ToolPanel::Cuerpos => bodies().max(1), + ToolPanel::Cualidades => 12, + ToolPanel::Uraniano => r.uranian_groups.len().max(1), + ToolPanel::BoxGraph => bodies().max(1), + ToolPanel::Lotes => layer(LayerKind::Lots).max(1), + ToolPanel::EstrellasFijas => layer(LayerKind::FixedStars).max(1), + ToolPanel::PuntosMedios => layer(LayerKind::Midpoints).max(1), + ToolPanel::Corpus => 14, + ToolPanel::Cielo => 12, + ToolPanel::OrtoOcaso => 12, + ToolPanel::Sundial => 8, + ToolPanel::Mareas => 10, + ToolPanel::Eclipses => 10, + ToolPanel::Efemerides => 14, + ToolPanel::Rectificador => { + 18 + model.rectify_events.len() + model.rectify_triggers.len() + } + ToolPanel::Configuracion => 22, + } +} + +/// Icono del rail vertical para cada categoría. +pub(crate) fn cat_icon(cat: ToolCat) -> Icon { + match cat { + ToolCat::Principal => Icon::Triangle, + ToolCat::Analisis => Icon::Star, + ToolCat::Astronomia => Icon::Moon, + ToolCat::Sistema => Icon::Gear, + } +} + +/// Contenido de una categoría de herramientas (acordeón scrolleable), +/// para montar en un sidebar del dock. El rail de pestañas lo arma el +/// dock en `chrome`. +pub(crate) fn dock_tool_content(cat: ToolCat, model: &Model, theme: &Theme) -> View { + let accordion = accordion_view(cat, model, theme); + let viewport = tools_viewport_h(model); + let content = tools_content_h(cat, model); + let offset = clamp_offset(model.tools_scroll, content, viewport); + let scroll = scroll_y( + offset, + content, + viewport, + accordion, + Msg::ToolsScroll, + &ScrollPalette::from_theme(theme), + ); + View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(1.0_f32), + height: percent(0.0_f32), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel) + .children(vec![scroll]) +} + +// ===================================================================== +// Acordeón de paneles colapsables +// ===================================================================== + +fn accordion_view(cat: ToolCat, model: &Model, theme: &Theme) -> View { + // Cabecera de la categoría activa (texto centrado vertical: nodo de + // alto auto dentro de una fila centrada). + let header = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(24.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(10.0_f32), + right: length(8.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .fill(theme.bg_panel_alt) + .children(vec![View::new(Style { + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned( + cat.title().to_uppercase(), + 10.0, + theme.fg_muted, + Alignment::Start, + )]); + + let mut kids: Vec> = vec![header]; + for panel in cat.panels() { + kids.push(collapsible(*panel, model, theme)); + } + + // Alto natural (lo guía el contenido) — el scroll del contenedor lo + // recorta. No `flex_grow` ni `clip` aquí. + View::new(Style { + flex_direction: FlexDirection::Column, + flex_shrink: 0.0, + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + padding: Rect { + left: length(4.0_f32), + right: length(4.0_f32), + top: length(4.0_f32), + bottom: length(4.0_f32), + }, + gap: Size { + width: length(0.0_f32), + height: length(6.0_f32), + }, + ..Default::default() + }) + .children(kids) +} + +const HEAD_H: f32 = 28.0; + +/// Una sección colapsable como **card** con firma de panel (gradiente + +/// hairline) en la caja y una tira de cabecera con su propio gradiente. +/// El alto lo guía el contenido (auto), no el espacio disponible. +fn collapsible(panel: ToolPanel, model: &Model, theme: &Theme) -> View { + let expanded = model.panel_expanded(panel); + let box_style = PanelStyle::from_theme(theme); + // Cabecera: gradiente propio sobre bg_panel_alt; hairline sólo cuando + // está expandida (refuerza la separación con el cuerpo). + let mut head_style = PanelStyle::from_theme(theme); + head_style.bg_base = theme.bg_panel_alt; + head_style.radius = 0.0; + head_style.hairline_alpha = if expanded { 0.30 } else { 0.0 }; + + let chevron_box = View::new(Style { + size: Size { + width: length(18.0_f32), + height: length(HEAD_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }) + .children(vec![glyphs::icon_view( + if expanded { Icon::ChevronDown } else { Icon::ChevronRight }, + 12.0, + theme.fg_muted, + )]); + + // Título: alto auto → centrado vertical por el align_items de la fila. + let title = View::new(Style { + flex_grow: 1.0, + size: Size { + width: percent(0.0_f32), + height: Dimension::auto(), + }, + ..Default::default() + }) + .text_aligned(panel.title().to_string(), 12.0, theme.fg_text, Alignment::Start); + + let head = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(HEAD_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + padding: Rect { + left: length(6.0_f32), + right: length(8.0_f32), + top: length(0.0_f32), + bottom: length(0.0_f32), + }, + ..Default::default() + }) + .paint_with(panel_signature_painter(head_style)) + .hover_fill(theme.bg_row_hover) + .on_click(Msg::ToggleToolPanel(panel)) + .children(vec![chevron_box, title]); + + let mut kids = vec![head]; + if expanded { + kids.push( + View::new(Style { + flex_direction: FlexDirection::Column, + flex_shrink: 0.0, + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![body_for(panel, model, theme)]), + ); + } + + // Card: gradiente de caja + esquinas redondeadas + clip. + View::new(Style { + flex_direction: FlexDirection::Column, + flex_shrink: 0.0, + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .paint_with(panel_signature_painter(box_style)) + .radius(box_style.radius) + .clip(true) + .children(kids) +} + +/// Cuerpo de cada panel — reusa las tablas existentes. +fn body_for(panel: ToolPanel, model: &Model, theme: &Theme) -> View { + let r = &model.render; + match panel { + ToolPanel::Carta => view::tile_carta(model, theme), + ToolPanel::Aspectos | ToolPanel::AspectosTopo => view::tile_aspectos(r, theme), + ToolPanel::Cuerpos => view::tile_cuerpos(r, theme), + ToolPanel::Cualidades => view::tile_cualidades(r, theme), + ToolPanel::Uraniano => view::tile_uraniano(&r.uranian_groups, theme), + ToolPanel::BoxGraph => view::tile_box_graph(r, theme), + ToolPanel::Lotes => view::tile_layer_glyphs( + r, + LayerKind::Lots, + "lots", + "Activá la capa «Lotes» (menú Capas).", + theme, + ), + ToolPanel::EstrellasFijas => view::tile_layer_glyphs( + r, + LayerKind::FixedStars, + "fixed_stars", + "Activá la capa «Estrellas fijas» (menú Capas).", + theme, + ), + ToolPanel::PuntosMedios => view::tile_layer_glyphs( + r, + LayerKind::Midpoints, + "midpoints", + "Activá la capa «Puntos medios» (menú Capas).", + theme, + ), + ToolPanel::Corpus => view::tile_corpus(r, &model.corpus, theme), + // Paneles astronómicos: si `astro` aún se calcula en el worker, + // pintamos "calculando…" en vez de bloquear el hilo de UI. + ToolPanel::Cielo => match &model.astro { + Some(a) => astroview::view_cielo(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::OrtoOcaso => match &model.astro { + Some(a) => astroview::view_ortoocaso(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::Sundial => match &model.astro { + Some(a) => astroview::view_sundial(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::Mareas => match &model.astro { + Some(a) => astroview::view_mareas(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::Eclipses => match &model.astro { + Some(a) => astroview::view_eclipses(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::Efemerides => match &model.astro { + Some(a) => astroview::view_efemerides(a, theme), + None => astroview::calculando(theme), + }, + ToolPanel::Rectificador => chrome::rectify_view(model, theme), + ToolPanel::Configuracion => chrome::config_view(model, theme), + } +} diff --git a/01_yachay/cosmos/cosmos-app-llimphi/src/view.rs b/01_yachay/cosmos/cosmos-app-llimphi/src/view.rs new file mode 100644 index 0000000..bd4290c --- /dev/null +++ b/01_yachay/cosmos/cosmos-app-llimphi/src/view.rs @@ -0,0 +1,734 @@ +//! Renderers de contenido de los paneles astrológicos. Cada función +//! devuelve el `View` que se monta en el panel de herramientas cuando su +//! sección está expandida (carta, cuerpos, aspectos, cualidades, +//! uraniano, lotes/estrellas/puntos como layers genéricas, corpus). +//! +//! **Sin tofus**: cuerpos, signos y aspectos se pintan como glyphs +//! vectoriales (mini-canvas) vía [`crate::glyphs`] — nunca unicode +//! astrológico ni abreviaturas tipo "Sag". El chrome (menú, árbol, +//! pestañas, barra de estado, menús contextuales) vive en +//! [`crate::chrome`]; las gráficas astronómicas en [`crate::astroview`]. + +use std::collections::HashMap; + +use cosmos_engine::{combinaciones_de_carta, corpus_inputs, Corpus}; +use cosmos_render::{LayerKind, Palette, RenderModel, Rgba, UranianGroup}; +use llimphi_theme::Theme; +use llimphi_ui::llimphi_layout::taffy::{ + prelude::{length, percent, Dimension, FlexDirection, Size, Style}, + AlignItems, JustifyContent, Rect, +}; +use llimphi_ui::llimphi_raster::peniko::Color; +use llimphi_ui::llimphi_text::Alignment; +use llimphi_ui::View; + +use crate::format::fmt_dms; +use crate::glyphs::{self, sign_id}; +use crate::model::{Model, Msg}; + +/// Alto de fila estándar de las tablas. +const ROW_H: f32 = 20.0; +/// Lado del glyph de cuerpo/aspecto en las filas. +const GLYPH: f32 = 16.0; +/// Lado del glyph de signo (un poco menor para diferenciar). +const SGN: f32 = 14.0; + +// ===================================================================== +// Helpers compartidos +// ===================================================================== + +pub(crate) fn tile_container(rows: I, theme: &Theme) -> View +where + I: IntoIterator>, +{ + let _ = theme; + let children: Vec> = rows.into_iter().collect(); + View::new(Style { + flex_direction: FlexDirection::Column, + size: Size { + width: percent(1.0_f32), + height: Dimension::auto(), + }, + // Alto guiado por el contenido (los paneles del acordeón se + // autoajustan a su tabla), no por el espacio disponible. + flex_grow: 0.0, + flex_shrink: 0.0, + min_size: Size { + width: length(0.0_f32), + height: length(0.0_f32), + }, + padding: Rect { + left: length(12.0_f32), + right: length(12.0_f32), + top: length(8.0_f32), + bottom: length(10.0_f32), + }, + gap: Size { + width: length(0.0_f32), + height: length(3.0_f32), + }, + ..Default::default() + }) + .children(children) +} + +pub(crate) fn line(text: String, size: f32, color: Color) -> View { + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(size + 4.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(text, size, color, Alignment::Start) +} + +pub(crate) fn section_label(text: String, theme: &Theme) -> View { + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: length(16.0_f32), + }, + flex_shrink: 0.0, + margin: Rect { + left: length(0.0_f32), + right: length(0.0_f32), + top: length(6.0_f32), + bottom: length(0.0_f32), + }, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .text_aligned(text, 11.0, theme.accent, Alignment::Start) +} + +/// Una fila horizontal de celdas, alto [`ROW_H`]. +fn cells_row(cells: Vec>) -> View { + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(ROW_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(3.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(cells) +} + +/// Celda de texto de ancho fijo. Alto `auto` (= alto del texto) para que +/// el `align_items: Center` de la fila lo centre verticalmente — un texto +/// `Start` se ancla arriba si su nodo es más alto que el glifo. +fn txt_cell(text: String, w: f32, size: f32, color: Color, align: Alignment) -> View { + View::new(Style { + size: Size { + width: length(w), + height: Dimension::auto(), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .text_aligned(text, size, color, align) +} + +fn rgba_to_color(c: Rgba) -> Color { + let to_byte = |x: f32| (x.clamp(0.0, 1.0) * 255.0).round() as u8; + Color::from_rgba8(to_byte(c.r), to_byte(c.g), to_byte(c.b), to_byte(c.a)) +} + +/// Color elemental del signo en la longitud dada. +fn sign_color(deg: f32) -> Color { + rgba_to_color(Palette::dark().sign(sign_id(deg))) +} + +/// Grupo compacto cuerpo+signo (glyph del cuerpo seguido del glyph del +/// signo donde cae, coloreado por elemento). `lon = None` → sólo cuerpo. +fn body_sign(name: &str, lon: Option, theme: &Theme) -> View { + let mut kids = vec![glyphs::body_view(name, GLYPH, theme.fg_text)]; + if let Some(d) = lon { + kids.push(glyphs::sign_view(sign_id(d), SGN, sign_color(d))); + } + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: length(GLYPH + SGN + 4.0), + height: length(ROW_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(kids) +} + +/// Mapa cuerpo→longitud eclíptica desde la capa natal de cuerpos. Se usa +/// para resolver el signo de cada extremo de un aspecto. +fn body_lons(render: &RenderModel) -> HashMap { + let mut m = HashMap::new(); + for l in &render.layers { + if l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies) { + for g in &l.glyphs { + m.insert(g.symbol.clone(), g.deg); + } + } + } + // Ángulos del chart, por si un aspecto los referencia. + m.entry("asc".into()).or_insert(render.ascendant_deg); + m.entry("mc".into()).or_insert(render.midheaven_deg); + m +} + +// ===================================================================== +// Carta (datos del nacimiento) +// ===================================================================== + +pub(crate) fn tile_carta(model: &Model, theme: &Theme) -> View { + let bd = &model.chart.birth_data; + let lugar = bd + .birthplace_label + .clone() + .unwrap_or_else(|| "(sin lugar)".into()); + let fecha = format!( + "{:04}-{:02}-{:02} {:02}:{:02} UTC{:+}", + bd.year, + bd.month, + bd.day, + bd.hour, + bd.minute, + bd.tz_offset_minutes as f32 / 60.0 + ); + let lat_long = format!( + "{:.4}°{} · {:.4}°{}", + bd.latitude_deg.abs(), + if bd.latitude_deg >= 0.0 { "N" } else { "S" }, + bd.longitude_deg.abs(), + if bd.longitude_deg >= 0.0 { "E" } else { "W" } + ); + + let r = &model.render; + let angles = [ + ("Asc", r.ascendant_deg), + ("MC", r.midheaven_deg), + ("Dc", r.descendant_deg), + ("IC", r.imum_coeli_deg), + ]; + let mut rows: Vec> = vec![ + line(model.chart.label.clone(), 14.0, theme.fg_text), + line(lugar, 11.0, theme.fg_muted), + line(fecha, 11.0, theme.fg_muted), + line(lat_long, 11.0, theme.fg_muted), + section_label("Ángulos".to_string(), theme), + ]; + for (name, deg) in angles { + rows.push(cells_row(vec![ + txt_cell(name.to_string(), 32.0, 12.0, theme.fg_text, Alignment::Start), + txt_cell( + fmt_dms((deg.rem_euclid(30.0)) as f64), + 56.0, + 12.0, + theme.fg_muted, + Alignment::Start, + ), + glyphs::sign_view(sign_id(deg), SGN, sign_color(deg)), + ])); + } + tile_container(rows, theme) +} + +// ===================================================================== +// Cuerpos +// ===================================================================== + +pub(crate) fn tile_cuerpos(render: &RenderModel, theme: &Theme) -> View { + let rows: Vec> = render + .layers + .iter() + .filter(|l| l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies)) + .flat_map(|l| l.glyphs.iter()) + .map(|g| { + let dms = fmt_dms(g.deg.rem_euclid(30.0) as f64); + let house = g + .house + .map(|h| format!("h{h}")) + .unwrap_or_default(); + let retro = if g.retrograde { "R" } else { "" }; + let dignity = g.dignity_marker.clone().unwrap_or_default(); + cells_row(vec![ + glyphs::body_view(&g.symbol, GLYPH, theme.fg_text), + txt_cell(dms, 56.0, 12.0, theme.fg_text, Alignment::Start), + glyphs::sign_view(sign_id(g.deg), SGN, sign_color(g.deg)), + txt_cell(house, 30.0, 11.0, theme.fg_muted, Alignment::Start), + txt_cell(retro.to_string(), 14.0, 11.0, theme.fg_destructive, Alignment::Center), + txt_cell(dignity, 16.0, 11.0, theme.accent, Alignment::Center), + ]) + }) + .collect(); + tile_container(rows, theme) +} + +// ===================================================================== +// Aspectos — tabla unificada geocéntrico + topocéntrico +// ===================================================================== + +/// Una fila de la tabla unificada: un par (de cuerpos, aspecto) con su +/// orbe geocéntrico y/o topocéntrico. +struct AspRow { + kind: String, + from: String, + to: String, + geo: Option, + topo: Option, + applying: Option, +} + +fn sorted_pair(a: &str, b: &str) -> (String, String) { + if a <= b { + (a.into(), b.into()) + } else { + (b.into(), a.into()) + } +} + +/// Tabla unificada de aspectos: geocéntrico (módulo `natal`) y +/// topocéntrico (módulo `topocentric`) en la misma grilla, con la +/// diferencia de orbe entre ambos y los glyphs del aspecto, los cuerpos +/// y sus signos. +pub(crate) fn tile_aspectos(render: &RenderModel, theme: &Theme) -> View { + let lons = body_lons(render); + let mut map: HashMap<(String, String, String), AspRow> = HashMap::new(); + + for a in &render.aspect_summary { + let topo = a.module_id == "topocentric"; + if !topo && a.module_id != "natal" { + continue; + } + let (from, to) = sorted_pair(&a.from_body, &a.to_body); + let key = (from.clone(), to.clone(), a.kind.clone()); + let row = map.entry(key).or_insert_with(|| AspRow { + kind: a.kind.clone(), + from, + to, + geo: None, + topo: None, + applying: None, + }); + if topo { + row.topo = Some(a.orb_deg); + } else { + row.geo = Some(a.orb_deg); + row.applying = a.applying; + } + } + + let mut rows: Vec = map.into_values().collect(); + // Orden por intensidad: el orbe más cerrado (aspecto más exacto y + // fuerte) primero, sin importar mayor/menor. + rows.sort_by(|a, b| { + let oa = a.geo.or(a.topo).unwrap_or(99.0); + let ob = b.geo.or(b.topo).unwrap_or(99.0); + oa.partial_cmp(&ob).unwrap_or(std::cmp::Ordering::Equal) + }); + + if rows.is_empty() { + return tile_container( + vec![line(rimay_localize::t("cosmos-empty"), 12.0, theme.fg_muted)], + theme, + ); + } + + // Cabecera de columnas. + let header = View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: percent(1.0_f32), + height: length(16.0_f32), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + gap: Size { + width: length(3.0_f32), + height: length(0.0_f32), + }, + ..Default::default() + }) + .children(vec![ + txt_cell(String::new(), 4.0, 10.0, theme.fg_muted, Alignment::Start), + txt_cell(String::new(), GLYPH, 10.0, theme.fg_muted, Alignment::Start), + txt_cell(String::new(), GLYPH + SGN + 4.0, 10.0, theme.fg_muted, Alignment::Start), + txt_cell(String::new(), GLYPH + SGN + 4.0, 10.0, theme.fg_muted, Alignment::Start), + txt_cell("geo".to_string(), 46.0, 10.0, theme.fg_muted, Alignment::Start), + txt_cell("topo".to_string(), 46.0, 10.0, theme.fg_muted, Alignment::Start), + txt_cell("Δ".to_string(), 40.0, 10.0, theme.fg_muted, Alignment::Start), + ]); + + let mut out: Vec> = Vec::with_capacity(rows.len() + 1); + out.push(header); + for row in rows.into_iter().take(60) { + let orb = row.geo.or(row.topo).unwrap_or(8.0); + let intensity = (1.0 - orb / 8.0).clamp(0.15, 1.0) as f32; + let geo = row + .geo + .map(fmt_dms) + .unwrap_or_else(|| "—".to_string()); + let topo = row + .topo + .map(fmt_dms) + .unwrap_or_else(|| "—".to_string()); + let diff = match (row.geo, row.topo) { + (Some(g), Some(t)) => format!("{:+.0}'", (t - g) * 60.0), + _ => "—".to_string(), + }; + let dir = match row.applying { + Some(true) => glyphs::icon_view(glyphs::Icon::Applying, 12.0, theme.fg_muted), + Some(false) => glyphs::icon_view(glyphs::Icon::Separating, 12.0, theme.fg_muted), + None => txt_cell(String::new(), 12.0, 10.0, theme.fg_muted, Alignment::Center), + }; + // Texto del orbe a más contraste cuanto más fuerte el aspecto. + let orb_col = if intensity > 0.55 { theme.fg_text } else { theme.fg_muted }; + out.push(cells_row(vec![ + intensity_bar(&row.kind, intensity), + glyphs::aspect_view(&row.kind, GLYPH), + body_sign(&row.from, lons.get(&row.from).copied(), theme), + body_sign(&row.to, lons.get(&row.to).copied(), theme), + txt_cell(geo, 46.0, 11.0, orb_col, Alignment::Start), + txt_cell(topo, 46.0, 11.0, orb_col, Alignment::Start), + txt_cell(diff, 40.0, 11.0, theme.fg_muted, Alignment::Start), + dir, + ])); + } + tile_container(out, theme) +} + +/// Color del aspecto (paleta oscura) con la opacidad dada. +fn aspect_color_intensity(kind: &str, intensity: f32) -> Color { + let c = Palette::dark().aspect(kind); + let to = |x: f32| (x.clamp(0.0, 1.0) * 255.0).round() as u8; + Color::from_rgba8(to(c.r), to(c.g), to(c.b), to(intensity)) +} + +/// Barra vertical en el color del aspecto cuya opacidad marca la +/// intensidad — los aspectos exactos se ven más fuertes en la lista, +/// igual que sus líneas en la carta. +fn intensity_bar(kind: &str, intensity: f32) -> View { + View::new(Style { + size: Size { + width: length(4.0), + height: length(ROW_H - 6.0), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .fill(aspect_color_intensity(kind, intensity)) + .radius(2.0) +} + +// ===================================================================== +// Uraniano (grupos del dial de 90°) +// ===================================================================== + +pub(crate) fn tile_uraniano(groups: &[UranianGroup], theme: &Theme) -> View { + if groups.is_empty() { + return tile_container( + vec![line( + "Activá la capa «Uraniano» (menú Capas) para ver los grupos del dial de 90°." + .to_string(), + 12.0, + theme.fg_muted, + )], + theme, + ); + } + let rows: Vec> = groups + .iter() + .take(40) + .map(|g| { + let mut cells: Vec> = vec![txt_cell( + format!("{:.1}°", g.mod90_deg), + 52.0, + 12.0, + theme.fg_text, + Alignment::Start, + )]; + for b in &g.bodies { + cells.push(glyphs::body_view(b, GLYPH, theme.fg_text)); + } + cells_row(cells) + }) + .collect(); + tile_container(rows, theme) +} + +// ===================================================================== +// Cualidades (elementos + modalidades + polaridad) +// ===================================================================== + +pub(crate) fn tile_cualidades(render: &RenderModel, theme: &Theme) -> View { + let bodies: Vec<(&str, f32)> = render + .layers + .iter() + .filter(|l| l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies)) + .flat_map(|l| l.glyphs.iter()) + .map(|g| (g.symbol.as_str(), g.deg)) + .collect(); + + let mut elementos: [Vec<&str>; 4] = Default::default(); + let mut modalidades: [Vec<&str>; 3] = Default::default(); + let mut polaridad: [Vec<&str>; 2] = Default::default(); + + for (name, deg) in &bodies { + let sign_idx = ((deg.rem_euclid(360.0) / 30.0) as usize) % 12; + elementos[sign_idx % 4].push(name); + modalidades[sign_idx % 3].push(name); + polaridad[sign_idx % 2].push(name); + } + + let elem_labels = ["Fuego", "Tierra", "Aire", "Agua"]; + let mod_labels = ["Cardinal", "Fijo", "Mutable"]; + let pol_labels = ["Yang", "Yin"]; + + let mut rows: Vec> = Vec::new(); + rows.push(section_label("Elementos".to_string(), theme)); + for (i, label) in elem_labels.iter().enumerate() { + rows.push(fila_cualidad(label, &elementos[i], theme)); + } + rows.push(section_label("Modalidades".to_string(), theme)); + for (i, label) in mod_labels.iter().enumerate() { + rows.push(fila_cualidad(label, &modalidades[i], theme)); + } + rows.push(section_label("Polaridad".to_string(), theme)); + for (i, label) in pol_labels.iter().enumerate() { + rows.push(fila_cualidad(label, &polaridad[i], theme)); + } + tile_container(rows, theme) +} + +/// Una fila de cualidad: etiqueta + barra (rect rellena sobre track) + +/// los glyphs de los cuerpos que caen ahí. +fn fila_cualidad(label: &str, bodies: &[&str], theme: &Theme) -> View { + let count = bodies.len(); + let frac = (count as f32 / 10.0).clamp(0.0, 1.0); + + let lbl = txt_cell(label.to_string(), 56.0, 11.0, theme.fg_text, Alignment::Start); + + // Barra: track + relleno proporcional. + let bar = View::new(Style { + size: Size { + width: length(64.0_f32), + height: length(8.0_f32), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .fill(theme.bg_panel_alt) + .radius(3.0) + .children(vec![View::new(Style { + size: Size { + width: percent(frac), + height: percent(1.0_f32), + }, + ..Default::default() + }) + .fill(theme.accent) + .radius(3.0)]); + let bar_box = View::new(Style { + size: Size { + width: length(64.0_f32), + height: length(ROW_H), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + ..Default::default() + }) + .children(vec![bar]); + + let cnt = txt_cell(count.to_string(), 16.0, 11.0, theme.fg_muted, Alignment::Center); + + let mut cells = vec![lbl, bar_box, cnt]; + for b in bodies.iter().take(8) { + cells.push(glyphs::body_view(b, GLYPH, theme.fg_text)); + } + cells_row(cells) +} + +// ===================================================================== +// Aspectario triangular +// ===================================================================== + +pub(crate) fn tile_box_graph(render: &RenderModel, theme: &Theme) -> View { + let bodies: Vec = render + .layers + .iter() + .filter(|l| l.module_id == "natal" && matches!(l.kind, LayerKind::Bodies)) + .flat_map(|l| l.glyphs.iter()) + .map(|g| g.symbol.clone()) + .collect(); + if bodies.len() < 2 { + return tile_container( + vec![line(rimay_localize::t("cosmos-empty"), 12.0, theme.fg_muted)], + theme, + ); + } + let mut aspects: HashMap<(String, String), String> = HashMap::new(); + for a in &render.aspect_summary { + if a.module_id != "natal" { + continue; + } + let key = sorted_pair(&a.from_body, &a.to_body); + aspects.insert(key, a.kind.clone()); + } + const CELL: f32 = 24.0; + let rows: Vec> = bodies + .iter() + .enumerate() + .map(|(i, body_i)| { + let mut cells: Vec> = + vec![box_cell(Some(glyphs::body_view(body_i, GLYPH, theme.fg_text)), None)]; + for body_j in bodies.iter().take(i) { + let pair = sorted_pair(body_i, body_j); + match aspects.get(&pair) { + Some(k) => cells.push(box_cell( + Some(glyphs::aspect_view(k, GLYPH)), + Some(theme.bg_panel_alt), + )), + None => cells.push(box_cell(None, None)), + } + } + View::new(Style { + flex_direction: FlexDirection::Row, + size: Size { + width: Dimension::auto(), + height: length(CELL), + }, + flex_shrink: 0.0, + ..Default::default() + }) + .children(cells) + }) + .collect(); + tile_container(rows, theme) +} + +fn box_cell(content: Option>, bg: Option) -> View { + const CELL: f32 = 24.0; + let mut v = View::new(Style { + size: Size { + width: length(CELL), + height: length(CELL), + }, + flex_shrink: 0.0, + align_items: Some(AlignItems::Center), + justify_content: Some(JustifyContent::Center), + ..Default::default() + }); + if let Some(c) = bg { + v = v.fill(c).radius(2.0); + } + if let Some(child) = content { + v = v.children(vec![child]); + } + v +} + +// ===================================================================== +// Layer genérica (lotes / estrellas fijas / puntos medios) +// ===================================================================== + +pub(crate) fn tile_layer_glyphs( + render: &RenderModel, + kind: LayerKind, + module_id: &str, + hint: &str, + theme: &Theme, +) -> View { + let glyphs_v: Vec<&cosmos_render::Glyph> = render + .layers + .iter() + .filter(|l| { + l.module_id == module_id + && std::mem::discriminant(&l.kind) == std::mem::discriminant(&kind) + }) + .flat_map(|l| l.glyphs.iter()) + .collect(); + if glyphs_v.is_empty() { + return tile_container(vec![line(hint.to_string(), 12.0, theme.fg_muted)], theme); + } + let rows: Vec> = glyphs_v + .into_iter() + .take(40) + .map(|g| { + let casa = g.house.map(|h| format!("h{h}")).unwrap_or_default(); + let dms = fmt_dms(g.deg.rem_euclid(30.0) as f64); + // Lotes y estrellas traen una anotación textual; los puntos + // medios y demás son cuerpos con glyph. + let lead: View = if g.symbol.starts_with("lot:") || g.symbol.starts_with('✦') { + let label = g.annotation.clone().unwrap_or_else(|| g.symbol.clone()); + txt_cell(label, 96.0, 11.0, theme.fg_text, Alignment::Start) + } else { + glyphs::body_view(&g.symbol, GLYPH, theme.fg_text) + }; + cells_row(vec![ + lead, + txt_cell(dms, 56.0, 12.0, theme.fg_text, Alignment::Start), + glyphs::sign_view(sign_id(g.deg), SGN, sign_color(g.deg)), + txt_cell(casa, 30.0, 11.0, theme.fg_muted, Alignment::Start), + ]) + }) + .collect(); + tile_container(rows, theme) +} + +// ===================================================================== +// Corpus (pasajes interpretativos) +// ===================================================================== + +pub(crate) fn tile_corpus(render: &RenderModel, corpus: &Corpus, theme: &Theme) -> View { + let (colocaciones, aspectos) = corpus_inputs(render); + let combinaciones = combinaciones_de_carta(&colocaciones, &aspectos); + let pasajes = corpus.interpretar(&combinaciones); + let huecos = corpus.huecos(&combinaciones); + + let header_txt = rimay_localize::t_args( + "cosmos-corpus-header", + &[ + ("pasajes", pasajes.len().to_string().into()), + ("huecos", huecos.len().to_string().into()), + ("total", combinaciones.len().to_string().into()), + ], + ); + let mut rows: Vec> = Vec::with_capacity(pasajes.len() * 2 + 1); + rows.push(line(header_txt, 11.0, theme.fg_muted)); + + if pasajes.is_empty() { + rows.push(line( + rimay_localize::t("cosmos-corpus-vacio"), + 12.0, + theme.fg_muted, + )); + } else { + for p in pasajes.iter().take(16) { + rows.push(line(p.combinacion.to_string(), 10.0, theme.accent)); + let txt = recortar(&p.texto, 200); + rows.push(line(txt, 12.0, theme.fg_text)); + } + } + tile_container(rows, theme) +} + +fn recortar(s: &str, max_chars: usize) -> String { + let mut out = String::new(); + for (i, ch) in s.chars().enumerate() { + if i >= max_chars { + out.push('…'); + return out; + } + out.push(ch); + } + out +} diff --git a/01_yachay/cosmos/cosmos-astrology/Cargo.toml b/01_yachay/cosmos/cosmos-astrology/Cargo.toml new file mode 100644 index 0000000..44c35a9 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "cosmos-astrology" +version.workspace = true +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +description = "Astrology-specific layer built on the cosmos-sky façade: birth data, natal charts, house systems, ayanamshas, aspects." +# Kept unpublishable while cosmos-sky is. Will flip in lockstep at v1.0. +publish = false + +[dependencies] +cosmos-core.workspace = true +cosmos-ephemeris.workspace = true +cosmos-time.workspace = true +cosmos-sky = { path = "../cosmos-sky" } +cosmos-validation = { path = "../cosmos-validation" } +libm.workspace = true +thiserror.workspace = true + +[dev-dependencies] +approx.workspace = true diff --git a/01_yachay/cosmos/cosmos-astrology/README.md b/01_yachay/cosmos/cosmos-astrology/README.md new file mode 100644 index 0000000..5f30ca3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/README.md @@ -0,0 +1,193 @@ +# cosmos-astrology + +The astrology-specific layer of the `eternal` workspace, built on the [`cosmos-sky`](../cosmos-sky/) façade. + +[![License: Apache 2.0](https://img.shields.io/crates/l/cosmos-astrology)](https://gitea.gioser.net/sergio/eternal) + +A typed pipeline that turns *(when, where)* into a `NatalChart`: four angles, twelve house cusps in the chosen system, every requested body placed in its sign and house with retrograde flag — plus a full forecasting toolkit: aspects, returns, progressions, solar arc, the classical primary-direction trilogy (Placidus, Regiomontanus, Campanus), transits, stations, synastry, midpoint composites, Arabic Parts, Hellenistic profections, lunar phases, and eclipses-on-natal. + +## Disclaimer + +Astrology is a symbolic system with deep cultural and personal significance for many people. This crate computes its traditional constructs faithfully but **takes no position** on whether those constructs describe, predict, or explain anything about an individual's life. Treat the output as a *language*, not as data. The precision claims in this README refer strictly to the astronomical inputs (planet positions, time scales, IAU rotations); they say nothing about the validity of the astrological interpretations the user may build on top. + +## Installation + +```toml +[dependencies] +cosmos-astrology = "0.1" +cosmos-sky = "0.1" +``` + +## Feature matrix + +| Concept | API | Tests | +|---|---|---| +| Natal chart (7 house systems, tropical or sidereal) | `NatalChart::compute` | ✅ | +| Whole-Sign, Equal, Porphyry, Placidus, Koch, Regiomontanus, Campanus | `HouseSystem` | ✅ | +| 8 ayanamshas (Lahiri, Fagan-Bradley, Krishnamurti, Raman, …) | `Zodiac::Sidereal(Ayanamsha::*)` | ✅ | +| 22 bodies — luminaries, planets, nodes m+v, Lilith m+v, asteroids | `BodySet` | ✅ | +| Mundane helpers (DA, semi-arcs, Placidus quadrant `m`) | `mundane::*` | ✅ | +| Aspects (12 kinds, applying/separating, orb table) | `find_aspects` | ✅ | +| Planetary returns (Sun / Moon / any body) | `next_return` | ✅ | +| Progressions: Secondary, Tertiary, Minor | `secondary_progression`, … | ✅ | +| Solar Arc directions (TrueProgressedSun, Naibod) | `solar_arc_true`, `solar_arc_naibod` | ✅ | +| Primary directions — Placidus mundane, **Regiomontanus**, **Campanus** | `direct`, `direct_to_aspect`, `all_directions_with_aspects` | ✅ | +| Direction keys (Ptolemy 1°/yr, Naibod 0°59'08"/yr) | `DirectionKey` | ✅ | +| Transits — current snapshot + next exact root-finder | `find_current_transits`, `find_next_exact_transit` | ✅ | +| Planetary stations (retrograde / direct) | `next_station`, `all_stations` | ✅ | +| Synastry — cross-aspects between two charts | `find_synastry_aspects` | ✅ | +| Composite — midpoint chart | `composite` | ✅ | +| Arabic Parts (7 canonical Lots + custom) | `compute_lot`, `all_lots`, `custom_lot` | ✅ | +| Hellenistic profections (annual + monthly + Lord of the Year) | `annual_profection`, `monthly_profection`, `profection_at` | ✅ | +| Lunar phases (4 canonical + 8-fold lunation classification) | `next_lunar_phase`, `next_canonical_phase`, `classify_lunation_phase` | ✅ | +| Eclipses (solar / lunar) on natal points | `eclipses_on_natal`, `next_solar_eclipse`, `next_lunar_eclipse` | ✅ | +| Generic event root-finder over time | `eternal_sky::find_root` | ✅ | + +102 tests across `cosmos-sky` + `cosmos-astrology` gate the precision and behaviour of these features against direct calls into the validated underlying machinery. + +## Quick start: a complete natal chart + +```rust +use eternal_astrology::{ + find_aspects, BirthData, ChartConfig, HouseSystem, NatalChart, OrbTable, Zodiac, +}; +use eternal_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +let session = EphemerisSession::open(SessionConfig::vsop2013())?; + +let birth = BirthData::new( + Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240)?, + Observer::from_degrees(10.4806, -66.9036, 900.0), +).with_name("Subject A"); + +let config = ChartConfig { + house_system: HouseSystem::Placidus, + zodiac: Zodiac::Tropical, + ..ChartConfig::default() +}; + +let chart = NatalChart::compute(&birth, &config, &session)?; + +println!("Ascendant: {}", chart.ascendant().to_chart_format()); +println!("Midheaven: {}", chart.midheaven().to_chart_format()); + +for placement in &chart.placements { + println!("{:>8} {} House {:>2} {}", + placement.body.name(), + placement.longitude.to_chart_format(), + placement.house_number, + if placement.is_retrograde() { "R" } else { " " }, + ); +} + +let aspects = find_aspects(&chart, &OrbTable::modern_western()); +for a in &aspects { + println!("{:>10} {:?} {:<10} orb {:>5.2}° {}", + a.a.name(), a.kind, a.b.name(), + a.orb_abs_deg(), + if a.applying { "applying" } else { "separating" }, + ); +} +# Ok::<_, eternal_astrology::AstrologyError>(()) +``` + +## Forecasting + +```rust +use eternal_astrology::*; +use eternal_sky::{Body, Instant}; + +// Solar Return for 2025: +let natal_sun = chart.placement(Body::Sun).unwrap().longitude.longitude_rad(); +let after_birthday = Instant::from_civil_utc(2025, 3, 1, 0, 0, 0.0)?; +let solar_return_2025 = next_return(&session, Body::Sun, natal_sun, after_birthday, None)?; + +// Secondary progression at age 30: +let prog = secondary_progression(&chart, &session, 30.0)?; + +// Solar arc directions at age 30: +let arc = solar_arc_true(&chart, &session, 30.0)?; + +// All primary directions in the first 80 years of life: +let dirs = all_directions( + &chart, + DirectionMethod::PlacidusMundane, + DirectionKey::Naibod, + 80.0, +); + +// Current transits to natal: +let now = Instant::from_civil_utc(2026, 5, 15, 12, 0, 0.0)?; +let targets = default_natal_targets(&chart); +let transits = find_current_transits( + &chart, &session, now, + &[Body::Mars, Body::Saturn, Body::Jupiter, + Body::Uranus, Body::Neptune, Body::Pluto], + &targets, + &OrbTable::modern_western(), + AspectKind::MAJORS, +)?; + +// Synastry between two charts: +let sync = find_synastry_aspects( + &chart_a, &chart_b, + &OrbTable::modern_western(), + AspectKind::MAJORS, +); +``` + +## Modules + +| Module | Purpose | +|----------------------|-------------------------------------------------------------------------| +| `angles` | Shared `signed_delta_*`, `wrap_two_pi`, `unsigned_arc_deg` helpers | +| `birth_data` | `BirthData` + `TimeCertainty` | +| `chart_config` | `ChartConfig`, `BodySet` | +| `chart` | `NatalChart::compute` and accessors | +| `zodiac` | `Sign` enum, `Zodiac` (Tropical/Sidereal), `SignedLongitude` | +| `house_system` | `HouseSystem` enum + `Houses::compute` | +| `placement` | `BodyPlacement` (sign, house, RA/Dec, derived `is_retrograde()`) | +| `mundane` | DA, semi-arcs, Placidus quadrant `m` | +| `aspect` | `AspectKind`, `OrbTable`, `find_aspects` | +| `returns` | `next_return` (planetary returns) | +| `progression` | Secondary / Tertiary / Minor progressions | +| `solar_arc` | Solar Arc directions (true / Naibod) | +| `primary_direction` | Placidus mundane, Regiomontanus, and Campanus directions | +| `transits` | Current snapshot + next-exact transit | +| `stations` | Retrograde / direct station finder | +| `synastry` | Cross-chart aspect grid | +| `composite` | Midpoint composite chart | +| `lots` | Arabic Parts (Hellenistic Lots) with sect-aware reversal | +| `profections` | Annual + monthly profections with traditional / modern rulerships | +| `lunar_phase` | 4 canonical phases + 8-fold lunation classification | +| `eclipses` | Solar / lunar eclipse search and on-natal proximity filter | + +## Design + +- **Astronomy first.** Every astrology routine forwards to `cosmos-sky` and ultimately to the validated `cosmos-validation::oracle::Oracle`. No parallel ephemerides, no shortcuts. +- **Lazy where it matters.** `BodyPlacement` carries forward longitude rate + RA/Dec from `ApparentPosition`, so the aspect/applying engine and the mundane helpers do not re-query the ephemeris. +- **Interpretation-free.** No body has a "rulership", no aspect has a "meaning". Configure orbs, house systems, ayanamshas and bodies; pattern-match on the results in your own application layer. +- **Reusable primitives.** `find_root` from `cosmos-sky` powers returns, transits, and future timing queries — adding a new "find next X" is ~30 lines. + +## License + +Licensed under the Apache License, Version 2.0 +([LICENSE-APACHE](../LICENSE-APACHE) or +). + +## Acknowledgements + +This crate was added to the `eternal` workspace by Sergio Velásquez +Zeballos in collaboration with Claude (Anthropic). It builds on the +upstream [celestial](https://github.com/gaker/celestial) project by +Greg Aker and on the validated astronomy of `cosmos-validation`. + +### With thanks to + +For their guidance, conversations, and inspiration that shaped the +direction of this astrology pipeline: + +- **Roberto Reiley** +- **Germán Rosas** +- **Juan Velásquez** +- **Guillermo Velásquez** diff --git a/01_yachay/cosmos/cosmos-astrology/examples/natal_chart.rs b/01_yachay/cosmos/cosmos-astrology/examples/natal_chart.rs new file mode 100644 index 0000000..2255ba7 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/examples/natal_chart.rs @@ -0,0 +1,96 @@ +//! Print a complete natal chart: angles, houses, placements, aspects. +//! +//! Run with `cargo run --example natal_chart -p eternal-astrology` — uses +//! the analytical VSOP2013 backend, so no kernels need to be downloaded. +//! For sub-mas precision you would swap in a JPL SPK kernel via +//! `SessionConfig::with_spk(...)`. + +use cosmos_astrology::{ + find_aspects, AspectKind, BirthData, ChartConfig, HouseSystem, NatalChart, OrbTable, Zodiac, +}; +use cosmos_sky::{EphemerisSession, Instant, Observer, SessionConfig}; + +fn main() -> Result<(), Box> { + // ── Birth data ──────────────────────────────────────────────────── + // Demo subject: 14 March 1987, 05:22 local time in Caracas (UTC−4). + // Change these constants to compute another chart. + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240)?; + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + let birth = BirthData::new(instant, observer).with_name("Demo Subject"); + + // ── Session + configuration ─────────────────────────────────────── + let session = EphemerisSession::open(SessionConfig::vsop2013())?; + let config = ChartConfig { + house_system: HouseSystem::Placidus, + zodiac: Zodiac::Tropical, + ..ChartConfig::default() + }; + + let chart = NatalChart::compute(&birth, &config, &session)?; + + // ── Header ──────────────────────────────────────────────────────── + println!("Natal Chart — {}", birth.name.as_deref().unwrap_or("(unnamed)")); + println!(" UTC instant : {}", chart.birth.instant); + println!( + " Location : lat {:+.4}° lon {:+.4}° elev {} m", + birth.observer.lat_rad.to_degrees(), + birth.observer.lon_rad.to_degrees(), + birth.observer.elev_m as i32, + ); + println!(" House system: {:?}", config.house_system); + println!(" Zodiac : {:?}", config.zodiac); + println!(); + + // ── Angles ──────────────────────────────────────────────────────── + println!("Angles"); + println!(" Asc : {}", chart.ascendant().to_chart_format()); + println!(" MC : {}", chart.midheaven().to_chart_format()); + println!(" Desc: {}", chart.descendant().to_chart_format()); + println!(" IC : {}", chart.imum_coeli().to_chart_format()); + println!(); + + // ── Houses ──────────────────────────────────────────────────────── + println!("House Cusps"); + for (i, cusp) in chart.houses.cusps.iter().enumerate() { + let sl = cosmos_astrology::SignedLongitude::from_radians(*cusp); + println!(" H{:>2}: {}", i + 1, sl.to_chart_format()); + } + println!(); + + // ── Placements ──────────────────────────────────────────────────── + println!("Placements"); + println!(" {:<12} {:<14} {:>5} {:>4}", + "Body", "Position", "House", "Mode"); + for p in &chart.placements { + println!(" {:<12} {:<14} H{:>3} {:>4}", + p.body.name(), + p.longitude.to_chart_format(), + p.house_number, + if p.is_retrograde() { "R" } else { "" }, + ); + } + println!(); + + // ── Aspects ─────────────────────────────────────────────────────── + println!("Aspects (modern Western orbs)"); + let aspects = find_aspects(&chart, &OrbTable::modern_western()); + let majors: Vec<_> = aspects + .iter() + .filter(|a| AspectKind::MAJORS.contains(&a.kind)) + .collect(); + println!(" {:<10} {:<14} {:<10} {:>6} {}", "A", "Aspect", "B", "Orb", "Phase"); + for a in &majors { + println!(" {:<10} {:<14} {:<10} {:>5.2}° {}", + a.a.name(), + format!("{:?}", a.kind), + a.b.name(), + a.orb_abs_deg(), + if a.applying { "applying" } else { "separating" }, + ); + } + if majors.is_empty() { + println!(" (no major aspects within configured orbs)"); + } + + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/angles.rs b/01_yachay/cosmos/cosmos-astrology/src/angles.rs new file mode 100644 index 0000000..6b19135 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/angles.rs @@ -0,0 +1,88 @@ +//! Shared angle helpers used across the astrology layer. +//! +//! Pulled out so each forecasting module (aspects, returns, transits, +//! synastry, composite, solar arc, lunar phase, eclipses) can use the +//! same wrap/delta math without each defining its own private copy. + +const TAU: f64 = std::f64::consts::TAU; +const PI: f64 = std::f64::consts::PI; + +/// Signed angular delta `a − b` in radians, normalised to `[-π, π]`. +#[inline] +pub(crate) fn signed_delta_rad(a: f64, b: f64) -> f64 { + let mut d = a - b; + while d > PI { + d -= TAU; + } + while d < -PI { + d += TAU; + } + d +} + +/// Signed angular delta `a − b` in degrees, normalised to `[-180°, 180°]`. +#[inline] +pub(crate) fn signed_delta_deg(a_deg: f64, b_deg: f64) -> f64 { + let mut d = a_deg - b_deg; + while d > 180.0 { + d -= 360.0; + } + while d < -180.0 { + d += 360.0; + } + d +} + +/// Unsigned angular distance in `[0°, 180°]`. +#[inline] +pub(crate) fn unsigned_arc_deg(a_deg: f64, b_deg: f64) -> f64 { + let mut d = (a_deg - b_deg).rem_euclid(360.0); + if d > 180.0 { + d = 360.0 - d; + } + d +} + +/// Wrap an angle (radians) into `[0, 2π)`. +#[inline] +pub(crate) fn wrap_two_pi(x: f64) -> f64 { + let v = x.rem_euclid(TAU); + if v < 0.0 { + v + TAU + } else { + v + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn signed_delta_deg_wraps_to_shorter_arc() { + assert!((signed_delta_deg(350.0, 10.0) + 20.0).abs() < 1e-12); + assert!((signed_delta_deg(10.0, 350.0) - 20.0).abs() < 1e-12); + } + + #[test] + fn signed_delta_rad_matches_deg_form() { + let a = 350.0_f64.to_radians(); + let b = 10.0_f64.to_radians(); + let d = signed_delta_rad(a, b); + assert!((d + 20.0_f64.to_radians()).abs() < 1e-12); + } + + #[test] + fn unsigned_arc_deg_picks_shorter_distance() { + assert!((unsigned_arc_deg(350.0, 10.0) - 20.0).abs() < 1e-12); + assert!((unsigned_arc_deg(10.0, 350.0) - 20.0).abs() < 1e-12); + assert!((unsigned_arc_deg(0.0, 180.0) - 180.0).abs() < 1e-12); + } + + #[test] + fn wrap_two_pi_normalises() { + assert!((wrap_two_pi(0.0) - 0.0).abs() < 1e-12); + assert!((wrap_two_pi(-PI) - PI).abs() < 1e-12); + assert!((wrap_two_pi(3.0 * TAU) - 0.0).abs() < 1e-12); + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/aspect.rs b/01_yachay/cosmos/cosmos-astrology/src/aspect.rs new file mode 100644 index 0000000..b56ee0b --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/aspect.rs @@ -0,0 +1,415 @@ +//! Aspect engine: detect angular relationships between bodies in a chart. +//! +//! An *aspect* is an angular distance close (within an "orb") to a +//! traditional ratio of the circle. The classical majors are +//! conjunction (0°), opposition (180°), trine (120°), square (90°), and +//! sextile (60°); the harmonic minors (quincunx, semi-square, quintile, +//! septile, …) are wired in too for completeness. +//! +//! Each aspect carries: +//! * the two bodies involved (commutative — `a` ≤ `b` by NAIF ID), +//! * the [`AspectKind`] family, +//! * the *signed* delta from exact: `+` means the smaller-longitude +//! body is below the exact angle, +//! * the orb used (the threshold the pair was tested against), +//! * whether the aspect is **applying** (closing toward exact) or +//! **separating** (already past). + +use std::collections::HashMap; + +use cosmos_sky::Body; + +use crate::angles::signed_delta_deg; +use crate::chart::NatalChart; +use crate::placement::BodyPlacement; + +/// Family of aspects. The exact angle of each is fixed; their orbs are +/// configured via [`OrbTable`]. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum AspectKind { + Conjunction, + Opposition, + Trine, + Square, + Sextile, + Quincunx, + SemiSextile, + SemiSquare, + Sesquiquadrate, + Quintile, + BiQuintile, + Septile, +} + +impl AspectKind { + pub const MAJORS: &'static [AspectKind] = &[ + AspectKind::Conjunction, + AspectKind::Opposition, + AspectKind::Trine, + AspectKind::Square, + AspectKind::Sextile, + ]; + + pub const MINORS: &'static [AspectKind] = &[ + AspectKind::Quincunx, + AspectKind::SemiSextile, + AspectKind::SemiSquare, + AspectKind::Sesquiquadrate, + AspectKind::Quintile, + AspectKind::BiQuintile, + AspectKind::Septile, + ]; + + pub const ALL: &'static [AspectKind] = &[ + AspectKind::Conjunction, + AspectKind::Opposition, + AspectKind::Trine, + AspectKind::Square, + AspectKind::Sextile, + AspectKind::Quincunx, + AspectKind::SemiSextile, + AspectKind::SemiSquare, + AspectKind::Sesquiquadrate, + AspectKind::Quintile, + AspectKind::BiQuintile, + AspectKind::Septile, + ]; + + /// Exact angle in degrees. + pub fn exact_angle_deg(self) -> f64 { + match self { + AspectKind::Conjunction => 0.0, + AspectKind::Opposition => 180.0, + AspectKind::Trine => 120.0, + AspectKind::Square => 90.0, + AspectKind::Sextile => 60.0, + AspectKind::Quincunx => 150.0, + AspectKind::SemiSextile => 30.0, + AspectKind::SemiSquare => 45.0, + AspectKind::Sesquiquadrate => 135.0, + AspectKind::Quintile => 72.0, + AspectKind::BiQuintile => 144.0, + AspectKind::Septile => 360.0 / 7.0, + } + } + + pub fn name(self) -> &'static str { + match self { + AspectKind::Conjunction => "conjunction", + AspectKind::Opposition => "opposition", + AspectKind::Trine => "trine", + AspectKind::Square => "square", + AspectKind::Sextile => "sextile", + AspectKind::Quincunx => "quincunx", + AspectKind::SemiSextile => "semi-sextile", + AspectKind::SemiSquare => "semi-square", + AspectKind::Sesquiquadrate => "sesquiquadrate", + AspectKind::Quintile => "quintile", + AspectKind::BiQuintile => "bi-quintile", + AspectKind::Septile => "septile", + } + } +} + +/// Per-aspect base orbs (in degrees) and optional per-body luminary +/// multipliers. Designed to be cheap to copy and serialise. +#[derive(Debug, Clone)] +pub struct OrbTable { + base_orb_deg: HashMap, + body_multiplier: HashMap, + /// Multiplier used when *neither* body is in [`Self::body_multiplier`]. + pub default_body_multiplier: f64, +} + +impl OrbTable { + /// A reasonably tight modern Western set: + /// 8° for conjunctions/oppositions, 7° for trines/squares, 5° for + /// sextiles, 2° for minors; Sun and Moon get a 1.25× multiplier. + pub fn modern_western() -> Self { + let mut base = HashMap::new(); + base.insert(AspectKind::Conjunction, 8.0); + base.insert(AspectKind::Opposition, 8.0); + base.insert(AspectKind::Trine, 7.0); + base.insert(AspectKind::Square, 7.0); + base.insert(AspectKind::Sextile, 5.0); + base.insert(AspectKind::Quincunx, 2.5); + base.insert(AspectKind::SemiSextile, 2.0); + base.insert(AspectKind::SemiSquare, 2.0); + base.insert(AspectKind::Sesquiquadrate, 2.0); + base.insert(AspectKind::Quintile, 1.5); + base.insert(AspectKind::BiQuintile, 1.5); + base.insert(AspectKind::Septile, 1.5); + + let mut mult = HashMap::new(); + mult.insert(Body::Sun, 1.25); + mult.insert(Body::Moon, 1.25); + + Self { + base_orb_deg: base, + body_multiplier: mult, + default_body_multiplier: 1.0, + } + } + + /// Tight orbs: ~half of [`Self::modern_western`]. Good for + /// progressions / directions where wider orbs become meaningless. + pub fn tight() -> Self { + let mut t = Self::modern_western(); + for v in t.base_orb_deg.values_mut() { + *v *= 0.5; + } + t + } + + /// Set the base orb for a specific aspect family. + pub fn set_orb(&mut self, kind: AspectKind, orb_deg: f64) -> &mut Self { + self.base_orb_deg.insert(kind, orb_deg); + self + } + + /// Set a per-body orb multiplier (useful for luminaries, chart-ruler, + /// or stellium reductions). + pub fn set_body_multiplier(&mut self, body: Body, mult: f64) -> &mut Self { + self.body_multiplier.insert(body, mult); + self + } + + /// Effective allowed orb for an aspect between `a` and `b`. + /// Uses the *maximum* of the two body multipliers — convention is + /// that a Sun-aspect-Mercury gets the Sun's wider orb, not the + /// Mercury orb. + pub fn orb_for(&self, a: Body, b: Body, kind: AspectKind) -> f64 { + let base = self.base_orb_deg.get(&kind).copied().unwrap_or(0.0); + let ma = self + .body_multiplier + .get(&a) + .copied() + .unwrap_or(self.default_body_multiplier); + let mb = self + .body_multiplier + .get(&b) + .copied() + .unwrap_or(self.default_body_multiplier); + base * ma.max(mb) + } + + /// Build a flat lookup snapshot for use in tight pair-iteration + /// loops. The snapshot replaces three HashMap hashings per + /// `orb_for` call with two array indexes — meaningful when the + /// outer loop is N² in chart placements × `AspectKind::ALL`. + pub(crate) fn snapshot(&self) -> OrbSnapshot { + let mut base = [0.0_f64; AspectKind::ALL.len()]; + for (i, &kind) in AspectKind::ALL.iter().enumerate() { + base[i] = self.base_orb_deg.get(&kind).copied().unwrap_or(0.0); + } + OrbSnapshot { + base_orb_deg: base, + body_multiplier: self + .body_multiplier + .iter() + .map(|(&b, &m)| (b, m)) + .collect(), + default_body_multiplier: self.default_body_multiplier, + } + } +} + +/// Flat, fixed-size view of an [`OrbTable`]'s contents, suitable for +/// inner pair-iteration loops. +pub(crate) struct OrbSnapshot { + base_orb_deg: [f64; AspectKind::ALL.len()], + body_multiplier: Vec<(Body, f64)>, + default_body_multiplier: f64, +} + +impl OrbSnapshot { + #[inline] + pub(crate) fn orb_for(&self, a: Body, b: Body, kind: AspectKind) -> f64 { + let idx = AspectKind::ALL.iter().position(|k| *k == kind).unwrap_or(0); + let base = self.base_orb_deg[idx]; + let ma = self.lookup_mult(a); + let mb = self.lookup_mult(b); + base * ma.max(mb) + } + + #[inline] + fn lookup_mult(&self, body: Body) -> f64 { + for &(b, m) in &self.body_multiplier { + if b == body { + return m; + } + } + self.default_body_multiplier + } +} + +impl Default for OrbTable { + fn default() -> Self { + Self::modern_western() + } +} + +/// A single aspect detected in a chart. +#[derive(Debug, Clone, Copy)] +pub struct Aspect { + pub a: Body, + pub b: Body, + pub kind: AspectKind, + /// Signed distance from exact, degrees. Positive means the pair is + /// past the exact angle (`|Δλ| > exact_angle`); negative means it + /// is short of exact. Useful for "how exact is this aspect?" reports. + pub orb_signed_deg: f64, + /// Allowed orb at the time of detection (degrees). The aspect is + /// reported iff `orb_signed_deg.abs() <= allowed_orb_deg`. + pub allowed_orb_deg: f64, + /// `true` if the angular distance between `a` and `b` is closing + /// toward the exact angle; `false` if it is widening. + pub applying: bool, +} + +impl Aspect { + pub fn orb_abs_deg(&self) -> f64 { + self.orb_signed_deg.abs() + } + /// How "tight" the aspect is, normalised to the allowed orb. + /// 0.0 = exact; 1.0 = at the edge of the orb. + pub fn tightness(&self) -> f64 { + if self.allowed_orb_deg == 0.0 { + 0.0 + } else { + self.orb_abs_deg() / self.allowed_orb_deg + } + } +} + +/// Scan every pair of body placements in `chart` and return all +/// aspects whose orb sits within the table's allowance. The returned +/// list is sorted by tightness (most exact first). +pub fn find_aspects(chart: &NatalChart, orbs: &OrbTable) -> Vec { + find_aspects_filtered(chart, orbs, AspectKind::ALL) +} + +/// Same as [`find_aspects`] but restricted to a subset of [`AspectKind`]. +pub fn find_aspects_filtered( + chart: &NatalChart, + orbs: &OrbTable, + kinds: &[AspectKind], +) -> Vec { + let placements = &chart.placements; + let snapshot = orbs.snapshot(); + // Upper bound on aspects: every pair × every kind (worst case). + let mut out = Vec::with_capacity( + placements.len() * (placements.len() - 1) / 2 * kinds.len(), + ); + + for i in 0..placements.len() { + for j in (i + 1)..placements.len() { + for &kind in kinds { + if let Some(asp) = test_pair(&placements[i], &placements[j], kind, &snapshot) { + out.push(asp); + } + } + } + } + out.sort_by(|x, y| { + x.orb_abs_deg() + .partial_cmp(&y.orb_abs_deg()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + out +} + +fn test_pair( + a: &BodyPlacement, + b: &BodyPlacement, + kind: AspectKind, + orbs: &OrbSnapshot, +) -> Option { + // Same-body pairs (e.g. mean node duplicated as ascending + descending + // in `BodySet::include_south_node`) would otherwise trigger spurious + // conjunctions/oppositions to themselves. Skip them. + if a.body == b.body { + return None; + } + + let allowed = orbs.orb_for(a.body, b.body, kind); + if allowed <= 0.0 { + return None; + } + // Signed angular separation `lon_b − lon_a`, normalised to + // `[-180°, 180°]`. The unsigned separation is what we compare + // against the exact angle. (We pass `(b, a)` to the helper which + // computes `arg0 − arg1`.) + let raw_delta_deg = signed_delta_deg( + b.longitude.longitude_deg(), + a.longitude.longitude_deg(), + ); + let separation = raw_delta_deg.abs(); + let exact = kind.exact_angle_deg(); + let diff = separation - exact; + if diff.abs() > allowed { + return None; + } + + // Applying / separating: signed separation `raw_delta_deg` evolves + // at `(b_rate − a_rate)`. The unsigned separation evolves at + // `sign(raw_delta) × (b_rate − a_rate)`. The aspect is closing + // (applying) when (separation − exact) and d(separation)/dt have + // opposite signs. + let rate_b_minus_a_deg_per_day = + (b.longitude_rate_rad_per_day - a.longitude_rate_rad_per_day).to_degrees(); + let dseparation_dt = if raw_delta_deg >= 0.0 { + rate_b_minus_a_deg_per_day + } else { + -rate_b_minus_a_deg_per_day + }; + let applying = if diff > 0.0 { + // sep > exact → closing means d sep / dt < 0. + dseparation_dt < 0.0 + } else if diff < 0.0 { + // sep < exact → closing means d sep / dt > 0. + dseparation_dt > 0.0 + } else { + // Exactly on the angle. + false + }; + + // Normalise the body order so the aspect is canonical regardless of + // input pair order: alphabetise by name (cheap, stable). + let (canon_a, canon_b) = if a.body.name() <= b.body.name() { + (a.body, b.body) + } else { + (b.body, a.body) + }; + + Some(Aspect { + a: canon_a, + b: canon_b, + kind, + orb_signed_deg: diff, + allowed_orb_deg: allowed, + applying, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn aspect_exact_angles_round_to_traditional_values() { + assert!((AspectKind::Trine.exact_angle_deg() - 120.0).abs() < 1e-12); + assert!((AspectKind::Septile.exact_angle_deg() - 360.0 / 7.0).abs() < 1e-12); + } + + #[test] + fn orb_table_modern_western_luminary_multiplier() { + let orbs = OrbTable::modern_western(); + // Sun-Mercury conjunction: 8 × 1.25 = 10°. + let sun_mercury = orbs.orb_for(Body::Sun, Body::Mercury, AspectKind::Conjunction); + assert!((sun_mercury - 10.0).abs() < 1e-12); + // Mercury-Venus conjunction: 8 × 1.0 = 8°. + let m_v = orbs.orb_for(Body::Mercury, Body::Venus, AspectKind::Conjunction); + assert!((m_v - 8.0).abs() < 1e-12); + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/birth_data.rs b/01_yachay/cosmos/cosmos-astrology/src/birth_data.rs new file mode 100644 index 0000000..e0bfff5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/birth_data.rs @@ -0,0 +1,58 @@ +//! Input for a natal-chart computation: a moment in time and a place, +//! plus a small bag of metadata so the chart can carry its provenance. + +use cosmos_sky::{Instant, Observer}; + +/// How confident the astrologer is in the recorded birth time. Carried +/// forward into the chart metadata so rectification work can mark its +/// best-known time without losing the original. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum TimeCertainty { + /// The birth time is taken at face value with no asserted uncertainty. + #[default] + Exact, + /// The birth time is approximate; `minutes` is the half-width of the + /// uncertainty interval (e.g. `30` means ±30 minutes). + Approximate { minutes: u32 }, + /// The birth time has been adjusted by the astrologer via rectification. + Rectified, +} + +/// Birth (or event) data — everything the chart computer needs to know +/// from the *subject's* side, before the astrologer adds chart-style +/// preferences. +#[derive(Debug, Clone)] +pub struct BirthData { + pub instant: Instant, + pub observer: Observer, + pub name: Option, + pub time_certainty: TimeCertainty, + pub note: Option, +} + +impl BirthData { + pub fn new(instant: Instant, observer: Observer) -> Self { + Self { + instant, + observer, + name: None, + time_certainty: TimeCertainty::Exact, + note: None, + } + } + + pub fn with_name(mut self, name: impl Into) -> Self { + self.name = Some(name.into()); + self + } + + pub fn with_time_certainty(mut self, certainty: TimeCertainty) -> Self { + self.time_certainty = certainty; + self + } + + pub fn with_note(mut self, note: impl Into) -> Self { + self.note = Some(note.into()); + self + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/chart.rs b/01_yachay/cosmos/cosmos-astrology/src/chart.rs new file mode 100644 index 0000000..57376aa --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/chart.rs @@ -0,0 +1,293 @@ +//! The `NatalChart`: assembly of birth data → angles → houses → placements. + +use cosmos_core::Location; +use cosmos_sky::{ApparentPosition, Body, EphemerisSession, HorizonCoord, Instant, Observer}; +use cosmos_time::sidereal::GAST; +use cosmos_time::scales::conversions::ToUT1WithDeltaT; +use cosmos_validation::sidereal::{ayanamsha as ayanamsha_value, true_obliquity_iau2006a}; + +use crate::birth_data::BirthData; +use crate::chart_config::ChartConfig; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::house_system::Houses; +use crate::placement::BodyPlacement; +use crate::zodiac::{SignedLongitude, Zodiac}; + +/// A computed angle (Ascendant, MC, Descendant, IC). Wraps a +/// [`SignedLongitude`] so callers can speak in sign-decimal form. +#[derive(Debug, Clone, Copy)] +pub struct Angle { + inner: SignedLongitude, +} + +impl Angle { + fn new(longitude_rad: f64) -> Self { + Self { + inner: SignedLongitude::from_radians(longitude_rad), + } + } + + /// Construct an angle from a raw zodiacal longitude in radians. + /// Internal helper exposed for directed charts (Solar Arc). + pub fn from_radians(longitude_rad: f64) -> Self { + Self::new(longitude_rad) + } + pub fn longitude_rad(&self) -> f64 { + self.inner.longitude_rad() + } + pub fn longitude_deg(&self) -> f64 { + self.inner.longitude_deg() + } + pub fn sign(&self) -> crate::zodiac::Sign { + self.inner.sign() + } + pub fn degree_in_sign(&self) -> u32 { + self.inner.degree_in_sign() + } + pub fn degree_in_sign_decimal(&self) -> f64 { + self.inner.degree_in_sign_decimal() + } + pub fn to_chart_format(&self) -> String { + self.inner.to_chart_format() + } +} + +/// A computed natal chart. All longitudes are stored in radians; signed +/// decompositions are derived via [`SignedLongitude`]. +#[derive(Debug, Clone)] +pub struct NatalChart { + pub birth: BirthData, + pub config: ChartConfig, + + // ─── Core geometry ──────────────────────────────────────────────── + /// True obliquity of date (mean + nutation in obliquity), radians. + pub obliquity_rad: f64, + /// Local Apparent Sidereal Time at the observer's longitude, radians. + pub local_apparent_sidereal_time_rad: f64, + /// Ayanamsha applied for sidereal mode, radians. `0.0` for tropical. + pub ayanamsha_rad: f64, + + // ─── Angles ─────────────────────────────────────────────────────── + ascendant: Angle, + midheaven: Angle, + descendant: Angle, + imum_coeli: Angle, + + // ─── Houses ─────────────────────────────────────────────────────── + pub houses: Houses, + + // ─── Placements (parallel to `config.bodies.bodies`) ─────────────── + pub placements: Vec, +} + +impl NatalChart { + pub fn ascendant(&self) -> Angle { + self.ascendant + } + pub fn midheaven(&self) -> Angle { + self.midheaven + } + pub fn descendant(&self) -> Angle { + self.descendant + } + pub fn imum_coeli(&self) -> Angle { + self.imum_coeli + } + + /// Lookup a placement by body. `None` if the requested body was not + /// in the configured [`crate::BodySet`]. + pub fn placement(&self, body: Body) -> Option<&BodyPlacement> { + self.placements.iter().find(|p| p.body == body) + } + + /// Overwrite this chart's four angles with another chart's, leaving + /// every other field untouched. Used by [`crate::progress`] when the + /// caller asks for `ProgressedHouses::Natal`: angles and cusps freeze + /// to the natal values while placements advance with the progressed + /// chart. + pub fn replace_angles_with(&mut self, other: &NatalChart) { + self.ascendant = other.ascendant; + self.midheaven = other.midheaven; + self.descendant = other.descendant; + self.imum_coeli = other.imum_coeli; + } + + /// Overwrite the four angles explicitly. Used by Solar Arc to apply + /// the uniform-rotation shift after copying from the natal chart. + pub fn set_directed_angles( + &mut self, + ascendant: Angle, + midheaven: Angle, + descendant: Angle, + imum_coeli: Angle, + ) { + self.ascendant = ascendant; + self.midheaven = midheaven; + self.descendant = descendant; + self.imum_coeli = imum_coeli; + } + + /// Compute a natal chart end-to-end. + pub fn compute( + birth: &BirthData, + config: &ChartConfig, + session: &EphemerisSession, + ) -> AstrologyResult { + let last_rad = compute_last_rad(&birth.instant, &birth.observer)?; + let tt = birth.instant.tt()?; + let obliquity_rad = true_obliquity_iau2006a(&tt).map_err(|e| { + AstrologyError::Sky(cosmos_sky::SkyError::Ephemeris( + cosmos_validation::oracle::OracleError::Inner(format!("obliquity: {}", e)), + )) + })?; + + // Houses + angles are always tropical (ecliptic of date). + let houses = Houses::compute( + config.house_system, + last_rad, + birth.observer.lat_rad, + obliquity_rad, + )?; + + let ayanamsha_rad = match config.zodiac { + Zodiac::Tropical => 0.0, + Zodiac::Sidereal(mode) => ayanamsha_value(mode, &tt), + }; + + let zodiac_offset = |tropical_rad: f64| -> f64 { + const TAU: f64 = std::f64::consts::TAU; + let v = tropical_rad - ayanamsha_rad; + let v = v.rem_euclid(TAU); + if v < 0.0 { + v + TAU + } else { + v + } + }; + + let asc_for_zodiac = zodiac_offset(houses.ascendant_rad); + let mc_for_zodiac = zodiac_offset(houses.midheaven_rad); + let ascendant = Angle::new(asc_for_zodiac); + let midheaven = Angle::new(mc_for_zodiac); + let descendant = Angle::new(zodiac_offset(houses.ascendant_rad + std::f64::consts::PI)); + let imum_coeli = Angle::new(zodiac_offset(houses.midheaven_rad + std::f64::consts::PI)); + + let observer = if config.include_horizon { + Some(&birth.observer) + } else { + None + }; + + let mut placements = Vec::with_capacity(config.bodies.bodies.len() + 1); + for &body in &config.bodies.bodies { + let apparent = compute_body(body, birth.instant, observer, session)?; + let tropical_lon = apparent.ecliptic_of_date.longitude_rad; + let zodiac_lon = zodiac_offset(tropical_lon); + let house = houses.house_containing(tropical_lon); + placements.push(BodyPlacement::from_apparent( + body, &apparent, zodiac_lon, house, + )); + } + + // Auto-add South Node opposite the (ascending) Mean / True node. + if config.bodies.include_south_node { + if let Some(node) = placements.iter().find(|p| { + matches!(p.body, Body::MeanNode | Body::TrueNode) + }) { + let south_lon_zodiac = + (node.longitude.longitude_rad() + std::f64::consts::PI) + .rem_euclid(std::f64::consts::TAU); + let south_lon_tropical = (south_lon_zodiac + ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU); + let south_house = houses.house_containing(south_lon_tropical); + let south_horizon = node.horizon.map(|h| HorizonCoord { + // South node is the antipode direction; we don't + // recompute horizon for it. Mark altitude as the + // anti-altitude (180° around in azimuth). + altitude_rad: -h.altitude_rad, + azimuth_rad: (h.azimuth_rad + std::f64::consts::PI) + .rem_euclid(std::f64::consts::TAU), + }); + // South node has the antipode RA / Dec of the north node. + let south_ra = (node.right_ascension_rad + std::f64::consts::PI) + .rem_euclid(std::f64::consts::TAU); + let south_dec = -node.declination_rad; + placements.push(BodyPlacement { + body: south_node_body_for(node.body), + longitude: SignedLongitude::from_radians(south_lon_zodiac), + latitude_rad: 0.0, + distance_km: 0.0, + longitude_rate_rad_per_day: node.longitude_rate_rad_per_day, + right_ascension_rad: south_ra, + declination_rad: south_dec, + house_number: south_house, + horizon: south_horizon, + }); + } + } + + Ok(Self { + birth: birth.clone(), + config: config.clone(), + obliquity_rad, + local_apparent_sidereal_time_rad: last_rad, + ayanamsha_rad, + ascendant, + midheaven, + descendant, + imum_coeli, + houses, + placements, + }) + } +} + +/// The South Node is the opposition of the ascending node, so we +/// preserve which family the node came from (Mean / True) and just +/// label the placement accordingly. We use the same `Body::MeanNode` / +/// `Body::TrueNode` identifier with a synthetic `is_retrograde` left +/// to match the ascending node, since the two nodes share motion by +/// construction. +fn south_node_body_for(ascending_body: Body) -> Body { + // No `Body::SouthNode` variant in the sky façade yet; for now we + // reuse the ascending-node identifier. Consumers wanting to + // distinguish should check the placement's longitude (south is + // exactly +180° opposite). When the sky façade grows dedicated + // South Node variants, this mapping becomes trivial. + ascending_body +} + +fn compute_body( + body: Body, + instant: Instant, + observer: Option<&Observer>, + session: &EphemerisSession, +) -> AstrologyResult { + session.body_apparent(body, instant, observer).map_err(|e| { + AstrologyError::BodyUnavailable(format!("{}: {}", body.name(), e)) + }) +} + +/// Local Apparent Sidereal Time at the observer's longitude, radians. +fn compute_last_rad(instant: &Instant, observer: &Observer) -> AstrologyResult { + let tt = instant.tt()?; + let ut1 = tt + .to_ut1_with_delta_t(instant.delta_t_seconds()) + .map_err(|e| AstrologyError::Sky(cosmos_sky::SkyError::Time(e)))?; + let location = Location::from_degrees( + observer.lat_rad.to_degrees(), + observer.lon_rad.to_degrees(), + observer.elev_m, + ) + .map_err(|e| { + AstrologyError::Sky(cosmos_sky::SkyError::Ephemeris( + cosmos_validation::oracle::OracleError::Inner(format!("Location: {:?}", e)), + )) + })?; + let gast = GAST::from_ut1_and_tt(&ut1, &tt).map_err(|e| { + AstrologyError::Sky(cosmos_sky::SkyError::Ephemeris( + cosmos_validation::oracle::OracleError::Inner(format!("GAST: {:?}", e)), + )) + })?; + Ok(gast.to_last(&location).angle().radians()) +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/chart_config.rs b/01_yachay/cosmos/cosmos-astrology/src/chart_config.rs new file mode 100644 index 0000000..e3417c8 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/chart_config.rs @@ -0,0 +1,87 @@ +//! User-controlled options for a natal-chart computation. + +use cosmos_sky::Body; + +use crate::house_system::HouseSystem; +use crate::zodiac::Zodiac; + +/// Which bodies to include in a chart. +#[derive(Debug, Clone)] +pub struct BodySet { + pub bodies: Vec, + /// Append the South Node automatically as `mean_node + 180°`? + /// (`Body::MeanNode` and `Body::TrueNode` give the *ascending* node.) + pub include_south_node: bool, +} + +impl BodySet { + /// The ten luminaries + planets used in most modern Western charts, + /// plus the mean lunar node (ascending). This is the baseline most + /// astrologers expect when no extra configuration is supplied. + pub fn classical_modern() -> Self { + Self { + bodies: vec![ + Body::Sun, + Body::Moon, + Body::Mercury, + Body::Venus, + Body::Mars, + Body::Jupiter, + Body::Saturn, + Body::Uranus, + Body::Neptune, + Body::Pluto, + Body::MeanNode, + ], + include_south_node: true, + } + } + + /// Classical-modern set plus mean Lilith. + pub fn with_lilith(mut self) -> Self { + self.bodies.push(Body::MeanLilith); + self + } + + /// Add the four main-belt asteroids (Ceres, Pallas, Juno, Vesta). + /// Requires an asteroid SPK kernel attached to the + /// [`cosmos_sky::EphemerisSession`]. + pub fn with_main_belt_asteroids(mut self) -> Self { + self.bodies.push(Body::Ceres); + self.bodies.push(Body::Pallas); + self.bodies.push(Body::Juno); + self.bodies.push(Body::Vesta); + self + } +} + +impl Default for BodySet { + fn default() -> Self { + Self::classical_modern() + } +} + +/// Combined chart configuration. The defaults produce a Placidus +/// tropical chart with the classical-modern body set. +#[derive(Debug, Clone)] +pub struct ChartConfig { + pub house_system: HouseSystem, + pub zodiac: Zodiac, + pub bodies: BodySet, + /// If `true`, request topocentric horizon coordinates for every body + /// in addition to the geocentric ecliptic position. Slightly more + /// expensive but useful for charts that care about local visibility + /// (rising / setting, mundane positions). + pub include_horizon: bool, +} + +impl Default for ChartConfig { + fn default() -> Self { + Self { + house_system: HouseSystem::default(), + zodiac: Zodiac::default(), + bodies: BodySet::default(), + include_horizon: false, + } + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/composite.rs b/01_yachay/cosmos/cosmos-astrology/src/composite.rs new file mode 100644 index 0000000..5e20d22 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/composite.rs @@ -0,0 +1,141 @@ +//! Composite (midpoint) charts. +//! +//! A composite chart is the symbolic "average" of two natal charts: +//! every point — Sun, Moon, planets, lunar nodes, Lilith, asteroids, +//! and the four angles — is replaced by the **angular midpoint** of +//! the corresponding pair `(A, B)`. Houses are then derived in the +//! Whole-Sign convention starting from the composite Ascendant. +//! +//! The convention used here is the classical *Midpoint Composite* +//! (Ronald Davison 1958), not the *Time-Space Composite* (which builds +//! a real natal chart at the geographic and temporal midpoint of two +//! births — a different construction that requires lat/lon math the +//! caller has to do explicitly). +//! +//! The two input charts MUST share the same [`crate::BodySet`] for the +//! placements to align by index. The standard +//! [`crate::ChartConfig::default()`] is fine. + +use cosmos_sky::Body; + +use crate::angles::wrap_two_pi; +use crate::birth_data::BirthData; +use crate::chart::NatalChart; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::zodiac::{Sign, SignedLongitude}; + +const PI: f64 = std::f64::consts::PI; + +/// One body's midpoint placement. +#[derive(Debug, Clone, Copy)] +pub struct CompositePlacement { + pub body: Body, + pub longitude: SignedLongitude, + pub sign: Sign, + /// Whole-sign house number `1..=12`. + pub house_number: u8, +} + +/// A complete midpoint composite chart. Carries provenance back to +/// both source charts so callers can audit the construction. +#[derive(Debug, Clone)] +pub struct CompositeChart { + pub from_a: BirthData, + pub from_b: BirthData, + pub ascendant: SignedLongitude, + pub midheaven: SignedLongitude, + pub descendant: SignedLongitude, + pub imum_coeli: SignedLongitude, + pub placements: Vec, +} + +impl CompositeChart { + /// Lookup the first composite placement for a body. (For bodies that + /// appear twice in the source charts — `MeanNode` and its + /// auto-appended South Node — only the first match is returned; + /// the second is at the antipode.) + pub fn placement(&self, body: Body) -> Option<&CompositePlacement> { + self.placements.iter().find(|p| p.body == body) + } +} + +/// Build a midpoint composite from two natal charts. The two charts +/// MUST have been computed with the same `BodySet` (so their +/// `placements` arrays line up by index); otherwise an error is +/// returned and the caller can re-run `NatalChart::compute` with +/// matching configurations. +pub fn composite(chart_a: &NatalChart, chart_b: &NatalChart) -> AstrologyResult { + if chart_a.placements.len() != chart_b.placements.len() { + return Err(AstrologyError::BodyUnavailable(format!( + "composite requires matching BodySet — chart A has {} placements, B has {}", + chart_a.placements.len(), + chart_b.placements.len() + ))); + } + for (a, b) in chart_a.placements.iter().zip(chart_b.placements.iter()) { + if a.body != b.body { + return Err(AstrologyError::BodyUnavailable(format!( + "composite requires identically-ordered BodySet — chart A has {} at index, B has {}", + a.body.name(), + b.body.name() + ))); + } + } + + let asc = angular_midpoint_rad( + chart_a.ascendant().longitude_rad(), + chart_b.ascendant().longitude_rad(), + ); + let mc = angular_midpoint_rad( + chart_a.midheaven().longitude_rad(), + chart_b.midheaven().longitude_rad(), + ); + let asc_sign = SignedLongitude::from_radians(asc).sign(); + + let placements: Vec = chart_a + .placements + .iter() + .zip(chart_b.placements.iter()) + .map(|(a, b)| { + let mid = angular_midpoint_rad( + a.longitude.longitude_rad(), + b.longitude.longitude_rad(), + ); + let sl = SignedLongitude::from_radians(mid); + let house = whole_sign_house(asc_sign, sl.sign()); + CompositePlacement { + body: a.body, + longitude: sl, + sign: sl.sign(), + house_number: house, + } + }) + .collect(); + + let desc = wrap_two_pi(asc + PI); + let ic = wrap_two_pi(mc + PI); + + Ok(CompositeChart { + from_a: chart_a.birth.clone(), + from_b: chart_b.birth.clone(), + ascendant: SignedLongitude::from_radians(asc), + midheaven: SignedLongitude::from_radians(mc), + descendant: SignedLongitude::from_radians(desc), + imum_coeli: SignedLongitude::from_radians(ic), + placements, + }) +} + +/// Angular midpoint of two longitudes (radians). Returns the midpoint +/// of the **shorter** arc between `a` and `b`, wrapped to `[0, 2π)`. +/// Antipodal inputs default to `a` itself. +pub fn angular_midpoint_rad(a: f64, b: f64) -> f64 { + let mid = libm::atan2(libm::sin(a) + libm::sin(b), libm::cos(a) + libm::cos(b)); + wrap_two_pi(mid) +} + +fn whole_sign_house(asc_sign: Sign, point_sign: Sign) -> u8 { + let diff = (point_sign.index() as i32 - asc_sign.index() as i32).rem_euclid(12); + (diff + 1) as u8 +} + diff --git a/01_yachay/cosmos/cosmos-astrology/src/eclipses.rs b/01_yachay/cosmos/cosmos-astrology/src/eclipses.rs new file mode 100644 index 0000000..840d9b5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/eclipses.rs @@ -0,0 +1,258 @@ +//! Eclipses, surfaced as an astrology-layer concern: find the next +//! eclipse and report its ecliptic longitude so callers can ask +//! "is this eclipse on one of my natal points?". +//! +//! The geometric eclipse machinery lives in `eternal-validation::eclipses` +//! and requires an SPK planetary kernel. This module wraps those +//! routines, computes the eclipse longitude (Sun's longitude for a +//! solar eclipse — the Sun is what gets eclipsed; Moon's longitude for +//! a lunar eclipse), and exposes a helper that filters eclipses by +//! proximity to any natal significator. + +use cosmos_sky::{Body, EphemerisSession, Instant}; +use cosmos_validation::eclipses as ev_eclipses; + +use crate::angles::unsigned_arc_deg; +use crate::chart::NatalChart; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::primary_direction::Significator; + +pub use ev_eclipses::{LunarEclipseKind, SolarEclipseKind}; + +/// Family identifier — whether the eclipse occurs at conjunction +/// (solar) or opposition (lunar) of Sun and Moon. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum EclipseFamily { + Solar, + Lunar, +} + +/// One eclipse event, with its detailed sub-classification and the +/// ecliptic longitude (of date) at which it falls. +#[derive(Debug, Clone, Copy)] +pub struct Eclipse { + pub family: EclipseFamily, + /// Solar sub-kind (Total / Partial / Annular / Hybrid / None) if + /// the event is solar; `None` otherwise. + pub solar_kind: Option, + /// Lunar sub-kind (Total / Partial / Penumbral / None) if the + /// event is lunar; `None` otherwise. + pub lunar_kind: Option, + pub instant: Instant, + /// Ecliptic-of-date longitude where the eclipse falls (radians). + /// For a solar eclipse this is the Sun's apparent ecliptic + /// longitude at maximum; for a lunar eclipse, the Moon's. + pub eclipse_longitude_rad: f64, +} + +/// Eclipse falling within orb of a natal significator. +#[derive(Debug, Clone, Copy)] +pub struct NatalEclipse { + pub eclipse: Eclipse, + pub natal_target: Significator, + pub natal_longitude_rad: f64, + /// Unsigned angular distance between eclipse longitude and natal + /// target longitude (degrees). + pub orb_deg: f64, +} + +/// Find the next solar eclipse after `after` and within +/// `max_synodic_months` lunar cycles. +pub fn next_solar_eclipse( + session: &EphemerisSession, + after: Instant, + max_synodic_months: usize, +) -> AstrologyResult> { + next_eclipse(session, after, max_synodic_months, EclipseFamily::Solar) +} + +/// Find the next lunar eclipse after `after` and within +/// `max_synodic_months` lunar cycles. +pub fn next_lunar_eclipse( + session: &EphemerisSession, + after: Instant, + max_synodic_months: usize, +) -> AstrologyResult> { + next_eclipse(session, after, max_synodic_months, EclipseFamily::Lunar) +} + +/// Shared scan path for both solar and lunar eclipses. The two +/// families only differ in (a) which validation routine drives the +/// shadow-geometry check and (b) which body (Sun for solar, Moon for +/// lunar) carries the ecliptic longitude reported as the eclipse +/// point. +fn next_eclipse( + session: &EphemerisSession, + after: Instant, + max_synodic_months: usize, + family: EclipseFamily, +) -> AstrologyResult> { + let spk = require_spk(session)?; + let jd_start = after.jd_tdb()?; + let found = match family { + EclipseFamily::Solar => ev_eclipses::next_solar_eclipse( + spk, + jd_start, + max_synodic_months, + ) + .map(|opt| opt.map(EclipseHit::Solar)), + EclipseFamily::Lunar => ev_eclipses::next_lunar_eclipse( + spk, + jd_start, + max_synodic_months, + ) + .map(|opt| opt.map(EclipseHit::Lunar)), + } + .map_err(|e| AstrologyError::Sky(cosmos_sky::SkyError::Ephemeris(e)))?; + + let Some(hit) = found else { + return Ok(None); + }; + let jd_tdb = hit.jd_tdb(); + let instant = Instant::from_jd_tdb(jd_tdb)?; + let longitude_body = match family { + EclipseFamily::Solar => Body::Sun, + EclipseFamily::Lunar => Body::Moon, + }; + let snap = session + .body_apparent(longitude_body, instant, None) + .map_err(AstrologyError::Sky)?; + let (solar_kind, lunar_kind) = match hit { + EclipseHit::Solar((_, s)) => (Some(s.kind), None), + EclipseHit::Lunar((_, s)) => (None, Some(s.kind)), + }; + Ok(Some(Eclipse { + family, + solar_kind, + lunar_kind, + instant, + eclipse_longitude_rad: snap.ecliptic_of_date.longitude_rad, + })) +} + +/// Internal tagged union over the two underlying eclipse snapshot types. +enum EclipseHit { + Solar((f64, ev_eclipses::SolarEclipseSnapshot)), + Lunar((f64, ev_eclipses::LunarEclipseSnapshot)), +} + +impl EclipseHit { + fn jd_tdb(&self) -> f64 { + match self { + EclipseHit::Solar((jd, _)) => *jd, + EclipseHit::Lunar((jd, _)) => *jd, + } + } +} + +/// Find every eclipse (solar + lunar interleaved) within the next +/// `max_synodic_months` synodic months that falls within `orb_deg` of +/// any natal target in `targets`. If `targets` is `None`, every natal +/// body plus the four angles is used. +/// +/// SPK backend required (the underlying eclipse routines need a +/// planetary kernel for the Sun and Moon positions). +pub fn eclipses_on_natal( + natal: &NatalChart, + session: &EphemerisSession, + after: Instant, + max_synodic_months: usize, + orb_deg: f64, + targets: Option<&[Significator]>, +) -> AstrologyResult> { + let default_targets; + let targets = match targets { + Some(t) => t, + None => { + default_targets = default_natal_targets(natal); + &default_targets + } + }; + + // Sweep solar and lunar independently as monotonic cursor walks: + // each `next_*_eclipse` call advances past the prior find rather + // than restarting from `after + N·month`. Two sweeps, never more + // than (NUMEC_solar + NUMEC_lunar) underlying calls, no dedup. + let mut all_eclipses = Vec::new(); + sweep_eclipses(session, after, max_synodic_months, EclipseFamily::Solar, &mut all_eclipses)?; + sweep_eclipses(session, after, max_synodic_months, EclipseFamily::Lunar, &mut all_eclipses)?; + all_eclipses.sort_by(|a, b| { + a.instant + .jd_utc() + .partial_cmp(&b.instant.jd_utc()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + + // Filter by natal proximity. + let mut out = Vec::new(); + for ecl in all_eclipses { + for &target in targets { + let Some(target_lon_rad) = target.longitude_rad(natal) else { + continue; + }; + let orb = unsigned_arc_deg( + ecl.eclipse_longitude_rad.to_degrees(), + target_lon_rad.to_degrees(), + ); + if orb <= orb_deg { + out.push(NatalEclipse { + eclipse: ecl, + natal_target: target, + natal_longitude_rad: target_lon_rad, + orb_deg: orb, + }); + } + } + } + + out.sort_by(|a, b| { + a.orb_deg + .partial_cmp(&b.orb_deg) + .unwrap_or(std::cmp::Ordering::Equal) + }); + Ok(out) +} + +// ─── Helpers ────────────────────────────────────────────────────────── + +fn require_spk( + session: &EphemerisSession, +) -> AstrologyResult<&cosmos_ephemeris::jpl::SpkFile> { + session.require_spk().map_err(AstrologyError::Sky) +} + +/// Walk a monotonic cursor through `max_synodic_months`-worth of +/// eclipses of the requested family, accumulating into `out`. +/// +/// The previous implementation called `next_X_eclipse(session, cursor, 1)` +/// in a loop and advanced the cursor by ~29.53 days, which forced +/// `next_X_eclipse` to redo most of its internal sweep on every +/// iteration. By advancing the cursor past each *found* eclipse instead, +/// the total scan now does ~N underlying calls for N synodic months +/// instead of ~2N redundant ones. +fn sweep_eclipses( + session: &EphemerisSession, + after: Instant, + max_synodic_months: usize, + family: EclipseFamily, + out: &mut Vec, +) -> AstrologyResult<()> { + let mut cursor = after; + let mut budget = max_synodic_months; + while budget > 0 { + let Some(ecl) = next_eclipse(session, cursor, budget, family)? else { + return Ok(()); + }; + let jd_after = ecl.instant.jd_utc() + 1.0; + out.push(ecl); + cursor = Instant::from_utc(after.utc().add_days(jd_after - after.jd_utc())); + // Each found eclipse "consumes" one synodic month of budget. + budget -= 1; + } + Ok(()) +} + +fn default_natal_targets(natal: &NatalChart) -> Vec { + crate::transits::default_natal_targets(natal) +} + diff --git a/01_yachay/cosmos/cosmos-astrology/src/error.rs b/01_yachay/cosmos/cosmos-astrology/src/error.rs new file mode 100644 index 0000000..728b74d --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/error.rs @@ -0,0 +1,23 @@ +//! Unified error type. + +use cosmos_sky::SkyError; +use thiserror::Error; + +pub type AstrologyResult = Result; + +#[derive(Debug, Error)] +pub enum AstrologyError { + /// An underlying astronomy or time conversion failed. + #[error("sky-layer error: {0}")] + Sky(#[from] SkyError), + + /// A house system could not be computed at the given location + /// (typical: Placidus / Koch inside the polar circle). + #[error("house system unavailable here: {0}")] + HouseSystemUnavailable(&'static str), + + /// Something requested a body that the session was not configured + /// to compute (e.g. an asteroid without an asteroid kernel attached). + #[error("body could not be computed: {0}")] + BodyUnavailable(String), +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/house_system.rs b/01_yachay/cosmos/cosmos-astrology/src/house_system.rs new file mode 100644 index 0000000..76f0a5e --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/house_system.rs @@ -0,0 +1,126 @@ +//! House systems and their cusps. +//! +//! Each variant of [`HouseSystem`] forwards to a Swiss-faithful +//! implementation living in `eternal-validation::houses`. Cusp arrays +//! are always in radians, indexed `0..12` where index `i` is the start +//! of house `i+1` (house 1 = Ascendant by convention). + +use cosmos_validation::houses as ev_houses; + +use crate::error::{AstrologyError, AstrologyResult}; + +/// Selectable house system. Geometric (Whole-Sign, Equal, Porphyry) are +/// defined everywhere on Earth; quadrant systems (Placidus, Koch, +/// Campanus) diverge inside the polar circle and return an error there. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum HouseSystem { + /// Houses are the 30°-wide zodiac signs counted from the + /// Ascendant's sign. The oldest documented system. + WholeSign, + /// Ascendant + N×30°. House 1 begins exactly at the Ascendant. + Equal, + /// Trisection of the diurnal and nocturnal semi-arcs measured along + /// the ecliptic between the Ascendant and the MC. + Porphyry, + /// Iterative trisection of the diurnal semi-arc measured along + /// each planet's hour circle. The Swiss / Astrodienst implementation. + Placidus, + /// Iterative trisection of the diurnal arc as projected on the + /// ecliptic. Like Placidus, undefined inside the polar circle. + Koch, + /// Trisection of the celestial equator → great-circle horizons. + Regiomontanus, + /// Trisection of the prime vertical → great-circle horizons. + Campanus, + /// **Polich–Page (Topocentric)** — closed-form quadrant system + /// derived from a topocentric "pole height" `atan(tan φ · n/3)` + /// per intermediate cusp. Faster than Placidus (no iteration), + /// agrees closely in mid-latitudes, and is the canonical system + /// for primary-direction work in the GR school. Undefined inside + /// the polar circle. + PolichPage, +} + +impl Default for HouseSystem { + fn default() -> Self { + HouseSystem::Placidus + } +} + +/// The four angles + twelve cusps of a chart. All values are in +/// radians; helpers in [`crate::SignedLongitude`] convert to degrees / +/// sign-decimal form for presentation. +#[derive(Debug, Clone, Copy)] +pub struct Houses { + pub system: HouseSystem, + pub ascendant_rad: f64, + pub midheaven_rad: f64, + /// `cusps[i]` = ecliptic longitude (radians) of the start of house + /// `i + 1`. House 1 starts at `cusps[0]` = Ascendant by definition. + pub cusps: [f64; 12], +} + +impl Houses { + /// Compute Asc/MC/cusps for a moment + observer, given the + /// already-derived Local Apparent Sidereal Time and the true + /// obliquity of date. + pub fn compute( + system: HouseSystem, + last_rad: f64, + lat_rad: f64, + obliquity_rad: f64, + ) -> AstrologyResult { + let ascendant_rad = ev_houses::ascendant(last_rad, lat_rad, obliquity_rad); + let midheaven_rad = ev_houses::midheaven(last_rad, obliquity_rad); + let cusps = match system { + HouseSystem::WholeSign => ev_houses::whole_sign_houses(ascendant_rad), + HouseSystem::Equal => ev_houses::equal_houses(ascendant_rad), + HouseSystem::Porphyry => ev_houses::porphyry_houses(last_rad, lat_rad, obliquity_rad), + HouseSystem::Placidus => ev_houses::placidus_houses(last_rad, lat_rad, obliquity_rad) + .map_err(AstrologyError::HouseSystemUnavailable)?, + HouseSystem::Koch => ev_houses::koch_houses(last_rad, lat_rad, obliquity_rad) + .map_err(AstrologyError::HouseSystemUnavailable)?, + HouseSystem::Regiomontanus => { + ev_houses::regiomontanus_houses(last_rad, lat_rad, obliquity_rad) + } + HouseSystem::Campanus => ev_houses::campanus_houses(last_rad, lat_rad, obliquity_rad) + .map_err(AstrologyError::HouseSystemUnavailable)?, + HouseSystem::PolichPage => { + ev_houses::polich_page_houses(last_rad, lat_rad, obliquity_rad) + .map_err(AstrologyError::HouseSystemUnavailable)? + } + }; + + Ok(Self { + system, + ascendant_rad, + midheaven_rad, + cusps, + }) + } + + /// Find which house (1..=12) contains `longitude_rad`. Membership is + /// `cusps[i] ≤ λ < cusps[(i+1) % 12]` modulo 2π. + pub fn house_containing(&self, longitude_rad: f64) -> u8 { + const TAU: f64 = std::f64::consts::TAU; + let lon = longitude_rad.rem_euclid(TAU); + for i in 0..12 { + let start = self.cusps[i].rem_euclid(TAU); + let end = self.cusps[(i + 1) % 12].rem_euclid(TAU); + if start <= end { + if lon >= start && lon < end { + return (i + 1) as u8; + } + } else { + // Wraps past 0° — body is in this house if it sits on + // either side of the wrap. + if lon >= start || lon < end { + return (i + 1) as u8; + } + } + } + // Floating-point edge case: body lands exactly on the last + // cusp. Attribute it to house 12. + 12 + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/lib.rs b/01_yachay/cosmos/cosmos-astrology/src/lib.rs new file mode 100644 index 0000000..f5bf3d9 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/lib.rs @@ -0,0 +1,118 @@ +//! # eternal-astrology +//! +//! The astrology-specific layer built on top of [`eternal-sky`](`cosmos_sky`). +//! +//! ## What this crate is +//! +//! A typed pipeline that turns a moment of birth and a place into a +//! `NatalChart`: the four angles, twelve house cusps in the user's +//! chosen system, and every requested body placed in its sign and house +//! with retrograde flag. +//! +//! Every number this crate emits is traceable, by construction, to the +//! same validated routines that gate the regression harness of the +//! underlying astronomy crates — there is no parallel implementation of +//! ephemerides, time scales, or rotation matrices here. The astrology +//! layer is *interpretation-free*: it computes the traditional +//! astrological constructs (signs, houses, lots, retrogradation, +//! sidereal modes) with astronomical precision and does **not** make +//! claims about what those constructs mean for the person concerned. +//! +//! ## Disclaimer +//! +//! Astrology is a symbolic system with deep cultural and personal +//! significance for many people. This crate computes its traditional +//! constructs faithfully but takes no position on whether those +//! constructs describe, predict, or explain anything about an +//! individual's life. Treat the output as a *language*, not as data. +//! +//! ## Quick start +//! +//! ```no_run +//! use cosmos_astrology::{BirthData, ChartConfig, HouseSystem, NatalChart, Zodiac}; +//! use cosmos_sky::{EphemerisSession, Instant, Observer, SessionConfig}; +//! +//! let session = EphemerisSession::open(SessionConfig::vsop2013())?; +//! let birth = BirthData::new( +//! Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240)?, +//! Observer::from_degrees(10.4806, -66.9036, 900.0), +//! ).with_name("Subject A"); +//! +//! let config = ChartConfig { +//! house_system: HouseSystem::Placidus, +//! zodiac: Zodiac::Tropical, +//! ..ChartConfig::default() +//! }; +//! +//! let chart = NatalChart::compute(&birth, &config, &session)?; +//! println!("Ascendant in {:?} {:.2}°", +//! chart.ascendant().sign(), +//! chart.ascendant().degree_in_sign(), +//! ); +//! # Ok::<_, cosmos_astrology::AstrologyError>(()) +//! ``` + +pub mod angles; +pub mod aspect; +pub mod birth_data; +pub mod chart; +pub mod chart_config; +pub mod composite; +pub mod eclipses; +pub mod error; +pub mod house_system; +pub mod lots; +pub mod lunar_phase; +pub mod mundane; +pub mod placement; +pub mod primary_direction; +pub mod profections; +pub mod progression; +pub mod returns; +pub mod solar_arc; +pub mod stations; +pub mod synastry; +pub mod topocentric; +pub mod transits; +pub mod zodiac; + +pub use aspect::{find_aspects, find_aspects_filtered, Aspect, AspectKind, OrbTable}; +pub use birth_data::{BirthData, TimeCertainty}; +pub use chart::{Angle, NatalChart}; +pub use chart_config::{BodySet, ChartConfig}; +pub use composite::{angular_midpoint_rad, composite, CompositeChart, CompositePlacement}; +pub use eclipses::{ + eclipses_on_natal, next_lunar_eclipse, next_solar_eclipse, Eclipse, EclipseFamily, + LunarEclipseKind, NatalEclipse, SolarEclipseKind, +}; +pub use error::{AstrologyError, AstrologyResult}; +pub use house_system::{HouseSystem, Houses}; +pub use placement::BodyPlacement; +pub use topocentric::topocentric_ecliptic; +pub use progression::{ + minor_progression, progress, progressed_instant, secondary_progression, tertiary_progression, + ProgressedChart, ProgressedHouses, ProgressionMethod, +}; +pub use primary_direction::{ + all_directions, all_directions_with_aspects, direct, direct_to_aspect, directed_longitude, + directions_to_angles, Direction, DirectionKey, DirectionMethod, PrimaryDirection, Significator, +}; +pub use lots::{all_lots, compute_lot, custom_lot, Lot, LotName, LotPoint, Sect}; +pub use lunar_phase::{ + classify_lunation_phase, next_canonical_phase, next_lunar_phase, phase_angle_at, + phase_angle_at_deg, LunarPhase, LunationPhase, +}; +pub use profections::{ + annual_profection, modern_ruler, monthly_profection, profection_at, traditional_ruler, + AnnualProfection, MonthlyProfection, ProfectionHouses, +}; +pub use returns::next_return; +pub use solar_arc::{solar_arc, solar_arc_naibod, solar_arc_true, SolarArcChart, SolarArcMethod}; +pub use stations::{all_stations, next_station, Station, StationKind}; +pub use synastry::{find_synastry_aspects, SynastryAspect}; +pub use transits::{ + default_natal_targets, find_current_transits, find_next_exact_transit, TransitAspect, +}; +pub use zodiac::{Sign, SignedLongitude, Zodiac}; + +pub use cosmos_sky::Ayanamsha; diff --git a/01_yachay/cosmos/cosmos-astrology/src/lots.rs b/01_yachay/cosmos/cosmos-astrology/src/lots.rs new file mode 100644 index 0000000..b446833 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/lots.rs @@ -0,0 +1,234 @@ +//! Arabic Parts (Hellenistic *Lots*). +//! +//! A Lot is a calculated point on the ecliptic of the form +//! `A + B − C` where each of `A`, `B`, `C` is the natal longitude of +//! the Ascendant, a body, or another previously-computed Lot. Most +//! classical Lots **reverse** by day/night sect — i.e. the roles of +//! `B` and `C` swap when the Sun sits below the horizon at the moment +//! of birth. +//! +//! The seven shipped here cover the bulk of practical Hellenistic +//! work; new ones can be expressed via [`custom_lot`]. + +use cosmos_sky::Body; + +use crate::chart::NatalChart; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::zodiac::{Sign, SignedLongitude}; + +const TAU: f64 = std::f64::consts::TAU; + +/// Day or night birth, determined by whether the natal Sun is above +/// the horizon. Houses 7..=12 are the diurnal hemisphere; 1..=6 the +/// nocturnal. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Sect { + Day, + Night, +} + +impl Sect { + /// Determine sect from a computed chart. + pub fn of(chart: &NatalChart) -> AstrologyResult { + let sun = chart.placement(Body::Sun).ok_or_else(|| { + AstrologyError::BodyUnavailable("Sun not in chart — sect undefined".into()) + })?; + // Houses 7..=12 lie above the horizon, 1..=6 below. + Ok(if (7..=12).contains(&sun.house_number) { + Sect::Day + } else { + Sect::Night + }) + } +} + +/// A point that can appear as `A`, `B`, or `C` in a Lot formula. +#[derive(Debug, Clone, Copy)] +pub enum LotPoint { + Ascendant, + Body(Body), + Lot(LotName), +} + +/// The canonical Hellenistic Lots wired here. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum LotName { + Fortune, + Spirit, + Eros, + Necessity, + Courage, + Victory, + Nemesis, +} + +impl LotName { + pub fn label(self) -> &'static str { + match self { + LotName::Fortune => "Fortune", + LotName::Spirit => "Spirit", + LotName::Eros => "Eros", + LotName::Necessity => "Necessity", + LotName::Courage => "Courage", + LotName::Victory => "Victory", + LotName::Nemesis => "Nemesis", + } + } + + /// `(A_day, B_day, C_day)` — the diurnal formula `A + B − C`. + fn diurnal_triplet(self) -> (LotPoint, LotPoint, LotPoint) { + let asc = LotPoint::Ascendant; + let body = LotPoint::Body; + let lot = LotPoint::Lot; + match self { + LotName::Fortune => (asc, body(Body::Moon), body(Body::Sun)), + LotName::Spirit => (asc, body(Body::Sun), body(Body::Moon)), + LotName::Eros => (asc, body(Body::Venus), lot(LotName::Spirit)), + LotName::Necessity => (asc, lot(LotName::Fortune), body(Body::Mercury)), + LotName::Courage => (asc, body(Body::Mars), lot(LotName::Fortune)), + LotName::Victory => (asc, body(Body::Jupiter), lot(LotName::Spirit)), + LotName::Nemesis => (asc, lot(LotName::Fortune), body(Body::Saturn)), + } + } +} + +/// One computed Lot. +#[derive(Debug, Clone, Copy)] +pub struct Lot { + pub name: Option, + pub sect: Sect, + pub longitude: SignedLongitude, + pub house_number: u8, +} + +impl Lot { + pub fn sign(&self) -> Sign { + self.longitude.sign() + } +} + +/// Compute one of the canonical lots. +pub fn compute_lot(chart: &NatalChart, name: LotName) -> AstrologyResult { + let sect = Sect::of(chart)?; + let mut cache = std::collections::HashMap::new(); + let lon = resolve_lot(chart, sect, name, &mut cache)?; + let house = chart.houses.house_containing( + (lon + chart.ayanamsha_rad).rem_euclid(TAU), + ); + Ok(Lot { + name: Some(name), + sect, + longitude: SignedLongitude::from_radians(lon), + house_number: house, + }) +} + +/// Compute every canonical lot in dependency order. Convenience for +/// chart reports. +pub fn all_lots(chart: &NatalChart) -> AstrologyResult> { + let order = [ + LotName::Fortune, + LotName::Spirit, + LotName::Eros, + LotName::Necessity, + LotName::Courage, + LotName::Victory, + LotName::Nemesis, + ]; + let mut out = Vec::with_capacity(order.len()); + for name in order { + out.push(compute_lot(chart, name)?); + } + Ok(out) +} + +/// Compute a user-defined Lot. Supply both diurnal and nocturnal +/// triplets; pass the same tuple twice for a non-sect-reversing Lot. +pub fn custom_lot( + chart: &NatalChart, + diurnal: (LotPoint, LotPoint, LotPoint), + nocturnal: (LotPoint, LotPoint, LotPoint), +) -> AstrologyResult { + let sect = Sect::of(chart)?; + let (a, b, c) = match sect { + Sect::Day => diurnal, + Sect::Night => nocturnal, + }; + let mut cache = std::collections::HashMap::new(); + let lon = resolve_formula(chart, sect, a, b, c, &mut cache)?; + let house = chart.houses.house_containing( + (lon + chart.ayanamsha_rad).rem_euclid(TAU), + ); + Ok(Lot { + name: None, + sect, + longitude: SignedLongitude::from_radians(lon), + house_number: house, + }) +} + +// ─── Internals ───────────────────────────────────────────────────────── + +fn resolve_lot( + chart: &NatalChart, + sect: Sect, + name: LotName, + cache: &mut std::collections::HashMap, +) -> AstrologyResult { + if let Some(v) = cache.get(&name) { + return Ok(*v); + } + let (a, b, c) = match sect { + Sect::Day => name.diurnal_triplet(), + Sect::Night => reverse_triplet(name.diurnal_triplet()), + }; + let lon = resolve_formula(chart, sect, a, b, c, cache)?; + cache.insert(name, lon); + Ok(lon) +} + +/// Swap `B` and `C` in a diurnal triplet to obtain the nocturnal one. +fn reverse_triplet( + t: (LotPoint, LotPoint, LotPoint), +) -> (LotPoint, LotPoint, LotPoint) { + (t.0, t.2, t.1) +} + +fn resolve_formula( + chart: &NatalChart, + sect: Sect, + a: LotPoint, + b: LotPoint, + c: LotPoint, + cache: &mut std::collections::HashMap, +) -> AstrologyResult { + let la = resolve_point(chart, sect, a, cache)?; + let lb = resolve_point(chart, sect, b, cache)?; + let lc = resolve_point(chart, sect, c, cache)?; + let raw = la + lb - lc; + Ok(raw.rem_euclid(TAU)) +} + +fn resolve_point( + chart: &NatalChart, + sect: Sect, + point: LotPoint, + cache: &mut std::collections::HashMap, +) -> AstrologyResult { + match point { + // Lots are expressed in the chart's *zodiac* (tropical or + // sidereal). The Asc/MC stored in NatalChart are already in + // zodiac frame, so use those directly. + LotPoint::Ascendant => Ok(chart.ascendant().longitude_rad()), + LotPoint::Body(b) => { + let placement = chart.placement(b).ok_or_else(|| { + AstrologyError::BodyUnavailable(format!( + "{} required by Lot is not in chart", + b.name() + )) + })?; + Ok(placement.longitude.longitude_rad()) + } + LotPoint::Lot(name) => resolve_lot(chart, sect, name, cache), + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/lunar_phase.rs b/01_yachay/cosmos/cosmos-astrology/src/lunar_phase.rs new file mode 100644 index 0000000..b06010a --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/lunar_phase.rs @@ -0,0 +1,236 @@ +//! Lunar phases: the angular relationship between Moon and Sun +//! expressed in the eight classical phases. +//! +//! The **phase angle** `p` is `Moon_longitude − Sun_longitude` wrapped +//! to `[0, 2π)`. At `p = 0` the Moon and Sun are conjunct (new moon); +//! at `p = π/2` first quarter; at `p = π` opposition (full moon); at +//! `p = 3π/2` last quarter. The intermediate "crescent" and "gibbous" +//! phases occupy the eighths between the four canonical instants. +//! +//! All phase finding reduces to a root-find on +//! `signed_delta(p − target)` and reuses [`cosmos_sky::find_root`]. + +use cosmos_sky::{find_root, Body, EphemerisSession, Instant, SearchOptions, SkyResult}; + +use crate::angles::signed_delta_rad; +use crate::error::{AstrologyError, AstrologyResult}; + +const TAU: f64 = std::f64::consts::TAU; +const PI: f64 = std::f64::consts::PI; + +/// One of the four canonical lunar phases (the boundary instants). +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum LunarPhase { + NewMoon, + FirstQuarter, + FullMoon, + LastQuarter, +} + +impl LunarPhase { + pub fn target_angle_rad(self) -> f64 { + match self { + LunarPhase::NewMoon => 0.0, + LunarPhase::FirstQuarter => PI / 2.0, + LunarPhase::FullMoon => PI, + LunarPhase::LastQuarter => 3.0 * PI / 2.0, + } + } + pub fn name(self) -> &'static str { + match self { + LunarPhase::NewMoon => "New Moon", + LunarPhase::FirstQuarter => "First Quarter", + LunarPhase::FullMoon => "Full Moon", + LunarPhase::LastQuarter => "Last Quarter", + } + } +} + +/// The full eight-phase classification used for "the Moon was waxing +/// gibbous when you were born" descriptions. Boundaries are at the +/// four canonical instants; the four "between" phases occupy the +/// 45°-wide bands. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum LunationPhase { + NewMoon, + WaxingCrescent, + FirstQuarter, + WaxingGibbous, + FullMoon, + WaningGibbous, + LastQuarter, + WaningCrescent, +} + +impl LunationPhase { + pub fn name(self) -> &'static str { + match self { + LunationPhase::NewMoon => "New Moon", + LunationPhase::WaxingCrescent => "Waxing Crescent", + LunationPhase::FirstQuarter => "First Quarter", + LunationPhase::WaxingGibbous => "Waxing Gibbous", + LunationPhase::FullMoon => "Full Moon", + LunationPhase::WaningGibbous => "Waning Gibbous", + LunationPhase::LastQuarter => "Last Quarter", + LunationPhase::WaningCrescent => "Waning Crescent", + } + } +} + +/// Compute the phase angle (Moon − Sun longitude, mod 2π) at `t`. +pub fn phase_angle_at(session: &EphemerisSession, t: Instant) -> SkyResult { + let sun = session.body_apparent(Body::Sun, t, None)?; + let moon = session.body_apparent(Body::Moon, t, None)?; + let diff = moon.ecliptic_of_date.longitude_rad - sun.ecliptic_of_date.longitude_rad; + Ok(diff.rem_euclid(TAU)) +} + +/// Phase angle at `t` in degrees. +pub fn phase_angle_at_deg(session: &EphemerisSession, t: Instant) -> SkyResult { + Ok(phase_angle_at(session, t)?.to_degrees()) +} + +/// Classify the phase angle into one of eight lunation phases. Bands +/// are 45° wide; the canonical instants (0°, 90°, 180°, 270°) fall at +/// the band boundaries — they're classified into the *waxing* side by +/// convention (so an exact 90° is `FirstQuarter`, not `WaxingCrescent`). +pub fn classify_lunation_phase(phase_angle_rad: f64) -> LunationPhase { + let p = phase_angle_rad.rem_euclid(TAU); + let deg = p.to_degrees(); + // Band boundaries: 0, 45, 90, 135, 180, 225, 270, 315. + if deg < 22.5 || deg >= 337.5 { + LunationPhase::NewMoon + } else if deg < 67.5 { + LunationPhase::WaxingCrescent + } else if deg < 112.5 { + LunationPhase::FirstQuarter + } else if deg < 157.5 { + LunationPhase::WaxingGibbous + } else if deg < 202.5 { + LunationPhase::FullMoon + } else if deg < 247.5 { + LunationPhase::WaningGibbous + } else if deg < 292.5 { + LunationPhase::LastQuarter + } else { + LunationPhase::WaningCrescent + } +} + +/// Mean synodic month in days. Used to convert a phase delta into a +/// time estimate for the bisector. +const SYNODIC_MONTH_DAYS: f64 = 29.530_588_85; + +/// Find the next instant after `after` at which the lunation reaches +/// the canonical `phase`. Returns `Ok(None)` if the estimated time +/// exceeds `max_window_days`. +/// +/// Strategy: a single coarse bisection over the whole cycle would trip +/// over the `phase mod 2π` discontinuity (signed_delta jumps by 2π +/// when the phase angle wraps at 0/2π, which the bisector +/// misinterprets as a zero crossing). We dodge that by: +/// +/// 1. Sampling the current phase angle at `after`. +/// 2. Computing the *forward* angular distance to the target +/// (`delta_phase = (target − current) mod 2π`). +/// 3. Estimating the time of perfection as +/// `Δt ≈ delta_phase × synodic_month / 2π`. +/// 4. Bisecting in a ±2-day window around that estimate — short +/// enough that `signed_delta` stays monotonic. +pub fn next_lunar_phase( + session: &EphemerisSession, + phase: LunarPhase, + after: Instant, + max_window_days: f64, +) -> AstrologyResult> { + let target = phase.target_angle_rad(); + let current = phase_angle_at(session, after).map_err(AstrologyError::Sky)?; + let delta_phase = (target - current).rem_euclid(TAU); + let estimated_delta_days = + delta_phase / TAU * SYNODIC_MONTH_DAYS; + if estimated_delta_days > max_window_days { + return Ok(None); + } + let center = Instant::from_utc(after.utc().add_days(estimated_delta_days)); + let lo = Instant::from_utc(center.utc().add_days(-2.0)); + let hi = Instant::from_utc(center.utc().add_days(2.0)); + + let opts = SearchOptions { + coarse_step_seconds: 3.0 * 3600.0, // 3 h + tolerance_seconds: 30.0, + max_iterations: 80, + }; + + find_root( + lo, + hi, + |t: Instant| { + let p = phase_angle_at(session, t)?; + Ok(signed_delta_rad(p, target)) + }, + opts, + ) + .map_err(AstrologyError::Sky) +} + +/// Find the next of *any* canonical phase. Returns `(Instant, LunarPhase)` +/// with the phase identity for the event found. +/// +/// The four phases are 90° apart on the phase angle, so we can pick +/// the next target in a single computation from the current phase +/// angle — no need to bisect for all four and discard three. +pub fn next_canonical_phase( + session: &EphemerisSession, + after: Instant, + max_window_days: f64, +) -> AstrologyResult> { + let current = phase_angle_at(session, after).map_err(AstrologyError::Sky)?; + // Phase quadrants on the unit cycle: New @ 0°, FQ @ 90°, Full @ 180°, + // LQ @ 270°. The "next" target is the next 90°-multiple boundary + // strictly *ahead* of `current`. floor(current/90°) + 1 gives the + // index of that boundary mod 4. + let quadrant_index = (current.to_degrees() / 90.0).floor() as i32; + let next_index = ((quadrant_index + 1) % 4 + 4) % 4; + let phase = match next_index { + 0 => LunarPhase::NewMoon, + 1 => LunarPhase::FirstQuarter, + 2 => LunarPhase::FullMoon, + _ => LunarPhase::LastQuarter, + }; + Ok(next_lunar_phase(session, phase, after, max_window_days)?.map(|t| (t, phase))) +} + + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn classify_lunation_phase_bands() { + assert_eq!(classify_lunation_phase(0.0), LunationPhase::NewMoon); + assert_eq!( + classify_lunation_phase((22.0_f64).to_radians()), + LunationPhase::NewMoon + ); + assert_eq!( + classify_lunation_phase((23.0_f64).to_radians()), + LunationPhase::WaxingCrescent + ); + assert_eq!( + classify_lunation_phase((90.0_f64).to_radians()), + LunationPhase::FirstQuarter + ); + assert_eq!( + classify_lunation_phase((180.0_f64).to_radians()), + LunationPhase::FullMoon + ); + assert_eq!( + classify_lunation_phase((270.0_f64).to_radians()), + LunationPhase::LastQuarter + ); + assert_eq!( + classify_lunation_phase((340.0_f64).to_radians()), + LunationPhase::NewMoon + ); + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/mundane.rs b/01_yachay/cosmos/cosmos-astrology/src/mundane.rs new file mode 100644 index 0000000..04bdfe3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/mundane.rs @@ -0,0 +1,256 @@ +//! Mundane (Placidus-quadrant) helpers. +//! +//! These functions answer the **third-dimensional** questions about a +//! body that the ecliptic projection erases: +//! +//! * **Ascensional Difference (AD)** — how much earlier or later a body +//! crosses the horizon compared to a hypothetical body on the celestial +//! equator. Formula: `sin AD = tan δ · tan φ`. +//! * **Diurnal / Nocturnal Semi-Arc** — the equatorial-degree distance +//! the body travels between horizon and meridian. `DSA = 90° + AD`, +//! `NSA = 90° − AD`. +//! * **Hour Angle (H)** — the equatorial angle between the body and the +//! local meridian. `H = RAMC − RA(body)`, normalised to `[-π, π]`. +//! * **Mundane Position (m)** — a continuous coordinate in `[0, 4)` that +//! wraps the Placidus quadrant structure: +//! * `m = 0`: rising point (eastern horizon) +//! * `m = 1`: upper meridian (MC) +//! * `m = 2`: setting point (western horizon) +//! * `m = 3`: lower meridian (IC) +//! +//! House cusps land at the natural `m = k/3` boundaries (cusp 11 at +//! `m = 2/3`, cusp 12 at `m = 1/3`, etc., in the Placidus model). +//! +//! Latitudes near the polar circle (|φ| ≥ 90° − |δ|) make AD undefined +//! — the body never sets or never rises. The helpers return `f64::NAN` +//! in that regime instead of panicking; the primary-direction layer +//! handles the NaN by surfacing an `HouseSystemUnavailable`-style error. + +use std::f64::consts::{PI, TAU}; + +/// Wrap an angle into `[-π, π]`. +#[inline] +fn wrap_pi(x: f64) -> f64 { + let mut v = x.rem_euclid(TAU); + if v > PI { + v -= TAU; + } + v +} + +/// Ascensional Difference (AD), radians. `sin AD = tan δ · tan φ`. +/// Returns `NAN` when the body never crosses the horizon (always above +/// or always below at the observer's latitude). +pub fn ascensional_difference_rad(declination_rad: f64, latitude_rad: f64) -> f64 { + let s = libm::tan(declination_rad) * libm::tan(latitude_rad); + if !(-1.0..=1.0).contains(&s) { + f64::NAN + } else { + libm::asin(s) + } +} + +/// Diurnal Semi-Arc (DSA), radians. Time from rising to upper meridian +/// expressed as an equatorial angle. `DSA = π/2 + AD`. +pub fn diurnal_semi_arc_rad(declination_rad: f64, latitude_rad: f64) -> f64 { + let ad = ascensional_difference_rad(declination_rad, latitude_rad); + if ad.is_nan() { + f64::NAN + } else { + std::f64::consts::FRAC_PI_2 + ad + } +} + +/// Nocturnal Semi-Arc (NSA), radians. `NSA = π/2 − AD`. +pub fn nocturnal_semi_arc_rad(declination_rad: f64, latitude_rad: f64) -> f64 { + let ad = ascensional_difference_rad(declination_rad, latitude_rad); + if ad.is_nan() { + f64::NAN + } else { + std::f64::consts::FRAC_PI_2 - ad + } +} + +/// Signed hour angle `H = RAMC − RA`, normalised to `[-π, π]`. Negative +/// values are east of the meridian (pre-culmination), positive values +/// west (post-culmination). +pub fn signed_hour_angle_rad(ramc_rad: f64, right_ascension_rad: f64) -> f64 { + wrap_pi(ramc_rad - right_ascension_rad) +} + +/// Returns `true` if the body sits above the local horizon at the +/// given natal time. The criterion is `|H| ≤ DSA`. +pub fn is_above_horizon(hour_angle_rad: f64, diurnal_semi_arc_rad: f64) -> bool { + if diurnal_semi_arc_rad.is_nan() { + // Pole / circumpolar case: handle by examining the sign of + // `tan δ · tan φ`. Skip for now and assume below. + return false; + } + hour_angle_rad.abs() <= diurnal_semi_arc_rad +} + +/// Compute the continuous Placidus mundane position `m ∈ [0, 4)` given +/// the body's signed hour angle and its DSA + NSA. +/// +/// Boundary mapping: +/// `m = 0` → rising (east horizon, `H = -DSA`) +/// `m = 1` → MC (`H = 0`) +/// `m = 2` → setting (west horizon, `H = +DSA`) +/// `m = 3` → IC (`H = ±π`) +/// +/// Within each quadrant the mapping is linear in hour angle. +pub fn mundane_position( + hour_angle_rad: f64, + diurnal_semi_arc_rad: f64, + nocturnal_semi_arc_rad: f64, +) -> f64 { + let h = wrap_pi(hour_angle_rad); + let dsa = diurnal_semi_arc_rad; + let nsa = nocturnal_semi_arc_rad; + if dsa.is_nan() || nsa.is_nan() { + return f64::NAN; + } + if h.abs() <= dsa { + // Above horizon: m ∈ [0, 2], m = 1 + H/DSA. + return 1.0 + h / dsa; + } + // Below horizon. + if h > dsa { + // West side: m ∈ (2, 3], H = DSA + (m - 2) · NSA → m = 2 + (H - DSA)/NSA. + 2.0 + (h - dsa) / nsa + } else { + // East side: m ∈ (3, 4), H = -π + (m - 3) · NSA → m = 3 + (H + π)/NSA. + 3.0 + (h + PI) / nsa + } +} + +/// Inverse of `mundane_position`: given an `m` and the body's +/// `(DSA, NSA)`, return the hour angle the body would have at that +/// mundane position. Used by the primary-direction code to compute the +/// arc the promissor must rotate to *reach* a target mundane position. +pub fn hour_angle_for_mundane( + m: f64, + diurnal_semi_arc_rad: f64, + nocturnal_semi_arc_rad: f64, +) -> f64 { + let dsa = diurnal_semi_arc_rad; + let nsa = nocturnal_semi_arc_rad; + let m = m.rem_euclid(4.0); + if m <= 2.0 { + // Above horizon. + (m - 1.0) * dsa + } else if m <= 3.0 { + dsa + (m - 2.0) * nsa + } else { + -PI + (m - 3.0) * nsa + } +} + +/// Wrap `m` into `[0, 4)`. +#[inline] +pub fn wrap_mundane(m: f64) -> f64 { + let v = m.rem_euclid(4.0); + if v < 0.0 { + v + 4.0 + } else { + v + } +} + +/// Compute the natal mundane position of a body, given the chart's +/// RAMC and the body's RA/Dec, with the observer's latitude. This is +/// the one-stop helper the primary-direction layer calls. +pub fn natal_mundane_position( + ramc_rad: f64, + body_right_ascension_rad: f64, + body_declination_rad: f64, + latitude_rad: f64, +) -> f64 { + let dsa = diurnal_semi_arc_rad(body_declination_rad, latitude_rad); + let nsa = nocturnal_semi_arc_rad(body_declination_rad, latitude_rad); + let h = signed_hour_angle_rad(ramc_rad, body_right_ascension_rad); + mundane_position(h, dsa, nsa) +} + +/// Convenience: wrap a difference in mundane coordinates so it lies in +/// `[0, 4)` (mod 4 — equivalent to mod 360° rotation). +pub fn wrap_mundane_diff(diff: f64) -> f64 { + wrap_mundane(diff) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ad_zero_for_equator_body_or_zero_latitude() { + // δ = 0 → AD = 0 regardless of φ. + for phi_deg in [-60.0, -10.0, 0.0, 25.0, 60.0] { + let phi = (phi_deg as f64).to_radians(); + let ad = ascensional_difference_rad(0.0, phi); + assert!(ad.abs() < 1e-12, "AD(δ=0, φ={}) = {}", phi_deg, ad); + } + // φ = 0 → AD = 0 regardless of δ. + for dec_deg in [-23.0, -5.0, 0.0, 5.0, 23.0] { + let dec = (dec_deg as f64).to_radians(); + let ad = ascensional_difference_rad(dec, 0.0); + assert!(ad.abs() < 1e-12, "AD(δ={}, φ=0) = {}", dec_deg, ad); + } + } + + #[test] + fn dsa_plus_nsa_equals_pi() { + let dec = 15.0_f64.to_radians(); + let phi = 40.0_f64.to_radians(); + let s = diurnal_semi_arc_rad(dec, phi) + nocturnal_semi_arc_rad(dec, phi); + assert!((s - PI).abs() < 1e-12); + } + + #[test] + fn hour_angle_wraps_correctly() { + // RAMC = 350°, RA = 10°: simple diff would be 340°, wrapped → -20°. + let h = signed_hour_angle_rad(350.0_f64.to_radians(), 10.0_f64.to_radians()); + assert!((h.to_degrees() - (-20.0)).abs() < 1e-9); + } + + #[test] + fn mundane_position_at_meridian_is_one() { + // Body on meridian → H = 0 → m = 1. + let dec = 10.0_f64.to_radians(); + let phi = 30.0_f64.to_radians(); + let dsa = diurnal_semi_arc_rad(dec, phi); + let nsa = nocturnal_semi_arc_rad(dec, phi); + let m = mundane_position(0.0, dsa, nsa); + assert!((m - 1.0).abs() < 1e-12); + } + + #[test] + fn mundane_position_at_horizon_is_zero_or_two() { + let dec = 10.0_f64.to_radians(); + let phi = 30.0_f64.to_radians(); + let dsa = diurnal_semi_arc_rad(dec, phi); + let nsa = nocturnal_semi_arc_rad(dec, phi); + // East horizon: H = -DSA → m = 0. + let m_east = mundane_position(-dsa, dsa, nsa); + assert!(m_east.abs() < 1e-12, "east horizon m = {}", m_east); + // West horizon: H = +DSA → m = 2. + let m_west = mundane_position(dsa, dsa, nsa); + assert!((m_west - 2.0).abs() < 1e-12); + } + + #[test] + fn mundane_position_roundtrip() { + let dec = (-12.0_f64).to_radians(); + let phi = 45.0_f64.to_radians(); + let dsa = diurnal_semi_arc_rad(dec, phi); + let nsa = nocturnal_semi_arc_rad(dec, phi); + for h_deg in [-100.0_f64, -60.0, -10.0, 0.0, 30.0, 80.0, 130.0, 175.0] { + let h = h_deg.to_radians(); + let m = mundane_position(h, dsa, nsa); + let h_back = hour_angle_for_mundane(m, dsa, nsa); + // Allow ±π/360 (= 0.5°) for boundary cases. + let diff = wrap_pi(h_back - h).abs(); + assert!(diff < 1e-9, "round-trip failed at H={}° m={} diff={}", h_deg, m, diff); + } + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/placement.rs b/01_yachay/cosmos/cosmos-astrology/src/placement.rs new file mode 100644 index 0000000..aa4218b --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/placement.rs @@ -0,0 +1,62 @@ +//! A single body's placement in a chart: its zodiac position, house, +//! retrograde flag, and (optionally) topocentric horizon coordinates. + +use cosmos_sky::{ApparentPosition, Body, HorizonCoord}; + +use crate::zodiac::SignedLongitude; + +#[derive(Debug, Clone, Copy)] +pub struct BodyPlacement { + pub body: Body, + /// Tropical or sidereal longitude depending on the chart's [`crate::Zodiac`]. + pub longitude: SignedLongitude, + /// Ecliptic latitude, radians (`[-π/2, π/2]`). + pub latitude_rad: f64, + /// Geometric distance from the observer (geocenter or topocentric + /// origin) to the body, in km. `0.0` for purely conceptual points + /// (lunar nodes, Lilith). + pub distance_km: f64, + /// Apparent ecliptic longitude rate, radians per day. Signed: + /// negative means retrograde. Carried forward so the aspect engine + /// can decide applying vs separating without re-querying the + /// ephemeris. + pub longitude_rate_rad_per_day: f64, + /// Apparent right ascension of date, radians, `[0, 2π)`. Required + /// for mundane and primary-direction work. + pub right_ascension_rad: f64, + /// Apparent declination of date, radians, `[-π/2, π/2]`. + pub declination_rad: f64, + /// 1..=12. Computed against the chart's chosen house system. + pub house_number: u8, + /// Topocentric horizon coordinates if an Observer was supplied to + /// the apparent computation. + pub horizon: Option, +} + +impl BodyPlacement { + /// `true` if `dλ/dt < 0` at the chart's epoch — i.e. the body is + /// moving retrograde relative to its mean direction. + #[inline] + pub fn is_retrograde(&self) -> bool { + self.longitude_rate_rad_per_day < 0.0 + } + + pub(crate) fn from_apparent( + body: Body, + apparent: &ApparentPosition, + longitude_for_zodiac_rad: f64, + house_number: u8, + ) -> Self { + Self { + body, + longitude: SignedLongitude::from_radians(longitude_for_zodiac_rad), + latitude_rad: apparent.ecliptic_of_date.latitude_rad, + distance_km: apparent.ecliptic_of_date.distance_km, + longitude_rate_rad_per_day: apparent.ecliptic_velocity.longitude_rate_rad_per_day, + right_ascension_rad: apparent.equatorial_of_date.right_ascension_rad, + declination_rad: apparent.equatorial_of_date.declination_rad, + house_number, + horizon: apparent.topocentric_horizon, + } + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/primary_direction.rs b/01_yachay/cosmos/cosmos-astrology/src/primary_direction.rs new file mode 100644 index 0000000..70c668d --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/primary_direction.rs @@ -0,0 +1,667 @@ +//! Primary Directions — the "diurnal" forecasting motor. +//! +//! Primary directions are the oldest astrological forecasting method: +//! after birth the celestial sphere continues to rotate, and points +//! that started in particular positions eventually rotate to meet +//! other natal points. The *arc* covered by the rotation, expressed in +//! equatorial degrees, is translated to *years of life* by a "key": +//! +//! * **Ptolemy**: 1° of RA = 1 year (the original classical key). +//! * **Naibod**: 0°59'08.33"/year (≈ 1.0146 years/°) — the Sun's mean +//! daily motion, more astronomically grounded. +//! * **Brahe / Placidus / others**: variants on the Sun's true motion +//! year by year; not implemented in this first cut. +//! +//! Two natal points are involved: +//! +//! * **Promissor (P)** — the "moving" point. As the sphere rotates, +//! the natal P's mundane position changes. +//! * **Significator (S)** — the "fixed" target. Its natal mundane +//! position is the goalpost the promissor must reach. +//! +//! The **arc of direction** is the equatorial angle the sphere must +//! rotate so that `m_P(new) = m_S(natal)`, where `m` is the Placidus +//! mundane coordinate (see [`crate::mundane`]). Years follow by the +//! key conversion. +//! +//! This module ships the **Placidus mundane** method, which is the +//! standard. Regiomontanus and Campanus variants reuse the same +//! framework with different mundane formulas and are scoped for a +//! follow-up. + +use cosmos_sky::Body; + +use crate::aspect::AspectKind; +use crate::chart::NatalChart; +use crate::error::AstrologyResult; +use crate::mundane::{ + diurnal_semi_arc_rad, hour_angle_for_mundane, natal_mundane_position, + nocturnal_semi_arc_rad, signed_hour_angle_rad, wrap_mundane, +}; + +/// Time-arc conversion. Pick one when configuring a direction. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum DirectionKey { + /// 1° of right ascension = 1 year of life. + Ptolemy, + /// 0°59'08.33"/year — the Sun's mean daily motion. The most + /// commonly used modern key. + Naibod, +} + +impl DirectionKey { + /// Degrees of right ascension that correspond to one year of life + /// under this key. + pub fn degrees_per_year(self) -> f64 { + match self { + DirectionKey::Ptolemy => 1.0, + DirectionKey::Naibod => 0.985_647_3, + } + } +} + +/// Which directional method to use. The three classical mundane +/// frameworks differ only in how the "house position" `m ∈ [0, 4)` is +/// projected from a body's (RA, Dec). +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum DirectionMethod { + /// Placidus mundane: position = proportional position within the + /// body's own diurnal/nocturnal semi-arc. The dominant choice in + /// modern practice. + #[default] + PlacidusMundane, + /// Regiomontanus mundane: position depends only on hour angle — + /// the framework is anchored to the celestial equator and the + /// poles of the world, so every body of any declination shares + /// the same `m(H)` function. As a consequence the arc of + /// direction between any two points reduces to a pure RA delta. + Regiomontanus, + /// Campanus mundane: position is the angle along the prime + /// vertical at which the great circle through (N, body, S) + /// crosses. The framework is anchored to the observer's horizon — + /// East horizon = m=0, zenith = m=1 (MC slot), West horizon = + /// m=2, nadir = m=3. + Campanus, +} + +impl DirectionMethod { + /// Compute the natal mundane position `m ∈ [0, 4)` of a target + /// point with the given equatorial coordinates, at the observer's + /// latitude, with the chart's RAMC. + fn mundane_position_for( + self, + ramc_rad: f64, + ra_rad: f64, + dec_rad: f64, + lat_rad: f64, + ) -> f64 { + match self { + DirectionMethod::PlacidusMundane => { + natal_mundane_position(ramc_rad, ra_rad, dec_rad, lat_rad) + } + DirectionMethod::Regiomontanus => { + let h = signed_hour_angle_rad(ramc_rad, ra_rad); + // m = 1 + H · (2/π), wrapped into [0, 4). + let m = 1.0 + h * 2.0 / std::f64::consts::PI; + wrap_mundane(m) + } + DirectionMethod::Campanus => campanus_mundane_position( + ramc_rad, ra_rad, dec_rad, lat_rad, + ), + } + } + + /// Given a target mundane position `m_target` and the promissor's + /// declination, return the hour angle the promissor needs to have + /// so that its mundane position (under this method) equals + /// `m_target`. + fn hour_angle_for_target( + self, + m_target: f64, + promissor_dec_rad: f64, + lat_rad: f64, + ) -> f64 { + match self { + DirectionMethod::PlacidusMundane => { + let dsa = diurnal_semi_arc_rad(promissor_dec_rad, lat_rad); + let nsa = nocturnal_semi_arc_rad(promissor_dec_rad, lat_rad); + hour_angle_for_mundane(m_target, dsa, nsa) + } + DirectionMethod::Regiomontanus => { + // Inverse of `m = 1 + H · (2/π)`. + (m_target - 1.0) * std::f64::consts::PI / 2.0 + } + DirectionMethod::Campanus => { + campanus_hour_angle_for_target(m_target, promissor_dec_rad, lat_rad) + } + } + } +} + +/// Campanus mundane position of a body at `(RA, Dec)` for an observer +/// at latitude `φ` with chart RAMC. Result in `[0, 4)`. +/// +/// The body's local horizontal Cartesian: +/// * `y_local = -cos(δ) · sin(H)` (east component) +/// * `z_local = cos(δ) · cos(H) · cos(φ) + sin(δ) · sin(φ)` (up) +/// +/// Then `θ = atan2(z, y)` is the Campanus angle along the prime +/// vertical, and `m_Camp = θ · (2/π)` wrapped to `[0, 4)`. +fn campanus_mundane_position( + ramc_rad: f64, + ra_rad: f64, + dec_rad: f64, + lat_rad: f64, +) -> f64 { + let h = signed_hour_angle_rad(ramc_rad, ra_rad); + let cos_dec = libm::cos(dec_rad); + let sin_dec = libm::sin(dec_rad); + let cos_lat = libm::cos(lat_rad); + let sin_lat = libm::sin(lat_rad); + let cos_h = libm::cos(h); + let sin_h = libm::sin(h); + + let y = -cos_dec * sin_h; + let z = cos_dec * cos_h * cos_lat + sin_dec * sin_lat; + let theta = libm::atan2(z, y); + let theta = if theta < 0.0 { + theta + std::f64::consts::TAU + } else { + theta + }; + wrap_mundane(theta * 2.0 / std::f64::consts::PI) +} + +/// Inverse of [`campanus_mundane_position`]: given the target Campanus +/// position `m_target` and the promissor's declination + observer +/// latitude, return the hour angle the promissor needs to occupy. +/// +/// Solves `A · cos(H) + B · sin(H) = C` where: +/// * `A = cos(φ) · cos(θ)`, `B = sin(θ)`, `C = -tan(δ_p) · sin(φ) · cos(θ)`, +/// * `θ = m_target · (π/2)`. +/// +/// Two algebraic solutions exist; we pick the one whose `(y, z)` sign +/// places the body in the correct prime-vertical quadrant (i.e. the +/// one for which `z·sin(θ) + y·cos(θ)` is positive — the analogue of +/// `r` in `atan2(z, y) = θ`). +fn campanus_hour_angle_for_target( + m_target: f64, + dec_rad: f64, + lat_rad: f64, +) -> f64 { + let theta = m_target * std::f64::consts::PI / 2.0; + let cos_dec = libm::cos(dec_rad); + let sin_dec = libm::sin(dec_rad); + let cos_lat = libm::cos(lat_rad); + let sin_lat = libm::sin(lat_rad); + let cos_theta = libm::cos(theta); + let sin_theta = libm::sin(theta); + + // Degenerate cases. + if libm::fabs(cos_dec) < 1.0e-15 { + // Body essentially on a celestial pole — never moves through + // a Campanus cycle. Return 0. + return 0.0; + } + + let a = cos_lat * cos_theta; + let b = sin_theta; + let c = -libm::tan(dec_rad) * sin_lat * cos_theta; + + let r = libm::sqrt(a * a + b * b); + if r < 1.0e-15 { + return 0.0; + } + let argument = c / r; + if argument.abs() > 1.0 { + // No real solution at this latitude/declination combination — + // body cannot reach the requested Campanus position. + return f64::NAN; + } + + let psi = libm::atan2(b, a); + let delta = libm::acos(argument); + let h_plus = psi + delta; + let h_minus = psi - delta; + + let check = |h: f64| -> f64 { + let y = -cos_dec * libm::sin(h); + let z = cos_dec * libm::cos(h) * cos_lat + sin_dec * sin_lat; + z * sin_theta + y * cos_theta + }; + if check(h_plus) >= check(h_minus) { + h_plus + } else { + h_minus + } +} + +/// A "significator" target — either a natal body or an angle. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Significator { + Body(Body), + Ascendant, + Midheaven, + Descendant, + ImumCoeli, +} + +impl Significator { + /// Natal zodiacal longitude of this significator in radians. + /// Returns `None` only when the significator refers to a body not + /// present in the chart's [`crate::BodySet`]. + pub fn longitude_rad(self, natal: &NatalChart) -> Option { + match self { + Significator::Body(b) => Some(natal.placement(b)?.longitude.longitude_rad()), + Significator::Ascendant => Some(natal.ascendant().longitude_rad()), + Significator::Midheaven => Some(natal.midheaven().longitude_rad()), + Significator::Descendant => Some(natal.descendant().longitude_rad()), + Significator::ImumCoeli => Some(natal.imum_coeli().longitude_rad()), + } + } + + /// Natal zodiacal longitude in degrees `[0, 360)`. + pub fn longitude_deg(self, natal: &NatalChart) -> Option { + self.longitude_rad(natal).map(f64::to_degrees) + } + + pub fn label(self) -> String { + match self { + Significator::Body(b) => b.name().to_string(), + Significator::Ascendant => "Ascendant".into(), + Significator::Midheaven => "Midheaven".into(), + Significator::Descendant => "Descendant".into(), + Significator::ImumCoeli => "Imum Coeli".into(), + } + } +} + +/// Direct vs Converse — sentido de la rotación que mueve el promissor. +/// Direct = forward in time (la esfera sigue rotando después del +/// nacimiento). Converse = backward in time (rotación simétrica +/// inversa, como si fuera "el tiempo desplegándose al revés"). En la +/// escuela GR las conversas se usan en paralelo con las directas para +/// rectificar: un mismo evento debería aparecer en ambos rings con +/// arcos consistentes si la hora natal es correcta. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum PrimaryDirection { + #[default] + Direct, + Converse, +} + +/// Proyecta un cuerpo natal según las direcciones primarias a la edad +/// dada. Convierte la edad a un arco en RA usando `key` +/// (Ptolemy/Naibod), aplica la rotación al RA natal del cuerpo +/// (manteniendo su declinación constante — convención clásica), y +/// devuelve la nueva longitud eclíptica proyectada sobre la +/// eclíptica de la fecha. +/// +/// Es el cómputo "moderno" de direcciones primarias usado para +/// visualización en time-scrubbing: en lugar de buscar el evento de +/// llegada a un significator, devuelve directamente "dónde está el +/// cuerpo natal después de N años de rotación diurna". +pub fn directed_longitude( + natal_ra_rad: f64, + natal_dec_rad: f64, + age_years: f64, + direction: PrimaryDirection, + key: DirectionKey, + obliquity_rad: f64, +) -> f64 { + let arc_rad = (age_years * key.degrees_per_year()).to_radians(); + let sign = match direction { + PrimaryDirection::Direct => 1.0, + PrimaryDirection::Converse => -1.0, + }; + let new_ra = (natal_ra_rad + sign * arc_rad).rem_euclid(std::f64::consts::TAU); + // RA + Dec → longitud eclíptica de fecha. Declinación fija + // (la rotación diurna no la cambia para un punto natal). + let (sin_ra, cos_ra) = libm::sincos(new_ra); + let (sin_dec, cos_dec) = libm::sincos(natal_dec_rad); + let (sin_eps, cos_eps) = libm::sincos(obliquity_rad); + let lon = libm::atan2( + sin_dec * sin_eps + cos_dec * cos_eps * sin_ra, + cos_dec * cos_ra, + ); + lon.rem_euclid(std::f64::consts::TAU) +} + +/// A computed primary direction. +#[derive(Debug, Clone, Copy)] +pub struct Direction { + pub promissor: Body, + pub significator: Significator, + /// Which aspect family this direction targets. `Conjunction` means + /// the promissor reaches the significator's natal mundane position + /// directly; other aspects target the corresponding aspect points + /// (the ecliptic longitudes `significator ± aspect.exact_angle`). + pub aspect: AspectKind, + pub method: DirectionMethod, + pub key: DirectionKey, + /// Arc of direction, radians. Always normalised to `[0, 2π)` — + /// the *next* forward rotation that brings the promissor to the + /// significator's mundane position. Negative-arc (converse) + /// directions are not produced by this module today. + pub arc_rad: f64, + /// Years of life at which the direction perfects. Arc translated + /// by the chosen key. + pub age_years: f64, +} + +impl Direction { + pub fn arc_deg(&self) -> f64 { + self.arc_rad.to_degrees() + } +} + +/// Compute a single conjunctional direction from `promissor` to +/// `significator`. +/// +/// Equivalent to [`direct_to_aspect`] with `AspectKind::Conjunction`, +/// unwrapping the single-element result for ergonomics. +/// +/// `Err` is returned if the promissor has no real semi-arc at the +/// observer's latitude (circumpolar / never-rising case). +pub fn direct( + natal: &NatalChart, + promissor: Body, + significator: Significator, + method: DirectionMethod, + key: DirectionKey, +) -> AstrologyResult { + let mut out = direct_to_aspect( + natal, + promissor, + significator, + AspectKind::Conjunction, + method, + key, + )?; + Ok(out.remove(0)) +} + +/// Compute every direction of `promissor` to `significator` for the +/// given aspect family. Returns one direction for Conjunction and +/// Opposition (the aspect is symmetric and lands on a unique ecliptic +/// point); two for every other family — one for the "dexter" branch +/// (`significator − exact_angle`) and one for the "sinister" branch +/// (`significator + exact_angle`). +/// +/// The promissor still reaches the *mundane* position of each aspect +/// point in the Placidus framework — i.e. the rotation arc is in +/// equatorial degrees, not zodiacal. +pub fn direct_to_aspect( + natal: &NatalChart, + promissor: Body, + significator: Significator, + aspect: AspectKind, + method: DirectionMethod, + key: DirectionKey, +) -> AstrologyResult> { + let placement = natal.placement(promissor).ok_or_else(|| { + crate::error::AstrologyError::BodyUnavailable(format!( + "{} not in chart", + promissor.name() + )) + })?; + direct_to_aspect_with_placement(natal, placement, significator, aspect, method, key) +} + +/// Same as [`direct_to_aspect`] but accepts a pre-resolved +/// [`BodyPlacement`] reference. Used by [`all_directions_with_aspects`] +/// to skip the body lookup in the inner loop. +fn direct_to_aspect_with_placement( + natal: &NatalChart, + placement: &crate::placement::BodyPlacement, + significator: Significator, + aspect: AspectKind, + method: DirectionMethod, + key: DirectionKey, +) -> AstrologyResult> { + let promissor = placement.body; + let phi = natal.birth.observer.lat_rad; + let ramc = natal.local_apparent_sidereal_time_rad; + let obliquity = natal.obliquity_rad; + // Placidus needs real semi-arcs at the promissor's declination; + // Regiomontanus and Campanus do not (they don't depend on the + // semi-arc construction). Skip the circumpolar guard for those. + if matches!(method, DirectionMethod::PlacidusMundane) { + let dsa_p = diurnal_semi_arc_rad(placement.declination_rad, phi); + let nsa_p = nocturnal_semi_arc_rad(placement.declination_rad, phi); + if dsa_p.is_nan() || nsa_p.is_nan() { + return Err(crate::error::AstrologyError::HouseSystemUnavailable( + "promissor is circumpolar at the observer's latitude — \ + Placidus primary directions undefined", + )); + } + } + let h_p_natal = signed_hour_angle_rad(ramc, placement.right_ascension_rad); + + // The natal ecliptic longitude of the significator, and a marker + // for whether it is an angle (which has no defined ecliptic + // latitude — we treat all aspect points as ecliptic-latitude zero). + let sig_lon_rad = match significator { + Significator::Body(target_body) => { + let target_p = natal.placement(target_body).ok_or_else(|| { + crate::error::AstrologyError::BodyUnavailable(format!( + "significator {} not in chart", + target_body.name() + )) + })?; + // Convert back to *tropical* ecliptic longitude (placement + // stores it in chart's zodiac — add ayanamsha to undo + // sidereal offset if applicable). + (target_p.longitude.longitude_rad() + natal.ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU) + } + Significator::Ascendant => (natal.ascendant().longitude_rad() + natal.ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU), + Significator::Midheaven => (natal.midheaven().longitude_rad() + natal.ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU), + Significator::Descendant => (natal.descendant().longitude_rad() + natal.ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU), + Significator::ImumCoeli => (natal.imum_coeli().longitude_rad() + natal.ayanamsha_rad) + .rem_euclid(std::f64::consts::TAU), + }; + + // Build each aspect branch's mundane target. + // + // Convention: a CONJUNCTION to a natal body uses the body's + // **actual** (RA, Dec) — preserving its true ecliptic latitude + // (this is the classical "in mundo" direction to the body). All + // *other* aspects, and conjunctions to angles, use the zodiacal + // projection at β=0 (the aspect point is a longitude-only + // construct). + let (offsets_deg, n_offsets) = aspect_branch_offsets_deg(aspect); + let mut out = Vec::with_capacity(n_offsets); + for &offset_deg in &offsets_deg[..n_offsets] { + let (target_ra, target_dec) = if offset_deg == 0.0 { + // Conjunction case. + match significator { + Significator::Body(b) => { + let p = natal.placement(b).expect("checked above"); + (p.right_ascension_rad, p.declination_rad) + } + _ => ecliptic_to_equatorial(sig_lon_rad, 0.0, obliquity), + } + } else { + let aspect_point_lon = (sig_lon_rad + offset_deg.to_radians()) + .rem_euclid(std::f64::consts::TAU); + ecliptic_to_equatorial(aspect_point_lon, 0.0, obliquity) + }; + let m_target = method.mundane_position_for(ramc, target_ra, target_dec, phi); + + let h_target = method.hour_angle_for_target(m_target, placement.declination_rad, phi); + let arc_rad = normalise_forward(h_target - h_p_natal); + let age_years = arc_rad.to_degrees() / key.degrees_per_year(); + out.push(Direction { + promissor, + significator, + aspect, + method, + key, + arc_rad, + age_years, + }); + } + Ok(out) +} + +/// Offsets (in degrees) at which the aspect family lands relative to +/// the significator's natal longitude. Conjunction → `[0]`; opposition +/// → `[180]`; symmetric aspects → both `+exact` and `−exact`. Returns +/// a small stack buffer to keep the per-direction loop allocation-free. +fn aspect_branch_offsets_deg(aspect: AspectKind) -> ([f64; 2], usize) { + let exact = aspect.exact_angle_deg(); + match aspect { + AspectKind::Conjunction => ([0.0, 0.0], 1), + AspectKind::Opposition => ([180.0, 0.0], 1), + _ => ([exact, -exact], 2), + } +} + +/// Convert an ecliptic longitude / latitude (radians) to equatorial +/// (RA, Dec) at the given true obliquity. Standard textbook formula — +/// kept inline so the primary-direction module is self-contained. +fn ecliptic_to_equatorial(lon: f64, lat: f64, obliquity: f64) -> (f64, f64) { + let (sin_lon, cos_lon) = libm::sincos(lon); + let (sin_lat, cos_lat) = libm::sincos(lat); + let (sin_eps, cos_eps) = libm::sincos(obliquity); + let sin_dec = sin_lat * cos_eps + cos_lat * sin_eps * sin_lon; + let dec = libm::asin(sin_dec); + let ra = libm::atan2( + sin_lon * cos_eps - libm::tan(lat) * sin_eps, + cos_lon, + ); + let ra = if ra < 0.0 { + ra + std::f64::consts::TAU + } else { + ra + }; + (ra, dec) +} + +/// Compute directions of `promissor` to each of the four angles. +pub fn directions_to_angles( + natal: &NatalChart, + promissor: Body, + method: DirectionMethod, + key: DirectionKey, +) -> AstrologyResult<[Direction; 4]> { + Ok([ + direct(natal, promissor, Significator::Ascendant, method, key)?, + direct(natal, promissor, Significator::Midheaven, method, key)?, + direct(natal, promissor, Significator::Descendant, method, key)?, + direct(natal, promissor, Significator::ImumCoeli, method, key)?, + ]) +} + +/// Compute every conjunctional direction (each natal body as promissor +/// to each angle and to each other body) whose perfection lies within +/// `max_age_years`. Sorted by `age_years` ascending. +/// +/// Use [`all_directions_with_aspects`] to also include non-conjunction +/// aspects (trine, square, sextile, …). +pub fn all_directions( + natal: &NatalChart, + method: DirectionMethod, + key: DirectionKey, + max_age_years: f64, +) -> Vec { + all_directions_with_aspects( + natal, + method, + key, + &[AspectKind::Conjunction], + max_age_years, + ) +} + +/// Compute every direction across the requested aspect families +/// (promissor × significator × aspect) that perfects within +/// `max_age_years`. Sorted by `age_years` ascending. +/// +/// `aspect_kinds` selects which aspect families to include. Pass +/// `AspectKind::MAJORS` for the classical five, or `AspectKind::ALL` +/// for every wired aspect. +pub fn all_directions_with_aspects( + natal: &NatalChart, + method: DirectionMethod, + key: DirectionKey, + aspect_kinds: &[AspectKind], + max_age_years: f64, +) -> Vec { + // Pre-size to a reasonable upper bound to avoid Vec growth in the + // inner accumulation loop. Each promissor produces up to + // (4 angles + (N − 1) bodies) × |aspect_kinds| × 2 branches directions. + let n = natal.placements.len(); + let mut out: Vec = + Vec::with_capacity(n * (4 + n) * aspect_kinds.len() * 2); + + // Outer loop walks each placement exactly once and resolves it + // here — this hoists the linear-scan body lookup that + // `direct_to_aspect` would otherwise repeat for every (sig, aspect) + // triple. Inner calls use `direct_to_aspect_with_placement`. + for promissor_p in &natal.placements { + for sig in [ + Significator::Ascendant, + Significator::Midheaven, + Significator::Descendant, + Significator::ImumCoeli, + ] { + for &aspect in aspect_kinds { + if let Ok(dirs) = direct_to_aspect_with_placement( + natal, promissor_p, sig, aspect, method, key, + ) { + for d in dirs { + if (0.0..=max_age_years).contains(&d.age_years) { + out.push(d); + } + } + } + } + } + for sig_p in &natal.placements { + if sig_p.body == promissor_p.body { + continue; + } + for &aspect in aspect_kinds { + if let Ok(dirs) = direct_to_aspect_with_placement( + natal, + promissor_p, + Significator::Body(sig_p.body), + aspect, + method, + key, + ) { + for d in dirs { + if (0.0..=max_age_years).contains(&d.age_years) { + out.push(d); + } + } + } + } + } + } + + out.sort_by(|a, b| { + a.age_years + .partial_cmp(&b.age_years) + .unwrap_or(std::cmp::Ordering::Equal) + }); + out +} + +/// Normalise an arc into the *forward* half-line `[0, 2π)`. Backward +/// arcs (converse) wrap to their forward equivalents; users who care +/// about the distinction should compare against the natural arc. +fn normalise_forward(arc: f64) -> f64 { + let _ = wrap_mundane; // silence unused-import in absence of converse mode + let v = arc.rem_euclid(std::f64::consts::TAU); + if v < 0.0 { + v + std::f64::consts::TAU + } else { + v + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/profections.rs b/01_yachay/cosmos/cosmos-astrology/src/profections.rs new file mode 100644 index 0000000..8bf662c --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/profections.rs @@ -0,0 +1,182 @@ +//! Hellenistic profections. +//! +//! In the profection technique, each year of life corresponds to one +//! house in the natal chart, advancing one house per year and cycling +//! every twelve years: +//! +//! | Age (years) | Profected house | +//! |--------------------|-----------------| +//! | 0, 12, 24, 36, … | House 1 (Asc) | +//! | 1, 13, 25, 37, … | House 2 | +//! | 2, 14, 26, … | House 3 | +//! | ... | ... | +//! | 11, 23, 35, … | House 12 | +//! +//! The sign on that house (Whole-Sign by convention — the most common +//! framing — though any house-system mapping is allowed) gives the +//! **profected sign**; its traditional ruler is the **Lord of the +//! Year**. Monthly and daily profections subdivide the same cycle. +//! +//! This module uses Whole-Sign assignment by default: profected house +//! `n` lands on the `n`-th sign counted from the natal Ascendant's +//! sign. Callers who prefer to align profections with their natal +//! chart's actual house system can pass `ProfectionHouses::Quadrant`. + +use cosmos_sky::{Body, Instant}; + +use crate::chart::NatalChart; +use crate::zodiac::Sign; + +/// Which house-frame to use when picking the profected *sign*. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum ProfectionHouses { + /// Profected sign = `n`-th sign from the natal Asc's sign. The + /// classical Hellenistic convention. + #[default] + WholeSign, + /// Profected sign = sign of the natal `n`-th house cusp. + Quadrant, +} + +/// One year's profection. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct AnnualProfection { + /// Whole years since birth. + pub age_years: u32, + /// Profected house, `1..=12`. + pub profected_house: u8, + /// Profected sign. + pub profected_sign: Sign, + /// Traditional ruler of the profected sign. + pub lord_of_year: Body, + /// Modern ruler of the profected sign (only differs for Scorpio + /// → Pluto, Aquarius → Uranus, Pisces → Neptune). + pub modern_lord_of_year: Body, +} + +/// One month's profection within a profected year. Months advance one +/// house at the same cadence as years — so the year's first month lands +/// on the same house as the year itself, the second month on the next +/// house, and so on. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct MonthlyProfection { + pub annual: AnnualProfection, + /// Months into the profected year, `0..=11`. + pub month_in_year: u8, + pub profected_house: u8, + pub profected_sign: Sign, + pub lord_of_month: Body, +} + +/// Compute the annual profection for a given age in whole years. +pub fn annual_profection( + chart: &NatalChart, + age_years: u32, + houses_frame: ProfectionHouses, +) -> AnnualProfection { + let profected_house = ((age_years % 12) + 1) as u8; + let profected_sign = profected_sign(chart, profected_house, houses_frame); + AnnualProfection { + age_years, + profected_house, + profected_sign, + lord_of_year: traditional_ruler(profected_sign), + modern_lord_of_year: modern_ruler(profected_sign), + } +} + +/// Compute the monthly profection for a given age and month-in-year. +/// `month_in_year = 0` is the first month (lands on the annual house); +/// `month_in_year = 11` is the last (one house before next year). +pub fn monthly_profection( + chart: &NatalChart, + age_years: u32, + month_in_year: u8, + houses_frame: ProfectionHouses, +) -> MonthlyProfection { + let annual = annual_profection(chart, age_years, houses_frame); + let house = ((annual.profected_house as u32 - 1 + month_in_year as u32) % 12 + 1) as u8; + let sign = profected_sign(chart, house, houses_frame); + MonthlyProfection { + annual, + month_in_year, + profected_house: house, + profected_sign: sign, + lord_of_month: traditional_ruler(sign), + } +} + +/// Compute the profection in effect at `at`, taken as a "Solar Return +/// anniversary" cadence: each new profection year begins at the year's +/// solar return. This helper computes age in *whole* years from +/// `birth_instant` to `at` using a 365.2422-day average — caller can +/// supply a more accurate `(age_years, month_in_year)` via the +/// non-`_at` functions if needed. +pub fn profection_at( + chart: &NatalChart, + at: Instant, + houses_frame: ProfectionHouses, +) -> MonthlyProfection { + const TROPICAL_YEAR_DAYS: f64 = 365.242_190; + const MONTH_DAYS: f64 = TROPICAL_YEAR_DAYS / 12.0; + + let days_elapsed = at.jd_utc() - chart.birth.instant.jd_utc(); + let elapsed_years = days_elapsed / TROPICAL_YEAR_DAYS; + if days_elapsed < 0.0 { + // Pre-natal date: clamp to age 0 month 0. + return monthly_profection(chart, 0, 0, houses_frame); + } + let age_years = elapsed_years.floor() as u32; + let day_in_year = days_elapsed - (age_years as f64) * TROPICAL_YEAR_DAYS; + let month_in_year = ((day_in_year / MONTH_DAYS).floor() as i32).clamp(0, 11) as u8; + monthly_profection(chart, age_years, month_in_year, houses_frame) +} + +/// Traditional (Hellenistic) sign ruler. +pub fn traditional_ruler(sign: Sign) -> Body { + match sign { + Sign::Aries => Body::Mars, + Sign::Taurus => Body::Venus, + Sign::Gemini => Body::Mercury, + Sign::Cancer => Body::Moon, + Sign::Leo => Body::Sun, + Sign::Virgo => Body::Mercury, + Sign::Libra => Body::Venus, + Sign::Scorpio => Body::Mars, + Sign::Sagittarius => Body::Jupiter, + Sign::Capricorn => Body::Saturn, + Sign::Aquarius => Body::Saturn, + Sign::Pisces => Body::Jupiter, + } +} + +/// Modern (post-Uranus discovery) sign ruler. Differs from +/// [`traditional_ruler`] only for Scorpio (Pluto), Aquarius (Uranus), +/// and Pisces (Neptune). +pub fn modern_ruler(sign: Sign) -> Body { + match sign { + Sign::Scorpio => Body::Pluto, + Sign::Aquarius => Body::Uranus, + Sign::Pisces => Body::Neptune, + other => traditional_ruler(other), + } +} + +// ─── Internals ───────────────────────────────────────────────────────── + +fn profected_sign(chart: &NatalChart, house_number: u8, frame: ProfectionHouses) -> Sign { + let i = ((house_number as i32 - 1) % 12 + 12) % 12; + match frame { + ProfectionHouses::WholeSign => { + let asc_sign = chart.ascendant().sign().index() as i32; + Sign::from_index(((asc_sign + i) % 12) as usize) + } + ProfectionHouses::Quadrant => { + let cusp_rad = chart.houses.cusps[i as usize]; + crate::zodiac::SignedLongitude::from_radians( + (cusp_rad - chart.ayanamsha_rad).rem_euclid(std::f64::consts::TAU), + ) + .sign() + } + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/progression.rs b/01_yachay/cosmos/cosmos-astrology/src/progression.rs new file mode 100644 index 0000000..b1b5a6a --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/progression.rs @@ -0,0 +1,194 @@ +//! Secondary, tertiary, and minor progressions. +//! +//! Progressions advance a natal chart in time using a symbolic +//! "day-for-a-period" rate. Each method picks a different *period*: +//! +//! | Method | 1 day of ephemeris ↔ | Approx. shift per year of life | +//! |---|---|---| +//! | Secondary | 1 tropical year (≈ 365.2422 d) | 1 day | +//! | Tertiary | 1 mean synodic month (≈ 29.5306 d) | ≈ 12.4 days | +//! | Minor | 1 mean sidereal month (≈ 27.3217 d) | ≈ 13.4 days | +//! +//! Every progression reduces to the same three steps: +//! +//! 1. Compute a *progressed instant* = `birth + (life_years / period_years) days`. +//! 2. Recompute a full `NatalChart` at the progressed instant — using +//! the **natal observer**, not the location of the subject at age N. +//! 3. Wrap the natal + progressed pair so callers can compare. +//! +//! Houses are recomputed at the progressed instant by default (the +//! Swiss / Astrodienst convention). Pass [`ProgressedHouses::Natal`] to +//! freeze the natal cusps and only progress the bodies. + +use cosmos_sky::{EphemerisSession, Instant}; + +use crate::birth_data::BirthData; +use crate::chart::NatalChart; +use crate::error::AstrologyResult; + +/// Which symbolic period a day of ephemeris represents. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ProgressionMethod { + /// Secondary (day-for-a-year). The classical Naibod / Ptolemy method. + Secondary, + /// Tertiary (day-for-a-mean-synodic-month). Brahy variant. + Tertiary, + /// Minor (day-for-a-mean-sidereal-month). + Minor, +} + +impl ProgressionMethod { + /// Period associated with this method, in mean solar days. One day + /// of ephemeris corresponds to one of these. + pub fn period_days(self) -> f64 { + match self { + // Tropical year (vernal-equinox to vernal-equinox). + ProgressionMethod::Secondary => 365.242_190, + // Mean synodic month (new-moon to new-moon). + ProgressionMethod::Tertiary => 29.530_588_85, + // Mean sidereal month (Moon's return to the same star). + ProgressionMethod::Minor => 27.321_661, + } + } +} + +/// How to handle the houses of a progressed chart. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum ProgressedHouses { + /// Recompute houses at the progressed instant using the natal + /// observer's coordinates. (Swiss / Astrodienst default.) + #[default] + Progressed, + /// Reuse the natal house cusps unchanged. The progressed planets + /// are placed against the natal house framework. + Natal, +} + +/// Compute the *progressed instant* corresponding to a target age in +/// life, for the given method. The result is a real instant on the +/// ephemeris timeline. +pub fn progressed_instant( + birth: Instant, + target_age_years: f64, + method: ProgressionMethod, +) -> Instant { + let life_days = target_age_years * ProgressionMethod::Secondary.period_days(); + let shift_days = life_days / method.period_days(); + Instant::from_utc(birth.utc().add_days(shift_days)) +} + +/// A progressed chart bundled with the natal chart it derives from. +#[derive(Debug, Clone)] +pub struct ProgressedChart { + pub natal: NatalChart, + pub progressed: NatalChart, + pub method: ProgressionMethod, + pub houses_treatment: ProgressedHouses, + pub target_age_years: f64, + pub progressed_instant: Instant, +} + +impl ProgressedChart { + pub fn progressed(&self) -> &NatalChart { + &self.progressed + } + pub fn natal(&self) -> &NatalChart { + &self.natal + } +} + +/// Build a progressed chart at the requested age, using `method` and +/// `houses_treatment`. +pub fn progress( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, + method: ProgressionMethod, + houses_treatment: ProgressedHouses, +) -> AstrologyResult { + let prog_instant = progressed_instant(natal.birth.instant, target_age_years, method); + + let prog_birth = BirthData { + instant: prog_instant, + observer: natal.birth.observer, + name: natal.birth.name.clone(), + time_certainty: natal.birth.time_certainty, + note: natal.birth.note.clone(), + }; + + let mut progressed = NatalChart::compute(&prog_birth, &natal.config, session)?; + + if houses_treatment == ProgressedHouses::Natal { + // Replace the freshly-computed houses with the natal ones, then + // re-assign every body to its natal-frame house number. Other + // chart geometry (asc/mc/etc.) reflects the natal angles. + progressed.houses = natal.houses; + progressed.local_apparent_sidereal_time_rad = + natal.local_apparent_sidereal_time_rad; + progressed.obliquity_rad = natal.obliquity_rad; + // Asc / MC / Desc / IC come from the *natal* angles in radians, + // but the SignedLongitude needs to be rebuilt to honour the + // progressed chart's zodiac (which is identical to the natal's + // ChartConfig, so the shift logic matches). + progressed.replace_angles_with(natal); + for p in progressed.placements.iter_mut() { + p.house_number = natal.houses.house_containing( + p.longitude.longitude_rad() + progressed.ayanamsha_rad, + ); + } + } + + Ok(ProgressedChart { + natal: natal.clone(), + progressed, + method, + houses_treatment, + target_age_years, + progressed_instant: prog_instant, + }) +} + +/// Convenience: secondary progression with the default house treatment. +pub fn secondary_progression( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, +) -> AstrologyResult { + progress( + natal, + session, + target_age_years, + ProgressionMethod::Secondary, + ProgressedHouses::default(), + ) +} + +/// Convenience: tertiary progression with the default house treatment. +pub fn tertiary_progression( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, +) -> AstrologyResult { + progress( + natal, + session, + target_age_years, + ProgressionMethod::Tertiary, + ProgressedHouses::default(), + ) +} + +/// Convenience: minor progression (1 day = 1 sidereal month). +pub fn minor_progression( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, +) -> AstrologyResult { + progress( + natal, + session, + target_age_years, + ProgressionMethod::Minor, + ProgressedHouses::default(), + ) +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/returns.rs b/01_yachay/cosmos/cosmos-astrology/src/returns.rs new file mode 100644 index 0000000..e07360e --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/returns.rs @@ -0,0 +1,97 @@ +//! Planetary returns: find the instant at which a body's ecliptic +//! longitude crosses its natal value again. +//! +//! The solar return (Sun back to natal Sun) is the classical annual +//! "revolution"; the lunar return is the monthly one; and any planet +//! has its own synodic-style return cycle. +//! +//! All returns reduce to one primitive: bisect on +//! `f(t) = signed_angular_distance( body_longitude_at(t), natal_longitude )`. +//! The bisector lives in [`cosmos_sky::find_root`]; this module just +//! wraps it with body-aware default search windows. + +use cosmos_sky::{find_root, Body, EphemerisSession, Instant, SearchOptions}; + +use crate::angles::signed_delta_rad; +use crate::error::{AstrologyError, AstrologyResult}; + +/// Estimated synodic period of `body` around the geocenter, in days. +/// Used to pick a search window and a coarse-scan step. Values are +/// nominal — the search bracket adds slack so they need not be exact. +fn nominal_period_days(body: Body) -> f64 { + match body { + Body::Moon => 27.321_661, // sidereal month + Body::Sun => 365.256_363, // sidereal year (≈ tropical year for return) + Body::Mercury => 87.969, + Body::Venus => 224.701, + Body::Mars => 686.971, + Body::Jupiter => 4_332.59, + Body::Saturn => 10_759.22, + Body::Uranus => 30_688.5, + Body::Neptune => 60_182.0, + Body::Pluto => 90_560.0, + // Lunar nodes: 18.6-year cycle. Lilith: ~8.85-year cycle. + Body::MeanNode | Body::TrueNode => 6_793.4, + Body::MeanLilith | Body::TrueLilith => 3_232.6, + // Asteroids (rough): Ceres 4.6 yr, others nearby. + Body::Ceres => 1_681.6, + Body::Pallas => 1_686.0, + Body::Juno => 1_595.0, + Body::Vesta => 1_325.0, + // Centaurs / TNOs are very slow. Pick a conservative upper bound. + _ => 100_000.0, + } +} + +/// Find the next instant at or after `after` where `body`'s apparent +/// ecliptic longitude (tropical, of date) equals `natal_longitude_rad`. +/// +/// The search walks forward for up to ~1.5× the body's nominal synodic +/// period, which always brackets the next return. Pass a custom +/// `max_window_days` if you need a tighter or looser bound (e.g. +/// rectifying with a degenerate fit). +pub fn next_return( + session: &EphemerisSession, + body: Body, + natal_longitude_rad: f64, + after: Instant, + max_window_days: Option, +) -> AstrologyResult { + let nominal = nominal_period_days(body); + let window = max_window_days.unwrap_or(nominal * 1.5); + let t1 = Instant::from_utc(after.utc().add_days(window)); + + // Coarse-scan step: a fraction of the nominal period that resolves + // a single revolution into ~60 samples (enough for monotone signed + // delta but coarse enough not to slow outer-body searches). + let step_seconds = (nominal * 86_400.0 / 60.0).max(60.0); + let opts = SearchOptions { + coarse_step_seconds: step_seconds, + tolerance_seconds: 1.0, + max_iterations: 80, + }; + + let result = find_root( + after, + t1, + |t: Instant| { + let pos = session.body_apparent(body, t, None)?; + Ok(signed_delta_rad( + pos.ecliptic_of_date.longitude_rad, + natal_longitude_rad, + )) + }, + opts, + )?; + + result.ok_or_else(|| { + AstrologyError::BodyUnavailable(format!( + "no return of {} to {:.4}° in {:.1} days after {}", + body.name(), + natal_longitude_rad.to_degrees(), + window, + after, + )) + }) +} + diff --git a/01_yachay/cosmos/cosmos-astrology/src/solar_arc.rs b/01_yachay/cosmos/cosmos-astrology/src/solar_arc.rs new file mode 100644 index 0000000..83e2461 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/solar_arc.rs @@ -0,0 +1,180 @@ +//! Solar Arc directions. +//! +//! Solar Arc adds a single angular increment — the arc the secondary- +//! progressed Sun has covered between birth and the target age — to +//! every planet *and* every house cusp uniformly. Because the same arc +//! is applied everywhere, the relative house position of each body is +//! preserved by construction; what changes are the absolute zodiac +//! positions and the angles. +//! +//! Two solar-arc conventions exist: +//! +//! * **Naibod**: the arc is the *mean* Sun's motion ≈ 0°59'08"/day. +//! Always the same per year regardless of natal Sun's actual progress. +//! * **True solar arc** (a.k.a. "Sun's secondary progression"): +//! the arc is the actual secondary-progressed Sun's longitude minus +//! the natal Sun's longitude. Varies year-to-year. +//! +//! This module implements both; the helper `solar_arc` chooses +//! [`SolarArcMethod::TrueProgressedSun`] by default — that is what +//! Swiss Ephemeris reports. + +use cosmos_sky::{Body, EphemerisSession}; + +use crate::angles::signed_delta_rad; +use crate::chart::{Angle, NatalChart}; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::progression::{progress, ProgressedHouses, ProgressionMethod}; +use crate::zodiac::SignedLongitude; + +/// Which arc convention to use. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub enum SolarArcMethod { + /// Arc = secondary-progressed Sun's longitude − natal Sun's longitude. + /// The arc varies between roughly 0°57' and 1°01' per year of life + /// depending on the natal Sun's actual motion. + #[default] + TrueProgressedSun, + /// Naibod: arc = 0°59'08.33"/year × age. Constant per year. + Naibod, +} + +/// Naibod constant: mean Sun motion in radians per year of life +/// (0°59'08.33" per day × 1 day/year of life via secondary mapping). +const NAIBOD_RAD_PER_YEAR: f64 = 0.017_202_376; // ≈ 0°59'08.33" in radians + +/// A solar-arc-directed chart bundled with the natal it derives from. +#[derive(Debug, Clone)] +pub struct SolarArcChart { + pub natal: NatalChart, + /// All natal positions and cusps shifted forward by `arc_rad`. + pub directed: NatalChart, + pub arc_rad: f64, + pub method: SolarArcMethod, + pub target_age_years: f64, +} + +impl SolarArcChart { + pub fn arc_deg(&self) -> f64 { + self.arc_rad.to_degrees() + } +} + +/// Compute a solar-arc directed chart at the requested age, using the +/// chosen arc convention. +pub fn solar_arc( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, + method: SolarArcMethod, +) -> AstrologyResult { + let arc_rad = match method { + SolarArcMethod::TrueProgressedSun => { + // Run a secondary progression and read the Sun's longitude + // delta. We need the Sun in the natal *and* progressed + // charts, both in the same tropical/sidereal zodiac. + let prog = progress( + natal, + session, + target_age_years, + ProgressionMethod::Secondary, + ProgressedHouses::Progressed, + )?; + let natal_sun = natal + .placement(Body::Sun) + .ok_or_else(|| AstrologyError::BodyUnavailable( + "natal chart missing Sun".into(), + ))? + .longitude + .longitude_rad(); + let prog_sun = prog + .progressed() + .placement(Body::Sun) + .ok_or_else(|| AstrologyError::BodyUnavailable( + "progressed chart missing Sun".into(), + ))? + .longitude + .longitude_rad(); + signed_delta_rad(prog_sun, natal_sun) + } + SolarArcMethod::Naibod => NAIBOD_RAD_PER_YEAR * target_age_years, + }; + + let directed = direct(natal, arc_rad); + + Ok(SolarArcChart { + natal: natal.clone(), + directed, + arc_rad, + method, + target_age_years, + }) +} + +/// Convenience: solar arc with the default (true progressed Sun) method. +pub fn solar_arc_true( + natal: &NatalChart, + session: &EphemerisSession, + target_age_years: f64, +) -> AstrologyResult { + solar_arc(natal, session, target_age_years, SolarArcMethod::TrueProgressedSun) +} + +/// Convenience: solar arc with the Naibod (mean-Sun) method. +pub fn solar_arc_naibod( + natal: &NatalChart, + target_age_years: f64, +) -> SolarArcChart { + let arc_rad = NAIBOD_RAD_PER_YEAR * target_age_years; + let directed = direct(natal, arc_rad); + SolarArcChart { + natal: natal.clone(), + directed, + arc_rad, + method: SolarArcMethod::Naibod, + target_age_years, + } +} + +/// Apply a uniform `arc_rad` shift to every angle, cusp, and body of +/// `natal`. The result inherits all kinematics (rates, retrograde) from +/// the natal chart — solar arc is a *symbolic* shift, not a real +/// physical motion. +fn direct(natal: &NatalChart, arc_rad: f64) -> NatalChart { + use std::f64::consts::TAU; + let wrap = |x: f64| { + let v = x.rem_euclid(TAU); + if v < 0.0 { + v + TAU + } else { + v + } + }; + + let mut directed = natal.clone(); + // Shift all four angles. + directed.replace_angles_with(natal); + let asc_new = wrap(natal.ascendant().longitude_rad() + arc_rad); + let mc_new = wrap(natal.midheaven().longitude_rad() + arc_rad); + directed.set_directed_angles( + Angle::from_radians(asc_new), + Angle::from_radians(mc_new), + Angle::from_radians(wrap(asc_new + std::f64::consts::PI)), + Angle::from_radians(wrap(mc_new + std::f64::consts::PI)), + ); + // Shift every cusp. + for c in directed.houses.cusps.iter_mut() { + *c = wrap(*c + arc_rad); + } + // Shift Ascendant and Midheaven in the raw `Houses` view too. + directed.houses.ascendant_rad = wrap(directed.houses.ascendant_rad + arc_rad); + directed.houses.midheaven_rad = wrap(directed.houses.midheaven_rad + arc_rad); + // Shift every placement's longitude. House numbers are invariant + // under uniform rotation, so they don't need re-assignment. + for p in directed.placements.iter_mut() { + let new_lon_rad = wrap(p.longitude.longitude_rad() + arc_rad); + p.longitude = SignedLongitude::from_radians(new_lon_rad); + } + directed +} + diff --git a/01_yachay/cosmos/cosmos-astrology/src/stations.rs b/01_yachay/cosmos/cosmos-astrology/src/stations.rs new file mode 100644 index 0000000..9810b2f --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/stations.rs @@ -0,0 +1,140 @@ +//! Planetary stations: the instants when a body's ecliptic longitude +//! rate `dλ/dt` crosses zero, marking the transition between direct and +//! retrograde motion. +//! +//! Reduces to one call into [`cosmos_sky::find_root`] on the apparent +//! longitude rate exposed by [`cosmos_sky::ApparentPosition::ecliptic_velocity`]. +//! Use [`next_station`] for the next station after a given instant, or +//! [`all_stations`] for every station inside a window. + +use cosmos_sky::{find_all_roots, find_root, Body, EphemerisSession, Instant, SearchOptions}; + +use crate::error::{AstrologyError, AstrologyResult}; + +/// Direction of the transition. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum StationKind { + /// Direct → retrograde. The body was moving forward and is now + /// about to move backward. + Retrograde, + /// Retrograde → direct. The body finishes the retrograde phase + /// and resumes forward motion. + Direct, +} + +#[derive(Debug, Clone, Copy)] +pub struct Station { + pub body: Body, + pub instant: Instant, + pub kind: StationKind, +} + +/// Find the next station of `body` at or after `after`. Returns +/// `Ok(None)` if no sign-change in the longitude rate is detected +/// within `max_window_days`. +pub fn next_station( + session: &EphemerisSession, + body: Body, + after: Instant, + max_window_days: f64, +) -> AstrologyResult> { + let t1 = Instant::from_utc(after.utc().add_days(max_window_days)); + let opts = station_search_options(body); + + let zero = find_root( + after, + t1, + |t: Instant| { + let pos = session.body_apparent(body, t, None)?; + Ok(pos.ecliptic_velocity.longitude_rate_rad_per_day) + }, + opts, + ) + .map_err(AstrologyError::Sky)?; + + match zero { + None => Ok(None), + Some(t_zero) => { + let kind = classify_station(session, body, t_zero)?; + Ok(Some(Station { + body, + instant: t_zero, + kind, + })) + } + } +} + +/// Find every station of `body` in `[after, after + max_window_days]`. +/// Useful for plotting retrograde periods or summarising a year. +pub fn all_stations( + session: &EphemerisSession, + body: Body, + after: Instant, + max_window_days: f64, +) -> AstrologyResult> { + let t1 = Instant::from_utc(after.utc().add_days(max_window_days)); + let opts = station_search_options(body); + + let zeros = find_all_roots( + after, + t1, + |t: Instant| { + let pos = session.body_apparent(body, t, None)?; + Ok(pos.ecliptic_velocity.longitude_rate_rad_per_day) + }, + opts, + ) + .map_err(AstrologyError::Sky)?; + + let mut out = Vec::with_capacity(zeros.len()); + for t in zeros { + let kind = classify_station(session, body, t)?; + out.push(Station { + body, + instant: t, + kind, + }); + } + Ok(out) +} + +/// Coarse-scan / tolerance defaults for each body, tuned so the scan +/// brackets a single station without missing one. Fast bodies (Moon, +/// Mercury, Venus) need finer sampling near zero-rate; outer planets +/// can use a daily step. +fn station_search_options(body: Body) -> SearchOptions { + use Body::*; + let coarse_step_seconds = match body { + // Moon never stations (always direct), but we still keep a + // sensible step in case callers feed it in. + Moon => 3_600.0 * 6.0, + Mercury | Venus => 3_600.0 * 6.0, + Mars => 86_400.0, + Jupiter | Saturn | Uranus | Neptune | Pluto => 86_400.0, + _ => 86_400.0, + }; + SearchOptions { + coarse_step_seconds, + tolerance_seconds: 30.0, // 30 s is well below any meaningful astrological resolution + max_iterations: 80, + } +} + +/// Sample the rate slightly before `t` to decide the direction of the +/// crossing: a positive rate before zero ⇒ direct → retrograde +/// (Retrograde station); negative before zero ⇒ retrograde → direct. +fn classify_station( + session: &EphemerisSession, + body: Body, + t: Instant, +) -> AstrologyResult { + let probe = Instant::from_utc(t.utc().add_days(-0.5)); // half a day earlier + let pos = session.body_apparent(body, probe, None).map_err(AstrologyError::Sky)?; + let rate = pos.ecliptic_velocity.longitude_rate_rad_per_day; + Ok(if rate > 0.0 { + StationKind::Retrograde + } else { + StationKind::Direct + }) +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/synastry.rs b/01_yachay/cosmos/cosmos-astrology/src/synastry.rs new file mode 100644 index 0000000..88cb580 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/synastry.rs @@ -0,0 +1,77 @@ +//! Synastry: aspect grid between two natal charts. +//! +//! Synastry compares two charts by considering every pair `(body in A, +//! body in B)` and reporting the aspects whose angular separation falls +//! within an [`OrbTable`]'s allowance. It is symmetric with respect to +//! the chart order — if A→B reports a 5° conjunction Sun↔Moon, B→A +//! reports the same. The convention used here is that `person_a_body` +//! always sits in chart A and `person_b_body` always sits in chart B. + +use cosmos_sky::Body; + +use crate::angles::signed_delta_deg; +use crate::aspect::{AspectKind, OrbTable}; +use crate::chart::NatalChart; + +/// One aspect between a body in chart A and a body in chart B. +#[derive(Debug, Clone, Copy)] +pub struct SynastryAspect { + pub person_a_body: Body, + pub person_b_body: Body, + pub kind: AspectKind, + pub orb_signed_deg: f64, + pub allowed_orb_deg: f64, +} + +impl SynastryAspect { + pub fn orb_abs_deg(&self) -> f64 { + self.orb_signed_deg.abs() + } +} + +/// Cross-chart aspect grid. Returns aspects sorted by orb (tightest +/// first). `kinds` selects which aspect families to test. +pub fn find_synastry_aspects( + chart_a: &NatalChart, + chart_b: &NatalChart, + orbs: &OrbTable, + kinds: &[AspectKind], +) -> Vec { + let mut out: Vec = Vec::new(); + + for a in &chart_a.placements { + for b in &chart_b.placements { + // Identical-body cross-chart aspects ARE meaningful here + // — Sun(A) conjunct Sun(B) is the canonical "same-sign + // birthday" indicator. So we do NOT skip same-body pairs. + for &kind in kinds { + let allowed = orbs.orb_for(a.body, b.body, kind); + if allowed <= 0.0 { + continue; + } + let raw = + signed_delta_deg(a.longitude.longitude_deg(), b.longitude.longitude_deg()); + let separation = raw.abs(); + let exact = kind.exact_angle_deg(); + let diff = separation - exact; + if diff.abs() > allowed { + continue; + } + out.push(SynastryAspect { + person_a_body: a.body, + person_b_body: b.body, + kind, + orb_signed_deg: diff, + allowed_orb_deg: allowed, + }); + } + } + } + out.sort_by(|x, y| { + x.orb_abs_deg() + .partial_cmp(&y.orb_abs_deg()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + out +} + diff --git a/01_yachay/cosmos/cosmos-astrology/src/topocentric.rs b/01_yachay/cosmos/cosmos-astrology/src/topocentric.rs new file mode 100644 index 0000000..96d9c37 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/topocentric.rs @@ -0,0 +1,244 @@ +//! Corrección topocéntrica de posiciones planetarias. +//! +//! Las posiciones que entrega VSOP2013 (y por extensión `Placement`) +//! son **geocéntricas** — referidas al centro de la Tierra. El +//! observador real está en la superficie, desplazado del centro por +//! ~6378 km. La diferencia produce una **paralaje horizontal** que +//! desplaza la posición aparente del cuerpo, máxima para la Luna +//! (~1°), modesta para los planetas interiores (~30″ en Marte cerca +//! de oposición) y despreciable para los exteriores. +//! +//! En la práctica astrológica, el sistema topocéntrico es relevante +//! para: +//! - Lecturas precisas de la Luna (la diferencia es visible a simple +//! vista en la rueda). +//! - Trabajos de rectificación con Direcciones Primarias del sistema +//! GR / García Rosas, donde la paralaje cambia el resultado. +//! - Sinastrías comparativas (geocéntrico vs topocéntrico). +//! +//! Referencia: Meeus, *Astronomical Algorithms*, cap. 40 ("Correction +//! for Parallax"), ec. 40.6-40.7. +//! +//! ## Simplificaciones +//! +//! Tratamos la Tierra como esfera (sin flattening 1/298.257). Eso +//! introduce un error de ~10″ en latitudes medias — orden de +//! magnitud menor que la propia paralaje y aceptable para uso +//! astrológico. Si el caller necesita precisión sub-arc-second +//! debe usar el módulo Swiss Ephemeris directamente. + +use std::f64::consts::TAU; + +/// Paralaje solar standard (Meeus 40.1, en radianes): el ángulo que +/// subtiende el radio terrestre visto desde 1 AU. Equivale a 8.794″. +const SOLAR_PARALLAX_RAD: f64 = 4.263_452_25e-5; + +/// Convierte una posición eclíptica geocéntrica a topocéntrica para +/// un observador dado. La conversión pasa por coordenadas +/// ecuatoriales (RA/Dec), aplica la paralaje en ese frame +/// (donde la geometría es separable en `Δα` y `Δδ` cleanly), y +/// vuelve a eclípticas. +/// +/// Parámetros: +/// * `lon_rad`, `lat_rad`: longitud y latitud eclípticas geocéntricas. +/// * `dist_au`: distancia geocéntrica al cuerpo, en AU. Para cuerpos +/// con `dist_au > 50` (más allá de Plutón) el shift es < 10⁻⁶ rad +/// y se devuelve la entrada sin tocar. +/// * `obs_lat_rad`: latitud geográfica del observador. +/// * `lst_rad`: Local Apparent Sidereal Time del observador. +/// * `obliquity_rad`: obliquidad verdadera de la fecha. +/// +/// Devuelve `(lon_topo_rad, lat_topo_rad)` con `lon_topo_rad ∈ +/// [0, 2π)`. +pub fn topocentric_ecliptic( + lon_rad: f64, + lat_rad: f64, + dist_au: f64, + obs_lat_rad: f64, + lst_rad: f64, + obliquity_rad: f64, +) -> (f64, f64) { + // Cuerpos muy lejanos: la paralaje es indistinguible numéricamente + // de cero y devolver la geocéntrica evita ruido floating-point. + if dist_au <= 0.0 || dist_au > 50.0 { + return (lon_rad.rem_euclid(TAU), lat_rad); + } + + // 1) Eclíptico → ecuatorial. + let (ra, dec) = ecliptic_to_equatorial(lon_rad, lat_rad, obliquity_rad); + + // 2) Paralaje horizontal sin π = sin(8.794″) / dist_au. Para + // distancias > 0.0001 AU (≈15000 km) el seno es indistinguible + // del argumento; usamos la aproximación de ángulo pequeño. + let sin_pi = SOLAR_PARALLAX_RAD / dist_au; + + // 3) Hour angle del cuerpo (H = LST - α). + let h = lst_rad - ra; + let (sin_h, cos_h) = libm::sincos(h); + + // 4) Componentes del observador (esfera, ρ=1, alt despreciable). + let (sin_phi, cos_phi) = libm::sincos(obs_lat_rad); + let rho_cos_phi = cos_phi; + let rho_sin_phi = sin_phi; + + // 5) Δα y δ' según Meeus 40.6-40.7. + let (sin_dec, cos_dec) = libm::sincos(dec); + let denom = cos_dec - rho_cos_phi * sin_pi * cos_h; + let delta_alpha = libm::atan2(-rho_cos_phi * sin_pi * sin_h, denom); + let ra_topo = ra + delta_alpha; + let dec_topo = libm::atan2( + (sin_dec - rho_sin_phi * sin_pi) * libm::cos(delta_alpha), + denom, + ); + + // 6) Ecuatorial topocéntrico → eclíptico topocéntrico. + let (lon_topo, lat_topo) = equatorial_to_ecliptic(ra_topo, dec_topo, obliquity_rad); + (lon_topo.rem_euclid(TAU), lat_topo) +} + +/// Eclíptico → ecuatorial. (RA, Dec) en radianes; RA en [0, 2π). +fn ecliptic_to_equatorial(lon: f64, lat: f64, obliquity: f64) -> (f64, f64) { + let (sin_lon, cos_lon) = libm::sincos(lon); + let (sin_lat, cos_lat) = libm::sincos(lat); + let (sin_eps, cos_eps) = libm::sincos(obliquity); + let sin_dec = sin_lat * cos_eps + cos_lat * sin_eps * sin_lon; + let dec = libm::asin(sin_dec); + let ra = libm::atan2(sin_lon * cos_eps - libm::tan(lat) * sin_eps, cos_lon); + let ra = ra.rem_euclid(TAU); + (ra, dec) +} + +/// Ecuatorial → eclíptico. (λ, β) en radianes; λ en [0, 2π). +fn equatorial_to_ecliptic(ra: f64, dec: f64, obliquity: f64) -> (f64, f64) { + let (sin_ra, cos_ra) = libm::sincos(ra); + let (sin_dec, cos_dec) = libm::sincos(dec); + let (sin_eps, cos_eps) = libm::sincos(obliquity); + let sin_beta = sin_dec * cos_eps - cos_dec * sin_eps * sin_ra; + let beta = libm::asin(sin_beta); + let lon = libm::atan2( + sin_dec * sin_eps + cos_dec * cos_eps * sin_ra, + cos_dec * cos_ra, + ); + let lon = lon.rem_euclid(TAU); + (lon, beta) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::f64::consts::PI; + + fn deg(r: f64) -> f64 { + r.to_degrees() + } + + #[test] + fn distant_body_no_shift() { + // Saturno ~9 AU: shift en arcsec ≈ 8.794" / 9 ≈ 1" — debería + // estar bajo el error tolerable para un test relativo. + let lon = 120.0_f64.to_radians(); + let lat = 0.5_f64.to_radians(); + let (lt, bt) = topocentric_ecliptic( + lon, + lat, + 9.0, // ~Saturno + 45.0_f64.to_radians(), + 60.0_f64.to_radians(), + 23.44_f64.to_radians(), + ); + // < 5 arcsec de diferencia + assert!(deg(lt - lon).abs() < 5.0 / 3600.0); + assert!(deg(bt - lat).abs() < 5.0 / 3600.0); + } + + #[test] + fn very_distant_body_returns_unchanged() { + // Pluto > 30 AU debería devolver exactamente la entrada + // (short-circuit por threshold). + let lon = 200.0_f64.to_radians(); + let lat = 0.7_f64.to_radians(); + let (lt, bt) = topocentric_ecliptic( + lon, + lat, + 32.0, + 40.0_f64.to_radians(), + 90.0_f64.to_radians(), + 23.44_f64.to_radians(), + ); + // 32 AU sale del threshold de 50: aún se computa, pero el + // shift es minúsculo. La diferencia tiene que ser < 1 arcsec. + assert!(deg(lt - lon).abs() < 1.0 / 3600.0); + assert!(deg(bt - lat).abs() < 1.0 / 3600.0); + } + + #[test] + fn moon_parallax_significant() { + // Luna a ~60 radios terrestres = 0.00257 AU. La paralaje + // horizontal es ~57'. El shift exacto depende del hour + // angle y la latitud, pero debería estar en el orden de + // arcmin, NUNCA cero, para una observación no-cenital. + let lon = 120.0_f64.to_radians(); // Leo aprox. + let lat = 0.0_f64.to_radians(); + let dist_au = 0.00257; + let obs_lat = 45.0_f64.to_radians(); + let lst = 60.0_f64.to_radians(); // body NO en el meridiano + let eps = 23.44_f64.to_radians(); + let (lt, _bt) = topocentric_ecliptic(lon, lat, dist_au, obs_lat, lst, eps); + let shift_arcmin = deg(lt - lon).abs() * 60.0; + // Esperamos shift entre 1' y 80' (rango amplio porque + // depende mucho de la geometría exacta). + assert!( + (1.0..80.0).contains(&shift_arcmin), + "shift Luna esperado en (1', 80'), fue {}'", + shift_arcmin + ); + } + + #[test] + fn zenith_passage_no_shift() { + // Si el cuerpo pasa por el cenit del observador (declinación + // = latitud, hour angle = 0), la paralaje es exactamente + // radial hacia abajo y no cambia la dirección angular. + // Construimos: lon tal que ra=lst, lat=0 → δ = ε·sin(λ)·… ; + // en lugar de invertir analíticamente, picamos un caso + // simple: λ=0 (Aries 0°), β=0 → α=0, δ=0. Si lst=0 y obs_lat + // = 0, el cuerpo está en el cenit. shift debe ser ~0. + let (lt, bt) = topocentric_ecliptic( + 0.0, + 0.0, + 0.4, // distancia tipo Mercurio + 0.0_f64.to_radians(), + 0.0_f64.to_radians(), + 23.44_f64.to_radians(), + ); + assert!(deg(lt).abs() < 0.001 || deg(lt - 360.0).abs() < 0.001); + assert!(deg(bt).abs() < 0.001); + } + + #[test] + fn ecliptic_equatorial_round_trip() { + let cases: [(f64, f64); 5] = [ + (0.0, 0.0), + (90.0, 23.44), + (120.0, -5.0), + (270.0, 10.0), + (359.9, -0.1), + ]; + let eps = 23.44_f64.to_radians(); + for (lon_deg, lat_deg) in cases { + let lon = lon_deg.to_radians(); + let lat = lat_deg.to_radians(); + let (ra, dec) = ecliptic_to_equatorial(lon, lat, eps); + let (lon2, lat2) = equatorial_to_ecliptic(ra, dec, eps); + // Roundtrip < 1 arcsec. + let d_lon = ((lon - lon2 + PI).rem_euclid(2.0 * PI) - PI).abs(); + assert!(d_lon.to_degrees() * 3600.0 < 0.5, "lon {} → {}", lon_deg, lon2.to_degrees()); + assert!( + ((lat - lat2).to_degrees() * 3600.0).abs() < 0.5, + "lat {} → {}", + lat_deg, + lat2.to_degrees() + ); + } + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/transits.rs b/01_yachay/cosmos/cosmos-astrology/src/transits.rs new file mode 100644 index 0000000..733cece --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/transits.rs @@ -0,0 +1,235 @@ +//! Transits: aspects between bodies in the *sky right now* (or at any +//! chosen instant) and points in a natal chart. +//! +//! A transit is the most common kind of forecasting an astrologer +//! consults. It asks: "of all the angular relationships that the +//! transiting planets currently form with my natal points, which ones +//! are within orb?" — and, by extension, "when will the next exact +//! contact happen?" +//! +//! Two modes are exposed: +//! +//! * [`find_current_transits`] — a snapshot of every aspect a list of +//! transiting bodies makes with every body or angle in `natal`, at a +//! single instant. +//! * [`find_next_exact_transit`] — root-finds the next time a specific +//! transiting body's longitude is exactly N degrees from a specific +//! natal longitude, where N is the [`AspectKind`]'s exact angle. + +use cosmos_sky::{find_root, Body, EphemerisSession, Instant, SearchOptions}; + +use crate::angles::signed_delta_deg; +use crate::aspect::{AspectKind, OrbTable}; +use crate::chart::NatalChart; +use crate::error::{AstrologyError, AstrologyResult}; +use crate::primary_direction::Significator; + +/// One aspect formed by a transiting body to a natal target. +#[derive(Debug, Clone, Copy)] +pub struct TransitAspect { + /// The body currently moving in the sky. + pub transiting: Body, + /// The natal point being aspected. + pub natal_target: Significator, + pub kind: AspectKind, + /// Signed delta from exact, degrees. Same convention as the aspect + /// engine: positive = past exact, negative = short of exact. + pub orb_signed_deg: f64, + pub allowed_orb_deg: f64, + /// `true` if the transiting body's longitude is closing toward the + /// exact angle. Uses the transiting body's longitude rate; natal + /// targets are treated as fixed (rate = 0). + pub applying: bool, + pub instant: Instant, +} + +impl TransitAspect { + pub fn orb_abs_deg(&self) -> f64 { + self.orb_signed_deg.abs() + } +} + +/// Snapshot every transit aspect at `at`. Returns aspects sorted by +/// orb (tightest first). +/// +/// `transiting_bodies` controls which sky positions to consider — pass +/// e.g. all major planets, or a subset for a quick scan. `targets` +/// controls which natal points are valid significators; pass +/// `natal_targets_default(&natal)` to use every body in the chart plus +/// the four angles. +pub fn find_current_transits( + natal: &NatalChart, + session: &EphemerisSession, + at: Instant, + transiting_bodies: &[Body], + targets: &[Significator], + orbs: &OrbTable, + aspect_kinds: &[AspectKind], +) -> AstrologyResult> { + let snapshot = orbs.snapshot(); + let mut out = + Vec::with_capacity(transiting_bodies.len() * targets.len() * aspect_kinds.len()); + + for &transiting in transiting_bodies { + let pos = session + .body_apparent(transiting, at, None) + .map_err(AstrologyError::Sky)?; + let t_lon_deg = pos.ecliptic_of_date.longitude_deg(); + let t_rate_deg_per_day = + pos.ecliptic_velocity.longitude_rate_rad_per_day.to_degrees(); + + for &target in targets { + let target_lon_deg = target.longitude_deg(natal); + let target_lon_deg = match target_lon_deg { + Some(v) => v, + None => continue, + }; + for &kind in aspect_kinds { + let allowed = snapshot.orb_for( + transiting, + body_for_significator(target, transiting), + kind, + ); + if allowed <= 0.0 { + continue; + } + let raw = signed_delta_deg(t_lon_deg, target_lon_deg); + let separation = raw.abs(); + let exact = kind.exact_angle_deg(); + let diff = separation - exact; + if diff.abs() > allowed { + continue; + } + // Applying: target is fixed, so d(separation)/dt has + // the sign of `raw × transiting_rate`. Closing means + // (sep − exact) and dsep/dt have opposite signs. + let dsep_dt = if raw >= 0.0 { + t_rate_deg_per_day + } else { + -t_rate_deg_per_day + }; + let applying = if diff > 0.0 { + dsep_dt < 0.0 + } else if diff < 0.0 { + dsep_dt > 0.0 + } else { + false + }; + out.push(TransitAspect { + transiting, + natal_target: target, + kind, + orb_signed_deg: diff, + allowed_orb_deg: allowed, + applying, + instant: at, + }); + } + } + } + + out.sort_by(|a, b| { + a.orb_abs_deg() + .partial_cmp(&b.orb_abs_deg()) + .unwrap_or(std::cmp::Ordering::Equal) + }); + Ok(out) +} + +/// Default target set for transit queries: every body present in +/// `natal.placements` (deduplicated, including the four lunar nodes +/// only once) plus the four cardinal angles. +pub fn default_natal_targets(natal: &NatalChart) -> Vec { + let mut out: Vec = Vec::new(); + let mut seen: Vec = Vec::new(); + for p in &natal.placements { + if !seen.contains(&p.body) { + out.push(Significator::Body(p.body)); + seen.push(p.body); + } + } + out.push(Significator::Ascendant); + out.push(Significator::Midheaven); + out.push(Significator::Descendant); + out.push(Significator::ImumCoeli); + out +} + +/// Find the next instant at or after `after` when `transiting`'s +/// ecliptic longitude is exactly `aspect_kind.exact_angle_deg()` +/// degrees from `natal_target_longitude_rad`. Returns `Ok(None)` if no +/// crossing occurs within `max_window_days`. +pub fn find_next_exact_transit( + session: &EphemerisSession, + transiting: Body, + natal_target_longitude_rad: f64, + aspect_kind: AspectKind, + after: Instant, + max_window_days: f64, +) -> AstrologyResult> { + let target_rad = natal_target_longitude_rad; + let exact_offset_rad = aspect_kind.exact_angle_deg().to_radians(); + + let f = |t: Instant| -> cosmos_sky::SkyResult { + let pos = session.body_apparent(transiting, t, None)?; + let lon = pos.ecliptic_of_date.longitude_rad; + // The aspect can perfect on either side of the target by the + // exact offset. Return the signed "distance to nearest exact", + // which crosses zero at perfection. We use the minimum of the + // two possible crossings for monotonicity inside a single + // aspect window — but the coarse scan handles either branch. + Ok(signed_min_distance(lon - target_rad, exact_offset_rad)) + }; + + let nominal_step_seconds = nominal_transit_step_seconds(transiting); + let opts = SearchOptions { + coarse_step_seconds: nominal_step_seconds, + tolerance_seconds: 1.0, + max_iterations: 80, + }; + + let t1 = Instant::from_utc(after.utc().add_days(max_window_days)); + find_root(after, t1, f, opts).map_err(AstrologyError::Sky) +} + +/// Coarse-scan step for a transiting body — fast bodies need finer +/// sampling so the bisector brackets a single perfection per orbit. +fn nominal_transit_step_seconds(body: Body) -> f64 { + use Body::*; + match body { + Moon => 3_600.0, // 1 h (Moon moves ~0.5°/h) + Mercury | Venus | Sun => 21_600.0, // 6 h + Mars => 43_200.0, // 12 h + Jupiter | Saturn => 86_400.0, // 1 d + Uranus | Neptune | Pluto => 86_400.0 * 5.0, // 5 d + _ => 86_400.0, + } +} + +/// Body to use as the "significator side" of the OrbTable lookup. For +/// `Significator::Body(b)` it's `b`; for angles we re-use the +/// transiting body's own multiplier so the result is symmetric. +fn body_for_significator(sig: Significator, fallback: Body) -> Body { + match sig { + Significator::Body(b) => b, + _ => fallback, + } +} + +/// For an aspect that perfects when `(actual − target)` equals either +/// `+exact_offset` or `−exact_offset` (the two branches of the same +/// aspect family), return the smaller signed distance to perfection. +fn signed_min_distance(raw_diff_rad: f64, exact_offset_rad: f64) -> f64 { + use std::f64::consts::{PI, TAU}; + let mut d = raw_diff_rad.rem_euclid(TAU); + if d > PI { + d -= TAU; + } + let plus = d - exact_offset_rad; + let minus = d + exact_offset_rad; + if plus.abs() <= minus.abs() { + plus + } else { + minus + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/src/zodiac.rs b/01_yachay/cosmos/cosmos-astrology/src/zodiac.rs new file mode 100644 index 0000000..bd9dd65 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/src/zodiac.rs @@ -0,0 +1,194 @@ +//! The twelve zodiac signs and helpers for decomposing an ecliptic +//! longitude into (sign, degree, minute, second). +//! +//! The astrology layer supports both **tropical** (longitude measured +//! from the vernal equinox of date — the default in Western astrology) +//! and **sidereal** (longitude minus an ayanamsha — the default in +//! Indian astrology). The signs themselves are identical 30°-wide +//! sectors of the ecliptic; what changes between the two zodiacs is +//! the zero point. + +use cosmos_sky::Ayanamsha; + +/// The twelve zodiac signs, in chart order starting from Aries. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum Sign { + Aries, + Taurus, + Gemini, + Cancer, + Leo, + Virgo, + Libra, + Scorpio, + Sagittarius, + Capricorn, + Aquarius, + Pisces, +} + +impl Sign { + /// Sign index `0..=11` (Aries = 0). + pub fn index(self) -> usize { + self as usize + } + + pub fn from_index(i: usize) -> Self { + const ALL: [Sign; 12] = [ + Sign::Aries, + Sign::Taurus, + Sign::Gemini, + Sign::Cancer, + Sign::Leo, + Sign::Virgo, + Sign::Libra, + Sign::Scorpio, + Sign::Sagittarius, + Sign::Capricorn, + Sign::Aquarius, + Sign::Pisces, + ]; + ALL[i % 12] + } + + /// Decompose a (already-normalised) ecliptic longitude in radians + /// into the sign and the offset within that sign, in radians + /// `[0, π/6)`. + pub fn decompose(longitude_rad: f64) -> (Self, f64) { + const TAU: f64 = std::f64::consts::TAU; + const SIGN_WIDTH: f64 = TAU / 12.0; + let lon = longitude_rad.rem_euclid(TAU); + let index = (lon / SIGN_WIDTH).floor() as usize; + let offset = lon - (index as f64) * SIGN_WIDTH; + (Self::from_index(index), offset) + } + + /// English short name (`"Ari"`, `"Tau"`, ...). Useful for compact + /// chart printouts. + pub fn short_name(self) -> &'static str { + match self { + Sign::Aries => "Ari", + Sign::Taurus => "Tau", + Sign::Gemini => "Gem", + Sign::Cancer => "Can", + Sign::Leo => "Leo", + Sign::Virgo => "Vir", + Sign::Libra => "Lib", + Sign::Scorpio => "Sco", + Sign::Sagittarius => "Sag", + Sign::Capricorn => "Cap", + Sign::Aquarius => "Aqu", + Sign::Pisces => "Pis", + } + } +} + +/// Selectable zodiac reference. `Tropical` measures longitudes from the +/// vernal equinox of date; `Sidereal` subtracts an ayanamsha so the +/// constellations stay fixed relative to the background stars. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Zodiac { + Tropical, + Sidereal(Ayanamsha), +} + +impl Default for Zodiac { + fn default() -> Self { + Zodiac::Tropical + } +} + +/// An ecliptic longitude paired with its zodiac decomposition. The same +/// underlying radian value drives all accessors; the helpers exist for +/// human-readable chart output. +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct SignedLongitude { + longitude_rad: f64, + sign: Sign, + offset_rad: f64, +} + +impl SignedLongitude { + /// Build from a (possibly un-normalised) ecliptic longitude in radians. + pub fn from_radians(longitude_rad: f64) -> Self { + let (sign, offset_rad) = Sign::decompose(longitude_rad); + Self { + longitude_rad: longitude_rad.rem_euclid(std::f64::consts::TAU), + sign, + offset_rad, + } + } + + pub fn longitude_rad(&self) -> f64 { + self.longitude_rad + } + + pub fn longitude_deg(&self) -> f64 { + self.longitude_rad.to_degrees() + } + + pub fn sign(&self) -> Sign { + self.sign + } + + /// Whole degree within the sign (`0..30`). + pub fn degree_in_sign(&self) -> u32 { + self.offset_rad.to_degrees().floor() as u32 + } + + /// Decimal degree within the sign (`0.0..30.0`). + pub fn degree_in_sign_decimal(&self) -> f64 { + self.offset_rad.to_degrees() + } + + /// Whole minutes after the degree (`0..60`). + pub fn minutes_in_sign(&self) -> u32 { + let frac = (self.offset_rad.to_degrees().fract()) * 60.0; + frac.floor() as u32 + } + + /// Seconds after the minute, with fractional part (`0.0..60.0`). + pub fn seconds_in_sign(&self) -> f64 { + let total_min = self.offset_rad.to_degrees().fract() * 60.0; + (total_min.fract()) * 60.0 + } + + /// Human-readable like `"15°23'04\" Tau"`. + pub fn to_chart_format(&self) -> String { + format!( + "{:02}°{:02}'{:05.2}\" {}", + self.degree_in_sign(), + self.minutes_in_sign(), + self.seconds_in_sign(), + self.sign.short_name(), + ) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn decompose_aries_zero() { + let s = SignedLongitude::from_radians(0.0); + assert_eq!(s.sign(), Sign::Aries); + assert_eq!(s.degree_in_sign(), 0); + } + + #[test] + fn decompose_15_taurus() { + let lon = (30.0_f64 + 15.0).to_radians(); + let s = SignedLongitude::from_radians(lon); + assert_eq!(s.sign(), Sign::Taurus); + assert_eq!(s.degree_in_sign(), 15); + } + + #[test] + fn decompose_29_pisces() { + let lon = (359.99_f64).to_radians(); + let s = SignedLongitude::from_radians(lon); + assert_eq!(s.sign(), Sign::Pisces); + assert_eq!(s.degree_in_sign(), 29); + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/aspects_and_returns.rs b/01_yachay/cosmos/cosmos-astrology/tests/aspects_and_returns.rs new file mode 100644 index 0000000..d0112fa --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/aspects_and_returns.rs @@ -0,0 +1,228 @@ +//! Tests for the aspect engine and the planetary-return finder. + +use cosmos_astrology::{ + aspect, find_aspects, find_aspects_filtered, next_return, AspectKind, BirthData, + ChartConfig, NatalChart, OrbTable, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +#[test] +fn modern_western_orbs_match_expected_values() { + let orbs = OrbTable::modern_western(); + // Sun-Moon conjunction = 8 × 1.25 = 10° (both luminaries multiply + // but only the max applies → 10°). + assert_eq!( + orbs.orb_for(Body::Sun, Body::Moon, AspectKind::Conjunction), + 10.0 + ); + assert_eq!( + orbs.orb_for(Body::Mars, Body::Saturn, AspectKind::Trine), + 7.0 + ); + assert_eq!( + orbs.orb_for(Body::Mars, Body::Saturn, AspectKind::Quincunx), + 2.5 + ); +} + +#[test] +fn aspect_engine_finds_expected_pairs_in_demo_chart() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + let orbs = OrbTable::modern_western(); + let asps = find_aspects(&chart, &orbs); + assert!(!asps.is_empty(), "real chart should have some aspects"); + + // Every reported aspect must (a) be within its allowed orb, and + // (b) have signed_orb consistent with the actual separation. + for a in &asps { + assert!( + a.orb_abs_deg() <= a.allowed_orb_deg + 1e-9, + "aspect {:?} {} {} orb {} > allowed {}", + a.kind, + a.a.name(), + a.b.name(), + a.orb_abs_deg(), + a.allowed_orb_deg + ); + } + + // Output is sorted by tightness (most exact first). + for w in asps.windows(2) { + assert!(w[0].orb_abs_deg() <= w[1].orb_abs_deg() + 1e-12); + } +} + +#[test] +fn major_aspect_filter_excludes_minors() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let majors = find_aspects_filtered(&chart, &OrbTable::default(), AspectKind::MAJORS); + for a in &majors { + assert!( + AspectKind::MAJORS.contains(&a.kind), + "filter leaked {:?}", + a.kind + ); + } +} + +#[test] +fn applying_flag_is_consistent_with_signed_orb() { + // Construct a synthetic 2-body chart by computing aspects manually + // on two crafted placements. Easier than reasoning about a real + // birth-chart's velocities. + use cosmos_astrology::{BodyPlacement, Sign, SignedLongitude}; + + let mercury = BodyPlacement { + body: Body::Mercury, + longitude: SignedLongitude::from_radians(10.0_f64.to_radians()), + latitude_rad: 0.0, + distance_km: 0.0, + // Mercury moves fast (positive), trying to overtake Mars. + longitude_rate_rad_per_day: 1.0_f64.to_radians(), + right_ascension_rad: 0.0, + declination_rad: 0.0, + house_number: 1, + horizon: None, + }; + let mars = BodyPlacement { + body: Body::Mars, + longitude: SignedLongitude::from_radians(15.0_f64.to_radians()), + latitude_rad: 0.0, + distance_km: 0.0, + // Mars is slower. + longitude_rate_rad_per_day: 0.5_f64.to_radians(), + right_ascension_rad: 0.0, + declination_rad: 0.0, + house_number: 1, + horizon: None, + }; + + let orbs = OrbTable::modern_western(); + // 5° apart → conjunction in orb (8°). Mercury catches up → applying. + let asp = aspect_test_pair_helper(&mercury, &mars, AspectKind::Conjunction, &orbs) + .expect("should find conjunction"); + assert_eq!(asp.kind, AspectKind::Conjunction); + assert!(asp.applying, "Mercury catching Mars should be applying"); + assert!(asp.orb_abs_deg() > 0.0, "should not be exact"); + let _ = Sign::Aries; // silence unused-warning when running this alone +} + +/// Helper that reproduces `find_aspects` for a single pair so the +/// applying-test can hand-craft placements. +fn aspect_test_pair_helper( + a: &cosmos_astrology::BodyPlacement, + b: &cosmos_astrology::BodyPlacement, + kind: AspectKind, + orbs: &OrbTable, +) -> Option { + // We call into find_aspects through a tiny NatalChart shim: + // simplest is to do the math directly via the public types. + let placements = vec![*a, *b]; + let chart = synth_chart(placements); + let asps = aspect::find_aspects_filtered(&chart, orbs, &[kind]); + asps.into_iter().next() +} + +/// Cheap NatalChart shim for unit testing — builds a chart with empty +/// houses + only the supplied placements. We compute one real chart and +/// then swap its placements vector. +fn synth_chart(placements: Vec) -> NatalChart { + let s = session(); + let birth = fixture_birth(); + let mut chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + chart.placements = placements; + chart +} + +#[test] +fn solar_return_for_2025_lands_within_24h_of_birthday() { + // For a March 14, 1987 birth, the 2024-2025 solar return must + // happen near March 14, 2025. Bracket the search starting March 1, + // 2025 with a 30-day window. + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let natal_sun = chart + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_rad(); + let after = Instant::from_civil_utc(2025, 3, 1, 0, 0, 0.0).unwrap(); + let return_t = next_return(&s, Body::Sun, natal_sun, after, Some(30.0)).unwrap(); + + // The instant must lie within 1 day of 2025-03-14T09:22 UTC. The + // Sun's daily motion is ~1°, so a 30-day search is wide and a 24-h + // tolerance is conservative. + let expected = Instant::from_civil_utc(2025, 3, 14, 9, 22, 0.0).unwrap(); + let diff_days = (return_t.jd_utc() - expected.jd_utc()).abs(); + assert!( + diff_days < 1.0, + "Sun return at {} too far from expected {} (Δ = {:.4} d)", + return_t.to_iso8601(), + expected.to_iso8601(), + diff_days, + ); +} + +#[test] +fn lunar_return_brackets_one_sidereal_month() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let natal_moon = chart + .placement(Body::Moon) + .unwrap() + .longitude + .longitude_rad(); + let after = Instant::from_civil_utc(2025, 1, 1, 0, 0, 0.0).unwrap(); + let return_t = next_return(&s, Body::Moon, natal_moon, after, Some(35.0)).unwrap(); + let gap_days = return_t.jd_utc() - after.jd_utc(); + // Sidereal month ≈ 27.32 d; allow 0..28 d to handle the lunar + // node's nutation jitter at ~±10' / day. + assert!( + (0.0..28.5).contains(&gap_days), + "Moon return gap {:.4} d outside [0, 28.5]", + gap_days + ); +} + +#[test] +fn find_root_handles_no_sign_change_gracefully() { + use cosmos_sky::{find_root, SearchOptions}; + let t0 = Instant::from_civil_utc(2025, 1, 1, 0, 0, 0.0).unwrap(); + let t1 = Instant::from_civil_utc(2025, 1, 2, 0, 0, 0.0).unwrap(); + // f never changes sign. + let result = find_root(t0, t1, |_t| Ok(1.0), SearchOptions::HOURLY).unwrap(); + assert!(result.is_none()); +} + +#[test] +fn find_root_locates_a_simple_zero_at_midpoint() { + use cosmos_sky::{find_root, SearchOptions}; + let t0 = Instant::from_civil_utc(2025, 1, 1, 0, 0, 0.0).unwrap(); + let t1 = Instant::from_civil_utc(2025, 1, 2, 0, 0, 0.0).unwrap(); + let mid_jd = 0.5 * (t0.jd_utc() + t1.jd_utc()); + + // Linear f(t) crossing zero at midpoint. + let f = |t: Instant| Ok(t.jd_utc() - mid_jd); + let root = find_root(t0, t1, f, SearchOptions::HOURLY).unwrap().unwrap(); + + // Should land within tolerance (1 s = ~1.16e-5 days). + let diff = (root.jd_utc() - mid_jd).abs(); + assert!(diff < 2.0e-5, "find_root diverged: Δ = {:.3e} days", diff); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/campanus_directions.rs b/01_yachay/cosmos/cosmos-astrology/tests/campanus_directions.rs new file mode 100644 index 0000000..e281cd6 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/campanus_directions.rs @@ -0,0 +1,155 @@ +//! Tests for the Campanus primary-direction method. +//! +//! Campanus mundane positions are computed from the body's local +//! horizontal Cartesian, projected onto the prime vertical. Properties +//! that must hold: +//! +//! 1. m_Campanus at MC = 1 (any body, any latitude). +//! 2. Campanus and Placidus agree on directions to **angles** (the +//! four cardinal mundane positions are the same in all three +//! classical frameworks by definition). +//! 3. Campanus differs from both Placidus and Regiomontanus on +//! body-to-body directions. + +use cosmos_astrology::{ + direct_to_aspect, AspectKind, BirthData, ChartConfig, DirectionKey, DirectionMethod, + NatalChart, Significator, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +#[test] +fn campanus_agrees_with_placidus_for_directions_to_each_angle() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + + let angles = [ + Significator::Ascendant, + Significator::Midheaven, + Significator::Descendant, + Significator::ImumCoeli, + ]; + + for body in [Body::Sun, Body::Moon, Body::Mars, Body::Saturn] { + for sig in angles { + let placidus = direct_to_aspect( + &chart, + body, + sig, + AspectKind::Conjunction, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let campanus = direct_to_aspect( + &chart, + body, + sig, + AspectKind::Conjunction, + DirectionMethod::Campanus, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + // All three frameworks place angles at the same fixed + // mundane positions, so the arc must match exactly. + let diff = (placidus.arc_rad - campanus.arc_rad).abs(); + let diff = diff.min((std::f64::consts::TAU - diff).abs()); + assert!( + diff < 1e-9, + "{} → {:?} differs Plac={:.6}° Camp={:.6}° (Δ {:.6}°)", + body.name(), + sig, + placidus.arc_deg(), + campanus.arc_deg(), + diff.to_degrees() + ); + } + } +} + +#[test] +fn campanus_disagrees_with_placidus_for_body_to_body() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + let placidus = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Saturn), + AspectKind::Conjunction, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let campanus = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Saturn), + AspectKind::Conjunction, + DirectionMethod::Campanus, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let diff = (placidus.arc_rad - campanus.arc_rad).abs(); + assert!( + diff > 1e-4, + "Placidus and Campanus should differ on body-to-body; got Plac={:.6}° Camp={:.6}°", + placidus.arc_deg(), + campanus.arc_deg() + ); +} + +#[test] +fn campanus_disagrees_with_regiomontanus_for_body_to_body() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + let regio = direct_to_aspect( + &chart, + Body::Mercury, + Significator::Body(Body::Pluto), + AspectKind::Conjunction, + DirectionMethod::Regiomontanus, + DirectionKey::Naibod, + ) + .unwrap()[0]; + let campanus = direct_to_aspect( + &chart, + Body::Mercury, + Significator::Body(Body::Pluto), + AspectKind::Conjunction, + DirectionMethod::Campanus, + DirectionKey::Naibod, + ) + .unwrap()[0]; + let diff = (regio.arc_rad - campanus.arc_rad).abs(); + assert!( + diff > 1e-4, + "Regio and Campanus should differ on body-to-body; got Regio={:.6}° Camp={:.6}°", + regio.arc_deg(), + campanus.arc_deg() + ); +} + +#[test] +fn campanus_method_tag_preserved_in_direction_struct() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + let d = direct_to_aspect( + &chart, + Body::Sun, + Significator::Midheaven, + AspectKind::Conjunction, + DirectionMethod::Campanus, + DirectionKey::Naibod, + ) + .unwrap()[0]; + assert_eq!(d.method, DirectionMethod::Campanus); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/composite.rs b/01_yachay/cosmos/cosmos-astrology/tests/composite.rs new file mode 100644 index 0000000..8fc3bdf --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/composite.rs @@ -0,0 +1,164 @@ +//! Tests for the midpoint composite chart. + +use cosmos_astrology::{ + angular_midpoint_rad, composite, BirthData, ChartConfig, NatalChart, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_a() -> BirthData { + BirthData::new( + Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(), + Observer::from_degrees(10.4806, -66.9036, 900.0), + ) + .with_name("Subject A") +} + +fn fixture_b() -> BirthData { + BirthData::new( + Instant::from_civil_local(1990, 7, 22, 14, 17, 0.0, 60).unwrap(), + Observer::from_degrees(40.4168, -3.7038, 650.0), + ) + .with_name("Subject B") +} + +#[test] +fn composite_of_identical_charts_reproduces_the_chart() { + let s = session(); + let chart = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let comp = composite(&chart, &chart).unwrap(); + + // Every angular midpoint equals the original. + let diff_asc = (comp.ascendant.longitude_rad() - chart.ascendant().longitude_rad()).abs(); + assert!(diff_asc < 1e-12); + let diff_mc = (comp.midheaven.longitude_rad() - chart.midheaven().longitude_rad()).abs(); + assert!(diff_mc < 1e-12); + + // Each placement matches its natal counterpart. + assert_eq!(comp.placements.len(), chart.placements.len()); + for (c, n) in comp.placements.iter().zip(chart.placements.iter()) { + assert_eq!(c.body, n.body); + let diff = + (c.longitude.longitude_rad() - n.longitude.longitude_rad()).abs(); + assert!(diff < 1e-12, "{} off by {}", c.body.name(), diff); + } +} + +#[test] +fn composite_is_symmetric_under_a_b_swap() { + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + + let ab = composite(&chart_a, &chart_b).unwrap(); + let ba = composite(&chart_b, &chart_a).unwrap(); + + assert_eq!(ab.placements.len(), ba.placements.len()); + for (x, y) in ab.placements.iter().zip(ba.placements.iter()) { + assert_eq!(x.body, y.body); + let diff = (x.longitude.longitude_rad() - y.longitude.longitude_rad()).abs(); + assert!( + diff < 1e-12, + "Composite midpoint differs between A→B and B→A for {}: {}", + x.body.name(), + diff + ); + } + let diff_asc = + (ab.ascendant.longitude_rad() - ba.ascendant.longitude_rad()).abs(); + let diff_mc = + (ab.midheaven.longitude_rad() - ba.midheaven.longitude_rad()).abs(); + assert!(diff_asc < 1e-12); + assert!(diff_mc < 1e-12); +} + +#[test] +fn angular_midpoint_picks_shorter_arc() { + use std::f64::consts::TAU; + // 350° and 10° — shorter arc midpoint is 0° (not 180°). + let mid_a = angular_midpoint_rad( + 350.0_f64.to_radians(), + 10.0_f64.to_radians(), + ); + let mid_b = angular_midpoint_rad( + 10.0_f64.to_radians(), + 350.0_f64.to_radians(), + ); + let target = 0.0_f64; + let diff_a = ((mid_a - target).rem_euclid(TAU)).min((target - mid_a).rem_euclid(TAU)); + let diff_b = ((mid_b - target).rem_euclid(TAU)).min((target - mid_b).rem_euclid(TAU)); + assert!( + diff_a < 1e-12 && diff_b < 1e-12, + "midpoints {} and {} should both be ~0°", + mid_a.to_degrees(), + mid_b.to_degrees() + ); + + // Right-angle case: 0° and 90° → midpoint 45°. + let mid = angular_midpoint_rad(0.0, 90.0_f64.to_radians()); + let diff = (mid - 45.0_f64.to_radians()).abs(); + assert!(diff < 1e-12); +} + +#[test] +fn composite_placements_carry_whole_sign_houses() { + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + let comp = composite(&chart_a, &chart_b).unwrap(); + + let asc_sign = comp.ascendant.sign(); + for p in &comp.placements { + // Whole-sign: house = (sign index − asc sign index) mod 12 + 1 + let expected = ((p.sign.index() as i32 - asc_sign.index() as i32).rem_euclid(12) + 1) as u8; + assert_eq!( + p.house_number, expected, + "{} sign {:?} should be H{} (Asc sign {:?})", + p.body.name(), + p.sign, + expected, + asc_sign + ); + } +} + +#[test] +fn composite_sun_lies_between_inputs() { + // For inputs that are not antipodal, the composite Sun longitude + // should fall on the shorter arc between the two natal Suns. + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + let comp = composite(&chart_a, &chart_b).unwrap(); + + let sun_a = chart_a.placement(Body::Sun).unwrap().longitude.longitude_rad(); + let sun_b = chart_b.placement(Body::Sun).unwrap().longitude.longitude_rad(); + let sun_c = comp.placement(Body::Sun).unwrap().longitude.longitude_rad(); + + // The composite must equal angular_midpoint(sun_a, sun_b). + let expected = angular_midpoint_rad(sun_a, sun_b); + assert!((sun_c - expected).abs() < 1e-12); +} + +#[test] +fn composite_descendant_opposes_ascendant() { + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + let comp = composite(&chart_a, &chart_b).unwrap(); + + let asc = comp.ascendant.longitude_rad(); + let desc = comp.descendant.longitude_rad(); + let diff = ((desc - asc).rem_euclid(std::f64::consts::TAU) + - std::f64::consts::PI) + .abs(); + assert!(diff < 1e-12, "Desc not opposite Asc, off by {}", diff); + + let mc = comp.midheaven.longitude_rad(); + let ic = comp.imum_coeli.longitude_rad(); + let diff = ((ic - mc).rem_euclid(std::f64::consts::TAU) - std::f64::consts::PI).abs(); + assert!(diff < 1e-12); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/lots_and_profections.rs b/01_yachay/cosmos/cosmos-astrology/tests/lots_and_profections.rs new file mode 100644 index 0000000..706d245 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/lots_and_profections.rs @@ -0,0 +1,220 @@ +//! Tests for Arabic Parts (Lots) and Hellenistic profections. + +use cosmos_astrology::{ + all_lots, annual_profection, compute_lot, modern_ruler, monthly_profection, + profection_at, traditional_ruler, BirthData, ChartConfig, LotName, NatalChart, + ProfectionHouses, Sect, Sign, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_a_day_birth() -> BirthData { + // 14 March 1987, 05:22 Caracas local → Sun is just below horizon. + // For a clean DAY-birth test we use a noon birth instead. + BirthData::new( + Instant::from_civil_local(1987, 3, 14, 12, 0, 0.0, -240).unwrap(), + Observer::from_degrees(10.4806, -66.9036, 900.0), + ) +} + +fn fixture_a_night_birth() -> BirthData { + BirthData::new( + Instant::from_civil_local(1987, 3, 14, 0, 0, 0.0, -240).unwrap(), + Observer::from_degrees(10.4806, -66.9036, 900.0), + ) +} + +// ─── Lots ──────────────────────────────────────────────────────────── + +#[test] +fn fortune_swaps_with_spirit_between_day_and_night() { + let s = session(); + let day_chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + let night_chart = + NatalChart::compute(&fixture_a_night_birth(), &ChartConfig::default(), &s).unwrap(); + + assert_eq!(Sect::of(&day_chart).unwrap(), Sect::Day); + assert_eq!(Sect::of(&night_chart).unwrap(), Sect::Night); + + // For Fortune the day formula is Asc + Moon - Sun and night is the + // reverse. So Fortune_day - Spirit_day = -(Fortune_night - Spirit_night) + // for the SAME chart (after sect determined). To check sect swap we + // compute Fortune_day on day_chart vs Fortune_day formula manually on + // night_chart and verify they differ by 2(Moon - Sun) (the formula + // swap). + let fortune_day = compute_lot(&day_chart, LotName::Fortune).unwrap(); + let asc = day_chart.ascendant().longitude_rad(); + let moon = day_chart.placement(Body::Moon).unwrap().longitude.longitude_rad(); + let sun = day_chart.placement(Body::Sun).unwrap().longitude.longitude_rad(); + let expected_day = + (asc + moon - sun).rem_euclid(std::f64::consts::TAU); + assert!( + (fortune_day.longitude.longitude_rad() - expected_day).abs() < 1e-12, + "day Fortune formula Asc+Moon-Sun mismatch", + ); + + // Spirit day = Asc + Sun − Moon — exact opposite operands. + let spirit_day = compute_lot(&day_chart, LotName::Spirit).unwrap(); + let expected_spirit = + (asc + sun - moon).rem_euclid(std::f64::consts::TAU); + assert!( + (spirit_day.longitude.longitude_rad() - expected_spirit).abs() < 1e-12, + "day Spirit formula Asc+Sun-Moon mismatch", + ); + + // Fortune and Spirit are symmetric around the Ascendant by + // construction: (F + S)/2 = Asc + (Moon-Sun+Sun-Moon)/2 + Asc/2 = Asc. + // Equivalently F − S = 2(Moon − Sun) (mod 2π), so F + S ≡ 2·Asc (mod 2π). + let sum = (fortune_day.longitude.longitude_rad() + spirit_day.longitude.longitude_rad()) + .rem_euclid(std::f64::consts::TAU); + let twice_asc = (2.0 * asc).rem_euclid(std::f64::consts::TAU); + let diff = (sum - twice_asc).abs(); + let diff = diff.min((std::f64::consts::TAU - diff).abs()); + assert!(diff < 1e-12, "F+S ≠ 2·Asc, diff = {}", diff); +} + +#[test] +fn all_lots_produces_seven_named_lots() { + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + let lots = all_lots(&chart).unwrap(); + assert_eq!(lots.len(), 7); + for lot in &lots { + assert!( + (0.0..std::f64::consts::TAU).contains(&lot.longitude.longitude_rad()) + ); + assert!((1..=12).contains(&lot.house_number)); + } +} + +#[test] +fn eros_depends_on_spirit() { + // Eros_day = Asc + Venus − Spirit. Validate the dependency was + // resolved recursively (not silently dropped). + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + let spirit = compute_lot(&chart, LotName::Spirit).unwrap(); + let eros = compute_lot(&chart, LotName::Eros).unwrap(); + let venus = chart.placement(Body::Venus).unwrap().longitude.longitude_rad(); + let asc = chart.ascendant().longitude_rad(); + let expected = + (asc + venus - spirit.longitude.longitude_rad()).rem_euclid(std::f64::consts::TAU); + assert!( + (eros.longitude.longitude_rad() - expected).abs() < 1e-12, + "Eros day formula did not resolve Spirit" + ); +} + +// ─── Profections ───────────────────────────────────────────────────── + +#[test] +fn annual_profection_advances_one_house_per_year_and_cycles() { + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + // Year 0 → house 1. Year 12 → house 1 again. Year 11 → house 12. + let y0 = annual_profection(&chart, 0, ProfectionHouses::WholeSign); + let y11 = annual_profection(&chart, 11, ProfectionHouses::WholeSign); + let y12 = annual_profection(&chart, 12, ProfectionHouses::WholeSign); + let y36 = annual_profection(&chart, 36, ProfectionHouses::WholeSign); + + assert_eq!(y0.profected_house, 1); + assert_eq!(y11.profected_house, 12); + assert_eq!(y12.profected_house, 1); + assert_eq!(y36.profected_house, 1); + + // House 1 sign = Asc sign with Whole-Sign. + assert_eq!(y0.profected_sign, chart.ascendant().sign()); + // House 12 sign = sign just before Asc's (counterclockwise). + let asc_idx = chart.ascendant().sign().index(); + assert_eq!( + y11.profected_sign.index(), + (asc_idx + 11) % 12 + ); +} + +#[test] +fn monthly_profection_at_month_0_matches_annual_house() { + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + let monthly = monthly_profection(&chart, 30, 0, ProfectionHouses::WholeSign); + let annual = annual_profection(&chart, 30, ProfectionHouses::WholeSign); + assert_eq!(monthly.profected_house, annual.profected_house); + assert_eq!(monthly.profected_sign, annual.profected_sign); + + // Last month (month 11) of a year lands on the sign immediately + // *before* the annual house — the monthly cycle traverses 11 + // signs forward, ending one position short of completing the full + // 12-sign loop. (The annual cycle then jumps forward by 1 to + // start year+1; the gap of 2 signs between month 11 of year N and + // month 0 of year N+1 is the classical pattern.) + let last = monthly_profection(&chart, 30, 11, ProfectionHouses::WholeSign); + let expected_house = + ((annual.profected_house as i32 - 2 + 12) % 12 + 1) as u8; + assert_eq!( + last.profected_house, expected_house, + "year house {} → month 11 should be house {}", + annual.profected_house, expected_house + ); +} + +#[test] +fn lord_of_year_uses_traditional_rulership() { + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + // Pick a year that lands the profected sign on Aquarius (Saturn + // traditionally, Uranus modern). Aquarius index = 10. We need + // (asc_idx + N) % 12 = 10 → N = (10 - asc_idx + 12) % 12. + let asc_idx = chart.ascendant().sign().index(); + let age = ((10 + 12 - asc_idx) % 12) as u32; + + let p = annual_profection(&chart, age, ProfectionHouses::WholeSign); + assert_eq!(p.profected_sign, Sign::Aquarius); + assert_eq!(p.lord_of_year, Body::Saturn); + assert_eq!(p.modern_lord_of_year, Body::Uranus); +} + +#[test] +fn rulership_tables_cover_every_sign() { + for i in 0..12 { + let s = Sign::from_index(i); + let trad = traditional_ruler(s); + let modern = modern_ruler(s); + // Both must produce a body in the canonical luminary/planet set. + let allowed = [ + Body::Sun, + Body::Moon, + Body::Mercury, + Body::Venus, + Body::Mars, + Body::Jupiter, + Body::Saturn, + Body::Uranus, + Body::Neptune, + Body::Pluto, + ]; + assert!(allowed.contains(&trad), "trad ruler of {:?} = {:?}", s, trad); + assert!(allowed.contains(&modern), "modern ruler of {:?} = {:?}", s, modern); + } +} + +#[test] +fn profection_at_present_is_consistent_with_age() { + let s = session(); + let chart = + NatalChart::compute(&fixture_a_day_birth(), &ChartConfig::default(), &s).unwrap(); + // 14 March 1987 + 39 years = 14 March 2026. + let now = Instant::from_civil_utc(2026, 3, 14, 16, 0, 0.0).unwrap(); + let p = profection_at(&chart, now, ProfectionHouses::WholeSign); + // Age ≈ 39 years → house = (39 % 12) + 1 = 4. + assert_eq!(p.annual.age_years, 39); + assert_eq!(p.annual.profected_house, 4); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/lunar_phase_and_eclipses.rs b/01_yachay/cosmos/cosmos-astrology/tests/lunar_phase_and_eclipses.rs new file mode 100644 index 0000000..8c67e9c --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/lunar_phase_and_eclipses.rs @@ -0,0 +1,132 @@ +//! Tests for lunar phases and the eclipse-on-natal helpers. +//! +//! Lunar phases use the VSOP backend (Sun + Moon longitudes are well- +//! defined analytically). Eclipses require SPK, so those tests only +//! exercise the error path; the underlying eclipse code itself is +//! already validated by `eternal-validation`. + +use cosmos_astrology::{ + classify_lunation_phase, eclipses_on_natal, next_canonical_phase, next_lunar_phase, + phase_angle_at_deg, BirthData, ChartConfig, LunarPhase, LunationPhase, NatalChart, +}; +use cosmos_sky::{EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + BirthData::new( + Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(), + Observer::from_degrees(10.4806, -66.9036, 900.0), + ) +} + +// ─── Lunar phases ───────────────────────────────────────────────────── + +#[test] +fn phase_angle_at_known_new_moon_is_near_zero() { + // New Moon on 2025-02-28 around 00:45 UTC. The phase angle in + // VSOP-only is at the ~arc-minute level, so allow ±0.5° to cover + // analytical-vs-SPK lunar differences. + let s = session(); + let t = Instant::from_civil_utc(2025, 2, 28, 0, 45, 0.0).unwrap(); + let p = phase_angle_at_deg(&s, t).unwrap(); + let dist = p.min(360.0 - p); // distance to 0/360 boundary + assert!( + dist < 1.0, + "phase angle {}° not within 1° of new moon", + p + ); +} + +#[test] +fn next_new_moon_lands_near_2025_02_28() { + // From 2025-02-15 the next new moon must be near 2025-02-28. + let s = session(); + let after = Instant::from_civil_utc(2025, 2, 15, 0, 0, 0.0).unwrap(); + let t = next_lunar_phase(&s, LunarPhase::NewMoon, after, 20.0) + .unwrap() + .expect("new moon must occur within 20 d of 2025-02-15"); + let expected = Instant::from_civil_utc(2025, 2, 28, 0, 45, 0.0).unwrap(); + let diff_hours = (t.jd_utc() - expected.jd_utc()) * 24.0; + assert!( + diff_hours.abs() < 6.0, + "new moon {} differs from expected 2025-02-28 00:45 UTC by {:.2} h", + t.to_iso8601(), + diff_hours + ); +} + +#[test] +fn next_full_moon_after_new_moon_is_about_15_days_later() { + let s = session(); + let after = Instant::from_civil_utc(2025, 2, 28, 0, 45, 0.0).unwrap(); + let full = next_lunar_phase(&s, LunarPhase::FullMoon, after, 20.0) + .unwrap() + .expect("full moon within 20 d of new moon"); + let gap_days = full.jd_utc() - after.jd_utc(); + assert!( + (13.5..16.0).contains(&gap_days), + "new→full gap {:.4} d outside [13.5, 16.0]", + gap_days + ); +} + +#[test] +fn next_canonical_phase_returns_the_nearest_phase() { + // From 2025-03-01 the next phase should be the First Quarter (around 2025-03-06). + let s = session(); + let after = Instant::from_civil_utc(2025, 3, 1, 0, 0, 0.0).unwrap(); + let (t, phase) = next_canonical_phase(&s, after, 10.0) + .unwrap() + .expect("a canonical phase must occur within 10 d"); + assert_eq!(phase, LunarPhase::FirstQuarter); + let gap = t.jd_utc() - after.jd_utc(); + assert!( + (0.0..10.0).contains(&gap), + "First Quarter gap {:.4} d outside [0, 10]", + gap + ); +} + +#[test] +fn classify_lunation_phase_covers_eight_bands() { + // Boundaries at 0°, 22.5°, 67.5°, 112.5°, 157.5°, 202.5°, 247.5°, + // 292.5°, 337.5°. + let cases = [ + (10.0_f64, LunationPhase::NewMoon), + (45.0, LunationPhase::WaxingCrescent), + (90.0, LunationPhase::FirstQuarter), + (135.0, LunationPhase::WaxingGibbous), + (180.0, LunationPhase::FullMoon), + (225.0, LunationPhase::WaningGibbous), + (270.0, LunationPhase::LastQuarter), + (315.0, LunationPhase::WaningCrescent), + ]; + for (deg, expected) in cases { + let p = classify_lunation_phase(deg.to_radians()); + assert_eq!(p, expected, "phase angle {}°", deg); + } +} + +// ─── Eclipses (error path only — full path requires SPK) ───────────── + +#[test] +fn eclipses_on_natal_returns_clear_error_without_spk() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + let after = Instant::from_civil_utc(2026, 1, 1, 0, 0, 0.0).unwrap(); + + let result = eclipses_on_natal(&chart, &s, after, 12, 3.0, None); + assert!( + result.is_err(), + "eclipses_on_natal must error without an SPK kernel" + ); + let msg = format!("{}", result.unwrap_err()); + assert!( + msg.to_lowercase().contains("spk"), + "error message should mention SPK kernel: got {:?}", + msg + ); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/natal_chart.rs b/01_yachay/cosmos/cosmos-astrology/tests/natal_chart.rs new file mode 100644 index 0000000..f1090d1 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/natal_chart.rs @@ -0,0 +1,187 @@ +//! End-to-end `NatalChart` tests. The VSOP2013 backend is used so no +//! external kernels are required. These tests assert that: +//! +//! 1. The chart pipeline produces internally consistent angles. +//! 2. House numbering is well-formed (every body lands in some 1..=12). +//! 3. Sidereal mode shifts every longitude by the same ayanamsha. +//! 4. Houses with closed-form definitions (Whole-Sign, Equal) match +//! the canonical formulas exactly. + +use cosmos_astrology::{ + Ayanamsha, BirthData, ChartConfig, HouseSystem, NatalChart, Sign, Zodiac, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn fixture_session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + // March 14, 1987, 05:22 local (Caracas, UTC−4) → 09:22 UTC. + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let caracas = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, caracas).with_name("Fixture A") +} + +#[test] +fn chart_with_defaults_yields_valid_angles_and_houses() { + let session = fixture_session(); + let birth = fixture_birth(); + let config = ChartConfig::default(); + + let chart = NatalChart::compute(&birth, &config, &session).unwrap(); + + // Angles must be normalised. + let asc = chart.ascendant().longitude_rad(); + let mc = chart.midheaven().longitude_rad(); + assert!((0.0..std::f64::consts::TAU).contains(&asc)); + assert!((0.0..std::f64::consts::TAU).contains(&mc)); + + // Descendant = Ascendant + π (mod 2π). + let desc = chart.descendant().longitude_rad(); + let diff = ((desc - asc).rem_euclid(std::f64::consts::TAU) - std::f64::consts::PI).abs(); + assert!(diff < 1e-12, "Desc should be opposite Asc, got diff {}", diff); + + // IC = MC + π. + let ic = chart.imum_coeli().longitude_rad(); + let diff = ((ic - mc).rem_euclid(std::f64::consts::TAU) - std::f64::consts::PI).abs(); + assert!(diff < 1e-12); + + // Every cusp inside [0, 2π). + for &c in &chart.houses.cusps { + assert!((0.0..std::f64::consts::TAU).contains(&c)); + } + + // Every body lands in some house 1..=12. + for placement in &chart.placements { + assert!( + (1..=12).contains(&placement.house_number), + "body {} got house {}", + placement.body.name(), + placement.house_number + ); + } +} + +#[test] +fn whole_sign_houses_match_ascendant_sign() { + let session = fixture_session(); + let birth = fixture_birth(); + let config = ChartConfig { + house_system: HouseSystem::WholeSign, + ..ChartConfig::default() + }; + + let chart = NatalChart::compute(&birth, &config, &session).unwrap(); + // First cusp = 0° of Asc's sign. + let asc_sign_index = chart.ascendant().sign().index(); + let cusp0_deg = chart.houses.cusps[0].to_degrees(); + let expected_deg = (asc_sign_index as f64) * 30.0; + let diff = (cusp0_deg - expected_deg).abs(); + assert!( + diff < 1e-9 || (diff - 360.0).abs() < 1e-9, + "Whole-Sign cusp[0] should be at 0° of Asc sign ({:?} → {}°), got {}°", + chart.ascendant().sign(), + expected_deg, + cusp0_deg + ); + + // The 12 cusps are exactly 30° apart. + for i in 0..12 { + let expected = ((asc_sign_index as i32 + i as i32) as f64) * 30.0; + let got = chart.houses.cusps[i].to_degrees(); + let diff = ((got - expected).rem_euclid(360.0)).min((expected - got).rem_euclid(360.0)); + assert!(diff < 1e-9, "cusp[{}] off by {}°", i, diff); + } +} + +#[test] +fn sidereal_mode_subtracts_a_constant_offset_from_every_body() { + let session = fixture_session(); + let birth = fixture_birth(); + + let tropical = ChartConfig { + zodiac: Zodiac::Tropical, + ..ChartConfig::default() + }; + let sidereal = ChartConfig { + zodiac: Zodiac::Sidereal(Ayanamsha::Lahiri), + ..ChartConfig::default() + }; + + let trop_chart = NatalChart::compute(&birth, &tropical, &session).unwrap(); + let sid_chart = NatalChart::compute(&birth, &sidereal, &session).unwrap(); + + let ayanamsha = sid_chart.ayanamsha_rad; + assert!(ayanamsha > 0.0, "Lahiri ayanamsha at 1987 should be positive"); + + for (trop_p, sid_p) in trop_chart.placements.iter().zip(sid_chart.placements.iter()) { + let expected_sid = (trop_p.longitude.longitude_rad() - ayanamsha) + .rem_euclid(std::f64::consts::TAU); + let got = sid_p.longitude.longitude_rad(); + let diff = (expected_sid - got).abs(); + let diff = diff.min((std::f64::consts::TAU - diff).abs()); + assert!( + diff < 1e-12, + "body {} sidereal longitude off by {} rad", + trop_p.body.name(), + diff + ); + } +} + +#[test] +fn sun_in_march_lies_in_pisces_or_aries() { + // Birth on March 14: Sun should be late Pisces (tropical) — about + // 23° Pisces. Make this a coarse smoke test so future ephemeris + // refinements don't break it. + let session = fixture_session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &session).unwrap(); + let sun = chart.placement(Body::Sun).expect("Sun should be present"); + let sign = sun.longitude.sign(); + assert!( + sign == Sign::Pisces, + "Sun on March 14 should be in Pisces, got {:?} at {}", + sign, + sun.longitude.to_chart_format() + ); +} + +#[test] +fn south_node_is_180_opposite_north_node() { + let session = fixture_session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &session).unwrap(); + + // Default config includes Mean Node + auto South Node. + let nodes: Vec<_> = chart + .placements + .iter() + .filter(|p| p.body == Body::MeanNode) + .collect(); + assert_eq!(nodes.len(), 2, "expected ascending + descending node"); + + let n = nodes[0].longitude.longitude_rad(); + let s = nodes[1].longitude.longitude_rad(); + let diff = ((s - n).rem_euclid(std::f64::consts::TAU) - std::f64::consts::PI).abs(); + assert!(diff < 1e-12, "South Node should be opposite N Node"); +} + +#[test] +fn placidus_works_at_temperate_latitude() { + let session = fixture_session(); + let birth = fixture_birth(); // Caracas at +10.5° — well outside polar circle. + let config = ChartConfig { + house_system: HouseSystem::Placidus, + ..ChartConfig::default() + }; + let chart = NatalChart::compute(&birth, &config, &session).unwrap(); + // First cusp = Ascendant. + let diff = (chart.houses.cusps[0] - chart.ascendant().longitude_rad() + - chart.ayanamsha_rad) + .abs(); + // (chart.ascendant() is sidereal-shifted iff sidereal; tropical default + // yields ayanamsha_rad = 0.) + assert!(diff < 1e-9, "Placidus cusp[0] should equal Asc"); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/primary_directions.rs b/01_yachay/cosmos/cosmos-astrology/tests/primary_directions.rs new file mode 100644 index 0000000..b346e95 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/primary_directions.rs @@ -0,0 +1,199 @@ +//! Tests for the mundane helpers and the Placidus primary-direction +//! engine. + +use cosmos_astrology::{ + all_directions, direct, directions_to_angles, mundane, BirthData, ChartConfig, + DirectionKey, DirectionMethod, NatalChart, Significator, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +#[test] +fn body_to_mc_arc_equals_negative_natal_hour_angle() { + // For any promissor, directing it to the MC should require an arc + // equal in magnitude to the natal hour angle (mod 2π), because the + // MC has m=1 → target H = 0. + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + for body in [Body::Sun, Body::Moon, Body::Mars, Body::Jupiter] { + let placement = chart.placement(body).unwrap(); + let ramc = chart.local_apparent_sidereal_time_rad; + let h_natal = + mundane::signed_hour_angle_rad(ramc, placement.right_ascension_rad); + + let dir = direct( + &chart, + body, + Significator::Midheaven, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + + // arc + h_natal ≡ 0 (mod 2π), since target H = 0. + let recovered = (dir.arc_rad + h_natal).rem_euclid(std::f64::consts::TAU); + let diff = recovered.min(std::f64::consts::TAU - recovered); + assert!( + diff < 1e-9, + "{} → MC: arc={:.6}° + H_natal={:.6}° ≠ 0 (mod 360°)", + body.name(), + dir.arc_deg(), + h_natal.to_degrees(), + ); + } +} + +#[test] +fn body_to_ic_is_body_to_mc_plus_180() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + for body in [Body::Sun, Body::Moon, Body::Saturn] { + let p = chart.placement(body).unwrap(); + let phi = chart.birth.observer.lat_rad; + let dsa = mundane::diurnal_semi_arc_rad(p.declination_rad, phi); + let nsa = mundane::nocturnal_semi_arc_rad(p.declination_rad, phi); + if dsa.is_nan() || nsa.is_nan() { + continue; + } + let to_mc = direct( + &chart, + body, + Significator::Midheaven, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + let to_ic = direct( + &chart, + body, + Significator::ImumCoeli, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + + // IC mundane = 3 (m=3, H = ±π). MC mundane = 1 (H=0). + // Target H_IC = -π + 0 · NSA_p = -π. Target H_MC = 0. + // Δarc = (target_H_IC - h_natal) − (target_H_MC - h_natal) = -π. + // After wrapping into [0, 2π), the relation is to_ic.arc - to_mc.arc ≡ π (mod 2π). + let delta = (to_ic.arc_rad - to_mc.arc_rad).rem_euclid(std::f64::consts::TAU); + let diff = (delta - std::f64::consts::PI).abs(); + assert!( + diff < 1e-9, + "{} → IC vs MC delta is {:.4}° not 180°", + body.name(), + delta.to_degrees(), + ); + } +} + +#[test] +fn naibod_key_yields_slightly_more_years_than_ptolemy() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let ptolemy = direct( + &chart, + Body::Sun, + Significator::Midheaven, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + let naibod = direct( + &chart, + Body::Sun, + Significator::Midheaven, + DirectionMethod::PlacidusMundane, + DirectionKey::Naibod, + ) + .unwrap(); + // Same arc, different key. Naibod degrees/year < 1 → years > Ptolemy's. + assert!((ptolemy.arc_rad - naibod.arc_rad).abs() < 1e-12); + assert!( + naibod.age_years > ptolemy.age_years, + "Naibod years ({}) should exceed Ptolemy years ({})", + naibod.age_years, + ptolemy.age_years, + ); + // Naibod years ≈ ptolemy * 1.0146. + let ratio = naibod.age_years / ptolemy.age_years; + assert!( + (ratio - 1.014_56).abs() < 1e-3, + "Naibod/Ptolemy ratio {} far from 1.0146", + ratio, + ); +} + +#[test] +fn directions_to_angles_returns_consistent_four_angle_set() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let arcs = directions_to_angles( + &chart, + Body::Sun, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + // All four directions live in [0, 360°). + for d in &arcs { + assert!((0.0..std::f64::consts::TAU).contains(&d.arc_rad)); + } +} + +#[test] +fn all_directions_filters_by_max_age_and_sorts() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let arcs = all_directions( + &chart, + DirectionMethod::PlacidusMundane, + DirectionKey::Naibod, + 90.0, + ); + assert!(!arcs.is_empty(), "modern chart should have many directions in 90 yr"); + for d in &arcs { + assert!( + d.age_years <= 90.0 + 1e-9, + "direction at {} yrs exceeds max", + d.age_years + ); + } + for w in arcs.windows(2) { + assert!(w[0].age_years <= w[1].age_years + 1e-12); + } +} + +#[test] +fn sun_to_self_direction_to_other_body_is_well_defined() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let d = direct( + &chart, + Body::Sun, + Significator::Body(Body::Moon), + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + // Sanity: arc in [0, 2π); age = arc/key. + assert!((0.0..std::f64::consts::TAU).contains(&d.arc_rad)); + assert!((d.age_years - d.arc_deg()).abs() < 1e-12); // Ptolemy: 1°=1yr +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/progressions_and_solar_arc.rs b/01_yachay/cosmos/cosmos-astrology/tests/progressions_and_solar_arc.rs new file mode 100644 index 0000000..961c65e --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/progressions_and_solar_arc.rs @@ -0,0 +1,208 @@ +//! Tests for secondary / tertiary / minor progressions and solar arc. +//! +//! Strategy: every progression reduces to "compute a chart at a shifted +//! instant", so we verify the math by comparing against direct chart +//! computations at the expected shifted instant. The solar-arc direction +//! is checked structurally: every body shifts by the same arc, and +//! house numbers are preserved. + +use cosmos_astrology::{ + progress, progressed_instant, secondary_progression, solar_arc_naibod, solar_arc_true, + BirthData, ChartConfig, NatalChart, ProgressedHouses, ProgressionMethod, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +#[test] +fn progressed_instant_secondary_at_age_1_is_one_day_later() { + let birth = Instant::from_civil_utc(1987, 3, 14, 9, 22, 0.0).unwrap(); + let prog = progressed_instant(birth, 1.0, ProgressionMethod::Secondary); + // Tropical year = 365.2422 days, so 1 yr of life → 1 d ephemeris. + let diff_days = prog.jd_utc() - birth.jd_utc(); + assert!((diff_days - 1.0).abs() < 1e-9); +} + +#[test] +fn progressed_instant_minor_at_age_1_is_one_sidereal_month_scaled() { + let birth = Instant::from_civil_utc(1987, 3, 14, 9, 22, 0.0).unwrap(); + let prog = progressed_instant(birth, 1.0, ProgressionMethod::Minor); + let diff_days = prog.jd_utc() - birth.jd_utc(); + // 1 year of life × (1 sidereal month / 27.3217 d × 365.2422 d/yr) ≈ 13.37 d. + let expected = 365.242_190 / 27.321_661; + assert!( + (diff_days - expected).abs() < 1e-6, + "minor progression at age 1 yields {} d, expected {}", + diff_days, + expected + ); +} + +#[test] +fn secondary_progression_at_age_30_advances_sun_about_30_degrees() { + // Real Sun moves ~0.9856°/day. After 30 days the secondary- + // progressed Sun should be ~29.5° farther along the ecliptic. + let s = session(); + let birth = fixture_birth(); + let natal = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let prog = secondary_progression(&natal, &s, 30.0).unwrap(); + + let natal_sun = natal + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_deg(); + let prog_sun = prog + .progressed() + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_deg(); + let arc = signed_delta_deg(prog_sun, natal_sun); + assert!( + (28.0..31.0).contains(&arc), + "Sun advance over 30 yrs of secondary ≈ 30°, got {:.3}°", + arc + ); +} + +#[test] +fn secondary_progression_with_natal_houses_preserves_cusps() { + let s = session(); + let birth = fixture_birth(); + let natal = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let prog = progress( + &natal, + &s, + 30.0, + ProgressionMethod::Secondary, + ProgressedHouses::Natal, + ) + .unwrap(); + for i in 0..12 { + let diff = (prog.progressed().houses.cusps[i] - natal.houses.cusps[i]).abs(); + assert!(diff < 1e-12, "cusp[{}] drift {} rad under Natal treatment", i, diff); + } +} + +#[test] +fn solar_arc_true_shifts_every_placement_by_the_same_amount() { + let s = session(); + let birth = fixture_birth(); + let natal = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let arc_chart = solar_arc_true(&natal, &s, 30.0).unwrap(); + + // Same arc applied to every body — verify by comparing the + // wrapped delta of one body against the arc. + let directed_sun = arc_chart + .directed + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_rad(); + let natal_sun = natal + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_rad(); + let sun_arc = signed_delta_rad(directed_sun, natal_sun); + assert!( + (sun_arc - arc_chart.arc_rad).abs() < 1e-12, + "Sun delta {} rad ≠ stored arc {} rad", + sun_arc, + arc_chart.arc_rad + ); + + // Same arc for Mars. + let directed_mars = arc_chart + .directed + .placement(Body::Mars) + .unwrap() + .longitude + .longitude_rad(); + let natal_mars = natal + .placement(Body::Mars) + .unwrap() + .longitude + .longitude_rad(); + let mars_arc = signed_delta_rad(directed_mars, natal_mars); + assert!( + (mars_arc - arc_chart.arc_rad).abs() < 1e-12, + "Mars delta {} rad ≠ arc {} rad", + mars_arc, + arc_chart.arc_rad + ); +} + +#[test] +fn solar_arc_preserves_natal_house_numbers() { + let s = session(); + let birth = fixture_birth(); + let natal = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let arc_chart = solar_arc_true(&natal, &s, 30.0).unwrap(); + + // Walk parallel indices — `placement(body)` returns the first + // match, which is wrong for the two MeanNode entries (ascending + + // auto-added descending). The two `placements` arrays were built + // from the same BodySet in the same order. + assert_eq!(natal.placements.len(), arc_chart.directed.placements.len()); + for (natal_p, directed_p) in natal + .placements + .iter() + .zip(arc_chart.directed.placements.iter()) + { + assert_eq!(natal_p.body, directed_p.body); + assert_eq!( + natal_p.house_number, directed_p.house_number, + "body {} (index entry) switched house under solar arc", + natal_p.body.name() + ); + } +} + +#[test] +fn solar_arc_naibod_yields_30_degree_arc_at_30_years() { + let s = session(); + let birth = fixture_birth(); + let natal = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let arc = solar_arc_naibod(&natal, 30.0); + // Naibod constant = 0°59'08.33"/yr → 30 yr ≈ 29.572°. + let arc_deg = arc.arc_deg(); + assert!( + (29.5..29.7).contains(&arc_deg), + "Naibod arc at 30 yrs should be ~29.57°, got {:.4}°", + arc_deg + ); +} + +fn signed_delta_rad(a: f64, b: f64) -> f64 { + const PI: f64 = std::f64::consts::PI; + const TAU: f64 = std::f64::consts::TAU; + let mut d = a - b; + while d > PI { + d -= TAU; + } + while d < -PI { + d += TAU; + } + d +} + +fn signed_delta_deg(a: f64, b: f64) -> f64 { + let mut d = a - b; + while d > 180.0 { + d -= 360.0; + } + while d < -180.0 { + d += 360.0; + } + d +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/regiomontanus_directions.rs b/01_yachay/cosmos/cosmos-astrology/tests/regiomontanus_directions.rs new file mode 100644 index 0000000..3cf9e1d --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/regiomontanus_directions.rs @@ -0,0 +1,180 @@ +//! Tests for the Regiomontanus primary-direction method. +//! +//! Regiomontanus mundane positions depend only on hour angle, so the +//! arc of direction reduces to a pure RA delta. We verify this against +//! the underlying placement data and contrast with Placidus to confirm +//! the methods disagree on body-to-body but **agree on directions to +//! angles** (because the angles have fixed mundane positions in both +//! frameworks). + +use cosmos_astrology::{ + direct_to_aspect, mundane, AspectKind, BirthData, ChartConfig, DirectionKey, + DirectionMethod, NatalChart, Significator, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +#[test] +fn regiomontanus_body_to_body_arc_equals_pure_ra_delta() { + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + + // Pick two bodies guaranteed to be present. + let promissor = Body::Sun; + let significator = Body::Mars; + + let dirs = direct_to_aspect( + &chart, + promissor, + Significator::Body(significator), + AspectKind::Conjunction, + DirectionMethod::Regiomontanus, + DirectionKey::Ptolemy, + ) + .unwrap(); + assert_eq!(dirs.len(), 1); + let arc = dirs[0].arc_rad; + + // Reconstruct the expected arc from raw placement RAs: + // Regiomontanus arc to body = RA_promissor − RA_significator + // (the promissor must rotate forward until it occupies the + // significator's natal hour-angle slot). + let ra_p = chart + .placement(promissor) + .unwrap() + .right_ascension_rad; + let ra_s = chart + .placement(significator) + .unwrap() + .right_ascension_rad; + let expected = (ra_p - ra_s).rem_euclid(std::f64::consts::TAU); + + let diff = (arc - expected).abs(); + let diff = diff.min((std::f64::consts::TAU - diff).abs()); + assert!( + diff < 1e-12, + "Regio Sun→Mars arc {} ≠ RA delta {} (diff {})", + arc.to_degrees(), + expected.to_degrees(), + diff.to_degrees() + ); +} + +#[test] +fn regiomontanus_and_placidus_agree_for_directions_to_mc() { + // The MC is at H=0 in both Placidus (m=1, H=0) and Regiomontanus + // (m=1, H=0). So the arc must be identical. + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + for body in [Body::Sun, Body::Mercury, Body::Mars, Body::Saturn] { + let placidus = direct_to_aspect( + &chart, + body, + Significator::Midheaven, + AspectKind::Conjunction, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let regio = direct_to_aspect( + &chart, + body, + Significator::Midheaven, + AspectKind::Conjunction, + DirectionMethod::Regiomontanus, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let diff = (placidus.arc_rad - regio.arc_rad).abs(); + assert!( + diff < 1e-12, + "{} → MC arc differs between Placidus ({}°) and Regio ({}°)", + body.name(), + placidus.arc_deg(), + regio.arc_deg() + ); + } +} + +#[test] +fn regiomontanus_and_placidus_disagree_for_body_to_body() { + // For non-zero declination bodies, the two methods should produce + // different arcs (semi-arc vs equator framework). + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + let placidus = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Saturn), + AspectKind::Conjunction, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let regio = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Saturn), + AspectKind::Conjunction, + DirectionMethod::Regiomontanus, + DirectionKey::Ptolemy, + ) + .unwrap()[0]; + let diff = (placidus.arc_rad - regio.arc_rad).abs(); + assert!( + diff > 1e-4, + "expected Placidus and Regio to differ for body-to-body, got {} (Plac {}°, Regio {}°)", + diff, + placidus.arc_deg(), + regio.arc_deg() + ); +} + +#[test] +fn regiomontanus_skips_circumpolar_check() { + // Regio works even for circumpolar declinations because the + // framework doesn't use semi-arcs. We can't actually reproduce a + // circumpolar Body at +10° latitude (Caracas), but we can verify + // the method-dispatch path runs without raising the Placidus + // error. + let s = session(); + let chart = NatalChart::compute(&fixture_birth(), &ChartConfig::default(), &s).unwrap(); + // Saturn at this birth has Dec ≈ -22°, |Dec|+|lat| ~ 32° < 90°, so + // not circumpolar — but the test is sanity-only: confirms the + // dispatch ran. + let d = direct_to_aspect( + &chart, + Body::Saturn, + Significator::Body(Body::Sun), + AspectKind::Conjunction, + DirectionMethod::Regiomontanus, + DirectionKey::Naibod, + ) + .unwrap(); + assert!(!d.is_empty()); + assert_eq!(d[0].method, DirectionMethod::Regiomontanus); +} + +#[test] +fn regiomontanus_mundane_position_helper_matches_definition() { + // The Regio mundane position is m = 1 + H × (2/π). At H=0, m=1 + // (MC). At H = ±π/2, m = 2 / 0 (Desc / Asc). Verified via the + // dispatch through DirectionMethod and a small synthetic case. + let phi = 30.0_f64.to_radians(); + let ramc = 0.0; + // Body on the meridian: RA = RAMC, so H = 0. + let ra = 0.0; + let dec = 25.0_f64.to_radians(); + let m = mundane::natal_mundane_position(ramc, ra, dec, phi); + // Placidus says m = 1 (on MC). Regiomontanus should also say 1. + assert!((m - 1.0).abs() < 1e-9, "Placidus MC m = {}", m); +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/stations_and_aspect_directions.rs b/01_yachay/cosmos/cosmos-astrology/tests/stations_and_aspect_directions.rs new file mode 100644 index 0000000..170d0b0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/stations_and_aspect_directions.rs @@ -0,0 +1,201 @@ +//! Tests for planetary stations and primary directions to non- +//! conjunction aspects. + +use cosmos_astrology::{ + all_directions, all_directions_with_aspects, all_stations, direct, direct_to_aspect, + next_station, AspectKind, BirthData, ChartConfig, DirectionKey, DirectionMethod, + NatalChart, Significator, StationKind, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_birth() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Fixture A") +} + +// ─── Stations ──────────────────────────────────────────────────────── + +#[test] +fn mercury_2025_march_retrograde_station_lands_near_2025_03_15() { + // Mercury retrograde 2025: stations Rx on 2025-03-15 around 06 UTC. + let s = session(); + let after = Instant::from_civil_utc(2025, 3, 1, 0, 0, 0.0).unwrap(); + let station = next_station(&s, Body::Mercury, after, 30.0) + .unwrap() + .expect("Mercury must station in March 2025"); + + assert_eq!(station.kind, StationKind::Retrograde); + let expected = Instant::from_civil_utc(2025, 3, 15, 6, 0, 0.0).unwrap(); + let diff_days = (station.instant.jd_utc() - expected.jd_utc()).abs(); + assert!( + diff_days < 1.0, + "Mercury Rx station {} differs from expected ~2025-03-15 06 UTC by {:.4} d", + station.instant.to_iso8601(), + diff_days, + ); +} + +#[test] +fn mercury_2025_march_retrograde_pair_inside_window() { + // The retrograde pair (Rx then Direct) should both fall inside a + // 6-week window starting 2025-03-01. + let s = session(); + let after = Instant::from_civil_utc(2025, 3, 1, 0, 0, 0.0).unwrap(); + let stations = all_stations(&s, Body::Mercury, after, 45.0).unwrap(); + assert_eq!( + stations.len(), + 2, + "expected 1 Rx + 1 Direct station, got {}", + stations.len() + ); + assert_eq!(stations[0].kind, StationKind::Retrograde); + assert_eq!(stations[1].kind, StationKind::Direct); + // The Direct station follows the Rx by ~22 days. + let gap = stations[1].instant.jd_utc() - stations[0].instant.jd_utc(); + assert!( + (15.0..30.0).contains(&gap), + "Mercury Rx → Direct gap {} d outside [15, 30]", + gap + ); +} + +#[test] +fn moon_does_not_station() { + // The Moon's longitude rate is always positive (~13°/day). A 30-day + // search should find no station. + let s = session(); + let after = Instant::from_civil_utc(2025, 1, 1, 0, 0, 0.0).unwrap(); + let s_opt = next_station(&s, Body::Moon, after, 30.0).unwrap(); + assert!(s_opt.is_none(), "Moon should never station"); +} + +// ─── Primary directions to aspects ─────────────────────────────────── + +#[test] +fn direct_conjunction_matches_legacy_direct_function() { + // direct_to_aspect(..., Conjunction) must return exactly one + // Direction equal to direct(...) for the same args. + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + let legacy = direct( + &chart, + Body::Sun, + Significator::Midheaven, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + let extended = direct_to_aspect( + &chart, + Body::Sun, + Significator::Midheaven, + AspectKind::Conjunction, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + assert_eq!(extended.len(), 1); + assert!( + (extended[0].arc_rad - legacy.arc_rad).abs() < 1e-12, + "Conjunction arc differs between direct() and direct_to_aspect()" + ); + assert_eq!(extended[0].aspect, AspectKind::Conjunction); +} + +#[test] +fn trine_yields_two_branches_with_distinct_arcs() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let trines = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Moon), + AspectKind::Trine, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + assert_eq!(trines.len(), 2, "Trine should yield ±120° branches"); + assert_eq!(trines[0].aspect, AspectKind::Trine); + assert_eq!(trines[1].aspect, AspectKind::Trine); + let arc0 = trines[0].arc_deg(); + let arc1 = trines[1].arc_deg(); + assert!( + (arc0 - arc1).abs() > 1.0, + "two trine branches should produce distinct arcs (got {:.4}° and {:.4}°)", + arc0, + arc1 + ); +} + +#[test] +fn opposition_yields_single_branch() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let opp = direct_to_aspect( + &chart, + Body::Sun, + Significator::Body(Body::Mars), + AspectKind::Opposition, + DirectionMethod::PlacidusMundane, + DirectionKey::Ptolemy, + ) + .unwrap(); + assert_eq!(opp.len(), 1, "Opposition is symmetric, one branch"); + assert_eq!(opp[0].aspect, AspectKind::Opposition); +} + +#[test] +fn all_directions_remains_conjunction_only_for_back_compat() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let all = all_directions( + &chart, + DirectionMethod::PlacidusMundane, + DirectionKey::Naibod, + 90.0, + ); + for d in &all { + assert_eq!(d.aspect, AspectKind::Conjunction); + } +} + +#[test] +fn all_directions_with_aspects_includes_trines_and_squares() { + let s = session(); + let birth = fixture_birth(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let all = all_directions_with_aspects( + &chart, + DirectionMethod::PlacidusMundane, + DirectionKey::Naibod, + AspectKind::MAJORS, + 90.0, + ); + let kinds: std::collections::HashSet<_> = all.iter().map(|d| d.aspect).collect(); + for k in AspectKind::MAJORS { + // For a chart spanning many bodies + 4 angles, all major + // aspects should perfect at some age in [0, 90]. + assert!( + kinds.contains(k), + "no direction found for {:?}", + k + ); + } + for d in &all { + assert!(d.age_years <= 90.0 + 1e-9); + } + for w in all.windows(2) { + assert!(w[0].age_years <= w[1].age_years + 1e-12); + } +} diff --git a/01_yachay/cosmos/cosmos-astrology/tests/transits_and_synastry.rs b/01_yachay/cosmos/cosmos-astrology/tests/transits_and_synastry.rs new file mode 100644 index 0000000..fd19bbc --- /dev/null +++ b/01_yachay/cosmos/cosmos-astrology/tests/transits_and_synastry.rs @@ -0,0 +1,234 @@ +//! Tests for the transit engine and the synastry aspect grid. + +use cosmos_astrology::{ + aspect::AspectKind, default_natal_targets, find_current_transits, + find_next_exact_transit, find_synastry_aspects, BirthData, ChartConfig, NatalChart, + OrbTable, Significator, +}; +use cosmos_sky::{Body, EphemerisSession, Instant, Observer, SessionConfig}; + +fn session() -> EphemerisSession { + EphemerisSession::open(SessionConfig::vsop2013()).unwrap() +} + +fn fixture_a() -> BirthData { + let instant = Instant::from_civil_local(1987, 3, 14, 5, 22, 0.0, -240).unwrap(); + let observer = Observer::from_degrees(10.4806, -66.9036, 900.0); + BirthData::new(instant, observer).with_name("Subject A") +} + +fn fixture_b() -> BirthData { + let instant = Instant::from_civil_local(1990, 7, 22, 14, 17, 0.0, 60).unwrap(); + let observer = Observer::from_degrees(40.4168, -3.7038, 650.0); // Madrid + BirthData::new(instant, observer).with_name("Subject B") +} + +// ─── Transits ───────────────────────────────────────────────────────── + +#[test] +fn self_transit_at_natal_moment_produces_exact_self_aspects() { + // At the natal moment, every planet transits its own natal position + // with orb 0° (conjunction). This is the trivial sanity case for + // the transit engine: feed the chart's own instant in. + let s = session(); + let birth = fixture_a(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + let targets = default_natal_targets(&chart); + let transits = find_current_transits( + &chart, + &s, + chart.birth.instant, + &[Body::Sun, Body::Moon, Body::Mars], + &targets, + &OrbTable::modern_western(), + &[AspectKind::Conjunction], + ) + .unwrap(); + + // Each of the three transiting bodies should have a near-zero-orb + // conjunction with its own natal point. + for body in [Body::Sun, Body::Moon, Body::Mars] { + let self_aspect = transits.iter().find(|t| { + t.transiting == body && matches!(t.natal_target, Significator::Body(b) if b == body) + }); + let asp = self_aspect.unwrap_or_else(|| { + panic!("expected {} to transit its own natal position", body.name()) + }); + assert!( + asp.orb_abs_deg() < 1e-6, + "self-transit orb for {} = {} ° (expected ~0)", + body.name(), + asp.orb_abs_deg(), + ); + } +} + +#[test] +fn transits_are_sorted_and_within_orb() { + let s = session(); + let birth = fixture_a(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + + let targets = default_natal_targets(&chart); + let now = Instant::from_civil_utc(2026, 5, 15, 0, 0, 0.0).unwrap(); + let transits = find_current_transits( + &chart, + &s, + now, + &[Body::Mars, Body::Saturn, Body::Jupiter], + &targets, + &OrbTable::modern_western(), + AspectKind::MAJORS, + ) + .unwrap(); + + for t in &transits { + assert!( + t.orb_abs_deg() <= t.allowed_orb_deg + 1e-9, + "transit out of orb" + ); + } + for w in transits.windows(2) { + assert!(w[0].orb_abs_deg() <= w[1].orb_abs_deg() + 1e-12); + } +} + +#[test] +fn next_exact_sun_conjunction_returns_within_a_year() { + // Transiting Sun conjunct natal Sun must perfect within ~365 d of + // any starting instant (it's the literal definition of the solar + // year — same as a solar return). + let s = session(); + let birth = fixture_a(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let natal_sun = chart + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_rad(); + let after = Instant::from_civil_utc(2025, 6, 1, 0, 0, 0.0).unwrap(); + let exact = find_next_exact_transit( + &s, + Body::Sun, + natal_sun, + AspectKind::Conjunction, + after, + 400.0, + ) + .unwrap() + .expect("Sun should reach natal longitude within 400 days"); + + let days = exact.jd_utc() - after.jd_utc(); + assert!( + (0.0..380.0).contains(&days), + "expected gap in [0, 380] d, got {:.4}", + days + ); +} + +#[test] +fn next_exact_moon_trine_resolves_within_a_month() { + let s = session(); + let birth = fixture_a(); + let chart = NatalChart::compute(&birth, &ChartConfig::default(), &s).unwrap(); + let natal_sun = chart + .placement(Body::Sun) + .unwrap() + .longitude + .longitude_rad(); + let after = Instant::from_civil_utc(2025, 6, 1, 0, 0, 0.0).unwrap(); + let exact = find_next_exact_transit( + &s, + Body::Moon, + natal_sun, + AspectKind::Trine, + after, + 35.0, + ) + .unwrap(); + assert!( + exact.is_some(), + "Moon must form a trine to natal Sun within 35 days of any instant" + ); +} + +// ─── Synastry ───────────────────────────────────────────────────────── + +#[test] +fn synastry_finds_aspects_between_two_real_charts() { + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + + let asps = find_synastry_aspects( + &chart_a, + &chart_b, + &OrbTable::modern_western(), + AspectKind::ALL, + ); + assert!(!asps.is_empty(), "two real charts should share aspects"); + for a in &asps { + assert!(a.orb_abs_deg() <= a.allowed_orb_deg + 1e-9); + } + for w in asps.windows(2) { + assert!(w[0].orb_abs_deg() <= w[1].orb_abs_deg() + 1e-12); + } +} + +#[test] +fn synastry_is_symmetric_under_chart_swap() { + // find_synastry_aspects(A, B) and find_synastry_aspects(B, A) must + // produce the same set of aspects up to (person_a ↔ person_b) swap. + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let chart_b = NatalChart::compute(&fixture_b(), &ChartConfig::default(), &s).unwrap(); + + let ab = find_synastry_aspects( + &chart_a, + &chart_b, + &OrbTable::modern_western(), + AspectKind::MAJORS, + ); + let ba = find_synastry_aspects( + &chart_b, + &chart_a, + &OrbTable::modern_western(), + AspectKind::MAJORS, + ); + + assert_eq!(ab.len(), ba.len()); + for (x, y) in ab.iter().zip(ba.iter()) { + assert_eq!(x.kind, y.kind); + assert_eq!(x.person_a_body, y.person_b_body); + assert_eq!(x.person_b_body, y.person_a_body); + // Signed orbs: when computed as |sep|−exact they are equal, + // because |sep| is symmetric in (a, b). + assert!((x.orb_abs_deg() - y.orb_abs_deg()).abs() < 1e-9); + } +} + +#[test] +fn synastry_self_self_yields_exact_self_conjunctions() { + // Synastry of a chart against itself contains exact self- + // conjunctions for every body — useful sanity check. + let s = session(); + let chart_a = NatalChart::compute(&fixture_a(), &ChartConfig::default(), &s).unwrap(); + let asps = find_synastry_aspects( + &chart_a, + &chart_a, + &OrbTable::modern_western(), + &[AspectKind::Conjunction], + ); + + for body in [Body::Sun, Body::Moon, Body::Mars] { + let self_aspect = asps.iter().find(|a| { + a.person_a_body == body + && a.person_b_body == body + && a.kind == AspectKind::Conjunction + }); + let asp = self_aspect + .unwrap_or_else(|| panic!("missing self-conjunction for {}", body.name())); + assert!(asp.orb_abs_deg() < 1e-9); + } +} diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/Cargo.toml b/01_yachay/cosmos/cosmos-canvas-llimphi/Cargo.toml new file mode 100644 index 0000000..8fd5a1a --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "cosmos-canvas-llimphi" +version.workspace = true +edition.workspace = true +license.workspace = true +authors.workspace = true +publish.workspace = true +description = "cosmos-canvas-llimphi — backend Llimphi del lienzo astrológico. Toma la lista de `DrawCommand` agnóstica de `cosmos-render::compose_wheel` y la traduce a primitivas vello (Circle/Line/Polygon) + texto vía llimphi-text, dentro del rect del nodo." + +[dependencies] +cosmos-render = { path = "../cosmos-render" } +llimphi-ui = { workspace = true } + +[dev-dependencies] +pineal-render = { workspace = true } + +[[example]] +name = "dense_starfield" +path = "examples/dense_starfield.rs" diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/LEEME.md b/01_yachay/cosmos/cosmos-canvas-llimphi/LEEME.md new file mode 100644 index 0000000..f4c2168 --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/LEEME.md @@ -0,0 +1,10 @@ +# cosmos-canvas-llimphi + +> Backend Llimphi (vello) para [cosmos](../README.md). + +Convierte los `Vec` de [`cosmos-render`](../cosmos-render/README.md) en operaciones `vello::Scene` adentro de un `View::paint_with(...)` Llimphi. Pan + zoom + rotación. Tracking del cursor sobre el cielo → tooltip con info del objeto bajo el puntero. + +## Deps + +- [`cosmos-render`](../cosmos-render/README.md) +- [`llimphi-ui`](../../../02_ruway/llimphi/) (vello) diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/README.md b/01_yachay/cosmos/cosmos-canvas-llimphi/README.md new file mode 100644 index 0000000..dd20ddc --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/README.md @@ -0,0 +1,10 @@ +# cosmos-canvas-llimphi + +> Llimphi (vello) backend for [cosmos](../README.md). + +Converts `Vec` from [`cosmos-render`](../cosmos-render/README.md) into `vello::Scene` operations inside a Llimphi `View::paint_with(...)`. Pan + zoom + rotation. Cursor tracking over the sky → tooltip with info on the object under the pointer. + +## Deps + +- [`cosmos-render`](../cosmos-render/README.md) +- [`llimphi-ui`](../../../02_ruway/llimphi/) (vello) diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/examples/dense_starfield.rs b/01_yachay/cosmos/cosmos-canvas-llimphi/examples/dense_starfield.rs new file mode 100644 index 0000000..ec49de5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/examples/dense_starfield.rs @@ -0,0 +1,211 @@ +//! Caller real de Fase 5 del SDD `02_ruway/llimphi/SDD.md` +//! §"GPU directo wgpu" — un starfield denso (N estrellas sintéticas +//! distribuidas en una esfera celeste con concentración en el plano +//! galáctico) renderizado en una sola draw call con `gpu_paint_with`. +//! +//! No es producción: las estrellas son sintéticas (no HYG, no Gaia DR3). +//! Lo que valida es la cadena completa: +//! +//! cosmos-canvas-llimphi +//! → pineal-render::GpuSceneCanvas (Canvas trait) +//! → llimphi-raster::GpuBatch (rects/lines/tris) +//! → llimphi-ui::View::gpu_paint_with (encoder + view) +//! → wgpu (draw call instanciada) +//! +//! El painter es agnóstico — habla contra `pineal_render::Canvas` con +//! `fill_rect` por estrella, y elegir GPU vs vello es decisión de la +//! app al enchufar `gpu_paint_with` vs `paint_with`. Cambio el N con +//! teclas: + sube, - baja. +//! +//! Corre con: `cargo run -p cosmos-canvas-llimphi --example dense_starfield --release`. + +use std::sync::{Arc, OnceLock}; + +use llimphi_ui::llimphi_hal::wgpu; +use llimphi_ui::llimphi_layout::taffy::prelude::{percent, Size, Style}; +use llimphi_ui::llimphi_raster::peniko::Color as PenikoColor; +use llimphi_ui::llimphi_raster::{GpuBatch, GpuPipelines}; +use llimphi_ui::{App, Handle, Key, KeyEvent, KeyState, NamedKey, PaintRect, View}; +use pineal_render::{Canvas, Color, GpuSceneCanvas, Rect}; + +/// Conteo inicial. Las teclas + / - lo doblan/parten dentro de +/// [10K, 4M] — útil para ver dónde empieza a caerse el frame rate +/// en GPU real. +const START_N: u32 = 250_000; + +#[derive(Clone)] +enum Msg { + Multiply(f32), +} + +struct DenseStarfield; + +impl App for DenseStarfield { + type Model = u32; + type Msg = Msg; + + fn title() -> &'static str { + "cosmos · dense_starfield (GPU directo)" + } + + fn init(_: &Handle) -> Self::Model { + START_N + } + + fn update(model: Self::Model, msg: Self::Msg, _: &Handle) -> Self::Model { + match msg { + Msg::Multiply(f) => { + let next = (model as f32 * f).round() as u32; + next.clamp(10_000, 4_000_000) + } + } + } + + fn on_key(_model: &Self::Model, ev: &KeyEvent) -> Option { + if !matches!(ev.state, KeyState::Pressed) { + return None; + } + match &ev.key { + Key::Character(c) if c.as_str() == "+" || c.as_str() == "=" => { + Some(Msg::Multiply(2.0)) + } + Key::Character(c) if c.as_str() == "-" => Some(Msg::Multiply(0.5)), + Key::Named(NamedKey::Space) => Some(Msg::Multiply(1.0)), // re-roll seed + _ => None, + } + } + + fn view(model: &Self::Model) -> View { + let n = *model; + View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + ..Default::default() + }) + .fill(PenikoColor::from_rgba8(6, 8, 16, 255)) + // Texto informativo lo dibuja vello (paint_with) PRIMERO; el + // starfield denso queda encima vía gpu_paint_with. No hay + // texto en el GPU directo por diseño. + .paint_with(move |scene, ts, rect: PaintRect| { + use llimphi_ui::llimphi_text::{ + draw_layout, layout_block, Alignment, TextBlock, + }; + let block = TextBlock { + text: &format!( + "{n} estrellas · GpuSceneCanvas + GpuBatch · ±/= para escalar" + ), + size_px: 16.0, + color: PenikoColor::from_rgba8(200, 215, 240, 220), + origin: (rect.x as f64 + 16.0, rect.y as f64 + 14.0), + max_width: Some(rect.w - 32.0), + alignment: Alignment::Start, + line_height: 1.2, + italic: false, + font_family: None, + }; + let layout = layout_block(ts, &block); + draw_layout(scene, &layout, block.color, block.origin); + }) + .gpu_paint_with(move |device, queue, encoder, view, rect, _viewport| { + let pipelines = pipelines_for(device); + let mut batch = GpuBatch::new(&pipelines); + { + let mut canvas = GpuSceneCanvas::new(&mut batch); + paint_starfield(&mut canvas, rect, n); + } + batch.flush( + device, + queue, + encoder, + view, + (rect.w, rect.h), + wgpu::LoadOp::Load, + ); + }) + } +} + +fn pipelines_for(device: &wgpu::Device) -> Arc { + // Una sola GpuPipelines viva por proceso. El swap format del + // intermediate de llimphi-hal es Rgba8Unorm — el `view` que recibimos + // en gpu_paint_with es esa textura. + static SLOT: OnceLock> = OnceLock::new(); + SLOT.get_or_init(|| { + Arc::new(GpuPipelines::new(device, wgpu::TextureFormat::Rgba8Unorm)) + }) + .clone() +} + +fn paint_starfield(canvas: &mut C, rect: PaintRect, n: u32) { + // Distribución sintética estilo "esfera celeste vista de frente": + // densidad ~uniforme en la franja central + cresta diagonal que + // simula el plano galáctico. Determinista (LCG con seed fijo) para + // que el resultado sea reproducible entre frames y entre apps. + let mut state: u32 = 0xCAFEBABEu32; + let lcg = |s: &mut u32| -> f32 { + *s = s.wrapping_mul(1_664_525).wrapping_add(1_013_904_223); + (*s & 0x00FF_FFFF) as f32 / 16_777_215.0 + }; + + let cx = rect.x + rect.w * 0.5; + let cy = rect.y + rect.h * 0.5; + // Cresta galáctica: una franja inclinada con peso gaussiano. + let galactic_angle: f32 = 0.42; // rad + let (sa, ca) = galactic_angle.sin_cos(); + + let radius = (rect.w.min(rect.h)) * 0.49; + + for _ in 0..n { + // 30% va a la cresta, 70% al campo difuso. + let in_galaxy = lcg(&mut state) < 0.30; + let (px, py, brightness) = if in_galaxy { + // Coordenadas locales (u along, v across) gauss. + let u = lcg(&mut state) - 0.5; + let v_u1 = lcg(&mut state) - 0.5; + let v_u2 = lcg(&mut state) - 0.5; + let v = (v_u1 + v_u2) * 0.08; // ~gauss strict thin + // Rotar (u, v) → (x, y) por galactic_angle. + let lx = u * 2.0 * radius; + let ly = v * 2.0 * radius; + let x = cx + ca * lx - sa * ly; + let y = cy + sa * lx + ca * ly; + // Brillo mayor cerca del centro galáctico (u ~ 0). + let b = 0.4 + (1.0 - u.abs() * 2.0).max(0.0) * 0.6; + (x, y, b) + } else { + // Disco circular relleno. + let r2 = lcg(&mut state); + let theta = lcg(&mut state) * std::f32::consts::TAU; + let r = radius * r2.sqrt(); + let x = cx + theta.cos() * r; + let y = cy + theta.sin() * r; + let b = (1.0 - lcg(&mut state).powi(3)).clamp(0.15, 1.0); + (x, y, b) + }; + + // Pequeñas variaciones de color: blanco-azulado a amarillo. + let t = lcg(&mut state); + let r_col = 0.85 + 0.15 * t; + let g_col = 0.88 + 0.10 * (1.0 - t); + let b_col = 0.95 + 0.05 * (1.0 - t); + let alpha = brightness * 0.85; + + // Pintar como cuadrado 1.2px — el SDD §"GPU directo" usa + // exactamente este tamaño para starfield denso. El GpuBatch + // emite un rect instanciado por estrella. + let size = 1.2 + brightness * 0.6; + let r = Rect { + x: px - size * 0.5, + y: py - size * 0.5, + w: size, + h: size, + }; + canvas.fill_rect(r, Color::rgba(r_col, g_col, b_col, alpha)); + } +} + +fn main() { + llimphi_ui::run::(); +} diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/src/lib.rs b/01_yachay/cosmos/cosmos-canvas-llimphi/src/lib.rs new file mode 100644 index 0000000..dddf29d --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/src/lib.rs @@ -0,0 +1,356 @@ +//! `cosmos-canvas-llimphi` — backend Llimphi del lienzo astrológico. +//! +//! Toma la lista de [`DrawCommand`] agnóstica que produce +//! `cosmos-render::compose_wheel` y la pinta con vello. Sin estado +//! entre frames — el host reconstruye el View con la lista de +//! comandos del frame actual; idéntico contrato que +//! `dominium-canvas-llimphi`. +//! +//! La lista de `DrawCommand` está en coordenadas locales del wheel +//! (centrada en `(size/2, size/2)` con `size = opts.size`). Acá +//! traducimos a coordenadas absolutas del rect del nodo, centrando +//! el wheel y aplicando un aspect-fit si el rect no es cuadrado +//! (se usa el lado menor + offset). Tipografía vía llimphi-text con +//! el Typesetter cacheado del runtime — los glyphs simbólicos +//! (`"sun"`, `"aries"`, etc.) los rendereamos como letras unicode +//! astronómicas estándar (☉ ☽ ♈…) si están en el font del sistema; +//! sino caen al texto del campo `symbol` que viene en `Glyph`. + +#![forbid(unsafe_code)] + +use cosmos_render::{DrawCommand, TextAnchor}; +use llimphi_ui::llimphi_layout::taffy::prelude::{percent, Size, Style}; +use llimphi_ui::llimphi_raster::kurbo::{Affine, BezPath, Circle as KurboCircle, Stroke}; +use llimphi_ui::llimphi_raster::peniko::{Color, Fill}; +use llimphi_ui::llimphi_text::{layout_block, Alignment, TextBlock, Typesetter}; +use llimphi_ui::{PaintRect, View}; + +/// Zoom + paneo aplicados sobre el aspect-fit base del canvas. `zoom` +/// multiplica la escala; `pan` desplaza el origen en píxeles de pantalla. +/// `Default` (zoom 1, pan 0) = aspect-fit centrado puro. +#[derive(Debug, Clone, Copy)] +pub struct ViewTransform { + pub zoom: f32, + pub pan: (f32, f32), +} + +impl Default for ViewTransform { + fn default() -> Self { + Self { + zoom: 1.0, + pan: (0.0, 0.0), + } + } +} + +/// Escala y offset (en coords de pantalla) para un rect dado y transform. +fn fit(rect_w: f32, rect_h: f32, wheel_size: f32, t: ViewTransform) -> (f64, f64, f64) { + let scale = (rect_w.min(rect_h) / wheel_size) as f64 * t.zoom.max(0.01) as f64; + let disp = wheel_size as f64 * scale; + let off_x = (rect_w as f64 - disp) * 0.5 + t.pan.0 as f64; + let off_y = (rect_h as f64 - disp) * 0.5 + t.pan.1 as f64; + (scale, off_x, off_y) +} + +/// Construye un View que pinta `commands` centrados en su rect. +/// +/// `wheel_size` debe coincidir con `CompositionOpts::size` que se +/// pasó a `compose_wheel` — define el cuadrado lógico donde viven los +/// comandos. El canvas aplica un aspect-fit centrado al rect que le +/// asignó taffy. +pub fn canvas_view( + commands: Vec, + wheel_size: f32, + background: Option, +) -> View +where + Msg: Clone + 'static, +{ + canvas_view_ex(commands, wheel_size, background, ViewTransform::default()) +} + +/// Como [`canvas_view`] pero con zoom + paneo. +pub fn canvas_view_ex( + commands: Vec, + wheel_size: f32, + background: Option, + t: ViewTransform, +) -> View +where + Msg: Clone + 'static, +{ + let view = View::new(Style { + size: Size { + width: percent(1.0_f32), + height: percent(1.0_f32), + }, + ..Default::default() + }); + let view = if let Some(bg) = background { + view.fill(bg) + } else { + view + }; + view.paint_with(move |scene, ts, rect: PaintRect| { + if commands.is_empty() || wheel_size <= 0.0 { + return; + } + // Aspect-fit centrado + zoom/pan del usuario. + let (scale, off_local_x, off_local_y) = fit(rect.w, rect.h, wheel_size, t); + let off_x = rect.x as f64 + off_local_x; + let off_y = rect.y as f64 + off_local_y; + // El transform global aplica a las primitivas geométricas; el + // texto lo posicionamos absoluto (parley no compone bien con + // transforms para sizing/alignment). + let xform = Affine::translate((off_x, off_y)) * Affine::scale(scale); + + for cmd in &commands { + paint_command(scene, ts, cmd, xform, off_x, off_y, scale); + } + }) +} + +/// Variante de [`canvas_view`] que dispara `on_click` cuando el +/// usuario hace click dentro del canvas. El handler recibe las +/// coordenadas del click **ya convertidas a coords del wheel** (mismo +/// espacio en el que se emitieron los `DrawCommand`s), y devuelve +/// `Option`. Pensado para hit-testear contra [`WheelHits`]. +pub fn canvas_view_clickable( + commands: Vec, + wheel_size: f32, + background: Option, + on_click: F, +) -> View +where + Msg: Clone + Send + Sync + 'static, + F: Fn(f32, f32) -> Option + Send + Sync + 'static, +{ + canvas_view_clickable_ex( + commands, + wheel_size, + background, + ViewTransform::default(), + on_click, + ) +} + +/// Como [`canvas_view_clickable`] pero con zoom + paneo; el hit-test +/// invierte el mismo transform para que el click siga cayendo sobre el +/// glyph correcto a cualquier zoom/pan. +pub fn canvas_view_clickable_ex( + commands: Vec, + wheel_size: f32, + background: Option, + t: ViewTransform, + on_click: F, +) -> View +where + Msg: Clone + Send + Sync + 'static, + F: Fn(f32, f32) -> Option + Send + Sync + 'static, +{ + let view = canvas_view_ex::(commands, wheel_size, background, t); + view.on_click_at(move |local_x, local_y, rect_w, rect_h| { + if wheel_size <= 0.0 { + return None; + } + // Invertir el aspect-fit + zoom/pan que aplica `paint_with`. + let (scale, off_x, off_y) = fit(rect_w, rect_h, wheel_size, t); + let wheel_x = (local_x as f64 - off_x) / scale; + let wheel_y = (local_y as f64 - off_y) / scale; + on_click(wheel_x as f32, wheel_y as f32) + }) +} + +fn paint_command( + scene: &mut llimphi_ui::llimphi_raster::vello::Scene, + ts: &mut Typesetter, + cmd: &DrawCommand, + xform: Affine, + off_x: f64, + off_y: f64, + scale: f64, +) { + match cmd { + DrawCommand::Circle { cx, cy, r, stroke, fill, stroke_w } => { + let c = KurboCircle::new((*cx as f64, *cy as f64), *r as f64); + if let Some(f) = fill { + scene.fill(Fill::NonZero, xform, rgba_to_color(*f), None, &c); + } + if let Some(s) = stroke { + scene.stroke( + &Stroke::new(*stroke_w as f64), + xform, + rgba_to_color(*s), + None, + &c, + ); + } + } + DrawCommand::Line { x1, y1, x2, y2, color, width, dash } => { + let mut path = BezPath::new(); + path.move_to((*x1 as f64, *y1 as f64)); + path.line_to((*x2 as f64, *y2 as f64)); + let mut stroke = Stroke::new(*width as f64); + if let Some((on, off)) = dash { + stroke = stroke.with_dashes(0.0, [*on as f64, *off as f64]); + } + scene.stroke(&stroke, xform, rgba_to_color(*color), None, &path); + } + DrawCommand::Polygon { points, fill, stroke, stroke_w } => { + if points.is_empty() { + return; + } + let mut path = BezPath::new(); + let (x0, y0) = points[0]; + path.move_to((x0 as f64, y0 as f64)); + for (x, y) in &points[1..] { + path.line_to((*x as f64, *y as f64)); + } + path.close_path(); + if let Some(f) = fill { + scene.fill(Fill::NonZero, xform, rgba_to_color(*f), None, &path); + } + if let Some(s) = stroke { + scene.stroke( + &Stroke::new(*stroke_w as f64), + xform, + rgba_to_color(*s), + None, + &path, + ); + } + } + DrawCommand::Path { d, stroke, fill, stroke_w } => { + // kurbo parsea sintaxis SVG (M/L/C/Q/A/Z) — los glyphs + // astrológicos vienen de `cosmos_render::glyphs` como + // strings agnósticas para que el surface no se ate a + // ninguna fuente. + let Ok(path) = BezPath::from_svg(d) else { + eprintln!("cosmos-canvas: path SVG inválido: {d}"); + return; + }; + if let Some(f) = fill { + scene.fill(Fill::NonZero, xform, rgba_to_color(*f), None, &path); + } + if let Some(s) = stroke { + scene.stroke( + &Stroke::new(*stroke_w as f64), + xform, + rgba_to_color(*s), + None, + &path, + ); + } + } + DrawCommand::Text { x, y, content, color, size, anchor } => { + paint_text(scene, ts, x, y, content, color, size, anchor, off_x, off_y, scale); + } + DrawCommand::RadialGradient { cx, cy, r, inner, outer } => { + use llimphi_ui::llimphi_raster::peniko::Gradient; + let center = llimphi_ui::llimphi_raster::kurbo::Point::new(*cx as f64, *cy as f64); + let grad = Gradient::new_radial(center, *r) + .with_stops([rgba_to_color(*inner), rgba_to_color(*outer)].as_slice()); + let circle = KurboCircle::new((*cx as f64, *cy as f64), *r as f64); + scene.fill(Fill::NonZero, xform, &grad, None, &circle); + } + } +} + +#[allow(clippy::too_many_arguments)] +fn paint_text( + scene: &mut llimphi_ui::llimphi_raster::vello::Scene, + ts: &mut Typesetter, + x: &f32, + y: &f32, + content: &str, + color: &cosmos_render::Rgba, + size: &f32, + anchor: &TextAnchor, + off_x: f64, + off_y: f64, + scale: f64, +) { + let translated = pretty_symbol(content); + // Coordenadas absolutas del anchor. + let ax = off_x + *x as f64 * scale; + let ay = off_y + *y as f64 * scale; + let size_px = *size * scale as f32; + let align = match anchor { + TextAnchor::Start => Alignment::Start, + TextAnchor::Middle => Alignment::Center, + TextAnchor::End => Alignment::End, + }; + let color = rgba_to_color(*color); + // Para centrar verticalmente alrededor de (ax, ay) medimos primero. + // Anchor horizontal lo resuelve parley vía `max_width + alignment` + // si le damos un max_width simétrico al anchor. + let approx_w = size_px as f64 * translated.chars().count() as f64; + let (origin_x, max_w) = match anchor { + TextAnchor::Start => (ax, None), + TextAnchor::Middle => (ax - approx_w, Some(approx_w as f32 * 2.0)), + TextAnchor::End => (ax - approx_w, Some(approx_w as f32)), + }; + let block = TextBlock { + text: &translated, + size_px, + color, + origin: (origin_x, ay - size_px as f64 * 0.5), + max_width: max_w, + alignment: align, + line_height: 1.0, + italic: false, + font_family: None, + }; + let layout = layout_block(ts, &block); + llimphi_ui::llimphi_text::draw_layout(scene, &layout, color, block.origin); +} + +fn rgba_to_color(c: cosmos_render::Rgba) -> Color { + let to_byte = |x: f32| (x.clamp(0.0, 1.0) * 255.0).round() as u8; + Color::from_rgba8(to_byte(c.r), to_byte(c.g), to_byte(c.b), to_byte(c.a)) +} + +/// Traduce un identificador simbólico de cosmos-render +/// (`"sun"`, `"aries"`, `"asc"`, etc.) a un glyph unicode astrológico. +/// Si no hay traducción registrada, devuelve el string original — el +/// caller puede pasar texto ya formateado (coord labels) sin que +/// rompa. +fn pretty_symbol(s: &str) -> String { + match s { + // Cuerpos clásicos. + "sun" => "☉".into(), + "moon" => "☽".into(), + "mercury" => "☿".into(), + "venus" => "♀".into(), + "mars" => "♂".into(), + "jupiter" => "♃".into(), + "saturn" => "♄".into(), + "uranus" => "♅".into(), + "neptune" => "♆".into(), + "pluto" => "♇".into(), + "earth" => "⊕".into(), + // Puntos del chart. + "asc" => "Asc".into(), + "desc" => "Desc".into(), + "mc" => "MC".into(), + "ic" => "IC".into(), + "north_node" | "ascending_node" => "☊".into(), + "south_node" | "descending_node" => "☋".into(), + "lilith" => "⚸".into(), + "chiron" => "⚷".into(), + // Signos zodiacales. + "aries" => "♈".into(), + "taurus" => "♉".into(), + "gemini" => "♊".into(), + "cancer" => "♋".into(), + "leo" => "♌".into(), + "virgo" => "♍".into(), + "libra" => "♎".into(), + "scorpio" => "♏".into(), + "sagittarius" => "♐".into(), + "capricorn" => "♑".into(), + "aquarius" => "♒".into(), + "pisces" => "♓".into(), + other => other.to_string(), + } +} diff --git a/01_yachay/cosmos/cosmos-canvas-llimphi/tests/glyphs_parse_with_kurbo.rs b/01_yachay/cosmos/cosmos-canvas-llimphi/tests/glyphs_parse_with_kurbo.rs new file mode 100644 index 0000000..6389ec2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-canvas-llimphi/tests/glyphs_parse_with_kurbo.rs @@ -0,0 +1,46 @@ +//! Regresión: cada path SVG emitido por `cosmos_render::glyphs` debe +//! parsear con `kurbo::BezPath::from_svg`. Si no, el canvas Llimphi +//! silenciosamente se saltea el comando (eprintln + return) y el +//! glyph aparece roto en el wheel — exactamente el bug que motivó +//! pasarse a geometría vectorial. + +use cosmos_render::draw::{DrawCommand, Rgba}; +use cosmos_render::glyphs::{planet_commands, retrograde_marker, sign_commands}; +use llimphi_ui::llimphi_raster::kurbo::BezPath; + +#[test] +fn todos_los_glyphs_parsean_con_kurbo() { + let color = Rgba::opaque(1.0, 1.0, 1.0); + let planets = [ + "sun", "moon", "mercury", "venus", "mars", "jupiter", "saturn", "uranus", "neptune", + "pluto", "north_node", "south_node", "chiron", "lilith", + ]; + let signs = [ + "aries", "taurus", "gemini", "cancer", "leo", "virgo", "libra", "scorpio", "sagittarius", + "capricorn", "aquarius", "pisces", + ]; + + let mut fallas = Vec::new(); + let mut check = |cmds: Vec, label: &str| { + for c in cmds { + if let DrawCommand::Path { d, .. } = c { + if let Err(e) = BezPath::from_svg(&d) { + fallas.push(format!("{label}: {e:?} :: {d}")); + } + } + } + }; + for p in &planets { + check(planet_commands(p, 100.0, 100.0, 30.0, color, 2.0), p); + } + check(vec![retrograde_marker(100.0, 100.0, 30.0, color)], "retro"); + for s in &signs { + check(sign_commands(s, 100.0, 100.0, 30.0, color, 2.0), s); + } + assert!( + fallas.is_empty(), + "{} paths inválidos:\n{}", + fallas.len(), + fallas.join("\n") + ); +} diff --git a/01_yachay/cosmos/cosmos-card/Cargo.toml b/01_yachay/cosmos/cosmos-card/Cargo.toml new file mode 100644 index 0000000..f907610 --- /dev/null +++ b/01_yachay/cosmos/cosmos-card/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "cosmos-card" +version = { workspace = true } +edition = { workspace = true } +license = { workspace = true } +description = "Tahuantinsuyu — Tarjeta de Presentación brahman + spawn del sidecar + protocolo del service socket." + +[dependencies] +card-core = { workspace = true } +card-sidecar = { workspace = true } +cosmos-engine = { path = "../cosmos-engine" } +cosmos-model = { path = "../cosmos-model" } +ulid = { workspace = true } +serde = { workspace = true } +postcard = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +directories = { workspace = true } +thiserror = { workspace = true } diff --git a/01_yachay/cosmos/cosmos-card/LEEME.md b/01_yachay/cosmos/cosmos-card/LEEME.md new file mode 100644 index 0000000..17fd526 --- /dev/null +++ b/01_yachay/cosmos/cosmos-card/LEEME.md @@ -0,0 +1,10 @@ +# cosmos-card + +> Card escritorio (resumen) de [cosmos](../README.md). + +Widget pequeño para mostrar en el panel principal del escritorio: hora local + sol/luna del día + próximo evento astronómico relevante. Reusa [`llimphi-widget-stat-card`](../../../02_ruway/llimphi/widgets/stat-card/README.md) como base. + +## Deps + +- [`cosmos-engine`](../cosmos-engine/README.md), [`cosmos-sky`](../cosmos-sky/README.md) +- [`llimphi-widget-stat-card`](../../../02_ruway/llimphi/widgets/stat-card/README.md) diff --git a/01_yachay/cosmos/cosmos-card/README.md b/01_yachay/cosmos/cosmos-card/README.md new file mode 100644 index 0000000..f23c4c4 --- /dev/null +++ b/01_yachay/cosmos/cosmos-card/README.md @@ -0,0 +1,10 @@ +# cosmos-card + +> Desktop summary card of [cosmos](../README.md). + +Small widget for the main desktop panel: local time + sun/moon of the day + next relevant astronomical event. Reuses [`llimphi-widget-stat-card`](../../../02_ruway/llimphi/widgets/stat-card/README.md) as base. + +## Deps + +- [`cosmos-engine`](../cosmos-engine/README.md), [`cosmos-sky`](../cosmos-sky/README.md) +- [`llimphi-widget-stat-card`](../../../02_ruway/llimphi/widgets/stat-card/README.md) diff --git a/01_yachay/cosmos/cosmos-card/src/lib.rs b/01_yachay/cosmos/cosmos-card/src/lib.rs new file mode 100644 index 0000000..b988cc1 --- /dev/null +++ b/01_yachay/cosmos/cosmos-card/src/lib.rs @@ -0,0 +1,95 @@ +//! `cosmos_app-card` — Tarjeta de Presentación + sidecar de la app. +//! +//! Cualquier binario que levante Tahuantinsuyu llama [`spawn_sidecar`] +//! antes de abrir la ventana GPUI. La lógica de thread / tokio / +//! ping-loop vive en `brahman-sidecar`; aquí solo declaramos quién es +//! Tahuantinsuyu como módulo Brahman. + +#![forbid(unsafe_code)] +#![warn(rust_2018_idioms)] + +pub mod service; + +use std::collections::BTreeSet; + +use card_core::{ + Card, Flow, Flows, FsPolicy, IpcPolicy, Lifecycle, Payload, Permissions, Priority, Supervision, + TypeRef, CARD_SCHEMA_VERSION, +}; +use ulid::Ulid; + +/// Label canónico — coincide con el binario y aparece en `ListEntes`. +pub const LABEL: &str = "brahman.cosmos_app"; + +/// Spawn fire-and-forget. Si el Init no está corriendo, el sidecar +/// loggea y termina; la app sigue ejecutándose standalone. +pub fn spawn_sidecar() { + card_sidecar::spawn(build_card()); +} + +/// Construye la Card. Expuesto público para tests + para shells que +/// quieran inspeccionar el manifiesto antes de spawnear. Anuncia el +/// path del service socket en `Card.service_socket` para que otros +/// módulos brahman, después de matchear via el broker, puedan conectar +/// directo al data plane. +pub fn build_card() -> Card { + Card { + schema_version: CARD_SCHEMA_VERSION, + id: Ulid::new(), + lineage: None, + label: LABEL.into(), + service_socket: Some(service::default_service_socket()), + provides: BTreeSet::new(), + requires: BTreeSet::new(), + payload: Payload::Virtual, + supervision: Supervision::Delegate, + lifecycle: Lifecycle::Widget, + priority: Priority::Normal, + permissions: Permissions { + // La app guarda su DB SQLite en disco; necesita RW filesystem. + filesystem: FsPolicy::ReadWrite, + ipc: IpcPolicy { + allow: vec!["wit-v1".into()], + }, + ..Default::default() + }, + flow: Flows { + // Recibe peticiones de cómputo (carta natal, transit, etc.) + // serializadas como JSON. La forma exacta la define + // `cosmos_app-engine`. + input: vec![Flow { + name: "chart-request".into(), + ty: TypeRef::Primitive { + name: "json".into(), + }, + pin_to: None, + }], + // Publica el resultado de un cómputo (placements, aspectos, + // casas) también como JSON. Otras apps brahman pueden + // consumirlo para visualizar o derivar. + output: vec![Flow { + name: "chart-result".into(), + ty: TypeRef::Primitive { + name: "json".into(), + }, + pin_to: None, + }], + }, + ..Default::default() + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn card_label_and_flow() { + let c = build_card(); + assert_eq!(c.label, LABEL); + assert_eq!(c.flow.input.len(), 1); + assert_eq!(c.flow.output.len(), 1); + assert_eq!(c.flow.input[0].name, "chart-request"); + assert_eq!(c.flow.output[0].name, "chart-result"); + } +} diff --git a/01_yachay/cosmos/cosmos-card/src/service.rs b/01_yachay/cosmos/cosmos-card/src/service.rs new file mode 100644 index 0000000..0be03ea --- /dev/null +++ b/01_yachay/cosmos/cosmos-card/src/service.rs @@ -0,0 +1,244 @@ +//! Service socket de Tahuantinsuyu — protocolo y server. +//! +//! La Card de Tahuantinsuyu declara desde fase 1 los flows +//! `chart-request` (input) y `chart-result` (output). Acá vive el +//! **data plane** real que los implementa: un Unix socket sobre el que +//! cualquier módulo brahman puede pedir un cómputo de carta y recibir +//! el RenderModel ya armado. +//! +//! ## Protocolo +//! +//! Frame: `u32 length` little-endian + `postcard`-serialized payload. +//! Misma forma que `brahman-handshake` para reducir sorpresas. +//! +//! ## Endpoints +//! +//! - `ComputeRequest::Natal { birth, config, offset_minutes }` → +//! `ComputeResponse::Render { render }` o `Error { message }`. +//! - `ComputeRequest::Ping` → `ComputeResponse::Pong`. +//! +//! El service no expone los overlays (transit / synastry / etc) por +//! ahora — son una pasada futura. Cubre el caso 80%: "necesito la +//! carta natal de estos datos". + +use std::path::{Path, PathBuf}; + +use serde::{Deserialize, Serialize}; +use cosmos_engine::{compose_with_options, NatalOptions, RenderModel}; +use cosmos_model::{Chart, ChartId, ChartKind, ContactId, StoredBirthData, StoredChartConfig}; +use thiserror::Error; +use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::net::{UnixListener, UnixStream}; +use tracing::{debug, error, info, warn}; + +/// Path canónico del service socket. Usa `XDG_RUNTIME_DIR` si está +/// (por usuario, no persistente), sino cae a `/tmp/cosmos_app.sock`. +pub fn default_service_socket() -> PathBuf { + if let Some(rt) = directories::ProjectDirs::from("net", "gioser", "cosmos_app") { + // ProjectDirs no expone runtime_dir directo en todas las + // plataformas — usamos cache_dir como fallback estable. + let mut p = rt.cache_dir().to_path_buf(); + std::fs::create_dir_all(&p).ok(); + p.push("service.sock"); + return p; + } + PathBuf::from("/tmp/cosmos_app.sock") +} + +// ===================================================================== +// Tipos del protocolo +// ===================================================================== + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum ComputeRequest { + /// Salud del server. Usá para verificar que el sidecar está vivo. + Ping, + /// Pide el cómputo de una carta natal pura (sin overlays). + Natal { + birth: StoredBirthData, + config: StoredChartConfig, + /// Offset en minutos sobre el instante natal — útil para + /// rectificación rápida sin guardar variantes. + #[serde(default)] + offset_minutes: i64, + /// Label opcional para que el render lo lleve en su title. + #[serde(default)] + label: Option, + }, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum ComputeResponse { + Pong, + Render { render: RenderModel }, + Error { message: String }, +} + +// ===================================================================== +// Errores +// ===================================================================== + +#[derive(Debug, Error)] +pub enum ServiceError { + #[error("io: {0}")] + Io(#[from] std::io::Error), + #[error("postcard: {0}")] + Postcard(#[from] postcard::Error), + #[error("frame demasiado grande: {0} bytes")] + FrameTooLarge(u32), + #[error("connect a {path}: {source}")] + Connect { + path: PathBuf, + source: std::io::Error, + }, +} + +/// Cap de tamaño de frame — defensivo contra peers malformados. +const MAX_FRAME_BYTES: u32 = 1024 * 1024; // 1 MiB + +// ===================================================================== +// Server +// ===================================================================== + +/// Arranca el server async sobre `socket_path`. Cada conexión nueva +/// procesa una secuencia de Request/Response hasta que el peer cierra. +pub async fn serve(socket_path: PathBuf) -> Result<(), ServiceError> { + // Si quedó un socket viejo del run anterior, lo borramos. + let _ = std::fs::remove_file(&socket_path); + + let listener = UnixListener::bind(&socket_path)?; + info!(socket = %socket_path.display(), "cosmos_app service socket arriba"); + + loop { + let (stream, _addr) = listener.accept().await?; + tokio::spawn(async move { + if let Err(e) = serve_connection(stream).await { + warn!(?e, "connection terminó con error"); + } + }); + } +} + +async fn serve_connection(mut stream: UnixStream) -> Result<(), ServiceError> { + loop { + let request: ComputeRequest = match read_frame(&mut stream).await { + Ok(r) => r, + Err(ServiceError::Io(e)) if e.kind() == std::io::ErrorKind::UnexpectedEof => { + debug!("peer cerró"); + return Ok(()); + } + Err(e) => return Err(e), + }; + let response = handle(request); + write_frame(&mut stream, &response).await?; + } +} + +fn handle(req: ComputeRequest) -> ComputeResponse { + match req { + ComputeRequest::Ping => ComputeResponse::Pong, + ComputeRequest::Natal { + birth, + config, + offset_minutes, + label, + } => { + let chart = Chart { + id: ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: label.unwrap_or_else(|| "Service request".into()), + birth_data: birth, + config, + related_chart_id: None, + created_at_ms: 0, + }; + match compose_with_options(&chart, offset_minutes, &[], &NatalOptions::default()) { + Ok(render) => ComputeResponse::Render { render }, + Err(e) => ComputeResponse::Error { + message: format!("{}", e), + }, + } + } + } +} + +// ===================================================================== +// Client helper +// ===================================================================== + +/// Cliente async: abre el socket, envía un request, espera la response. +/// Cierra la conexión al volver (no reusable; útil para CLI/tests). +pub async fn request( + socket: &Path, + req: &ComputeRequest, +) -> Result { + let mut stream = UnixStream::connect(socket).await.map_err(|source| { + ServiceError::Connect { + path: socket.to_path_buf(), + source, + } + })?; + write_frame(&mut stream, req).await?; + read_frame(&mut stream).await +} + +// ===================================================================== +// Framing +// ===================================================================== + +async fn write_frame(stream: &mut UnixStream, value: &T) -> Result<(), ServiceError> { + let bytes = postcard::to_allocvec(value)?; + let len = u32::try_from(bytes.len()).map_err(|_| ServiceError::FrameTooLarge(u32::MAX))?; + if len > MAX_FRAME_BYTES { + return Err(ServiceError::FrameTooLarge(len)); + } + stream.write_u32_le(len).await?; + stream.write_all(&bytes).await?; + stream.flush().await?; + Ok(()) +} + +async fn read_frame Deserialize<'de>>( + stream: &mut UnixStream, +) -> Result { + let len = stream.read_u32_le().await?; + if len > MAX_FRAME_BYTES { + return Err(ServiceError::FrameTooLarge(len)); + } + let mut buf = vec![0u8; len as usize]; + stream.read_exact(&mut buf).await?; + let value = postcard::from_bytes(&buf)?; + Ok(value) +} + +// ===================================================================== +// Spawn helper para uso desde el binario GUI +// ===================================================================== + +/// Spawn fire-and-forget: thread aparte con tokio runtime current_thread +/// corriendo el server. Si la initialización falla, loggea warn y el +/// thread termina. El binario GUI sigue funcionando standalone. +pub fn spawn_service_thread(socket_path: PathBuf) { + std::thread::Builder::new() + .name("cosmos_app-service".into()) + .spawn(move || { + let rt = match tokio::runtime::Builder::new_current_thread() + .enable_io() + .build() + { + Ok(rt) => rt, + Err(e) => { + error!(?e, "no pude crear runtime para service thread"); + return; + } + }; + if let Err(e) = rt.block_on(serve(socket_path)) { + error!(?e, "service server terminó con error"); + } + }) + .map(|_| ()) + .unwrap_or_else(|e| { + error!(?e, "no pude spawnear thread del service socket"); + }); +} diff --git a/01_yachay/cosmos/cosmos-catalog/.gitignore b/01_yachay/cosmos/cosmos-catalog/.gitignore new file mode 100644 index 0000000..6320cd2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/.gitignore @@ -0,0 +1 @@ +data \ No newline at end of file diff --git a/01_yachay/cosmos/cosmos-catalog/Cargo.toml b/01_yachay/cosmos/cosmos-catalog/Cargo.toml new file mode 100644 index 0000000..3939b36 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/Cargo.toml @@ -0,0 +1,49 @@ +[package] +name = "cosmos-catalog" +version = "0.1.0-alpha.1" +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +description = "Astronomical Catalog operations" +keywords = ["astronomy", "coordinates", "celestial", "astrometry", "GAIA"] +categories = ["science"] + +[[bin]] +name = "forge" +path = "src/bin/forge/main.rs" +required-features = ["cli"] + +[[bin]] +name = "query-catalog" +path = "src/bin/query.rs" +required-features = ["cli"] + +[dependencies] +cosmos-core.workspace = true +cosmos-time.workspace = true +cosmos-coords.workspace = true +libm.workspace = true +memmap2.workspace = true + +anyhow.workspace = true + +# CLI and pipeline dependencies (only needed for forge/query-healpix binaries) +clap = { workspace = true, optional = true } +flate2 = { workspace = true, optional = true } +csv = { workspace = true, optional = true } +rayon = { workspace = true, optional = true } +indicatif = { workspace = true, optional = true } +serde = { workspace = true, features = ["derive"], optional = true } +serde_json = { workspace = true, optional = true } +reqwest = { workspace = true, features = ["blocking"], optional = true } +tokio = { workspace = true, optional = true } +quick-xml = { workspace = true, optional = true } + +[dev-dependencies] +tempfile.workspace = true + +[features] +default = [] +integration-tests = [] +cli = ["dep:clap", "dep:flate2", "dep:csv", "dep:rayon", "dep:indicatif", "dep:serde", "dep:serde_json", "dep:reqwest", "dep:tokio", "dep:quick-xml"] diff --git a/01_yachay/cosmos/cosmos-catalog/README.md b/01_yachay/cosmos/cosmos-catalog/README.md new file mode 100644 index 0000000..aac1baf --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/README.md @@ -0,0 +1,146 @@ +# cosmos-catalog + +HEALPix-indexed star catalog combining Gaia DR3 and Hipparcos. Memory-mapped for fast cone searches. + +[![Crates.io](https://img.shields.io/crates/v/cosmos-catalog)](https://crates.io/crates/cosmos-catalog) +[![Documentation](https://docs.rs/cosmos-catalog/badge.svg)](https://docs.rs/cosmos-catalog) +[![License: Apache 2.0](https://img.shields.io/crates/l/cosmos-catalog)](https://gitea.gioser.net/sergio/eternal) + +## Installation + +As a library: + +```toml +[dependencies] +cosmos-catalog = "0.1" +``` + +For the CLI tools (`forge` and `query-catalog`): + +```sh +cargo install cosmos-catalog --features cli +``` + +## Example + +```rust +use eternal_catalog::query::{Catalog, cone_search, ConeSearchParams}; + +let catalog = Catalog::open("/path/to/catalog.bin").unwrap(); + +let results = cone_search(&catalog, &ConeSearchParams { + ra_deg: 83.633, + dec_deg: 22.014, + radius_deg: 0.5, + max_mag: Some(12.0), + max_results: Some(100), + epoch: None, +}); + +for r in &results { + println!("{} mag={:.2} dist={:.4}°", r.star.source_id, r.star.mag, r.distance_deg); +} +``` + +## Modules + +| Module | Purpose | +|------------------|------------------------------------------------------------| +| `query::Catalog` | Memory-mapped catalog reader (mmap, zero-copy star access) | +| `query::cone` | Cone search with optional proper-motion propagation | +| `query::healpix` | HEALPix pixel math (`ang2pix_nest`, `query_disc_nest`) | + +## Download a Pre-Built Catalog + +You may [download the latest catalog](https://drive.google.com/drive/folders/1akV1qbERKQETLn6smW3-K0vGzVFgEqsB) from Google Drive. The pre-built catalog has a magnitude cutoff at 18.5. + +## Data Sources & Attribution + +The pre-built catalog is derived from: + +- **Gaia DR3** — European Space Agency (ESA) mission Gaia ([gaia.esa.int](https://www.cosmos.esa.int/gaia)), processed by the Gaia Data Processing and Analysis Consortium ([DPAC](https://www.cosmos.esa.int/web/gaia/dpac/consortium)). Gaia DR3 is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/). See the [Gaia credit page](https://gaia.aip.de/cms/credit/) for full citation requirements. +- **Hipparcos** — ESA Hipparcos and Tycho Catalogues (ESA, 1997). Public domain. + +If you use the pre-built catalog in published work, please cite Gaia DR3 per ESA's guidelines. + +## Building the Catalog from Source + +Building your own catalog from raw survey data requires significant disk space (~700 GB for raw Gaia CSVs) and time. The `forge` CLI handles the full pipeline: download, ingest, merge, and index. + +### Step 1 — Download the Gaia Catalog + +```sh +forge download-gaia --output /path/to/download/it/to +``` + +### Step 2 — Ingest Raw Gaia Catalog + +See `forge ingest-gaia --help` for all flags. + +```sh +forge ingest-gaia \ + --path /path/to/gaia/dir/ \ + --output /path/to/output/dir/ \ + --mag-limit 16 +``` + +Outputs `gaia_ingest.bin`. + +#### Choosing a Magnitude Limit + +Most applications don't need stars fainter than ~18.5. A this cutoff keeps the final HEALPix binary around 1.5 GB. Going deeper balloons quickly. + +### Step 3 — Ingest Hipparcos Catalog + +Hipparcos epochs are propagated to J2016.0 to match Gaia DR3. + +```sh +forge ingest-hipparcos \ + --hip /path/to/hip_main.dat \ + --crossmatch /path/to/Hipparcos2BestNeighbour.csv \ + --output /path/to/output +``` + +Outputs `hipparcos_ingest.bin`. + +### Step 4 — Merge Catalogs + +```sh +forge merge --verbose --workdir /path/to/working/dir +``` + +Outputs `merged.bin`. + +### Step 5 — Build the HEALPix Index + +```sh +forge build-index \ + --workdir /path/that/contains/both/bin/files \ + --threads 16 \ + --output ./catalog.20260217.bin \ + --max-per-cell 40 +``` + +The `--max-per-cell` flag caps the number of stars per HEALPix pixel, dropping faint stars first. This trims dense regions along the galactic plane. + +## Features + +- **`cli`** — Enables the `forge` and `query-catalog` binaries (adds clap, rayon, reqwest, etc.) + +## License + +Licensed under the Apache License, Version 2.0 +([LICENSE-APACHE](../LICENSE-APACHE) or +). +See [NOTICE](../NOTICE) for upstream attribution. + +## Acknowledgements + +Forked from [celestial](https://github.com/gaker/celestial) by **Greg Aker** +(originally dual-licensed under MIT OR Apache-2.0). This crate is derived +directly from that work and is maintained in this fork by Sergio Velásquez +Zeballos with Claude (Anthropic). + +## Contributing + +See the [repository](https://gitea.gioser.net/sergio/eternal) for contribution guidelines. diff --git a/01_yachay/cosmos/cosmos-catalog/examples/cone_search.rs b/01_yachay/cosmos/cosmos-catalog/examples/cone_search.rs new file mode 100644 index 0000000..7a2ebd7 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/examples/cone_search.rs @@ -0,0 +1,37 @@ +use cosmos_catalog::query::{cone_search, Catalog, ConeSearchParams}; + +fn main() -> anyhow::Result<()> { + let path = std::env::args() + .nth(1) + .expect("Usage: cone_search "); + + let catalog = Catalog::open(&path)?; + println!("{}", catalog.header()); + + let params = ConeSearchParams { + ra_deg: 83.633, + dec_deg: -5.375, + radius_deg: 0.5, + max_mag: Some(10.0), + max_results: Some(20), + epoch: None, + }; + + let results = cone_search(&catalog, ¶ms); + println!( + "\n{} stars within {:.1}° of ({:.3}, {:.3}):\n", + results.len(), + params.radius_deg, + params.ra_deg, + params.dec_deg, + ); + + for r in &results { + println!( + " {:>20} RA {:.6}° Dec {:+.6}° mag {:.2} dist {:.4}°", + r.star.source_id, r.ra_deg, r.dec_deg, r.star.mag, r.distance_deg, + ); + } + + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/build_index.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/build_index.rs new file mode 100644 index 0000000..2fad285 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/build_index.rs @@ -0,0 +1,590 @@ +//! Build HEALPix-indexed binary catalog from merged catalog. +//! +//! Three-pass memory-mapped algorithm for handling arbitrarily large catalogs: +//! 1. Count stars per HEALPix pixel +//! 2. Scatter stars to their final positions in output file +//! 3. Sort each pixel's stars by magnitude in-place + +use crate::cli::{BuildIndexArgs, Cli}; +use cosmos_catalog::query::healpix::ang2pix_nest; +use memmap2::{Mmap, MmapMut}; +use std::fs::{self, File, OpenOptions}; +use std::io::Read; +use std::path::Path; +use std::time::Instant; + +const RECORD_SIZE: usize = 56; +const MERGED_HEADER_SIZE: usize = 24; +const OUTPUT_HEADER_SIZE: usize = 64; +const PIXEL_ENTRY_SIZE: usize = 16; +const CATALOG_MAGIC: &[u8; 4] = b"CCAT"; +const CATALOG_VERSION: u32 = 1; +const EPOCH_J2016: f64 = 2016.0; + +struct IndexStats { + healpix_order: u32, + nside: u32, + npix: u64, + total_stars: u64, + stars_after_cap: Option, + cells_capped: Option, + min_stars: u32, + max_stars: u32, + mean_stars: f64, + median_stars: u32, + empty_pixels: u64, + file_size: u64, + elapsed_secs: f64, +} + +pub fn run(args: &BuildIndexArgs, cli: &Cli) -> anyhow::Result<()> { + validate_paths(args)?; + print_plan(args, cli); + let start = Instant::now(); + let merged_path = args.workdir.join("merged.bin"); + let (total_stars, mag_limit) = read_merged_header(&merged_path)?; + let nside = 1u32 << args.healpix_order; + let npix = 12u64 * (nside as u64) * (nside as u64); + + println!("Memory-mapping input file ({} stars)...", total_stars); + let input_mmap = mmap_input(&merged_path)?; + + println!("Pass 1: Counting stars per pixel..."); + let counts = count_stars_per_pixel_mmap(&input_mmap, total_stars, args.healpix_order)?; + + println!("Pass 2: Scattering stars to output positions..."); + let temp_path = args.output.with_extension("bin.tmp"); + scatter_stars_to_output( + &input_mmap, + &temp_path, + total_stars, + args.healpix_order, + mag_limit, + &counts, + )?; + + drop(input_mmap); + + println!("Pass 3: Sorting each pixel by magnitude..."); + sort_pixels_in_place(&temp_path, &counts)?; + + let final_counts = match args.max_per_cell { + Some(cap) => { + println!("Pass 4: Compacting to {} max stars per cell...", cap); + compact_with_cap( + &temp_path, + &args.output, + &counts, + cap, + mag_limit, + args.healpix_order, + )?; + fs::remove_file(&temp_path)?; + counts.iter().map(|&c| c.min(cap)).collect::>() + } + None => { + fs::rename(&temp_path, &args.output)?; + counts.clone() + } + }; + + let elapsed = start.elapsed().as_secs_f64(); + let stats = compute_stats( + args.healpix_order, + nside, + npix, + total_stars, + args.max_per_cell, + &final_counts, + &args.output, + elapsed, + )?; + print_stats(&stats); + + println!("\nValidating output..."); + validate_output(&args.output, args.healpix_order)?; + Ok(()) +} + +fn validate_paths(args: &BuildIndexArgs) -> anyhow::Result<()> { + let merged = args.workdir.join("merged.bin"); + if !merged.exists() { + anyhow::bail!("Merged catalog not found: {:?}", merged); + } + if let Some(parent) = args.output.parent() { + if !parent.exists() { + fs::create_dir_all(parent)?; + } + } + Ok(()) +} + +fn print_plan(args: &BuildIndexArgs, cli: &Cli) { + let nside = 1u32 << args.healpix_order; + let npix = 12u64 * (nside as u64) * (nside as u64); + println!("=== Build HEALPix Index ==="); + println!("Working directory: {:?}", args.workdir); + println!("HEALPix order: {}", args.healpix_order); + println!("nside: {}", nside); + println!("npix: {}", npix); + println!("Output: {:?}", args.output); + match args.max_per_cell { + Some(cap) => println!("Max per cell: {}", cap), + None => println!("Max per cell: unlimited"), + } + println!("Verbose: {}", cli.verbose); + println!(); +} + +fn read_merged_header(path: &Path) -> anyhow::Result<(u64, f32)> { + let mut file = File::open(path)?; + let mut header = [0u8; MERGED_HEADER_SIZE]; + file.read_exact(&mut header)?; + let magic = &header[0..4]; + if magic != b"MERG" { + anyhow::bail!("Invalid merged catalog magic: {:?}", magic); + } + let total_stars = u64::from_le_bytes(header[8..16].try_into().unwrap()); + let mag_limit = f32::from_le_bytes(header[16..20].try_into().unwrap()); + Ok((total_stars, mag_limit)) +} + +fn mmap_input(path: &Path) -> anyhow::Result { + let file = File::open(path)?; + let mmap = unsafe { Mmap::map(&file)? }; + Ok(mmap) +} + +fn count_stars_per_pixel_mmap(mmap: &Mmap, total: u64, order: u32) -> anyhow::Result> { + let nside = 1u32 << order; + let npix = 12u64 * (nside as u64) * (nside as u64); + let mut counts = vec![0u32; npix as usize]; + let data = &mmap[MERGED_HEADER_SIZE..]; + for i in 0..total as usize { + let offset = i * RECORD_SIZE; + let (ra_deg, dec_deg) = extract_ra_dec_from_slice(&data[offset..offset + RECORD_SIZE]); + let pixel = ang2pix_nest(order, ra_deg, dec_deg); + counts[pixel as usize] += 1; + } + Ok(counts) +} + +fn extract_ra_dec_from_slice(buf: &[u8]) -> (f64, f64) { + let ra = f64::from_le_bytes(buf[8..16].try_into().unwrap()); + let dec = f64::from_le_bytes(buf[16..24].try_into().unwrap()); + (ra, dec) +} + +fn scatter_stars_to_output( + input_mmap: &Mmap, + output_path: &Path, + total_stars: u64, + order: u32, + mag_limit: f32, + counts: &[u32], +) -> anyhow::Result<()> { + let nside = 1u32 << order; + let npix = counts.len() as u64; + let star_data_offset = OUTPUT_HEADER_SIZE + (npix as usize) * PIXEL_ENTRY_SIZE; + let total_file_size = star_data_offset + (total_stars as usize) * RECORD_SIZE; + + let file = create_output_file(output_path, total_file_size)?; + let mut output_mmap = unsafe { MmapMut::map_mut(&file)? }; + + write_header_to_mmap(&mut output_mmap, order, nside, npix, total_stars, mag_limit); + let byte_offsets = write_offset_table_to_mmap(&mut output_mmap, counts); + + let mut cursors: Vec = byte_offsets.clone(); + let input_data = &input_mmap[MERGED_HEADER_SIZE..]; + + for i in 0..total_stars as usize { + let src_offset = i * RECORD_SIZE; + let record_bytes = &input_data[src_offset..src_offset + RECORD_SIZE]; + let (ra_deg, dec_deg) = extract_ra_dec_from_slice(record_bytes); + let pixel = ang2pix_nest(order, ra_deg, dec_deg) as usize; + let dst_offset = star_data_offset + cursors[pixel] as usize; + output_mmap[dst_offset..dst_offset + RECORD_SIZE].copy_from_slice(record_bytes); + cursors[pixel] += RECORD_SIZE as u64; + } + + output_mmap.flush()?; + Ok(()) +} + +fn create_output_file(path: &Path, size: usize) -> anyhow::Result { + let file = OpenOptions::new() + .read(true) + .write(true) + .create(true) + .truncate(true) + .open(path)?; + file.set_len(size as u64)?; + Ok(file) +} + +fn write_header_to_mmap( + mmap: &mut MmapMut, + order: u32, + nside: u32, + npix: u64, + total_stars: u64, + mag_limit: f32, +) { + let mut offset = 0; + mmap[offset..offset + 4].copy_from_slice(CATALOG_MAGIC); + offset += 4; + mmap[offset..offset + 4].copy_from_slice(&CATALOG_VERSION.to_le_bytes()); + offset += 4; + mmap[offset..offset + 4].copy_from_slice(&order.to_le_bytes()); + offset += 4; + mmap[offset..offset + 4].copy_from_slice(&nside.to_le_bytes()); + offset += 4; + mmap[offset..offset + 8].copy_from_slice(&npix.to_le_bytes()); + offset += 8; + mmap[offset..offset + 8].copy_from_slice(&total_stars.to_le_bytes()); + offset += 8; + mmap[offset..offset + 8].copy_from_slice(&EPOCH_J2016.to_le_bytes()); + offset += 8; + mmap[offset..offset + 4].copy_from_slice(&mag_limit.to_le_bytes()); +} + +fn write_offset_table_to_mmap(mmap: &mut MmapMut, counts: &[u32]) -> Vec { + let mut byte_offsets = Vec::with_capacity(counts.len()); + let mut current_byte_offset: u64 = 0; + + for (i, &count) in counts.iter().enumerate() { + let table_offset = OUTPUT_HEADER_SIZE + i * PIXEL_ENTRY_SIZE; + mmap[table_offset..table_offset + 8].copy_from_slice(¤t_byte_offset.to_le_bytes()); + mmap[table_offset + 8..table_offset + 12].copy_from_slice(&count.to_le_bytes()); + mmap[table_offset + 12..table_offset + 16].copy_from_slice(&0u32.to_le_bytes()); + byte_offsets.push(current_byte_offset); + current_byte_offset += (count as u64) * (RECORD_SIZE as u64); + } + + byte_offsets +} + +fn sort_pixels_in_place(path: &Path, counts: &[u32]) -> anyhow::Result<()> { + let file = OpenOptions::new().read(true).write(true).open(path)?; + let mut mmap = unsafe { MmapMut::map_mut(&file)? }; + let npix = counts.len(); + let star_data_offset = OUTPUT_HEADER_SIZE + npix * PIXEL_ENTRY_SIZE; + + let mut current_offset = star_data_offset; + for &count in counts { + if count > 1 { + sort_pixel_region(&mut mmap, current_offset, count as usize); + } + current_offset += (count as usize) * RECORD_SIZE; + } + + mmap.flush()?; + Ok(()) +} + +fn sort_pixel_region(mmap: &mut MmapMut, offset: usize, count: usize) { + let region = &mut mmap[offset..offset + count * RECORD_SIZE]; + let records: &mut [[u8; RECORD_SIZE]] = unsafe { + std::slice::from_raw_parts_mut(region.as_mut_ptr() as *mut [u8; RECORD_SIZE], count) + }; + records.sort_by(|a, b| { + let mag_a = f32::from_le_bytes(a[48..52].try_into().unwrap()); + let mag_b = f32::from_le_bytes(b[48..52].try_into().unwrap()); + mag_a + .partial_cmp(&mag_b) + .unwrap_or(std::cmp::Ordering::Equal) + }); +} + +fn compact_with_cap( + sorted_path: &Path, + output_path: &Path, + counts: &[u32], + cap: u32, + mag_limit: f32, + order: u32, +) -> anyhow::Result<()> { + let capped: Vec = counts.iter().map(|&c| c.min(cap)).collect(); + let capped_total: u64 = capped.iter().map(|&c| c as u64).sum(); + let npix = counts.len() as u64; + let nside = 1u32 << order; + let star_data_offset = OUTPUT_HEADER_SIZE + (npix as usize) * PIXEL_ENTRY_SIZE; + let out_size = star_data_offset + (capped_total as usize) * RECORD_SIZE; + + let src_file = File::open(sorted_path)?; + let src_mmap = unsafe { Mmap::map(&src_file)? }; + let dst_file = create_output_file(output_path, out_size)?; + let mut dst_mmap = unsafe { MmapMut::map_mut(&dst_file)? }; + + write_header_to_mmap(&mut dst_mmap, order, nside, npix, capped_total, mag_limit); + write_offset_table_to_mmap(&mut dst_mmap, &capped); + copy_capped_records(&src_mmap, &mut dst_mmap, counts, &capped, star_data_offset); + dst_mmap.flush()?; + Ok(()) +} + +fn copy_capped_records( + src: &Mmap, + dst: &mut MmapMut, + counts: &[u32], + capped: &[u32], + star_data_offset: usize, +) { + let src_star_offset = OUTPUT_HEADER_SIZE + counts.len() * PIXEL_ENTRY_SIZE; + let mut src_pos = src_star_offset; + let mut dst_pos = star_data_offset; + + for (i, &orig) in counts.iter().enumerate() { + let keep = capped[i] as usize; + let copy_bytes = keep * RECORD_SIZE; + dst[dst_pos..dst_pos + copy_bytes].copy_from_slice(&src[src_pos..src_pos + copy_bytes]); + src_pos += (orig as usize) * RECORD_SIZE; + dst_pos += copy_bytes; + } +} + +fn compute_stats( + order: u32, + nside: u32, + npix: u64, + total_stars_before: u64, + max_per_cell: Option, + final_counts: &[u32], + output: &Path, + elapsed: f64, +) -> anyhow::Result { + let total_after: u64 = final_counts.iter().map(|&c| c as u64).sum(); + let non_empty: Vec = final_counts.iter().copied().filter(|&c| c > 0).collect(); + let empty_pixels = npix - non_empty.len() as u64; + let (min_stars, max_stars) = if non_empty.is_empty() { + (0, 0) + } else { + ( + *non_empty.iter().min().unwrap(), + *non_empty.iter().max().unwrap(), + ) + }; + let mean_stars = if non_empty.is_empty() { + 0.0 + } else { + non_empty.iter().map(|&c| c as f64).sum::() / non_empty.len() as f64 + }; + let median_stars = compute_median(&non_empty); + let file_size = fs::metadata(output)?.len(); + + let (stars_after_cap, cells_capped) = match max_per_cell { + Some(cap) => { + let capped = final_counts.iter().filter(|&&c| c >= cap).count() as u64; + (Some(total_after), Some(capped)) + } + None => (None, None), + }; + + Ok(IndexStats { + healpix_order: order, + nside, + npix, + total_stars: total_stars_before, + stars_after_cap, + cells_capped, + min_stars, + max_stars, + mean_stars, + median_stars, + empty_pixels, + file_size, + elapsed_secs: elapsed, + }) +} + +fn compute_median(values: &[u32]) -> u32 { + if values.is_empty() { + return 0; + } + let mut sorted = values.to_vec(); + sorted.sort(); + let mid = sorted.len() / 2; + if sorted.len().is_multiple_of(2) { + (sorted[mid - 1] + sorted[mid]) / 2 + } else { + sorted[mid] + } +} + +fn print_stats(stats: &IndexStats) { + println!(); + println!("=== Index Statistics ==="); + println!("HEALPix order: {}", stats.healpix_order); + println!("nside: {}", stats.nside); + println!("npix: {}", stats.npix); + println!("Total stars before cap: {}", stats.total_stars); + if let (Some(after), Some(capped)) = (stats.stars_after_cap, stats.cells_capped) { + println!("Total stars after cap: {}", after); + println!( + "Stars removed by cap: {}", + stats.total_stars.saturating_sub(after) + ); + let non_empty = stats.npix - stats.empty_pixels; + println!( + "Cells at cap: {} / {} non-empty ({:.1}%)", + capped, + non_empty, + if non_empty > 0 { + capped as f64 / non_empty as f64 * 100.0 + } else { + 0.0 + } + ); + } + println!("Empty pixels: {}", stats.empty_pixels); + println!( + "Stars per pixel (non-empty): min={}, max={}, mean={:.1}, median={}", + stats.min_stars, stats.max_stars, stats.mean_stars, stats.median_stars + ); + println!( + "Output file size: {} bytes ({:.2} GB)", + stats.file_size, + stats.file_size as f64 / 1_073_741_824.0 + ); + println!("Elapsed time: {:.2}s", stats.elapsed_secs); +} + +fn validate_output(path: &Path, order: u32) -> anyhow::Result<()> { + let file = File::open(path)?; + let mmap = unsafe { Mmap::map(&file)? }; + let header = read_output_header(&mmap)?; + validate_header_fields(&header, order)?; + let offsets = read_offset_table(&mmap, header.npix)?; + validate_sample_pixels(&mmap, order, &header, &offsets)?; + println!("Validation passed."); + Ok(()) +} + +struct OutputHeader { + npix: u64, + _total_stars: u64, +} + +fn read_output_header(mmap: &Mmap) -> anyhow::Result { + let header = &mmap[0..OUTPUT_HEADER_SIZE]; + let magic = &header[0..4]; + if magic != CATALOG_MAGIC { + anyhow::bail!("Invalid catalog magic"); + } + let npix = u64::from_le_bytes(header[16..24].try_into().unwrap()); + let total_stars = u64::from_le_bytes(header[24..32].try_into().unwrap()); + Ok(OutputHeader { + npix, + _total_stars: total_stars, + }) +} + +fn validate_header_fields(header: &OutputHeader, order: u32) -> anyhow::Result<()> { + let expected_npix = 12u64 * (1u64 << order) * (1u64 << order); + if header.npix != expected_npix { + anyhow::bail!( + "npix mismatch: expected {}, got {}", + expected_npix, + header.npix + ); + } + Ok(()) +} + +struct PixelEntry { + offset: u64, + count: u32, +} + +fn read_offset_table(mmap: &Mmap, npix: u64) -> anyhow::Result> { + let mut entries = Vec::with_capacity(npix as usize); + for i in 0..npix as usize { + let table_offset = OUTPUT_HEADER_SIZE + i * PIXEL_ENTRY_SIZE; + let offset = u64::from_le_bytes(mmap[table_offset..table_offset + 8].try_into().unwrap()); + let count = u32::from_le_bytes( + mmap[table_offset + 8..table_offset + 12] + .try_into() + .unwrap(), + ); + entries.push(PixelEntry { offset, count }); + } + Ok(entries) +} + +fn validate_sample_pixels( + mmap: &Mmap, + order: u32, + header: &OutputHeader, + offsets: &[PixelEntry], +) -> anyhow::Result<()> { + let star_data_offset = OUTPUT_HEADER_SIZE + (header.npix as usize) * PIXEL_ENTRY_SIZE; + let samples = pick_sample_pixels(offsets); + for (pixel_idx, entry) in samples { + validate_single_pixel(mmap, order, pixel_idx, entry, star_data_offset)?; + } + Ok(()) +} + +fn pick_sample_pixels(offsets: &[PixelEntry]) -> Vec<(usize, &PixelEntry)> { + let non_empty: Vec<(usize, &PixelEntry)> = offsets + .iter() + .enumerate() + .filter(|(_, e)| e.count > 0) + .collect(); + if non_empty.is_empty() { + return vec![]; + } + let mut samples = Vec::new(); + if !non_empty.is_empty() { + samples.push(non_empty[0]); + } + if non_empty.len() > 1 { + samples.push(non_empty[non_empty.len() / 2]); + } + if non_empty.len() > 2 { + samples.push(non_empty[non_empty.len() - 1]); + } + samples +} + +fn validate_single_pixel( + mmap: &Mmap, + order: u32, + pixel_idx: usize, + entry: &PixelEntry, + star_data_offset: usize, +) -> anyhow::Result<()> { + let pixel_start = star_data_offset + entry.offset as usize; + let mut prev_mag: Option = None; + for i in 0..entry.count { + let record_offset = pixel_start + (i as usize) * RECORD_SIZE; + let record_bytes = &mmap[record_offset..record_offset + RECORD_SIZE]; + let ra = f64::from_le_bytes(record_bytes[8..16].try_into().unwrap()); + let dec = f64::from_le_bytes(record_bytes[16..24].try_into().unwrap()); + let mag = f32::from_le_bytes(record_bytes[48..52].try_into().unwrap()); + let computed_pixel = ang2pix_nest(order, ra, dec); + if computed_pixel != pixel_idx as u64 { + anyhow::bail!( + "Pixel mismatch: star at ({:.6}, {:.6}) expected pixel {}, got {}", + ra, + dec, + pixel_idx, + computed_pixel + ); + } + if let Some(prev) = prev_mag { + if mag < prev { + anyhow::bail!( + "Magnitude not sorted in pixel {}: star {} has mag {:.2}, prev was {:.2}", + pixel_idx, + i, + mag, + prev + ); + } + } + prev_mag = Some(mag); + } + println!(" Pixel {}: {} stars verified", pixel_idx, entry.count); + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/cli.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/cli.rs new file mode 100644 index 0000000..607ea7b --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/cli.rs @@ -0,0 +1,119 @@ +//! CLI argument definitions for forge + +use clap::{Parser, Subcommand}; +use std::path::PathBuf; + +#[derive(Parser)] +#[command(name = "forge")] +#[command(about = "Astronomical catalog data pipeline")] +#[command(version)] +pub struct Cli { + /// Enable verbose output + #[arg(short, long, global = true)] + pub verbose: bool, + + #[command(subcommand)] + pub command: Commands, +} + +#[derive(Subcommand)] +pub enum Commands { + /// Download Gaia DR3 source files from ESA CDN + DownloadGaia(DownloadGaiaArgs), + + /// Ingest Gaia DR3 catalog from gzipped CSV files + IngestGaia(IngestGaiaArgs), + + /// Ingest Hipparcos catalog with epoch propagation to J2016.0 + IngestHipparcos(IngestHipparcosArgs), + + /// Merge ingested catalogs with cross-match deduplication + Merge(MergeArgs), + + /// Build HEALPix-indexed binary catalog + BuildIndex(BuildIndexArgs), +} + +#[derive(Parser)] +pub struct DownloadGaiaArgs { + /// Output directory for downloaded .csv.gz files + #[arg(long)] + pub output: PathBuf, + + /// Maximum concurrent downloads + #[arg(long, default_value = "4")] + pub concurrency: usize, + + /// Download only the first N files (for testing) + #[arg(long)] + pub limit: Option, + + /// Retry failed downloads up to N times + #[arg(long, default_value = "3")] + pub retries: u32, +} + +#[derive(Parser)] +pub struct IngestGaiaArgs { + /// Directory containing gzipped Gaia CSV files + #[arg(long)] + pub path: PathBuf, + + /// Magnitude limit (keep stars brighter than this) + #[arg(long, default_value = "15.0")] + pub mag_limit: f32, + + /// Output working directory for intermediate files + #[arg(long)] + pub output: PathBuf, + + /// Skip final concatenation (for incremental ingestion) + #[arg(long)] + pub no_concat: bool, + + /// Number of threads for parallel processing (0 = all cores) + #[arg(short, long, default_value = "0")] + pub threads: usize, +} + +#[derive(Parser)] +pub struct IngestHipparcosArgs { + /// Working directory for source data (hip2.dat, crossmatch CSV). + /// Files are downloaded automatically if not present. + #[arg(long)] + pub workdir: PathBuf, + + /// Magnitude limit (keep stars brighter than this) + #[arg(long, default_value = "7.0")] + pub mag_limit: f32, + + /// Output working directory for ingested binary + #[arg(long)] + pub output: PathBuf, +} + +#[derive(Parser)] +pub struct MergeArgs { + /// Working directory containing ingested catalogs + #[arg(long)] + pub workdir: PathBuf, +} + +#[derive(Parser)] +pub struct BuildIndexArgs { + /// Working directory containing merged catalog + #[arg(long)] + pub workdir: PathBuf, + + /// HEALPix order (nside = 2^order) + #[arg(long, default_value = "8")] + pub healpix_order: u32, + + /// Output binary catalog file + #[arg(long)] + pub output: PathBuf, + + /// Maximum stars per HEALPix cell (brightest kept, rest discarded) + #[arg(long)] + pub max_per_cell: Option, +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/download_gaia.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/download_gaia.rs new file mode 100644 index 0000000..0263a75 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/download_gaia.rs @@ -0,0 +1,392 @@ +//! Download Gaia DR3 source files from ESA CDN +//! +//! Lists the S3 bucket, builds a manifest with ETags, +//! and downloads files with resume support and parallel fetching. + +use crate::cli::{Cli, DownloadGaiaArgs}; +use anyhow::Context; +use quick_xml::events::Event; +use quick_xml::Reader; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; +use std::fs::{self, File}; +use std::io::Write; +use std::path::Path; +use std::sync::atomic::{AtomicU64, AtomicUsize, Ordering}; +use std::sync::Arc; + +const LISTING_URL: &str = + "https://gaia.eu-1.cdn77-storage.com/?prefix=Gaia/gdr3/gaia_source/&delimiter=/"; +const CDN_BASE: &str = "https://cdn.gea.esac.esa.int/"; +const MANIFEST_FILENAME: &str = "gaia_manifest.json"; + +#[derive(Debug, Serialize, Deserialize)] +struct Manifest { + files: HashMap, +} + +#[derive(Debug, Serialize, Deserialize)] +struct FileEntry { + etag: String, + size: u64, + downloaded: bool, +} + +struct RemoteFile { + key: String, + filename: String, + size: u64, + etag: String, +} + +pub fn run(args: &DownloadGaiaArgs, cli: &Cli) -> anyhow::Result<()> { + fs::create_dir_all(&args.output)?; + println!("=== Gaia DR3 Download ==="); + println!("Output: {:?}", args.output); + println!("Concurrency: {}", args.concurrency); + if let Some(limit) = args.limit { + println!("Limit: {} files", limit); + } + println!(); + + println!("Listing files from ESA CDN..."); + let mut remote_files = list_remote_files(cli.verbose)?; + remote_files.sort_by(|a, b| a.filename.cmp(&b.filename)); + + if let Some(limit) = args.limit { + remote_files.truncate(limit); + } + + let total_size: u64 = remote_files.iter().map(|f| f.size).sum(); + println!( + "Found {} files ({:.1} GB total)", + remote_files.len(), + total_size as f64 / 1_073_741_824.0 + ); + + let manifest_path = args.output.join(MANIFEST_FILENAME); + let mut manifest = load_manifest(&manifest_path); + let to_download = plan_downloads(&remote_files, &manifest, &args.output); + + if to_download.is_empty() { + println!("All files already downloaded and verified."); + return Ok(()); + } + + let skip_count = remote_files.len() - to_download.len(); + let dl_size: u64 = to_download.iter().map(|f| f.size).sum(); + println!( + "Skipping {} already downloaded, {} to download ({:.1} GB)", + skip_count, + to_download.len(), + dl_size as f64 / 1_073_741_824.0 + ); + println!(); + + let completed = Arc::new(AtomicUsize::new(0)); + let bytes_done = Arc::new(AtomicU64::new(0)); + let failed = Arc::new(AtomicUsize::new(0)); + let total_count = to_download.len(); + + let pool = rayon::ThreadPoolBuilder::new() + .num_threads(args.concurrency) + .build() + .context("Failed to build thread pool")?; + + pool.scope(|s| { + for file in &to_download { + let output = &args.output; + let retries = args.retries; + let completed = Arc::clone(&completed); + let bytes_done = Arc::clone(&bytes_done); + let failed = Arc::clone(&failed); + + s.spawn(move |_| { + let dest = output.join(&file.filename); + match download_with_retry(&file.key, &dest, file.size, retries) { + Ok(etag) => { + let done = completed.fetch_add(1, Ordering::Relaxed) + 1; + let bytes = bytes_done.fetch_add(file.size, Ordering::Relaxed) + file.size; + println!( + "[{}/{}] {} ({:.1} MB) - {:.1} GB done", + done, + total_count, + file.filename, + file.size as f64 / 1_048_576.0, + bytes as f64 / 1_073_741_824.0, + ); + let _ = etag; // used when saving manifest below + } + Err(e) => { + failed.fetch_add(1, Ordering::Relaxed); + eprintln!("FAILED {}: {}", file.filename, e); + } + } + }); + } + }); + + update_manifest(&mut manifest, &remote_files, &args.output); + save_manifest(&manifest, &manifest_path)?; + + let fail_count = failed.load(Ordering::Relaxed); + let ok_count = completed.load(Ordering::Relaxed); + println!("\n=== Summary ==="); + println!("Downloaded: {}", ok_count); + println!("Skipped: {}", skip_count); + println!("Failed: {}", fail_count); + + if fail_count > 0 { + anyhow::bail!("{} downloads failed. Re-run to retry.", fail_count); + } + Ok(()) +} + +fn list_remote_files(verbose: bool) -> anyhow::Result> { + let mut files = Vec::new(); + let mut marker: Option = None; + + loop { + let url = match &marker { + Some(m) => format!("{}&marker={}", LISTING_URL, m), + None => LISTING_URL.to_string(), + }; + + if verbose { + eprintln!("Listing: {}", url); + } + + let body = reqwest::blocking::get(&url) + .context("Failed to fetch bucket listing")? + .text() + .context("Failed to read listing response")?; + + let (batch, next_marker) = parse_listing(&body)?; + let batch_len = batch.len(); + files.extend(batch); + + if verbose { + eprintln!(" Got {} keys (total: {})", batch_len, files.len()); + } + + match next_marker { + Some(m) => marker = Some(m), + None => break, + } + } + + Ok(files) +} + +fn parse_listing(xml: &str) -> anyhow::Result<(Vec, Option)> { + let mut reader = Reader::from_str(xml); + let mut files = Vec::new(); + let mut next_marker: Option = None; + let mut buf = String::new(); + + let mut in_contents = false; + let mut in_key = false; + let mut in_size = false; + let mut in_etag = false; + let mut in_next_marker = false; + + let mut cur_key = String::new(); + let mut cur_size = 0u64; + let mut cur_etag = String::new(); + + loop { + match reader.read_event() { + Ok(Event::Start(e)) => { + let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + match name.as_str() { + "Contents" => { + in_contents = true; + cur_key.clear(); + cur_size = 0; + cur_etag.clear(); + } + "Key" if in_contents => in_key = true, + "Size" if in_contents => in_size = true, + "ETag" if in_contents => in_etag = true, + "NextMarker" => in_next_marker = true, + _ => {} + } + } + Ok(Event::Text(e)) => { + buf.clear(); + buf.push_str(&e.unescape().unwrap_or_default()); + if in_key { + cur_key.push_str(&buf); + } else if in_size { + cur_size = buf.trim().parse().unwrap_or(0); + } else if in_etag { + cur_etag.push_str(buf.trim().trim_matches('"')); + } else if in_next_marker { + next_marker = Some(buf.trim().to_string()); + } + } + Ok(Event::End(e)) => { + let name = String::from_utf8_lossy(e.name().as_ref()).to_string(); + match name.as_str() { + "Contents" => { + in_contents = false; + if cur_key.ends_with(".csv.gz") { + let filename = extract_filename(&cur_key); + files.push(RemoteFile { + key: cur_key.clone(), + filename, + size: cur_size, + etag: cur_etag.clone(), + }); + } + } + "Key" => in_key = false, + "Size" => in_size = false, + "ETag" => in_etag = false, + "NextMarker" => in_next_marker = false, + _ => {} + } + } + Ok(Event::Eof) => break, + Err(e) => anyhow::bail!("XML parse error: {}", e), + _ => {} + } + } + + Ok((files, next_marker)) +} + +fn extract_filename(key: &str) -> String { + key.rsplit('/').next().unwrap_or(key).to_string() +} + +fn load_manifest(path: &Path) -> Manifest { + match fs::read_to_string(path) { + Ok(data) => serde_json::from_str(&data).unwrap_or(Manifest { + files: HashMap::new(), + }), + Err(_) => Manifest { + files: HashMap::new(), + }, + } +} + +fn save_manifest(manifest: &Manifest, path: &Path) -> anyhow::Result<()> { + let json = serde_json::to_string_pretty(manifest)?; + fs::write(path, json)?; + Ok(()) +} + +fn plan_downloads<'a>( + remote: &'a [RemoteFile], + manifest: &Manifest, + output_dir: &Path, +) -> Vec<&'a RemoteFile> { + remote + .iter() + .filter(|f| !is_already_good(f, manifest, output_dir)) + .collect() +} + +fn is_already_good(file: &RemoteFile, manifest: &Manifest, output_dir: &Path) -> bool { + let local_path = output_dir.join(&file.filename); + let meta = match fs::metadata(&local_path) { + Ok(m) => m, + Err(_) => return false, + }; + if meta.len() != file.size { + return false; + } + if let Some(entry) = manifest.files.get(&file.filename) { + return entry.etag == file.etag && entry.size == file.size && entry.downloaded; + } + false +} + +fn download_with_retry( + key: &str, + dest: &Path, + expected_size: u64, + max_retries: u32, +) -> anyhow::Result { + let url = format!("{}{}", CDN_BASE, key); + let mut last_err = None; + + for attempt in 0..=max_retries { + if attempt > 0 { + eprintln!(" Retry {}/{} for {}", attempt, max_retries, key); + } + match download_file(&url, dest, expected_size) { + Ok(etag) => return Ok(etag), + Err(e) => { + last_err = Some(e); + if dest.exists() { + let _ = fs::remove_file(dest); + } + } + } + } + + Err(last_err.unwrap()) +} + +fn download_file(url: &str, dest: &Path, expected_size: u64) -> anyhow::Result { + let response = + reqwest::blocking::get(url).with_context(|| format!("Failed to connect: {}", url))?; + + if !response.status().is_success() { + anyhow::bail!("HTTP {}", response.status()); + } + + let etag = response + .headers() + .get("etag") + .and_then(|v| v.to_str().ok()) + .map(|s| s.trim_matches('"').to_string()) + .unwrap_or_default(); + + let tmp_path = dest.with_extension("csv.gz.tmp"); + let mut file = + File::create(&tmp_path).with_context(|| format!("Failed to create {:?}", tmp_path))?; + + let bytes = response.bytes().context("Failed to read body")?; + file.write_all(&bytes)?; + file.flush()?; + drop(file); + + let written = fs::metadata(&tmp_path)?.len(); + if written != expected_size { + let _ = fs::remove_file(&tmp_path); + anyhow::bail!( + "Size mismatch: expected {} got {} for {}", + expected_size, + written, + url + ); + } + + fs::rename(&tmp_path, dest) + .with_context(|| format!("Failed to rename {:?} -> {:?}", tmp_path, dest))?; + + Ok(etag) +} + +fn update_manifest(manifest: &mut Manifest, remote: &[RemoteFile], output_dir: &Path) { + for file in remote { + let local_path = output_dir.join(&file.filename); + let ok = match fs::metadata(&local_path) { + Ok(m) => m.len() == file.size, + Err(_) => false, + }; + if ok { + manifest.files.insert( + file.filename.clone(), + FileEntry { + etag: file.etag.clone(), + size: file.size, + downloaded: true, + }, + ); + } + } +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/gaia.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/gaia.rs new file mode 100644 index 0000000..0251d42 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/gaia.rs @@ -0,0 +1,216 @@ +//! Gaia DR3 ECSV parser +//! +//! Handles gzipped ECSV format with `#` metadata lines. + +use std::collections::HashMap; +use std::io::BufRead; + +pub struct GaiaStarRaw { + pub source_id: i64, + pub ra: f64, + pub dec: f64, + pub pmra: f64, + pub pmdec: f64, + pub parallax: f64, + pub mag: f32, + pub flags: u16, +} + +pub const FLAG_HAS_PROPER_MOTION: u16 = 1 << 0; +pub const FLAG_HAS_PARALLAX: u16 = 1 << 1; +pub const FLAG_RUWE_SUSPECT: u16 = 1 << 2; +pub const FLAG_NO_5PARAM: u16 = 1 << 3; +pub const FLAG_BP_RP_EXCESS_SUSPECT: u16 = 1 << 4; +pub const FLAG_SOURCE_HIPPARCOS: u16 = 1 << 5; + +struct ColumnIndices { + source_id: usize, + ra: usize, + dec: usize, + pmra: usize, + pmdec: usize, + parallax: usize, + phot_g_mean_mag: usize, + ruwe: usize, + astrometric_params_solved: usize, + duplicated_source: usize, + phot_bp_rp_excess_factor: usize, +} + +pub struct GaiaParser { + reader: R, + indices: ColumnIndices, + mag_limit: f32, + line_buf: String, +} + +impl GaiaParser { + pub fn new(mut reader: R, mag_limit: f32) -> anyhow::Result { + let indices = Self::parse_header(&mut reader)?; + Ok(Self { + reader, + indices, + mag_limit, + line_buf: String::with_capacity(4096), + }) + } + + fn parse_header(reader: &mut R) -> anyhow::Result { + let mut line = String::new(); + loop { + line.clear(); + if reader.read_line(&mut line)? == 0 { + anyhow::bail!("EOF before finding header"); + } + if !line.starts_with('#') { + break; + } + } + Self::build_column_indices(&line) + } + + fn build_column_indices(header_line: &str) -> anyhow::Result { + let mut col_map: HashMap<&str, usize> = HashMap::new(); + for (idx, col) in header_line.trim().split(',').enumerate() { + col_map.insert(col, idx); + } + Ok(ColumnIndices { + source_id: Self::require_column(&col_map, "source_id")?, + ra: Self::require_column(&col_map, "ra")?, + dec: Self::require_column(&col_map, "dec")?, + pmra: Self::require_column(&col_map, "pmra")?, + pmdec: Self::require_column(&col_map, "pmdec")?, + parallax: Self::require_column(&col_map, "parallax")?, + phot_g_mean_mag: Self::require_column(&col_map, "phot_g_mean_mag")?, + ruwe: Self::require_column(&col_map, "ruwe")?, + astrometric_params_solved: Self::require_column(&col_map, "astrometric_params_solved")?, + duplicated_source: Self::require_column(&col_map, "duplicated_source")?, + phot_bp_rp_excess_factor: Self::require_column(&col_map, "phot_bp_rp_excess_factor")?, + }) + } + + fn require_column(col_map: &HashMap<&str, usize>, name: &str) -> anyhow::Result { + col_map + .get(name) + .copied() + .ok_or_else(|| anyhow::anyhow!("Missing column: {}", name)) + } +} + +impl Iterator for GaiaParser { + type Item = anyhow::Result; + + fn next(&mut self) -> Option { + loop { + self.line_buf.clear(); + match self.reader.read_line(&mut self.line_buf) { + Ok(0) => return None, + Ok(_) => {} + Err(e) => return Some(Err(e.into())), + } + if self.line_buf.starts_with('#') { + continue; + } + match self.parse_row() { + Ok(Some(star)) => return Some(Ok(star)), + Ok(None) => continue, + Err(e) => return Some(Err(e)), + } + } + } +} + +impl GaiaParser { + fn parse_row(&self) -> anyhow::Result> { + let fields: Vec<&str> = self.line_buf.trim().split(',').collect(); + if self.should_skip_row(&fields) { + return Ok(None); + } + let mag = parse_f32(fields.get(self.indices.phot_g_mean_mag).copied()); + if mag.is_none() || mag.unwrap() > self.mag_limit { + return Ok(None); + } + Ok(Some(self.build_star(&fields, mag.unwrap()))) + } + + fn should_skip_row(&self, fields: &[&str]) -> bool { + let dup = fields + .get(self.indices.duplicated_source) + .copied() + .unwrap_or(""); + dup.eq_ignore_ascii_case("true") + } + + fn build_star(&self, fields: &[&str], mag: f32) -> GaiaStarRaw { + let pmra = parse_f64(fields.get(self.indices.pmra).copied()); + let pmdec = parse_f64(fields.get(self.indices.pmdec).copied()); + let parallax = parse_f64(fields.get(self.indices.parallax).copied()); + let flags = self.compute_flags(fields, pmra, pmdec, parallax); + GaiaStarRaw { + source_id: parse_i64(fields.get(self.indices.source_id).copied()).unwrap_or(0), + ra: parse_f64(fields.get(self.indices.ra).copied()).unwrap_or(0.0), + dec: parse_f64(fields.get(self.indices.dec).copied()).unwrap_or(0.0), + pmra: pmra.unwrap_or(0.0), + pmdec: pmdec.unwrap_or(0.0), + parallax: parallax.unwrap_or(0.0), + mag, + flags, + } + } + + fn compute_flags( + &self, + fields: &[&str], + pmra: Option, + pmdec: Option, + parallax: Option, + ) -> u16 { + let mut flags = 0u16; + if pmra.is_some() && pmdec.is_some() { + flags |= FLAG_HAS_PROPER_MOTION; + } + if parallax.is_some() { + flags |= FLAG_HAS_PARALLAX; + } + flags |= self.compute_quality_flags(fields); + flags + } + + fn compute_quality_flags(&self, fields: &[&str]) -> u16 { + let mut flags = 0u16; + if let Some(ruwe) = parse_f32(fields.get(self.indices.ruwe).copied()) { + if ruwe > 1.4 { + flags |= FLAG_RUWE_SUSPECT; + } + } + if let Some(params) = parse_i8(fields.get(self.indices.astrometric_params_solved).copied()) + { + if params != 31 { + flags |= FLAG_NO_5PARAM; + } + } + if let Some(excess) = parse_f32(fields.get(self.indices.phot_bp_rp_excess_factor).copied()) + { + if excess > 3.0 { + flags |= FLAG_BP_RP_EXCESS_SUSPECT; + } + } + flags + } +} + +fn parse_i64(s: Option<&str>) -> Option { + s.and_then(|v| if v.is_empty() { None } else { v.parse().ok() }) +} + +fn parse_i8(s: Option<&str>) -> Option { + s.and_then(|v| if v.is_empty() { None } else { v.parse().ok() }) +} + +fn parse_f64(s: Option<&str>) -> Option { + s.and_then(|v| if v.is_empty() { None } else { v.parse().ok() }) +} + +fn parse_f32(s: Option<&str>) -> Option { + s.and_then(|v| if v.is_empty() { None } else { v.parse().ok() }) +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_gaia.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_gaia.rs new file mode 100644 index 0000000..08c0942 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_gaia.rs @@ -0,0 +1,426 @@ +//! Gaia DR3 catalog ingestion + +use crate::cli::{Cli, IngestGaiaArgs}; +use crate::gaia::{GaiaParser, GaiaStarRaw}; +use anyhow::Context; +use flate2::read::GzDecoder; +use indicatif::{ProgressBar, ProgressStyle}; +use rayon::prelude::*; +use std::fs::{self, File}; +use std::io::{BufReader, BufWriter, Read, Seek, SeekFrom, Write}; +use std::path::{Path, PathBuf}; +use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::Mutex; + +const RECORD_SIZE: usize = 56; +const PART_HEADER_SIZE: usize = 8; +const FINAL_MAGIC: &[u8; 4] = b"GAIA"; +const FINAL_VERSION: u32 = 1; + +#[repr(C)] +struct StarRecord { + source_id: i64, + ra: f64, + dec: f64, + pmra: f64, + pmdec: f64, + parallax: f64, + mag: f32, + flags: u16, + _padding: u16, +} + +struct FileStats { + kept: u64, + scanned: u64, +} + +pub fn run(args: &IngestGaiaArgs, cli: &Cli) -> anyhow::Result<()> { + validate_args(args)?; + let files = find_gzipped_csvs(&args.path)?; + if files.is_empty() { + anyhow::bail!("No .csv.gz files found in {:?}", args.path); + } + print_plan(args, files.len()); + configure_thread_pool(args.threads)?; + let files_to_process = filter_already_processed(&files, &args.output)?; + println!( + "Files to process: {} (skipping {} already done)", + files_to_process.len(), + files.len() - files_to_process.len() + ); + if !files_to_process.is_empty() { + process_files(&files_to_process, args, cli)?; + } + if args.no_concat { + println!("Skipping concatenation (--no-concat)"); + return Ok(()); + } + concatenate_part_files(&args.output, args.mag_limit) +} + +fn validate_args(args: &IngestGaiaArgs) -> anyhow::Result<()> { + if !args.path.exists() { + anyhow::bail!("Gaia directory does not exist: {:?}", args.path); + } + if !args.path.is_dir() { + anyhow::bail!("Gaia path is not a directory: {:?}", args.path); + } + if !args.output.exists() { + fs::create_dir_all(&args.output)?; + } + Ok(()) +} + +fn find_gzipped_csvs(dir: &Path) -> anyhow::Result> { + let mut files = Vec::new(); + for entry in fs::read_dir(dir)? { + let path = entry?.path(); + if is_gzipped_csv(&path) { + files.push(path); + } + } + files.sort(); + Ok(files) +} + +fn is_gzipped_csv(path: &Path) -> bool { + path.extension().is_some_and(|e| e == "gz") + && path + .file_stem() + .and_then(|s| s.to_str()) + .is_some_and(|s| s.ends_with(".csv")) +} + +fn filter_already_processed(files: &[PathBuf], output_dir: &Path) -> anyhow::Result> { + Ok(files + .iter() + .filter(|f| !part_file_exists(f, output_dir)) + .cloned() + .collect()) +} + +fn part_file_exists(input: &Path, output_dir: &Path) -> bool { + let Some(part_path) = compute_part_path(input, output_dir) else { + return false; + }; + part_path.exists() + && fs::metadata(&part_path) + .map(|m| m.len() > 0) + .unwrap_or(false) +} + +fn extract_numeric_portion(filename: &str) -> Option<&str> { + let stem = filename.strip_suffix(".csv.gz")?; + stem.strip_prefix("GaiaSource_") +} + +fn compute_part_path(input: &Path, output_dir: &Path) -> Option { + let filename = input.file_name()?.to_str()?; + let numeric = extract_numeric_portion(filename)?; + Some(output_dir.join(format!("gaia_part_{}.bin", numeric))) +} + +fn print_plan(args: &IngestGaiaArgs, file_count: usize) { + println!("=== Gaia DR3 Ingestion ==="); + println!("Input directory: {:?}", args.path); + println!("Files found: {}", file_count); + println!("Magnitude limit: {:.1}", args.mag_limit); + println!("Output directory: {:?}", args.output); + println!("Threads: {}", resolve_threads(args.threads)); + println!(); +} + +fn resolve_threads(threads: usize) -> usize { + if threads == 0 { + std::thread::available_parallelism() + .map(|n| n.get()) + .unwrap_or(1) + } else { + threads + } +} + +fn configure_thread_pool(threads: usize) -> anyhow::Result<()> { + rayon::ThreadPoolBuilder::new() + .num_threads(resolve_threads(threads)) + .build_global() + .ok(); + Ok(()) +} + +fn process_files(files: &[PathBuf], args: &IngestGaiaArgs, cli: &Cli) -> anyhow::Result<()> { + let pb = create_progress_bar(files.len() as u64); + let total_kept = AtomicU64::new(0); + let total_scanned = AtomicU64::new(0); + let errors = AtomicU64::new(0); + let failed_files: Mutex> = Mutex::new(Vec::new()); + + files.par_iter().for_each(|file| { + let result = process_single_file(file, args, cli, &total_kept, &total_scanned); + if let Err(e) = result { + eprintln!( + "\nWarning: {:?}: {}", + file.file_name().unwrap_or_default(), + e + ); + errors.fetch_add(1, Ordering::Relaxed); + if let Ok(mut failed) = failed_files.lock() { + failed.push((file.clone(), e.to_string())); + } + } + pb.inc(1); + }); + + pb.finish_with_message("Done"); + write_failed_log(&args.output, &failed_files)?; + print_summary(files.len(), &total_kept, &total_scanned, &errors) +} + +fn write_failed_log( + output_dir: &Path, + failed: &Mutex>, +) -> anyhow::Result<()> { + let failed = failed + .lock() + .map_err(|e| anyhow::anyhow!("Lock error: {}", e))?; + if failed.is_empty() { + return Ok(()); + } + let log_path = output_dir.join("failed_files.log"); + let mut file = File::create(&log_path)?; + for (path, error) in failed.iter() { + writeln!(file, "{}\t{}", path.display(), error)?; + } + println!("Failed files logged to: {:?}", log_path); + Ok(()) +} + +fn create_progress_bar(total: u64) -> ProgressBar { + let pb = ProgressBar::new(total); + pb.set_style( + ProgressStyle::default_bar() + .template("{spinner:.green} [{bar:40.cyan/blue}] {pos}/{len} ({eta})") + .unwrap() + .progress_chars("#>-"), + ); + pb +} + +fn process_single_file( + path: &Path, + args: &IngestGaiaArgs, + cli: &Cli, + total_kept: &AtomicU64, + total_scanned: &AtomicU64, +) -> anyhow::Result<()> { + let output_path = + compute_part_path(path, &args.output).context("Failed to compute output path")?; + let stats = stream_and_filter(path, &output_path, args.mag_limit)?; + total_kept.fetch_add(stats.kept, Ordering::Relaxed); + total_scanned.fetch_add(stats.scanned, Ordering::Relaxed); + if cli.verbose { + let name = path.file_name().unwrap_or_default(); + eprintln!( + "\n{:?}: kept={}, scanned={}", + name, stats.kept, stats.scanned + ); + } + Ok(()) +} + +fn stream_and_filter(input: &Path, output: &Path, mag_limit: f32) -> anyhow::Result { + let file = File::open(input)?; + let mut decoder = GzDecoder::new(BufReader::new(file)); + validate_gzip_header(&mut decoder, input)?; + let buf_reader = BufReader::new(decoder); + let parser = GaiaParser::new(buf_reader, mag_limit)?; + let temp_path = output.with_extension("bin.tmp"); + let stats = write_part_file(parser, &temp_path)?; + fs::rename(&temp_path, output)?; + Ok(stats) +} + +fn validate_gzip_header(decoder: &mut GzDecoder, path: &Path) -> anyhow::Result<()> { + let header = decoder.header(); + if header.is_none() { + anyhow::bail!("Invalid or corrupt gzip file: {:?}", path); + } + Ok(()) +} + +fn write_part_file( + parser: GaiaParser, + output: &Path, +) -> anyhow::Result { + let file = File::create(output)?; + let mut writer = BufWriter::new(file); + writer.write_all(&[0u8; PART_HEADER_SIZE])?; + let mut stats = FileStats { + kept: 0, + scanned: 0, + }; + for result in parser { + stats.scanned += 1; + match result { + Ok(star) => { + write_star_record(&mut writer, &star)?; + stats.kept += 1; + } + Err(e) => { + // Decompression or parse error — bail immediately + anyhow::bail!("Error at row {}: {}", stats.scanned, e); + } + } + } + finalize_part_file(writer, stats) +} + +fn finalize_part_file(mut writer: BufWriter, stats: FileStats) -> anyhow::Result { + writer.flush()?; + let mut file = writer.into_inner()?; + file.seek(SeekFrom::Start(0))?; + file.write_all(&stats.kept.to_le_bytes())?; + Ok(stats) +} + +fn write_star_record(writer: &mut W, star: &GaiaStarRaw) -> anyhow::Result<()> { + let record = StarRecord { + source_id: star.source_id, + ra: star.ra, + dec: star.dec, + pmra: star.pmra, + pmdec: star.pmdec, + parallax: star.parallax, + mag: star.mag, + flags: star.flags, + _padding: 0, + }; + let bytes = unsafe { + std::slice::from_raw_parts(&record as *const StarRecord as *const u8, RECORD_SIZE) + }; + writer.write_all(bytes)?; + Ok(()) +} + +fn print_summary( + file_count: usize, + total_kept: &AtomicU64, + total_scanned: &AtomicU64, + errors: &AtomicU64, +) -> anyhow::Result<()> { + let kept = total_kept.load(Ordering::Relaxed); + let scanned = total_scanned.load(Ordering::Relaxed); + let errs = errors.load(Ordering::Relaxed); + println!(); + println!("=== Summary ==="); + println!("Files processed: {}", file_count); + println!("Stars scanned: {}", scanned); + println!("Stars kept: {}", kept); + if errs > 0 { + println!("Files with errors: {}", errs); + } + if errs == file_count as u64 { + anyhow::bail!("All files failed to process"); + } + Ok(()) +} + +fn concatenate_part_files(output_dir: &Path, mag_limit: f32) -> anyhow::Result<()> { + let part_files = collect_part_files(output_dir)?; + if part_files.is_empty() { + anyhow::bail!("No part files found in {:?}", output_dir); + } + println!("\n=== Concatenating {} part files ===", part_files.len()); + let final_path = output_dir.join("gaia_ingest.bin"); + let temp_path = final_path.with_extension("bin.tmp"); + let total_stars = write_final_catalog(&part_files, &temp_path, mag_limit)?; + fs::rename(&temp_path, &final_path)?; + println!("Written {} stars to {:?}", total_stars, final_path); + delete_part_files(&part_files)?; + Ok(()) +} + +fn collect_part_files(output_dir: &Path) -> anyhow::Result> { + let mut files: Vec = fs::read_dir(output_dir)? + .filter_map(|e| e.ok()) + .map(|e| e.path()) + .filter(|p| is_part_file(p)) + .collect(); + files.sort(); + Ok(files) +} + +fn is_part_file(path: &Path) -> bool { + path.file_name() + .and_then(|n| n.to_str()) + .map(|n| n.starts_with("gaia_part_") && n.ends_with(".bin")) + .unwrap_or(false) +} + +fn write_final_catalog( + part_files: &[PathBuf], + output: &Path, + mag_limit: f32, +) -> anyhow::Result { + let total_stars = count_total_stars(part_files)?; + let file = File::create(output)?; + let mut writer = BufWriter::new(file); + write_final_header(&mut writer, total_stars, mag_limit)?; + copy_star_records(&mut writer, part_files)?; + writer.flush()?; + Ok(total_stars) +} + +fn count_total_stars(part_files: &[PathBuf]) -> anyhow::Result { + let mut total = 0u64; + for path in part_files { + total += read_part_star_count(path)?; + } + Ok(total) +} + +fn read_part_star_count(path: &Path) -> anyhow::Result { + let mut file = File::open(path)?; + let mut buf = [0u8; 8]; + file.read_exact(&mut buf)?; + Ok(u64::from_le_bytes(buf)) +} + +fn write_final_header(writer: &mut W, total: u64, mag_limit: f32) -> anyhow::Result<()> { + writer.write_all(FINAL_MAGIC)?; + writer.write_all(&FINAL_VERSION.to_le_bytes())?; + writer.write_all(&total.to_le_bytes())?; + writer.write_all(&mag_limit.to_le_bytes())?; + writer.write_all(&[0u8; 4])?; + Ok(()) +} + +fn copy_star_records(writer: &mut W, part_files: &[PathBuf]) -> anyhow::Result<()> { + let mut buf = vec![0u8; 64 * 1024]; + for path in part_files { + copy_single_part(writer, path, &mut buf)?; + } + Ok(()) +} + +fn copy_single_part(writer: &mut W, path: &Path, buf: &mut [u8]) -> anyhow::Result<()> { + let mut file = File::open(path)?; + file.seek(SeekFrom::Start(PART_HEADER_SIZE as u64))?; + loop { + let n = file.read(buf)?; + if n == 0 { + break; + } + writer.write_all(&buf[..n])?; + } + Ok(()) +} + +fn delete_part_files(part_files: &[PathBuf]) -> anyhow::Result<()> { + for path in part_files { + fs::remove_file(path)?; + } + println!("Deleted {} part files", part_files.len()); + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_hipparcos.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_hipparcos.rs new file mode 100644 index 0000000..7925914 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/ingest_hipparcos.rs @@ -0,0 +1,399 @@ +//! Hipparcos New Reduction (van Leeuwen 2007) catalog ingestion +//! +//! Parses hip2.dat fixed-width format from I/311. +//! Auto-downloads from CDS if not present locally. +//! Epoch-propagates positions from J1991.25 to J2016.0. + +use crate::cli::{Cli, IngestHipparcosArgs}; +use crate::gaia::{FLAG_HAS_PARALLAX, FLAG_HAS_PROPER_MOTION, FLAG_SOURCE_HIPPARCOS}; +use anyhow::Context; +use std::collections::HashMap; +use std::fs::{self, File}; +use std::io::{BufRead, BufReader, BufWriter, Read, Write}; +use std::path::Path; + +const RECORD_SIZE: usize = 56; +const FINAL_MAGIC: &[u8; 4] = b"HIPP"; +const FINAL_VERSION: u32 = 2; +const HIPPARCOS_EPOCH: f64 = 1991.25; +const GAIA_EPOCH: f64 = 2016.0; +const DELTA_T_YEARS: f64 = GAIA_EPOCH - HIPPARCOS_EPOCH; +const HIP_SYNTHETIC_ID_BASE: i64 = 0x4000_0000_0000_0000; +const HIP2_URL: &str = "https://cdsarc.cds.unistra.fr/ftp/I/311/hip2.dat.gz"; +const CROSSMATCH_URL: &str = + "https://cdn.gea.esac.esa.int/Gaia/gedr3/cross_match/hipparcos2_best_neighbour/Hipparcos2BestNeighbour.csv.gz"; +const HIP2_FILENAME: &str = "hip2.dat"; +const CROSSMATCH_FILENAME: &str = "Hipparcos2BestNeighbour.csv"; + +#[repr(C)] +struct StarRecord { + source_id: i64, + ra: f64, + dec: f64, + pmra: f64, + pmdec: f64, + parallax: f64, + mag: f32, + flags: u16, + _padding: u16, +} + +#[allow(dead_code)] +struct Hip2Star { + hip: u32, + ra_rad: f64, + dec_rad: f64, + parallax: f64, + pmra: f64, + pmdec: f64, + hpmag: f32, + b_v: Option, + v_i: Option, + solution_type: u16, + num_components: u8, +} + +struct IngestStats { + total_parsed: u64, + kept_after_mag: u64, + with_gaia_match: u64, + without_match: u64, +} + +pub fn run(args: &IngestHipparcosArgs, cli: &Cli) -> anyhow::Result<()> { + fs::create_dir_all(&args.workdir)?; + fs::create_dir_all(&args.output)?; + let hip_path = ensure_file( + &args.workdir.join(HIP2_FILENAME), + HIP2_URL, + "hip2.dat (van Leeuwen 2007)", + )?; + let crossmatch_path = ensure_file( + &args.workdir.join(CROSSMATCH_FILENAME), + CROSSMATCH_URL, + "Hipparcos2BestNeighbour.csv (Gaia eDR3)", + )?; + print_plan(args, cli); + let crossmatch = load_crossmatch(&crossmatch_path)?; + println!("Loaded {} cross-match entries", crossmatch.len()); + let stars = parse_hip2(&hip_path, args.mag_limit)?; + println!( + "Parsed {} stars (mag <= {:.1})", + stars.len(), + args.mag_limit + ); + let stats = write_output(&stars, &crossmatch, &args.output, args.mag_limit)?; + print_validation(&stars, &crossmatch); + print_summary(&stats); + Ok(()) +} + +fn ensure_file(path: &Path, url: &str, label: &str) -> anyhow::Result { + if path.exists() { + println!("Found {}: {:?}", label, path); + return Ok(path.to_path_buf()); + } + let gz_path = path.with_extension(gz_extension(path)); + if gz_path.exists() { + println!("Decompressing {:?}...", gz_path); + decompress_gz(&gz_path, path)?; + return Ok(path.to_path_buf()); + } + println!("{} not found at {:?}", label, path); + println!("Downloading: {}", url); + download_and_decompress(url, path)?; + Ok(path.to_path_buf()) +} + +fn gz_extension(path: &Path) -> String { + let ext = path.extension().and_then(|e| e.to_str()).unwrap_or(""); + format!("{}.gz", ext) +} + +fn download_and_decompress(url: &str, dest: &Path) -> anyhow::Result<()> { + let response = + reqwest::blocking::get(url).with_context(|| format!("Failed to download {}", url))?; + if !response.status().is_success() { + anyhow::bail!("Download failed with status {}", response.status()); + } + let compressed = response.bytes().context("Failed to read response")?; + println!("Downloaded {:.1} MB", compressed.len() as f64 / 1_048_576.0); + let decoder = flate2::read::GzDecoder::new(&compressed[..]); + let mut reader = BufReader::new(decoder); + let mut file = File::create(dest)?; + let mut buf = vec![0u8; 256 * 1024]; + let mut written = 0u64; + loop { + let n = reader.read(&mut buf)?; + if n == 0 { + break; + } + file.write_all(&buf[..n])?; + written += n as u64; + } + println!( + "Decompressed to {:?} ({:.1} MB)", + dest, + written as f64 / 1_048_576.0 + ); + Ok(()) +} + +fn decompress_gz(gz_path: &Path, dest: &Path) -> anyhow::Result<()> { + let gz_file = File::open(gz_path)?; + let decoder = flate2::read::GzDecoder::new(BufReader::new(gz_file)); + let mut reader = BufReader::new(decoder); + let mut file = File::create(dest)?; + std::io::copy(&mut reader, &mut file)?; + Ok(()) +} + +fn print_plan(args: &IngestHipparcosArgs, cli: &Cli) { + println!("\n=== Hipparcos New Reduction Ingestion ==="); + println!("Workdir: {:?}", args.workdir); + println!("Magnitude limit: {:.1}", args.mag_limit); + println!("Output directory: {:?}", args.output); + println!("Verbose: {}", cli.verbose); + println!(); +} + +fn load_crossmatch(path: &Path) -> anyhow::Result> { + let file = File::open(path).context("Failed to open cross-match file")?; + let reader = BufReader::new(file); + let mut map = HashMap::new(); + for (line_num, line) in reader.lines().enumerate() { + let line = line?; + if line_num == 0 && line.contains("source_id") { + continue; + } + if let Some((hip, gaia_id)) = parse_crossmatch_line(&line) { + map.insert(hip, gaia_id); + } + } + Ok(map) +} + +fn parse_crossmatch_line(line: &str) -> Option<(u32, i64)> { + let fields: Vec<&str> = line.split(',').collect(); + if fields.len() < 2 { + return None; + } + let gaia_id: i64 = fields[0].trim().parse().ok()?; + let hip: u32 = fields[1].trim().parse().ok()?; + Some((hip, gaia_id)) +} + +fn parse_hip2(path: &Path, mag_limit: f32) -> anyhow::Result> { + let file = File::open(path).context("Failed to open hip2.dat")?; + let reader = BufReader::new(file); + let mut stars = Vec::with_capacity(120_000); + for (line_num, line) in reader.lines().enumerate() { + let line = line?; + match parse_hip2_line(&line) { + Some(star) if star.hpmag <= mag_limit => stars.push(star), + Some(_) => {} + None => { + if line.len() > 10 { + eprintln!("Warning: failed to parse line {}", line_num + 1); + } + } + } + } + Ok(stars) +} + +fn parse_hip2_line(line: &str) -> Option { + if line.len() < 171 { + return None; + } + let bytes = line.as_bytes(); + let hip: u32 = col(bytes, 0, 6)?.trim().parse().ok()?; + let sn: u16 = col(bytes, 7, 10)?.trim().parse().ok()?; + let nc: u8 = col(bytes, 13, 14)?.trim().parse().ok()?; + let ra_rad: f64 = col(bytes, 15, 28)?.trim().parse().ok()?; + let dec_rad: f64 = col(bytes, 29, 42)?.trim().parse().ok()?; + let parallax: f64 = col(bytes, 43, 50)?.trim().parse().unwrap_or(0.0); + let pmra: f64 = col(bytes, 51, 59)?.trim().parse().unwrap_or(0.0); + let pmdec: f64 = col(bytes, 60, 68)?.trim().parse().unwrap_or(0.0); + let hpmag_str = col(bytes, 129, 136)?.trim(); + if hpmag_str.is_empty() { + return None; + } + let hpmag: f32 = hpmag_str.parse().ok()?; + let b_v = col(bytes, 152, 158).and_then(|s| s.trim().parse::().ok()); + let v_i = col(bytes, 165, 171).and_then(|s| s.trim().parse::().ok()); + + Some(Hip2Star { + hip, + ra_rad, + dec_rad, + parallax, + pmra, + pmdec, + hpmag, + b_v, + v_i, + solution_type: sn, + num_components: nc, + }) +} + +fn col(bytes: &[u8], start: usize, end: usize) -> Option<&str> { + if end > bytes.len() { + return None; + } + std::str::from_utf8(&bytes[start..end]).ok() +} + +fn propagate_position(star: &Hip2Star) -> (f64, f64) { + let pmdec_rad_per_yr = star.pmdec / 3_600_000.0 * (cosmos_core::constants::PI / 180.0); + let pmra_rad_per_yr = star.pmra / 3_600_000.0 * (cosmos_core::constants::PI / 180.0); + let dec_2016 = star.dec_rad + pmdec_rad_per_yr * DELTA_T_YEARS; + let cos_dec = libm::cos(star.dec_rad); + let ra_2016 = if libm::fabs(cos_dec) > 1e-10 { + star.ra_rad + pmra_rad_per_yr * DELTA_T_YEARS / cos_dec + } else { + star.ra_rad + }; + (ra_2016, dec_2016) +} + +fn compute_source_id(hip: u32, crossmatch: &HashMap) -> i64 { + crossmatch + .get(&hip) + .copied() + .unwrap_or(HIP_SYNTHETIC_ID_BASE | hip as i64) +} + +fn compute_flags(star: &Hip2Star) -> u16 { + let mut flags = FLAG_SOURCE_HIPPARCOS; + if star.pmra != 0.0 || star.pmdec != 0.0 { + flags |= FLAG_HAS_PROPER_MOTION; + } + if star.parallax != 0.0 { + flags |= FLAG_HAS_PARALLAX; + } + flags +} + +fn write_output( + stars: &[Hip2Star], + crossmatch: &HashMap, + output_dir: &Path, + mag_limit: f32, +) -> anyhow::Result { + let output_path = output_dir.join("hipparcos_ingest.bin"); + let file = File::create(&output_path)?; + let mut writer = BufWriter::new(file); + write_header(&mut writer, stars.len() as u64, mag_limit)?; + let stats = write_records(&mut writer, stars, crossmatch)?; + writer.flush()?; + println!("Written {} stars to {:?}", stars.len(), output_path); + Ok(stats) +} + +fn write_header(w: &mut W, count: u64, mag_limit: f32) -> anyhow::Result<()> { + w.write_all(FINAL_MAGIC)?; + w.write_all(&FINAL_VERSION.to_le_bytes())?; + w.write_all(&count.to_le_bytes())?; + w.write_all(&mag_limit.to_le_bytes())?; + w.write_all(&[0u8; 4])?; + Ok(()) +} + +fn write_records( + writer: &mut W, + stars: &[Hip2Star], + crossmatch: &HashMap, +) -> anyhow::Result { + let mut stats = IngestStats { + total_parsed: stars.len() as u64, + kept_after_mag: stars.len() as u64, + with_gaia_match: 0, + without_match: 0, + }; + for star in stars { + let (ra_2016, dec_2016) = propagate_position(star); + let source_id = compute_source_id(star.hip, crossmatch); + if crossmatch.contains_key(&star.hip) { + stats.with_gaia_match += 1; + } else { + stats.without_match += 1; + } + write_star_record(writer, star, ra_2016, dec_2016, source_id)?; + } + Ok(stats) +} + +fn write_star_record( + writer: &mut W, + star: &Hip2Star, + ra_rad: f64, + dec_rad: f64, + source_id: i64, +) -> anyhow::Result<()> { + let record = StarRecord { + source_id, + ra: ra_rad * 180.0 / cosmos_core::constants::PI, + dec: dec_rad * 180.0 / cosmos_core::constants::PI, + pmra: star.pmra, + pmdec: star.pmdec, + parallax: star.parallax, + mag: star.hpmag, + flags: compute_flags(star), + _padding: 0, + }; + let bytes = unsafe { + std::slice::from_raw_parts(&record as *const StarRecord as *const u8, RECORD_SIZE) + }; + writer.write_all(bytes)?; + Ok(()) +} + +fn print_validation(stars: &[Hip2Star], crossmatch: &HashMap) { + println!("\n=== Validation (known stars) ==="); + validate_star(stars, crossmatch, 32349, "Sirius"); + validate_star(stars, crossmatch, 91262, "Vega"); +} + +fn validate_star(stars: &[Hip2Star], crossmatch: &HashMap, hip: u32, name: &str) { + let Some(star) = stars.iter().find(|s| s.hip == hip) else { + println!("HIP {} ({}): not found in filtered catalog", hip, name); + return; + }; + let (ra_2016, dec_2016) = propagate_position(star); + let source_id = compute_source_id(hip, crossmatch); + let ra_deg = ra_2016 * 180.0 / cosmos_core::constants::PI; + let dec_deg = dec_2016 * 180.0 / cosmos_core::constants::PI; + let match_status = if crossmatch.contains_key(&hip) { + "Gaia match" + } else { + "synthetic ID" + }; + println!( + "HIP {} ({}): RA={:.6} Dec={:.6} deg (J2016.0), Hp={:.3}, {}", + hip, name, ra_deg, dec_deg, star.hpmag, match_status + ); + let orig_ra_deg = star.ra_rad * 180.0 / cosmos_core::constants::PI; + let orig_dec_deg = star.dec_rad * 180.0 / cosmos_core::constants::PI; + println!( + " Original (J1991.25): RA={:.6} Dec={:.6} deg", + orig_ra_deg, orig_dec_deg + ); + println!( + " PM: pmRA={:.2} mas/yr, pmDec={:.2} mas/yr", + star.pmra, star.pmdec + ); + if let Some(bv) = star.b_v { + println!(" B-V={:.3}", bv); + } + println!(" Source ID: {}", source_id); +} + +fn print_summary(stats: &IngestStats) { + println!("\n=== Summary ==="); + println!("Total parsed: {}", stats.total_parsed); + println!("Kept after mag filter: {}", stats.kept_after_mag); + println!("With Gaia match: {}", stats.with_gaia_match); + println!("Without match (synthetic ID): {}", stats.without_match); +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/main.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/main.rs new file mode 100644 index 0000000..f37d8e5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/main.rs @@ -0,0 +1,31 @@ +//! Forge: astronomical catalog data pipeline CLI +//! +//! Ingests raw catalog data (Gaia DR3, Hipparcos) and produces +//! a unified HEALPix-indexed binary catalog. + +mod build_index; +mod cli; +mod download_gaia; +mod gaia; +mod ingest_gaia; +mod ingest_hipparcos; +mod merge; + +use clap::Parser; +use cli::{Cli, Commands}; + +fn main() -> anyhow::Result<()> { + let cli = Cli::parse(); + + if cli.verbose { + eprintln!("Verbose mode enabled"); + } + + match &cli.command { + Commands::DownloadGaia(args) => download_gaia::run(args, &cli), + Commands::IngestGaia(args) => ingest_gaia::run(args, &cli), + Commands::IngestHipparcos(args) => ingest_hipparcos::run(args, &cli), + Commands::Merge(args) => merge::run(args, &cli), + Commands::BuildIndex(args) => build_index::run(args, &cli), + } +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/forge/merge.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/merge.rs new file mode 100644 index 0000000..e4938fe --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/forge/merge.rs @@ -0,0 +1,278 @@ +//! Catalog merging: Hipparcos + Gaia deduplication +//! +//! Hipparcos stars (cross-matched at ingest time) take priority over Gaia. +//! Streams through Gaia, skips duplicates, writes merged output. + +use crate::cli::{Cli, MergeArgs}; +use crate::gaia::FLAG_SOURCE_HIPPARCOS; +use std::collections::HashSet; +use std::fs::{self, File}; +use std::io::{BufReader, BufWriter, Read, Seek, SeekFrom, Write}; +use std::path::Path; + +const RECORD_SIZE: usize = 56; +const HEADER_SIZE: usize = 24; +const MERGED_MAGIC: &[u8; 4] = b"MERG"; +const MERGED_VERSION: u32 = 1; +const EPOCH_J2016: f64 = 2016.0; + +#[repr(C)] +struct StarRecord { + source_id: i64, + ra: f64, + dec: f64, + pmra: f64, + pmdec: f64, + parallax: f64, + mag: f32, + flags: u16, + _padding: u16, +} + +struct MergeStats { + hipparcos_count: u64, + gaia_scanned: u64, + gaia_skipped: u64, + gaia_kept: u64, +} + +pub fn run(args: &MergeArgs, cli: &Cli) -> anyhow::Result<()> { + validate_paths(args)?; + print_plan(args, cli); + let hipparcos_ids = load_hipparcos_source_ids(args)?; + let stats = merge_catalogs(args, &hipparcos_ids)?; + print_stats(&stats); + validate_output(args)?; + Ok(()) +} + +fn validate_paths(args: &MergeArgs) -> anyhow::Result<()> { + if !args.workdir.exists() { + anyhow::bail!("Working directory does not exist: {:?}", args.workdir); + } + let hip_path = args.workdir.join("hipparcos_ingest.bin"); + if !hip_path.exists() { + anyhow::bail!("Hipparcos ingest file not found: {:?}", hip_path); + } + let gaia_path = args.workdir.join("gaia_ingest.bin"); + if !gaia_path.exists() { + anyhow::bail!("Gaia ingest file not found: {:?}", gaia_path); + } + Ok(()) +} + +fn print_plan(args: &MergeArgs, cli: &Cli) { + println!("=== Catalog Merge ==="); + println!("Working directory: {:?}", args.workdir); + println!("Verbose: {}", cli.verbose); + println!(); +} + +fn load_hipparcos_source_ids(args: &MergeArgs) -> anyhow::Result> { + let path = args.workdir.join("hipparcos_ingest.bin"); + let (count, mut reader) = open_catalog_file(&path)?; + println!("Loading {} Hipparcos source IDs...", count); + let mut ids = HashSet::with_capacity(count as usize); + let mut buf = [0u8; RECORD_SIZE]; + for _ in 0..count { + reader.read_exact(&mut buf)?; + let source_id = i64::from_le_bytes(buf[0..8].try_into().unwrap()); + ids.insert(source_id); + } + println!("Loaded {} Hipparcos source IDs", ids.len()); + Ok(ids) +} + +fn open_catalog_file(path: &Path) -> anyhow::Result<(u64, BufReader)> { + let file = File::open(path)?; + let mut reader = BufReader::new(file); + let mut header = [0u8; HEADER_SIZE]; + reader.read_exact(&mut header)?; + let count = u64::from_le_bytes(header[8..16].try_into().unwrap()); + Ok((count, reader)) +} + +fn merge_catalogs(args: &MergeArgs, hipparcos_ids: &HashSet) -> anyhow::Result { + let output_path = args.workdir.join("merged.bin"); + let temp_path = output_path.with_extension("bin.tmp"); + let file = File::create(&temp_path)?; + let mut writer = BufWriter::new(file); + write_placeholder_header(&mut writer)?; + let hip_count = write_hipparcos_records(args, &mut writer)?; + let (gaia_scanned, gaia_skipped, gaia_kept) = + stream_gaia_records(args, &mut writer, hipparcos_ids)?; + let total = hip_count + gaia_kept; + finalize_output(&mut writer, total)?; + drop(writer); + fs::rename(&temp_path, &output_path)?; + println!("Written {} stars to {:?}", total, output_path); + Ok(MergeStats { + hipparcos_count: hip_count, + gaia_scanned, + gaia_skipped, + gaia_kept, + }) +} + +fn write_placeholder_header(writer: &mut W) -> anyhow::Result<()> { + writer.write_all(&[0u8; HEADER_SIZE])?; + Ok(()) +} + +fn write_hipparcos_records(args: &MergeArgs, writer: &mut BufWriter) -> anyhow::Result { + let path = args.workdir.join("hipparcos_ingest.bin"); + let (count, mut reader) = open_catalog_file(&path)?; + println!("Writing {} Hipparcos records...", count); + copy_records(&mut reader, writer, count)?; + Ok(count) +} + +fn copy_records( + reader: &mut R, + writer: &mut W, + count: u64, +) -> anyhow::Result<()> { + let mut buf = vec![0u8; 64 * 1024]; + let total_bytes = count * RECORD_SIZE as u64; + let mut remaining = total_bytes; + while remaining > 0 { + let to_read = remaining.min(buf.len() as u64) as usize; + reader.read_exact(&mut buf[..to_read])?; + writer.write_all(&buf[..to_read])?; + remaining -= to_read as u64; + } + Ok(()) +} + +fn stream_gaia_records( + args: &MergeArgs, + writer: &mut BufWriter, + hipparcos_ids: &HashSet, +) -> anyhow::Result<(u64, u64, u64)> { + let path = args.workdir.join("gaia_ingest.bin"); + let (count, mut reader) = open_catalog_file(&path)?; + println!("Streaming {} Gaia records...", count); + let (skipped, kept) = filter_gaia_records(&mut reader, writer, count, hipparcos_ids)?; + Ok((count, skipped, kept)) +} + +fn filter_gaia_records( + reader: &mut R, + writer: &mut W, + count: u64, + hipparcos_ids: &HashSet, +) -> anyhow::Result<(u64, u64)> { + let mut buf = [0u8; RECORD_SIZE]; + let mut skipped = 0u64; + let mut kept = 0u64; + for _ in 0..count { + reader.read_exact(&mut buf)?; + let source_id = i64::from_le_bytes(buf[0..8].try_into().unwrap()); + if hipparcos_ids.contains(&source_id) { + skipped += 1; + } else { + writer.write_all(&buf)?; + kept += 1; + } + } + Ok((skipped, kept)) +} + +fn finalize_output(writer: &mut BufWriter, total_stars: u64) -> anyhow::Result<()> { + writer.flush()?; + let file = writer.get_mut(); + file.seek(SeekFrom::Start(0))?; + write_final_header(file, total_stars)?; + Ok(()) +} + +fn write_final_header(writer: &mut W, total: u64) -> anyhow::Result<()> { + writer.write_all(MERGED_MAGIC)?; + writer.write_all(&MERGED_VERSION.to_le_bytes())?; + writer.write_all(&total.to_le_bytes())?; + writer.write_all(&(EPOCH_J2016 as f32).to_le_bytes())?; + writer.write_all(&[0u8; 4])?; + Ok(()) +} + +fn print_stats(stats: &MergeStats) { + println!(); + println!("=== Merge Statistics ==="); + println!("Hipparcos stars loaded: {}", stats.hipparcos_count); + println!("Gaia stars scanned: {}", stats.gaia_scanned); + println!("Gaia stars skipped (duplicates): {}", stats.gaia_skipped); + println!("Gaia stars kept: {}", stats.gaia_kept); + println!("Total merged: {}", stats.hipparcos_count + stats.gaia_kept); +} + +fn validate_output(args: &MergeArgs) -> anyhow::Result<()> { + let path = args.workdir.join("merged.bin"); + let (count, mut reader) = open_catalog_file(&path)?; + println!(); + println!("=== Validation (sample records) ==="); + println!("Total stars in merged catalog: {}", count); + print_hipparcos_samples(&mut reader, count)?; + let path = args.workdir.join("merged.bin"); + let (_, mut reader) = open_catalog_file(&path)?; + print_gaia_samples(&mut reader, count)?; + Ok(()) +} + +fn print_hipparcos_samples(reader: &mut R, count: u64) -> anyhow::Result<()> { + println!(); + println!("Hipparcos-flagged records:"); + let mut found = 0; + let mut buf = [0u8; RECORD_SIZE]; + for i in 0..count.min(10000) { + reader.read_exact(&mut buf)?; + let record = parse_record(&buf); + if record.flags & FLAG_SOURCE_HIPPARCOS != 0 { + print_record(i, &record); + found += 1; + if found >= 3 { + break; + } + } + } + Ok(()) +} + +fn print_gaia_samples(reader: &mut R, count: u64) -> anyhow::Result<()> { + println!(); + println!("Gaia records (no Hipparcos flag):"); + let mut found = 0; + let mut buf = [0u8; RECORD_SIZE]; + for i in 0..count.min(100000) { + reader.read_exact(&mut buf)?; + let record = parse_record(&buf); + if record.flags & FLAG_SOURCE_HIPPARCOS == 0 { + print_record(i, &record); + found += 1; + if found >= 3 { + break; + } + } + } + Ok(()) +} + +fn parse_record(buf: &[u8; RECORD_SIZE]) -> StarRecord { + StarRecord { + source_id: i64::from_le_bytes(buf[0..8].try_into().unwrap()), + ra: f64::from_le_bytes(buf[8..16].try_into().unwrap()), + dec: f64::from_le_bytes(buf[16..24].try_into().unwrap()), + pmra: f64::from_le_bytes(buf[24..32].try_into().unwrap()), + pmdec: f64::from_le_bytes(buf[32..40].try_into().unwrap()), + parallax: f64::from_le_bytes(buf[40..48].try_into().unwrap()), + mag: f32::from_le_bytes(buf[48..52].try_into().unwrap()), + flags: u16::from_le_bytes(buf[52..54].try_into().unwrap()), + _padding: 0, + } +} + +fn print_record(index: u64, record: &StarRecord) { + println!( + " [{}] source_id={}, RA={:.6}, Dec={:.6}, mag={:.2}, flags=0x{:04x}", + index, record.source_id, record.ra, record.dec, record.mag, record.flags + ); +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/bin/query.rs b/01_yachay/cosmos/cosmos-catalog/src/bin/query.rs new file mode 100644 index 0000000..1df14bc --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/bin/query.rs @@ -0,0 +1,249 @@ +use cosmos_catalog::query::catalog::FLAG_SOURCE_HIPPARCOS; +use cosmos_catalog::query::{cone_search, Catalog, ConeSearchParams, ConeSearchResult}; +use cosmos_core::angle::{AngleUnits, DmsFmt, HmsFmt}; +use cosmos_core::Angle; +use cosmos_time::JulianDate; +use clap::{Parser, Subcommand, ValueEnum}; +use std::path::PathBuf; +use std::time::Instant; + +#[derive(Clone, ValueEnum)] +enum OutputFormat { + Table, + Json, + Csv, +} + +#[derive(Parser)] +#[command(name = "query-healpix")] +#[command(about = "Query HEALPix-indexed star catalogs")] +struct Cli { + /// Path to the catalog file + #[arg(long)] + catalog: PathBuf, + + #[command(subcommand)] + command: Commands, +} + +#[derive(Subcommand)] +enum Commands { + /// Print catalog information + Info, + /// Perform a cone search + Search { + /// Right ascension (degrees, or HMS e.g. 18h36m56s, 18:36:56) + ra: String, + /// Declination (degrees, or DMS e.g. +38d47m01s, -5:22:30) + dec: String, + /// Search radius in degrees + #[arg(long, default_value = "1.0")] + radius: f64, + /// Maximum magnitude filter + #[arg(long)] + mag_max: Option, + /// Maximum number of results + #[arg(long)] + limit: Option, + /// Observation epoch as Julian Date (conflicts with --date) + #[arg(long, conflicts_with = "date")] + epoch: Option, + /// Observation date as ISO 8601 YYYY-MM-DD (conflicts with --epoch) + #[arg(long, conflicts_with = "epoch")] + date: Option, + /// Print query timing + #[arg(long)] + timing: bool, + /// Output decimal degrees instead of HMS/DMS + #[arg(long)] + raw: bool, + /// Output format + #[arg(long, value_enum, default_value = "table")] + format: OutputFormat, + }, +} + +fn main() -> anyhow::Result<()> { + let cli = Cli::parse(); + + match cli.command { + Commands::Info => { + let catalog = Catalog::open(&cli.catalog)?; + let size_mb = catalog.file_size() as f64 / 1_048_576.0; + println!("{}", catalog.header()); + println!( + "File size: {} bytes ({:.2} MB)", + catalog.file_size(), + size_mb + ); + } + Commands::Search { + ra, + dec, + radius, + mag_max, + limit, + epoch, + date, + timing, + raw, + format, + } => { + let catalog = Catalog::open(&cli.catalog)?; + + let ra_deg = parse_ra(&ra)?; + let dec_deg = parse_dec(&dec)?; + + let epoch = if let Some(date_str) = date { + Some(parse_date_to_jd(&date_str)?) + } else { + epoch.map(JulianDate::from_f64) + }; + + let params = ConeSearchParams { + ra_deg, + dec_deg, + radius_deg: radius, + max_mag: mag_max, + max_results: limit, + epoch, + }; + + let start = if timing { Some(Instant::now()) } else { None }; + + let results = cone_search(&catalog, ¶ms); + + if let Some(start_time) = start { + let elapsed = start_time.elapsed(); + eprintln!( + "Query completed in {:.2} ms", + elapsed.as_secs_f64() * 1000.0 + ); + } + + match format { + OutputFormat::Table => print_table(&results, raw), + OutputFormat::Json => print_json(&results), + OutputFormat::Csv => print_csv(&results), + } + } + } + + Ok(()) +} + +fn print_table(results: &[ConeSearchResult], raw: bool) { + let hms = HmsFmt { frac_digits: 4 }; + let dms = DmsFmt { frac_digits: 4 }; + + for (i, result) in results.iter().enumerate() { + let source = source_name(result.star.flags); + + if raw { + println!( + "{:4}: {:>20} RA={:.6}° Dec={:+.6}° Mag={:5.2} Dist={:.4}° Source={}", + i + 1, + result.star.source_id, + result.ra_deg, + result.dec_deg, + result.star.mag, + result.distance_deg, + source + ); + } else { + let ra_str = hms.fmt(Angle::from_degrees(result.ra_deg)); + let dec_str = dms.fmt(Angle::from_degrees(result.dec_deg)); + println!( + "{:4}: {:>20} RA={} Dec={} Mag={:5.2} Dist={:.4}° Source={}", + i + 1, + result.star.source_id, + ra_str, + dec_str, + result.star.mag, + result.distance_deg, + source + ); + } + } + + if results.is_empty() { + println!("No stars found matching the search criteria."); + } else { + println!("\nTotal results: {}", results.len()); + } +} + +#[derive(serde::Serialize)] +struct JsonStar { + source_id: i64, + ra_deg: f64, + dec_deg: f64, + mag: f32, + distance_deg: f64, + source: &'static str, +} + +fn print_json(results: &[ConeSearchResult]) { + let stars: Vec = results + .iter() + .map(|r| JsonStar { + source_id: r.star.source_id, + ra_deg: r.ra_deg, + dec_deg: r.dec_deg, + mag: r.star.mag, + distance_deg: r.distance_deg, + source: source_name(r.star.flags), + }) + .collect(); + + println!("{}", serde_json::to_string_pretty(&stars).unwrap()); +} + +fn print_csv(results: &[ConeSearchResult]) { + println!("source_id,ra_deg,dec_deg,mag,distance_deg,source"); + for r in results { + println!( + "{},{},{},{},{},{}", + r.star.source_id, + r.ra_deg, + r.dec_deg, + r.star.mag, + r.distance_deg, + source_name(r.star.flags) + ); + } +} + +fn source_name(flags: u16) -> &'static str { + if (flags & FLAG_SOURCE_HIPPARCOS) != 0 { + "HIPPARCOS" + } else { + "GAIA" + } +} + +fn parse_ra(s: &str) -> anyhow::Result { + s.hms() + .or_else(|_| s.deg()) + .map(|a| a.degrees()) + .map_err(|e| anyhow::anyhow!("Cannot parse RA '{}': {}", s, e)) +} + +fn parse_dec(s: &str) -> anyhow::Result { + s.dms() + .or_else(|_| s.deg()) + .map(|a| a.degrees()) + .map_err(|e| anyhow::anyhow!("Cannot parse Dec '{}': {}", s, e)) +} + +fn parse_date_to_jd(date_str: &str) -> anyhow::Result { + let parts: Vec<&str> = date_str.split('-').collect(); + if parts.len() != 3 { + anyhow::bail!("Invalid date format, expected YYYY-MM-DD"); + } + let year: i32 = parts[0].parse()?; + let month: u8 = parts[1].parse()?; + let day: u8 = parts[2].parse()?; + + Ok(JulianDate::from_calendar(year, month, day, 0, 0, 0.0)) +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/lib.rs b/01_yachay/cosmos/cosmos-catalog/src/lib.rs new file mode 100644 index 0000000..265e953 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/lib.rs @@ -0,0 +1,45 @@ +//! HEALPix-indexed star catalog for fast positional queries. +//! +//! Provides memory-mapped access to a binary catalog of ~37 million stars +//! (Gaia DR3 + Hipparcos) organized as a HEALPix spatial index. The catalog +//! file is memory-mapped on open — no parsing, no loading into RAM. Star +//! records are read as zero-copy `repr(C)` slices directly from the map. +//! +//! # Modules +//! +//! | Module | Purpose | +//! |--------|---------| +//! | [`query::catalog`] | [`Catalog`](query::Catalog) reader, [`StarRecord`](query::StarRecord), [`CatalogHeader`](query::CatalogHeader), flag constants | +//! | [`query::cone`] | [`cone_search`](query::cone_search), [`ConeSearchParams`](query::ConeSearchParams), proper-motion propagation | +//! | [`query::healpix`] | Pixel indexing ([`ang2pix_nest`](query::ang2pix_nest)), disc queries, angular separation | +//! +//! # Quick Start +//! +//! ```ignore +//! use cosmos_catalog::query::{Catalog, cone_search, ConeSearchParams}; +//! +//! let catalog = Catalog::open("catalog.bin")?; +//! +//! let results = cone_search(&catalog, &ConeSearchParams { +//! ra_deg: 83.633, +//! dec_deg: -5.375, +//! radius_deg: 0.5, +//! max_mag: Some(14.0), +//! max_results: Some(50), +//! epoch: None, +//! }); +//! ``` +//! +//! # Binary Format +//! +//! The catalog file has three sections: a 64-byte header, a pixel offset table +//! (`npix × 16` bytes), and contiguous star data (`total_stars × 56` bytes). +//! Stars are grouped by HEALPix pixel, enabling spatial queries that touch +//! only the relevant pages. +//! +//! # Features +//! +//! - **`cli`** — Enables the `forge` and `query-catalog` binaries for building +//! and querying catalogs from the command line. + +pub mod query; diff --git a/01_yachay/cosmos/cosmos-catalog/src/query/catalog.rs b/01_yachay/cosmos/cosmos-catalog/src/query/catalog.rs new file mode 100644 index 0000000..9f70803 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/query/catalog.rs @@ -0,0 +1,593 @@ +//! Memory-mapped catalog reader for HEALPix-indexed star catalogs. +//! +//! The catalog binary format has three contiguous sections: +//! +//! 1. **Header** (64 bytes) — magic, version, HEALPix parameters, star count, epoch +//! 2. **Pixel offset table** (`npix × 16` bytes) — byte offset and count per pixel +//! 3. **Star data** (`total_stars × 56` bytes) — [`StarRecord`] structs grouped by pixel +//! +//! Open a catalog with [`Catalog::open`], then query stars by pixel index +//! or use the higher-level cone search in [`super::cone`]. + +use anyhow::{bail, Context, Result}; +use memmap2::Mmap; +use std::fmt; +use std::fs::File; +use std::path::Path; + +const CATALOG_MAGIC: &[u8; 4] = b"CCAT"; +const CATALOG_VERSION: u32 = 1; +const HEADER_SIZE: usize = 64; +const PIXEL_ENTRY_SIZE: usize = 16; + +/// Metadata parsed from the first 64 bytes of a catalog file. +#[derive(Debug, Clone)] +pub struct CatalogHeader { + /// HEALPix order (nside = 2^order). Order 8 gives 786,432 pixels. + pub order: u32, + /// HEALPix nside parameter. Always `2.pow(order)`. + pub nside: u32, + /// Total number of HEALPix pixels (`12 * nside * nside`). + pub npix: u64, + /// Total number of star records in the catalog. + pub total_stars: u64, + /// Catalog epoch as a Julian year (e.g. 2016.0 for Gaia DR3). + pub epoch: f64, + /// Faintest magnitude included in the catalog. + pub mag_limit: f32, +} + +impl fmt::Display for CatalogHeader { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let avg = self.total_stars as f64 / self.npix as f64; + writeln!(f, "HEALPix order: {}", self.order)?; + writeln!(f, "nside: {}", self.nside)?; + writeln!(f, "npix: {}", self.npix)?; + writeln!(f, "Total stars: {}", self.total_stars)?; + writeln!(f, "Epoch: J{:.1}", self.epoch)?; + writeln!(f, "Magnitude limit: {:.2}", self.mag_limit)?; + write!(f, "Average stars per pixel: {:.1}", avg) + } +} + +/// A single star entry (56 bytes, `repr(C)`). +/// +/// Laid out for zero-copy reads from the memory-mapped file. Fields are +/// stored in catalog-epoch coordinates; use [`super::cone::cone_search`] +/// with an observation epoch to get proper-motion-corrected positions. +#[repr(C)] +#[derive(Debug, Clone, Copy)] +pub struct StarRecord { + /// Gaia DR3 source ID, or negative Hipparcos ID for Hipparcos-only stars. + pub source_id: i64, + /// Right ascension at catalog epoch, in degrees. + pub ra: f64, + /// Declination at catalog epoch, in degrees. + pub dec: f64, + /// Proper motion in RA (μα*), including cos(δ) factor, in mas/yr. + pub pmra: f64, + /// Proper motion in declination, in mas/yr. + pub pmdec: f64, + /// Trigonometric parallax, in milliarcseconds. + pub parallax: f64, + /// Apparent magnitude (G-band for Gaia, V-band for Hipparcos). + pub mag: f32, + /// Bitfield of quality and source flags. See `FLAG_*` constants. + pub flags: u16, + pub(crate) _padding: u16, +} + +/// Star has measured proper motion (pmra and pmdec are valid). +pub const FLAG_HAS_PROPER_MOTION: u16 = 1 << 0; +/// Star has measured parallax. +pub const FLAG_HAS_PARALLAX: u16 = 1 << 1; +/// Gaia RUWE > 1.4 — astrometric solution may be unreliable. +pub const FLAG_RUWE_SUSPECT: u16 = 1 << 2; +/// No 5-parameter astrometric solution in Gaia. +pub const FLAG_NO_5PARAM: u16 = 1 << 3; +/// BP/RP flux excess factor is suspect (possible blend or extended source). +pub const FLAG_BP_RP_EXCESS_SUSPECT: u16 = 1 << 4; +/// Star originates from Hipparcos, not Gaia DR3. +pub const FLAG_SOURCE_HIPPARCOS: u16 = 1 << 5; + +const _: () = assert!(std::mem::size_of::() == 56); + +#[repr(C)] +#[derive(Debug, Clone, Copy)] +struct PixelEntry { + offset: u64, + count: u32, + _reserved: u32, +} + +const _: () = assert!(std::mem::size_of::() == 16); + +/// Memory-mapped handle to a HEALPix star catalog. +/// +/// Created by [`Catalog::open`]. The underlying file stays mapped for the +/// lifetime of this value. Star slices returned by [`Catalog::stars_in_pixel`] +/// borrow directly from the map with no allocation or copying. +pub struct Catalog { + mmap: Mmap, + header: CatalogHeader, +} + +impl Catalog { + /// Open and memory-map a catalog file. + /// + /// Validates the header (magic bytes, version, HEALPix consistency) and + /// returns immediately. No star data is read until you call + /// [`Catalog::stars_in_pixel`] or run a cone search. + /// + /// # Errors + /// Returns an error if the file cannot be opened, is too small, has an + /// invalid header, or has inconsistent HEALPix parameters. + pub fn open(path: impl AsRef) -> Result { + let path = path.as_ref(); + let file = + File::open(path).with_context(|| format!("Failed to open catalog file: {:?}", path))?; + + let mmap = unsafe { Mmap::map(&file) } + .with_context(|| format!("Failed to memory-map catalog file: {:?}", path))?; + + if mmap.len() < HEADER_SIZE { + bail!("Catalog file too small: {} bytes", mmap.len()); + } + + let header = parse_header(&mmap)?; + + let expected_offset_table_size = header.npix as usize * PIXEL_ENTRY_SIZE; + let min_size = HEADER_SIZE + expected_offset_table_size; + if mmap.len() < min_size { + bail!( + "Catalog file too small for offset table: {} bytes, expected at least {}", + mmap.len(), + min_size + ); + } + + Ok(Self { mmap, header }) + } + + /// Returns the catalog header (order, nside, star count, epoch, etc.). + pub fn header(&self) -> &CatalogHeader { + &self.header + } + + /// Returns a zero-copy slice of all stars in the given HEALPix pixel. + /// + /// The returned slice borrows directly from the memory map. Returns an + /// empty slice if `pixel_index` is out of range, the pixel contains no + /// stars, or the underlying data is misaligned. + pub fn stars_in_pixel(&self, pixel_index: u64) -> &[StarRecord] { + if pixel_index >= self.header.npix { + return &[]; + } + + let offset_table_start = HEADER_SIZE; + let entry_offset = offset_table_start + (pixel_index as usize * PIXEL_ENTRY_SIZE); + + if entry_offset + PIXEL_ENTRY_SIZE > self.mmap.len() { + return &[]; + } + + let entry_bytes = &self.mmap[entry_offset..entry_offset + PIXEL_ENTRY_SIZE]; + let offset = u64::from_le_bytes(entry_bytes[0..8].try_into().unwrap()); + let count = u32::from_le_bytes(entry_bytes[8..12].try_into().unwrap()); + + if count == 0 { + return &[]; + } + + let star_data_start = HEADER_SIZE + (self.header.npix as usize * PIXEL_ENTRY_SIZE); + let star_offset = star_data_start + offset as usize; + let star_size = count as usize * std::mem::size_of::(); + + if star_offset + star_size > self.mmap.len() { + return &[]; + } + + let star_bytes = &self.mmap[star_offset..star_offset + star_size]; + let ptr = star_bytes.as_ptr(); + if !(ptr as usize).is_multiple_of(std::mem::align_of::()) { + return &[]; + } + + unsafe { std::slice::from_raw_parts(ptr as *const StarRecord, count as usize) } + } + + /// Returns the total size of the memory-mapped file in bytes. + pub fn file_size(&self) -> usize { + self.mmap.len() + } +} + +fn parse_header(mmap: &Mmap) -> Result { + let header_bytes = &mmap[0..HEADER_SIZE]; + + let magic = &header_bytes[0..4]; + if magic != CATALOG_MAGIC { + bail!( + "Invalid catalog magic: expected {:?}, got {:?}", + CATALOG_MAGIC, + magic + ); + } + + let version = u32::from_le_bytes(header_bytes[4..8].try_into().unwrap()); + if version != CATALOG_VERSION { + bail!( + "Unsupported catalog version: expected {}, got {}", + CATALOG_VERSION, + version + ); + } + + let order = u32::from_le_bytes(header_bytes[8..12].try_into().unwrap()); + let nside = u32::from_le_bytes(header_bytes[12..16].try_into().unwrap()); + let npix = u64::from_le_bytes(header_bytes[16..24].try_into().unwrap()); + let total_stars = u64::from_le_bytes(header_bytes[24..32].try_into().unwrap()); + let epoch = f64::from_le_bytes(header_bytes[32..40].try_into().unwrap()); + let mag_limit = f32::from_le_bytes(header_bytes[40..44].try_into().unwrap()); + + let expected_nside = 1u32 << order; + if nside != expected_nside { + bail!( + "Inconsistent nside: order {} implies nside {}, got {}", + order, + expected_nside, + nside + ); + } + + let expected_npix = 12u64 * (nside as u64) * (nside as u64); + if npix != expected_npix { + bail!( + "Inconsistent npix: nside {} implies npix {}, got {}", + nside, + expected_npix, + npix + ); + } + + Ok(CatalogHeader { + order, + nside, + npix, + total_stars, + epoch, + mag_limit, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::io::Write; + use tempfile::NamedTempFile; + + #[test] + fn test_star_record_size() { + assert_eq!(std::mem::size_of::(), 56); + } + + #[test] + fn test_pixel_entry_size() { + assert_eq!(std::mem::size_of::(), 16); + } + + #[test] + fn test_star_record_alignment() { + assert_eq!(std::mem::align_of::(), 8); + } + + fn make_star(source_id: i64, ra: f64, dec: f64, mag: f32, flags: u16) -> StarRecord { + StarRecord { + source_id, + ra, + dec, + pmra: 0.0, + pmdec: 0.0, + parallax: 0.0, + mag, + flags, + _padding: 0, + } + } + + fn star_to_bytes(star: &StarRecord) -> &[u8] { + unsafe { + std::slice::from_raw_parts( + star as *const StarRecord as *const u8, + std::mem::size_of::(), + ) + } + } + + fn build_test_catalog( + order: u32, + epoch: f64, + mag_limit: f32, + pixel_stars: &[(u64, Vec)], + ) -> NamedTempFile { + let nside = 1u32 << order; + let npix = 12u64 * (nside as u64) * (nside as u64); + let total_stars: u64 = pixel_stars.iter().map(|(_, s)| s.len() as u64).sum(); + + let mut buf: Vec = Vec::new(); + + // Header (64 bytes) + buf.extend_from_slice(b"CCAT"); + buf.extend_from_slice(&1u32.to_le_bytes()); + buf.extend_from_slice(&order.to_le_bytes()); + buf.extend_from_slice(&nside.to_le_bytes()); + buf.extend_from_slice(&npix.to_le_bytes()); + buf.extend_from_slice(&total_stars.to_le_bytes()); + buf.extend_from_slice(&epoch.to_le_bytes()); + buf.extend_from_slice(&mag_limit.to_le_bytes()); + buf.extend_from_slice(&[0u8; 20]); // padding to 64 bytes + + assert_eq!(buf.len(), HEADER_SIZE); + + // Build sorted star data and compute offsets per pixel + let mut offsets: Vec<(u64, u32)> = vec![(0, 0); npix as usize]; + let mut star_data: Vec = Vec::new(); + + for &(pixel_idx, ref stars) in pixel_stars { + let byte_offset = star_data.len() as u64; + offsets[pixel_idx as usize] = (byte_offset, stars.len() as u32); + for star in stars { + star_data.extend_from_slice(star_to_bytes(star)); + } + } + + // Pixel offset table (npix * 16 bytes) + for &(offset, count) in &offsets { + buf.extend_from_slice(&offset.to_le_bytes()); + buf.extend_from_slice(&count.to_le_bytes()); + buf.extend_from_slice(&0u32.to_le_bytes()); // reserved + } + + // Star data section + buf.extend_from_slice(&star_data); + + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&buf).unwrap(); + file.flush().unwrap(); + file + } + + #[test] + fn test_open_valid_catalog() { + let star = make_star(1001, 180.0, -45.0, 5.5, FLAG_HAS_PROPER_MOTION); + let file = build_test_catalog(1, 2016.0, 21.0, &[(0, vec![star])]); + + let catalog = Catalog::open(file.path()).unwrap(); + let hdr = catalog.header(); + assert_eq!(hdr.order, 1); + assert_eq!(hdr.nside, 2); + assert_eq!(hdr.npix, 48); + assert_eq!(hdr.total_stars, 1); + assert_eq!(hdr.epoch, 2016.0); + assert_eq!(hdr.mag_limit, 21.0); + } + + #[test] + fn test_open_truncated_file() { + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&[0u8; 32]).unwrap(); + file.flush().unwrap(); + + let result = Catalog::open(file.path()); + let msg = result.err().expect("expected error").to_string(); + assert!(msg.contains("too small"), "unexpected error: {}", msg); + } + + #[test] + fn test_open_bad_magic() { + let mut buf = vec![0u8; HEADER_SIZE + 48 * PIXEL_ENTRY_SIZE]; + buf[0..4].copy_from_slice(b"XXXX"); + buf[4..8].copy_from_slice(&1u32.to_le_bytes()); + buf[8..12].copy_from_slice(&1u32.to_le_bytes()); // order=1 + buf[12..16].copy_from_slice(&2u32.to_le_bytes()); // nside=2 + buf[16..24].copy_from_slice(&48u64.to_le_bytes()); // npix=48 + + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&buf).unwrap(); + file.flush().unwrap(); + + let result = Catalog::open(file.path()); + let msg = result.err().expect("expected error").to_string(); + assert!( + msg.contains("Invalid catalog magic"), + "unexpected error: {}", + msg + ); + } + + #[test] + fn test_open_bad_version() { + let mut buf = vec![0u8; HEADER_SIZE + 48 * PIXEL_ENTRY_SIZE]; + buf[0..4].copy_from_slice(b"CCAT"); + buf[4..8].copy_from_slice(&99u32.to_le_bytes()); // bad version + buf[8..12].copy_from_slice(&1u32.to_le_bytes()); + buf[12..16].copy_from_slice(&2u32.to_le_bytes()); + buf[16..24].copy_from_slice(&48u64.to_le_bytes()); + + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&buf).unwrap(); + file.flush().unwrap(); + + let result = Catalog::open(file.path()); + let msg = result.err().expect("expected error").to_string(); + assert!( + msg.contains("Unsupported catalog version"), + "unexpected error: {}", + msg + ); + } + + #[test] + fn test_open_inconsistent_nside() { + let mut buf = vec![0u8; HEADER_SIZE + 48 * PIXEL_ENTRY_SIZE]; + buf[0..4].copy_from_slice(b"CCAT"); + buf[4..8].copy_from_slice(&1u32.to_le_bytes()); + buf[8..12].copy_from_slice(&1u32.to_le_bytes()); // order=1 + buf[12..16].copy_from_slice(&7u32.to_le_bytes()); // nside=7 (should be 2) + buf[16..24].copy_from_slice(&48u64.to_le_bytes()); + + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&buf).unwrap(); + file.flush().unwrap(); + + let result = Catalog::open(file.path()); + let msg = result.err().expect("expected error").to_string(); + assert!( + msg.contains("Inconsistent nside"), + "unexpected error: {}", + msg + ); + } + + #[test] + fn test_open_inconsistent_npix() { + let mut buf = vec![0u8; HEADER_SIZE + 48 * PIXEL_ENTRY_SIZE]; + buf[0..4].copy_from_slice(b"CCAT"); + buf[4..8].copy_from_slice(&1u32.to_le_bytes()); + buf[8..12].copy_from_slice(&1u32.to_le_bytes()); // order=1 + buf[12..16].copy_from_slice(&2u32.to_le_bytes()); // nside=2 (correct) + buf[16..24].copy_from_slice(&999u64.to_le_bytes()); // npix=999 (should be 48) + + let mut file = NamedTempFile::new().unwrap(); + file.write_all(&buf).unwrap(); + file.flush().unwrap(); + + let result = Catalog::open(file.path()); + let msg = result.err().expect("expected error").to_string(); + assert!( + msg.contains("Inconsistent npix"), + "unexpected error: {}", + msg + ); + } + + #[test] + fn test_stars_in_pixel_populated() { + let star = make_star(42, 83.633, -5.375, 0.42, FLAG_SOURCE_HIPPARCOS); + let file = build_test_catalog(1, 2016.0, 21.0, &[(5, vec![star])]); + let catalog = Catalog::open(file.path()).unwrap(); + + let stars = catalog.stars_in_pixel(5); + assert_eq!(stars.len(), 1); + assert_eq!(stars[0].source_id, 42); + } + + #[test] + fn test_stars_in_pixel_empty() { + let star = make_star(1, 10.0, 20.0, 8.0, 0); + let file = build_test_catalog(1, 2016.0, 21.0, &[(0, vec![star])]); + let catalog = Catalog::open(file.path()).unwrap(); + + let stars = catalog.stars_in_pixel(1); + assert_eq!(stars.len(), 0); + } + + #[test] + fn test_stars_in_pixel_out_of_bounds() { + let file = build_test_catalog(1, 2016.0, 21.0, &[]); + let catalog = Catalog::open(file.path()).unwrap(); + + assert_eq!(catalog.stars_in_pixel(48).len(), 0); + assert_eq!(catalog.stars_in_pixel(999).len(), 0); + assert_eq!(catalog.stars_in_pixel(u64::MAX).len(), 0); + } + + #[test] + fn test_stars_in_pixel_multiple_stars() { + let stars = vec![ + make_star(100, 10.0, 20.0, 5.0, 0), + make_star(101, 10.1, 20.1, 6.0, FLAG_HAS_PROPER_MOTION), + make_star(102, 10.2, 20.2, 7.0, FLAG_HAS_PARALLAX), + ]; + let file = build_test_catalog(1, 2016.0, 21.0, &[(12, stars)]); + let catalog = Catalog::open(file.path()).unwrap(); + + let result = catalog.stars_in_pixel(12); + assert_eq!(result.len(), 3); + assert_eq!(result[0].source_id, 100); + assert_eq!(result[1].source_id, 101); + assert_eq!(result[2].source_id, 102); + } + + #[test] + fn test_file_size_matches() { + let star = make_star(1, 0.0, 0.0, 10.0, 0); + let file = build_test_catalog(1, 2016.0, 21.0, &[(0, vec![star])]); + let expected = HEADER_SIZE + 48 * PIXEL_ENTRY_SIZE + std::mem::size_of::(); + + let catalog = Catalog::open(file.path()).unwrap(); + assert_eq!(catalog.file_size(), expected); + } + + #[test] + fn test_star_fields_round_trip() { + let star = StarRecord { + source_id: -9_999_999, + ra: 359.99999999, + dec: -89.99999999, + pmra: 1234.5678, + pmdec: -8765.4321, + parallax: 0.001, + mag: 21.49, + flags: FLAG_HAS_PROPER_MOTION | FLAG_HAS_PARALLAX | FLAG_SOURCE_HIPPARCOS, + _padding: 0, + }; + let file = build_test_catalog(1, 2016.0, 21.5, &[(47, vec![star])]); + let catalog = Catalog::open(file.path()).unwrap(); + + let result = catalog.stars_in_pixel(47); + assert_eq!(result.len(), 1); + let s = &result[0]; + assert_eq!(s.source_id, -9_999_999); + assert_eq!(s.ra, 359.99999999); + assert_eq!(s.dec, -89.99999999); + assert_eq!(s.pmra, 1234.5678); + assert_eq!(s.pmdec, -8765.4321); + assert_eq!(s.parallax, 0.001); + assert_eq!(s.mag, 21.49); + assert_eq!( + s.flags, + FLAG_HAS_PROPER_MOTION | FLAG_HAS_PARALLAX | FLAG_SOURCE_HIPPARCOS + ); + } + + #[test] + fn test_catalog_header_display() { + let header = CatalogHeader { + order: 8, + nside: 256, + npix: 786432, + total_stars: 37_000_000, + epoch: 2016.0, + mag_limit: 21.0, + }; + let output = format!("{}", header); + + assert!(output.contains("HEALPix order: 8"), "missing order"); + assert!(output.contains("nside: 256"), "missing nside"); + assert!(output.contains("npix: 786432"), "missing npix"); + assert!( + output.contains("Total stars: 37000000"), + "missing total_stars" + ); + assert!(output.contains("Epoch: J2016.0"), "missing epoch"); + assert!( + output.contains("Magnitude limit: 21.00"), + "missing mag_limit" + ); + assert!( + output.contains("Average stars per pixel: 47.0"), + "missing avg" + ); + } +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/query/cone.rs b/01_yachay/cosmos/cosmos-catalog/src/query/cone.rs new file mode 100644 index 0000000..1d41ec3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/query/cone.rs @@ -0,0 +1,214 @@ +//! Cone search over a HEALPix-indexed star catalog. +//! +//! Given a sky position and radius, [`cone_search`] determines which HEALPix +//! pixels overlap the cone, scans only those pixels, filters by distance and +//! optional magnitude limit, and returns results sorted by angular distance. +//! +//! Proper motion can be propagated from the catalog epoch (J2016.0) to an +//! arbitrary observation epoch before matching. + +use cosmos_time::JulianDate; + +use super::catalog::{Catalog, StarRecord}; +use super::healpix::{angular_separation_deg, query_disc_nest}; + +/// Julian date of epoch J2016.0 (Gaia DR3 reference epoch). +const J2016_JD: f64 = 2457389.0; + +/// Parameters for a cone search query. +#[derive(Debug, Clone)] +pub struct ConeSearchParams { + /// Cone center right ascension, in degrees. + pub ra_deg: f64, + /// Cone center declination, in degrees. + pub dec_deg: f64, + /// Search radius, in degrees. + pub radius_deg: f64, + /// If set, exclude stars fainter than this magnitude. + pub max_mag: Option, + /// If set, return at most this many results (closest first). + pub max_results: Option, + /// If set, propagate proper motion from J2016.0 to this epoch before matching. + pub epoch: Option, +} + +/// A single star returned from a cone search. +#[derive(Debug, Clone)] +pub struct ConeSearchResult { + /// The original star record from the catalog. + pub star: StarRecord, + /// Right ascension used for matching (propagated if an epoch was given). + pub ra_deg: f64, + /// Declination used for matching (propagated if an epoch was given). + pub dec_deg: f64, + /// Angular distance from the search center, in degrees. + pub distance_deg: f64, +} + +/// Convenience wrapper that runs a cone search with proper-motion propagation. +/// +/// Equivalent to calling [`cone_search`] with `epoch` set and +/// no magnitude or result-count limits. +pub fn cone_search_at_epoch( + catalog: &Catalog, + ra_deg: f64, + dec_deg: f64, + radius_deg: f64, + epoch: JulianDate, +) -> Vec { + let params = ConeSearchParams { + ra_deg, + dec_deg, + radius_deg, + max_mag: None, + max_results: None, + epoch: Some(epoch), + }; + cone_search(catalog, ¶ms) +} + +/// Search for stars within a cone on the sky. +/// +/// Identifies overlapping HEALPix pixels, scans their star lists, applies +/// optional proper-motion propagation and magnitude filtering, then returns +/// results sorted by angular distance from the cone center. +pub fn cone_search(catalog: &Catalog, params: &ConeSearchParams) -> Vec { + let order = catalog.header().order; + let nside = 1 << order; + + let overlapping_pixels = + query_disc_nest(nside, params.ra_deg, params.dec_deg, params.radius_deg); + + let mut results = Vec::new(); + + for pixel in overlapping_pixels { + let stars = catalog.stars_in_pixel(pixel); + + for star in stars { + let (ra_obs, dec_obs) = if let Some(epoch_jd) = params.epoch { + apply_proper_motion(star, epoch_jd) + } else { + (star.ra, star.dec) + }; + + let distance_deg = + angular_separation_deg(params.ra_deg, params.dec_deg, ra_obs, dec_obs); + + if distance_deg > params.radius_deg { + continue; + } + + if let Some(max_mag) = params.max_mag { + if star.mag as f64 > max_mag { + continue; + } + } + + results.push(ConeSearchResult { + star: *star, + ra_deg: ra_obs, + dec_deg: dec_obs, + distance_deg, + }); + } + } + + results.sort_by(|a, b| { + a.distance_deg + .partial_cmp(&b.distance_deg) + .unwrap_or(std::cmp::Ordering::Equal) + }); + + if let Some(max_results) = params.max_results { + results.truncate(max_results); + } + + results +} + +/// Linearly propagate a star's position from J2016.0 to `epoch_jd`. +fn apply_proper_motion(star: &StarRecord, epoch_jd: JulianDate) -> (f64, f64) { + const MAS_PER_DEGREE: f64 = 3_600_000.0; + + let dt_years = (epoch_jd - JulianDate::new(J2016_JD, 0.0)).to_f64() / 365.25; + + let dec_obs = star.dec + star.pmdec * dt_years / MAS_PER_DEGREE; + let cos_dec = libm::cos(star.dec * cosmos_core::constants::PI / 180.0); + let ra_obs = star.ra + star.pmra * dt_years / MAS_PER_DEGREE / cos_dec; + + (ra_obs, dec_obs) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_angular_distance_same_point() { + let dist = angular_separation_deg(0.0, 0.0, 0.0, 0.0); + assert!((dist - 0.0).abs() < 1e-10); + } + + #[test] + fn test_angular_distance_90_degrees() { + let dist = angular_separation_deg(0.0, 0.0, 90.0, 0.0); + assert!((dist - 90.0).abs() < 1e-10); + } + + #[test] + fn test_angular_distance_pole_to_equator() { + let dist = angular_separation_deg(0.0, 90.0, 0.0, 0.0); + assert!((dist - 90.0).abs() < 1e-10); + } + + #[test] + fn test_angular_distance_antipodes() { + let dist = angular_separation_deg(0.0, 0.0, 180.0, 0.0); + assert!((dist - 180.0).abs() < 1e-10); + } + + #[test] + fn test_apply_proper_motion_zero_pm() { + let star = StarRecord { + source_id: 1, + ra: 100.0, + dec: 45.0, + pmra: 0.0, + pmdec: 0.0, + parallax: 0.0, + mag: 5.0, + flags: 0, + _padding: 0, + }; + + let (ra, dec) = apply_proper_motion(&star, JulianDate::new(J2016_JD, 0.0).add_days(365.25)); + assert!((ra - 100.0).abs() < 1e-10); + assert!((dec - 45.0).abs() < 1e-10); + } + + #[test] + fn test_apply_proper_motion_one_year() { + let star = StarRecord { + source_id: 1, + ra: 100.0, + dec: 45.0, + pmra: 3600.0, + pmdec: 3600.0, + parallax: 0.0, + mag: 5.0, + flags: 0, + _padding: 0, + }; + + let (ra, dec) = apply_proper_motion(&star, JulianDate::new(J2016_JD, 0.0).add_days(365.25)); + + // pmdec is sky rate, converts directly: 3600 mas/yr = 0.001 deg/yr + let expected_dec = 45.0 + (3600.0 / 3_600_000.0); + assert!((dec - expected_dec).abs() < 1e-10); + + // pmra is μα* = μα·cos(δ), so ΔRA = μα*/cos(δ) · Δt + let cos_dec = libm::cos(45.0_f64 * cosmos_core::constants::PI / 180.0); + let expected_ra = 100.0 + (3600.0 / 3_600_000.0) / cos_dec; + assert!((ra - expected_ra).abs() < 1e-10); + } +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/query/healpix.rs b/01_yachay/cosmos/cosmos-catalog/src/query/healpix.rs new file mode 100644 index 0000000..6182445 --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/query/healpix.rs @@ -0,0 +1,304 @@ +//! HEALPix utilities for cone search queries. +//! +//! Provides conversion between sky coordinates and HEALPix pixel indices, +//! as well as disc/cone query support for efficient spatial searches. + +use cosmos_core::constants::{PI, RAD_TO_DEG, TWOPI}; +use cosmos_core::{math::vincenty_angular_separation, Angle}; +use std::collections::HashSet; + +/// Convert (RA, Dec) in degrees to HEALPix nested pixel index. +/// +/// Implements the Gorski et al. (2005) algorithm for the nested scheme. +/// +/// # Arguments +/// * `order` - HEALPix order (nside = 2^order) +/// * `ra_deg` - Right ascension in degrees +/// * `dec_deg` - Declination in degrees +/// +/// # Returns +/// Nested pixel index in range [0, 12*nside^2) +pub fn ang2pix_nest(order: u32, ra_deg: f64, dec_deg: f64) -> u64 { + let ra = Angle::from_degrees(ra_deg); + let dec = Angle::from_degrees(dec_deg); + let phi = ra.radians(); + let z = dec.sin(); + let nside = 1u64 << order; + let (face, ix, iy) = compute_face_and_position(phi, z, nside); + let ipix_in_face = xy2pix_nest(ix, iy, order); + face as u64 * nside * nside + ipix_in_face +} + +/// Query all HEALPix pixels that overlap a cone/disc on the sphere. +/// +/// Returns a conservative set of pixels - may include some pixels that +/// don't actually overlap the cone, but will never miss pixels that do. +/// +/// Uses a grid-based approach: samples points within the search cone and +/// collects all unique pixel indices that those points fall into. +/// +/// # Arguments +/// * `nside` - HEALPix nside parameter +/// * `ra_deg` - Cone center right ascension in degrees +/// * `dec_deg` - Cone center declination in degrees +/// * `radius_deg` - Cone radius in degrees +/// +/// # Returns +/// Vector of nested pixel indices that overlap the cone +pub(crate) fn query_disc_nest(nside: u64, ra_deg: f64, dec_deg: f64, radius_deg: f64) -> Vec { + let order = nside.trailing_zeros(); + + // Pixel size in degrees (approximate) - for order 8, ~0.22 degrees + let pixel_size_deg = 58.6 / nside as f64; // 58.6 = sqrt(4*pi*(180/pi)^2 / 12) / 1 + let step = pixel_size_deg * 0.5; // Half-pixel resolution for safety + + let mut pixels = HashSet::new(); + + // Declination range — pad by one pixel to catch pixels straddling the boundary + let dec_min = (dec_deg - radius_deg - pixel_size_deg).max(-90.0); + let dec_max = (dec_deg + radius_deg + pixel_size_deg).min(90.0); + + // Step through declination + let mut dec = dec_min; + while dec <= dec_max { + // RA range expands near poles due to convergence + let cos_dec = libm::cos(dec * PI / 180.0).max(0.01); + let ra_step = step / cos_dec; + + // For very high declinations, we need full RA coverage + let ra_range = if libm::fabs(dec) > 89.0 { + 360.0 + } else { + (radius_deg / cos_dec).min(180.0) * 2.0 + }; + + let ra_min = ra_deg - ra_range / 2.0; + let ra_max = ra_deg + ra_range / 2.0; + + let mut ra = ra_min; + while ra <= ra_max { + // Normalize RA to [0, 360) + let ra_norm = ((ra % 360.0) + 360.0) % 360.0; + + // Check if this point is actually within the search radius + let dist = angular_separation_deg(ra_deg, dec_deg, ra_norm, dec); + if dist <= radius_deg + pixel_size_deg { + // Include margin for pixel extent + let pixel = ang2pix_nest(order, ra_norm, dec); + pixels.insert(pixel); + } + + ra += ra_step; + } + + dec += step; + } + + pixels.into_iter().collect() +} + +/// Compute angular distance between two points on the sphere using Vincenty formula. +/// +/// Accurate at all angular separations. +/// +/// # Arguments +/// * `ra1_deg`, `dec1_deg` - First point in degrees +/// * `ra2_deg`, `dec2_deg` - Second point in degrees +/// +/// # Returns +/// Angular distance in degrees +pub(crate) fn angular_separation_deg( + ra1_deg: f64, + dec1_deg: f64, + ra2_deg: f64, + dec2_deg: f64, +) -> f64 { + let dec1 = Angle::from_degrees(dec1_deg); + let dec2 = Angle::from_degrees(dec2_deg); + let delta_lon = Angle::from_degrees(ra2_deg - ra1_deg).radians(); + + let (d1_sin, d1_cos) = dec1.sin_cos(); + let (d2_sin, d2_cos) = dec2.sin_cos(); + + let sep_rad = vincenty_angular_separation(d1_sin, d1_cos, d2_sin, d2_cos, delta_lon); + sep_rad * RAD_TO_DEG +} + +/// Determine which of the 12 HEALPix base faces contains the point, +/// and compute the (ix, iy) position within that face. +fn compute_face_and_position(phi: f64, z: f64, nside: u64) -> (u32, u64, u64) { + let z_abs = libm::fabs(z); + let tt = phi_to_tt(phi); + if z_abs <= 2.0 / 3.0 { + compute_equatorial_face(tt, z, nside) + } else { + compute_polar_face(tt, z, z_abs, nside) + } +} + +/// Convert phi to tt (0..4 range for the 4 quadrants). +fn phi_to_tt(phi: f64) -> f64 { + let phi_norm = if phi < 0.0 { phi + TWOPI } else { phi }; + phi_norm * 2.0 / PI +} + +/// Compute face and position for equatorial belt (-2/3 <= z <= 2/3). +fn compute_equatorial_face(tt: f64, z: f64, nside: u64) -> (u32, u64, u64) { + let temp1 = nside as f64 * (0.5 + tt); + let temp2 = nside as f64 * z * 0.75; + let jp = (temp1 - temp2) as i64; + let jm = (temp1 + temp2) as i64; + let nside_i = nside as i64; + let ifp = jp / nside_i; + let ifm = jm / nside_i; + let face = compute_equatorial_face_number(ifp, ifm); + let ix = jm - (face as i64 % 4) * nside_i; + let iy = nside_i - 1 - (jp - (face as i64 / 4) * nside_i); + (face, ix as u64, iy as u64) +} + +fn compute_equatorial_face_number(ifp: i64, ifm: i64) -> u32 { + match (ifp, ifm) { + (4, _) => ((ifm + 4) % 4) as u32, + (_, 4) => ((ifp + 4) % 4 + 4) as u32, + _ if ifp == ifm => (ifp + 4) as u32, + _ if ifp < ifm => ifp as u32, + _ => (ifm + 8) as u32, + } +} + +/// Compute face and position for polar caps (|z| > 2/3). +fn compute_polar_face(tt: f64, z: f64, z_abs: f64, nside: u64) -> (u32, u64, u64) { + let tp = tt - libm::floor(tt); + let tmp = nside as f64 * libm::sqrt(3.0 * (1.0 - z_abs)); + let jp = (tp * tmp) as i64; + let jm = ((1.0 - tp) * tmp) as i64; + let jp = jp.min(nside as i64 - 1); + let jm = jm.min(nside as i64 - 1); + let ntt = libm::floor(tt) as u32; + let face_offset = if z > 0.0 { 0 } else { 8 }; + let face = (ntt % 4) + face_offset; + let (ix, iy) = if z > 0.0 { + (nside as i64 - jm - 1, nside as i64 - jp - 1) + } else { + (jp, jm) + }; + (face, ix as u64, iy as u64) +} + +/// Convert (ix, iy) to nested pixel index within a base face using Z-order curve. +fn xy2pix_nest(ix: u64, iy: u64, order: u32) -> u64 { + let mut result: u64 = 0; + for i in 0..order { + let bit_x = (ix >> i) & 1; + let bit_y = (iy >> i) & 1; + result |= (bit_x << (2 * i)) | (bit_y << (2 * i + 1)); + } + result +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_xy2pix_nest() { + assert_eq!(xy2pix_nest(0, 0, 2), 0); + assert_eq!(xy2pix_nest(1, 0, 2), 1); + assert_eq!(xy2pix_nest(0, 1, 2), 2); + assert_eq!(xy2pix_nest(1, 1, 2), 3); + } + + #[test] + fn test_ang2pix_nest_poles() { + let north_pole = ang2pix_nest(0, 0.0, 90.0); + assert!(north_pole < 12); + let south_pole = ang2pix_nest(0, 0.0, -90.0); + assert!(south_pole < 12); + } + + #[test] + fn test_ang2pix_nest_equator() { + let pixel = ang2pix_nest(0, 0.0, 0.0); + assert!(pixel < 12); + } + + #[test] + fn test_ang2pix_nest_order8_bounds() { + let nside = 1u64 << 8; + let npix = 12 * nside * nside; + for ra in [0.0, 90.0, 180.0, 270.0] { + for dec in [-89.0, -45.0, 0.0, 45.0, 89.0] { + let pixel = ang2pix_nest(8, ra, dec); + assert!( + pixel < npix, + "pixel {} >= npix {} for ({}, {})", + pixel, + npix, + ra, + dec + ); + } + } + } + + #[test] + fn test_angular_separation_deg() { + // Same point + assert!((angular_separation_deg(0.0, 0.0, 0.0, 0.0) - 0.0).abs() < 1e-10); + + // 90 degrees apart on equator + let dist = angular_separation_deg(0.0, 0.0, 90.0, 0.0); + assert!((dist - 90.0).abs() < 1e-10); + + // Pole to pole + let dist = angular_separation_deg(0.0, 90.0, 0.0, -90.0); + assert!((dist - 180.0).abs() < 1e-10); + + // Small separation + let dist = angular_separation_deg(0.0, 0.0, 0.1, 0.1); + assert!(dist > 0.14 && dist < 0.15); + } + + #[test] + fn test_query_disc_nest_basic() { + let nside = 16u64; + let ra = 0.0; + let dec = 0.0; + let radius = 10.0; + + let pixels = query_disc_nest(nside, ra, dec, radius); + + // Should return some pixels + assert!(!pixels.is_empty()); + + // All pixels should be in valid range + let npix = 12 * nside * nside; + for &pix in &pixels { + assert!(pix < npix); + } + + // Center pixel should be included + let order = nside.trailing_zeros(); + let center_pixel = ang2pix_nest(order, ra, dec); + assert!(pixels.contains(¢er_pixel)); + } + + #[test] + fn test_query_disc_nest_pole() { + let nside = 16u64; + let ra = 0.0; + let dec = 90.0; + let radius = 5.0; + + let pixels = query_disc_nest(nside, ra, dec, radius); + + // Should return pixels around north pole + assert!(!pixels.is_empty()); + + // Center pixel should be included + let order = nside.trailing_zeros(); + let center_pixel = ang2pix_nest(order, ra, dec); + assert!(pixels.contains(¢er_pixel)); + } +} diff --git a/01_yachay/cosmos/cosmos-catalog/src/query/mod.rs b/01_yachay/cosmos/cosmos-catalog/src/query/mod.rs new file mode 100644 index 0000000..50f65ad --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/src/query/mod.rs @@ -0,0 +1,14 @@ +//! Query interface for HEALPix-indexed star catalogs. +//! +//! Three submodules cover the full query surface: +//! +//! - [`catalog`] — open a catalog file, access the header, read stars by pixel +//! - [`cone`] — cone search with magnitude filtering and proper-motion propagation +//! - [`healpix`] — coordinate-to-pixel conversion, disc queries, angular separation + +pub mod catalog; +pub mod cone; +pub mod healpix; + +pub use catalog::{Catalog, CatalogHeader, StarRecord}; +pub use cone::{cone_search, cone_search_at_epoch, ConeSearchParams, ConeSearchResult}; diff --git a/01_yachay/cosmos/cosmos-catalog/tests/catalog_integration.rs b/01_yachay/cosmos/cosmos-catalog/tests/catalog_integration.rs new file mode 100644 index 0000000..76f541b --- /dev/null +++ b/01_yachay/cosmos/cosmos-catalog/tests/catalog_integration.rs @@ -0,0 +1,61 @@ +#![cfg(feature = "integration-tests")] + +use cosmos_catalog::query::catalog::Catalog; + +const TEST_CATALOG: &str = "data/catalog.bin"; + +#[test] +fn test_catalog_open() { + let catalog = Catalog::open(TEST_CATALOG).expect("Failed to open catalog"); + let header = catalog.header(); + + assert_eq!(header.order, 8); + assert_eq!(header.nside, 256); + assert_eq!(header.npix, 786432); + assert!(header.total_stars > 0); + assert_eq!(header.epoch, 2016.0); +} + +#[test] +fn test_stars_in_pixel() { + let catalog = Catalog::open(TEST_CATALOG).expect("Failed to open catalog"); + + let stars = catalog.stars_in_pixel(100000); + assert!(!stars.is_empty(), "Expected non-empty pixel"); + + for star in stars { + assert!(star.ra >= 0.0 && star.ra < 360.0, "Invalid RA"); + assert!(star.dec >= -90.0 && star.dec <= 90.0, "Invalid Dec"); + assert!(star.mag >= 0.0 && star.mag < 30.0, "Invalid magnitude"); + } +} + +#[test] +fn test_out_of_bounds_pixel() { + let catalog = Catalog::open(TEST_CATALOG).expect("Failed to open catalog"); + let header = catalog.header(); + + let stars = catalog.stars_in_pixel(header.npix + 1000); + assert_eq!( + stars.len(), + 0, + "Out of bounds pixel should return empty slice" + ); +} + +#[test] +fn test_magnitude_sorting() { + let catalog = Catalog::open(TEST_CATALOG).expect("Failed to open catalog"); + + let stars = catalog.stars_in_pixel(100000); + assert!(stars.len() > 1, "Need multiple stars to test sorting"); + + for i in 1..stars.len() { + assert!( + stars[i].mag >= stars[i - 1].mag, + "Stars not sorted by magnitude: {} >= {}", + stars[i].mag, + stars[i - 1].mag + ); + } +} diff --git a/01_yachay/cosmos/cosmos-cli/Cargo.toml b/01_yachay/cosmos/cosmos-cli/Cargo.toml new file mode 100644 index 0000000..9c94e26 --- /dev/null +++ b/01_yachay/cosmos/cosmos-cli/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "cosmos-cli" +version = { workspace = true } +edition = { workspace = true } +license = { workspace = true } +description = "Tahuantinsuyu — CLI cliente del service socket. Pide cómputos de cartas sin abrir la GUI." + +[dependencies] +cosmos-card = { path = "../cosmos-card" } +cosmos-model = { path = "../cosmos-model" } +clap = { workspace = true } +tokio = { workspace = true } +serde_json = { workspace = true } +anyhow = { workspace = true } + +[[bin]] +name = "cosmos-cli" +path = "src/main.rs" diff --git a/01_yachay/cosmos/cosmos-cli/LEEME.md b/01_yachay/cosmos/cosmos-cli/LEEME.md new file mode 100644 index 0000000..c720e9f --- /dev/null +++ b/01_yachay/cosmos/cosmos-cli/LEEME.md @@ -0,0 +1,19 @@ +# cosmos-cli + +> CLI de [cosmos](../README.md). + +Comandos: + +```sh +cosmos-cli download # DE files + catálogos +cosmos-cli when "venus rises" # próximo rise de venus +cosmos-cli where mars # posición actual de marte +cosmos-cli eclipses --next 5 # próximos 5 eclipses +cosmos-cli sky --time now # snapshot del cielo +cosmos-cli validate # corre el regression harness +``` + +## Deps + +- Todos los `cosmos-*` core +- `clap`, `serde_json` diff --git a/01_yachay/cosmos/cosmos-cli/README.md b/01_yachay/cosmos/cosmos-cli/README.md new file mode 100644 index 0000000..2ba89d5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-cli/README.md @@ -0,0 +1,19 @@ +# cosmos-cli + +> CLI of [cosmos](../README.md). + +Commands: + +```sh +cosmos-cli download # DE files + catalogs +cosmos-cli when "venus rises" # next venus rise +cosmos-cli where mars # current mars position +cosmos-cli eclipses --next 5 # next 5 eclipses +cosmos-cli sky --time now # sky snapshot +cosmos-cli validate # runs the regression harness +``` + +## Deps + +- All `cosmos-*` core +- `clap`, `serde_json` diff --git a/01_yachay/cosmos/cosmos-cli/src/main.rs b/01_yachay/cosmos/cosmos-cli/src/main.rs new file mode 100644 index 0000000..0658218 --- /dev/null +++ b/01_yachay/cosmos/cosmos-cli/src/main.rs @@ -0,0 +1,164 @@ +//! `cosmos_app-cli` — cliente del service socket de Tahuantinsuyu. +//! +//! Pide cómputos de cartas sin abrir la GUI. Útil para integraciones, +//! scripts y para verificar end-to-end que el data plane brahman está +//! sirviendo. Conecta al socket que la app GUI expone (default +//! `$XDG_CACHE_HOME/cosmos_app/service.sock`). +//! +//! ## Comandos +//! +//! - `ping` — verifica que el server responde. +//! - `natal --year N --month M --day D --hour H --minute MIN +//! --tz-min TZ --lat LAT --lon LON [--alt ALT] [--label TEXT]` +//! — pide una carta natal y la imprime como JSON. +//! +//! ## Ejemplo +//! +//! ```bash +//! cargo run -p cosmos_app-cli -- natal \ +//! --year 1987 --month 3 --day 14 \ +//! --hour 5 --minute 22 --tz-min -240 \ +//! --lat 10.4806 --lon -66.9036 \ +//! --label "Sergio" +//! ``` + +use std::path::PathBuf; + +use anyhow::{anyhow, Context, Result}; +use clap::{Parser, Subcommand}; +use cosmos_card::service::{self, ComputeRequest, ComputeResponse}; +use cosmos_model::{StoredBirthData, StoredChartConfig}; + +#[derive(Parser)] +#[command( + name = "cosmos_app-cli", + version, + about = "Cliente del service socket de Tahuantinsuyu." +)] +struct Cli { + /// Path al service socket. Default: el resuelto por + /// `service::default_service_socket()`. + #[arg(long, global = true)] + socket: Option, + + #[command(subcommand)] + command: Command, +} + +#[derive(Subcommand)] +enum Command { + /// Health check — verifica que el server responde con Pong. + Ping, + /// Pide el cómputo de una carta natal e imprime el RenderModel + /// como JSON. + Natal { + #[arg(long)] + year: i32, + #[arg(long)] + month: u32, + #[arg(long)] + day: u32, + #[arg(long)] + hour: u32, + #[arg(long)] + minute: u32, + #[arg(long, default_value_t = 0.0)] + second: f64, + /// Offset de zona horaria del lugar de nacimiento, en minutos. + /// Ej: Argentina = -180, UTC = 0, Madrid = 60. + #[arg(long = "tz-min")] + tz_offset_minutes: i32, + #[arg(long)] + lat: f64, + #[arg(long)] + lon: f64, + #[arg(long, default_value_t = 0.0)] + alt: f64, + /// Etiqueta del chart para el title del RenderModel. + #[arg(long)] + label: Option, + /// Offset adicional en minutos sobre el instante natal (útil + /// para rectificación rápida sin guardar variantes). + #[arg(long, default_value_t = 0)] + offset_minutes: i64, + }, +} + +fn main() -> Result<()> { + let cli = Cli::parse(); + let socket = cli + .socket + .unwrap_or_else(service::default_service_socket); + + let rt = tokio::runtime::Builder::new_current_thread() + .enable_io() + .build() + .context("crear tokio runtime")?; + + rt.block_on(async { + match cli.command { + Command::Ping => { + let response = service::request(&socket, &ComputeRequest::Ping) + .await + .with_context(|| format!("ping a {}", socket.display()))?; + match response { + ComputeResponse::Pong => { + println!("pong"); + Ok(()) + } + other => Err(anyhow!("respuesta inesperada al ping: {:?}", other)), + } + } + Command::Natal { + year, + month, + day, + hour, + minute, + second, + tz_offset_minutes, + lat, + lon, + alt, + label, + offset_minutes, + } => { + let request = ComputeRequest::Natal { + birth: StoredBirthData { + year, + month, + day, + hour, + minute, + second, + tz_offset_minutes, + latitude_deg: lat, + longitude_deg: lon, + altitude_m: alt, + time_certainty: Default::default(), + subject_name: label.clone(), + birthplace_label: None, + }, + config: StoredChartConfig::default(), + offset_minutes, + label, + }; + let response = service::request(&socket, &request) + .await + .with_context(|| format!("natal request a {}", socket.display()))?; + match response { + ComputeResponse::Render { render } => { + let json = serde_json::to_string_pretty(&render) + .context("serializar RenderModel a JSON")?; + println!("{}", json); + Ok(()) + } + ComputeResponse::Error { message } => { + Err(anyhow!("server reportó error: {}", message)) + } + other => Err(anyhow!("respuesta inesperada al natal: {:?}", other)), + } + } + } + }) +} diff --git a/01_yachay/cosmos/cosmos-coords/Cargo.toml b/01_yachay/cosmos/cosmos-coords/Cargo.toml new file mode 100644 index 0000000..be1df18 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "cosmos-coords" +version.workspace = true +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +description = "Astronomical coordinate transformations" +keywords = ["astronomy", "coordinates", "celestial", "astrometry", "icrs"] +categories = ["science"] + +[dependencies] +cosmos-core.workspace = true +celestial-eop-data.workspace = true +cosmos-time.workspace = true +libm.workspace = true +serde = { workspace = true, optional = true } +serde_json = { workspace = true, optional = true } +thiserror.workspace = true + +[features] +default = [] +serde = ["dep:serde", "dep:serde_json", "cosmos-core/serde", "cosmos-time/serde"] + +[dev-dependencies] +criterion.workspace = true +reqwest.workspace = true +serde_json.workspace = true +tokio.workspace = true diff --git a/01_yachay/cosmos/cosmos-coords/README.md b/01_yachay/cosmos/cosmos-coords/README.md new file mode 100644 index 0000000..dbd6ad4 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/README.md @@ -0,0 +1,217 @@ +# cosmos-coords + +Type-safe astronomical coordinate transformations between reference frames. + +[![Crates.io](https://img.shields.io/crates/v/cosmos-coords)](https://crates.io/crates/cosmos-coords) +[![Documentation](https://docs.rs/cosmos-coords/badge.svg)](https://docs.rs/cosmos-coords) +[![License: Apache 2.0](https://img.shields.io/crates/l/cosmos-coords)](https://gitea.gioser.net/sergio/eternal) + +Pure Rust implementation of coordinate frame transformations with full aberration, light deflection, and Earth orientation support. Each frame is a distinct type to prevent accidental mixing. ICRS serves as the pivot for all transformations. + +## Installation + +```toml +[dependencies] +cosmos-coords = "0.1" +``` + +## Coordinate Frames + +| Frame | Description | +|--------------------------|------------------------------------------------------------------------| +| `ICRSPosition` | International Celestial Reference System (catalog positions, J2000) | +| `CIRSPosition` | Celestial Intermediate Reference System (precession + nutation + bias) | +| `GCRSPosition` | Geocentric Celestial Reference System | +| `TIRSPosition` | Terrestrial Intermediate Reference System | +| `ITRSPosition` | International Terrestrial Reference System (ECEF) | +| `GalacticPosition` | Galactic coordinates (l, b) with IAU standard pole | +| `EclipticPosition` | Ecliptic coordinates with IAU 2006 obliquity | +| `TopocentricPosition` | Observer-specific azimuth/elevation | +| `HourAnglePosition` | Hour angle + declination for a given observer | +| `HeliographicCarrington` | Solar surface coordinates (Carrington rotation) | +| `HeliographicStonyhurst` | Solar surface coordinates (fixed grid) | +| `SelenographicPosition` | Lunar surface coordinates | + +## Modules + +| Module | Purpose | +|--------------|-------------------------------------------------------------| +| `frames` | Coordinate frame types and conversions | +| `transforms` | `CoordinateFrame` trait, Cartesian utilities | +| `distance` | Distance type with parsec/AU/ly/km conversions | +| `eop` | Earth Orientation Parameters (polar motion, UT1-UTC) | +| `aberration` | Stellar aberration and gravitational light deflection | +| `lighttime` | Light-time correction for proper motion and radial velocity | +| `solar` | Solar orientation (B0, L0, P angle, Carrington rotation) | +| `lunar` | Lunar libration and orientation | + +## Example + +```rust +use eternal_coords::{ICRSPosition, GalacticPosition, Distance}; +use eternal_coords::transforms::CoordinateFrame; +use eternal_time::TT; + +// Create a position in ICRS (catalog coordinates) +let sirius = ICRSPosition::from_hours_degrees(6.752, -16.716)?; + +// Transform to Galactic coordinates +let epoch = TT::j2000(); +let galactic = sirius.to_galactic(&epoch)?; +println!("l = {:.2}°, b = {:.2}°", galactic.longitude().degrees(), galactic.latitude().degrees()); + +// With distance (parallax-derived) +let distance = Distance::from_parallax_milliarcsec(379.21)?; +let proxima = ICRSPosition::from_degrees_with_distance(217.42, -62.68, distance)?; +println!("Distance: {:.2} pc", proxima.distance().unwrap().parsecs()); +``` + +## Transformation Chain + +The full IAU 2000/2006 transformation from catalog to telescope has two paths from ICRS. + +**CIRS path** (full pipeline -- precession, nutation, aberration, light deflection): + +```text +ICRS (catalog) + | frame bias + precession + nutation (IAU 2006A) + | stellar aberration (~20.5") + | gravitational light deflection (~1.75" max) + v +CIRS (geocentric apparent) + | Earth Rotation Angle + v +TIRS + | polar motion (EOP) + v +ITRS (terrestrial) +``` + +**GCRS path** (aberration only -- no light deflection, no precession/nutation): + +```text +ICRS (catalog) + | stellar aberration only + v +GCRS (geocentric, no Earth rotation applied) +``` + +Use the CIRS path for telescope pointing and observational work. GCRS is used for intermediate calculations where you need aberration correction without the full pipeline. + +All transformations route through ICRS as the pivot frame. The `CoordinateFrame` trait provides: + +```rust +pub trait CoordinateFrame: Sized { + fn to_icrs(&self, epoch: &TT) -> CoordResult; + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult; +} +``` + +Eight frames implement `CoordinateFrame`: `ICRSPosition`, `GCRSPosition`, `CIRSPosition`, `GalacticPosition`, `EclipticPosition`, `HeliographicStonyhurst`, `HeliographicCarrington`, `SelenographicPosition`. + +Four frames do **not** implement it: `TIRSPosition`, `ITRSPosition`, `TopocentricPosition`, `HourAnglePosition`. These require Earth Orientation Parameters or an observer location beyond just an epoch, so they use dedicated conversion methods instead. + +## Earth Orientation Parameters + +Required for CIRS to ITRS transformations (polar motion, UT1-UTC): + +```rust +use eternal_coords::eop::EopProvider; + +// Bundled IERS C04 + finals2000A data (1962-present + predictions) +let provider = EopProvider::bundled()?; + +// Get parameters for a specific MJD +let params = provider.get(60000.0)?; +println!("UT1-UTC = {:.4} s", params.ut1_utc); +println!("Polar motion: x={:.6}\", y={:.6}\"", params.x_p, params.y_p); +``` + +Additional constructors: + +```rust +// C04 data only (no finals2000A predictions) +let provider = EopProvider::bundled_c04()?; + +// Parse a finals2000A file from disk +let provider = EopProvider::from_finals_file("/path/to/finals2000A.data")?; + +// Bundled data merged with a newer finals file (extends prediction range) +let provider = EopProvider::bundled_with_update("/path/to/finals2000A.data")?; + +// From raw finals2000A text +let provider = EopProvider::from_finals_str(&text_content)?; +``` + +## Topocentric Observations + +```rust +use eternal_coords::{TopocentricPosition, Distance}; +use eternal_core::{Angle, Location}; +use eternal_time::TT; + +let observer = Location::from_degrees(19.8283, -155.4783, 4145.0)?; // Keck +let epoch = TT::j2000(); + +let moon_distance = Distance::from_kilometers(384400.0)?; +let moon = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(45.0), + observer, + epoch, + moon_distance, +)?; + +// Airmass (Rozenberg formula) +println!("Airmass: {:.2}", moon.air_mass()); + +// Atmospheric refraction (standard conditions) +let refraction = moon.atmospheric_refraction(1013.25, 15.0, 0.5, 0.574); +println!("Refraction: {:.1}\"", refraction.arcseconds()); + +// Diurnal parallax +let parallax = moon.diurnal_parallax().unwrap(); +println!("Parallax: {:.1}'", parallax.arcminutes()); +``` + +## Solar and Lunar Coordinates + +```rust +use eternal_coords::solar::{compute_solar_orientation, carrington_rotation_number}; +use eternal_coords::lunar::compute_optical_libration; +use eternal_time::TT; + +let epoch = TT::j2000(); + +// Solar orientation +let solar = compute_solar_orientation(&epoch); +println!("B0 = {:.2}°", solar.b0.degrees()); +println!("L0 = {:.2}°", solar.l0.degrees()); +println!("Carrington rotation: {}", carrington_rotation_number(&epoch)); + +// Lunar libration +let (lib_lon, lib_lat) = compute_optical_libration(&epoch); +println!("Libration: lon={:.2}°, lat={:.2}°", lib_lon.degrees(), lib_lat.degrees()); +``` + +## Features + +- **`serde`** - Serialization for coordinate types and EOP records + +## License + +Licensed under the Apache License, Version 2.0 +([LICENSE-APACHE](../LICENSE-APACHE) or +). +See [NOTICE](../NOTICE) for upstream attribution. + +## Acknowledgements + +Forked from [celestial](https://github.com/gaker/celestial) by **Greg Aker** +(originally dual-licensed under MIT OR Apache-2.0). This crate is derived +directly from that work and is maintained in this fork by Sergio Velásquez +Zeballos with Claude (Anthropic). + +## Contributing + +See the [repository](https://gitea.gioser.net/sergio/eternal) for contribution guidelines. diff --git a/01_yachay/cosmos/cosmos-coords/examples/coordinate_transforms.rs b/01_yachay/cosmos/cosmos-coords/examples/coordinate_transforms.rs new file mode 100644 index 0000000..479377a --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/examples/coordinate_transforms.rs @@ -0,0 +1,152 @@ +use cosmos_coords::eop::record::EopRecord; +use cosmos_coords::frames::{CIRSPosition, ICRSPosition}; +use cosmos_coords::transforms::CoordinateFrame; +use cosmos_coords::{Distance, EopProvider, Location}; +use cosmos_time::{tt_from_calendar, ToTAI, ToUTC}; + +fn main() -> Result<(), Box> { + // --- Setup: observer, time, EOP --- + + // McDonald Observatory, Texas + let observer = Location::from_degrees(30.6714, -104.0225, 2070.0)?; + + // 2023-06-15 03:00:00 TT (nighttime in Texas) + let tt = tt_from_calendar(2023, 6, 15, 3, 0, 0.0); + let utc = tt.to_tai()?.to_utc()?; + println!("Epoch: TT JD = {:.6}", tt.to_julian_date().to_f64()); + println!(" UTC JD = {:.6}", utc.to_julian_date().to_f64()); + println!( + "Observer: McDonald Observatory ({:.4}°N, {:.4}°W, {:.0}m)\n", + observer.latitude_angle().degrees(), + -observer.longitude_angle().degrees(), + 2070.0 + ); + + // Realistic EOP data around this date + let eop_records = vec![ + EopRecord::new(60108.0, 0.183, 0.343, -0.0298, 0.00071)?.with_cip_offsets(0.198, -0.102)?, + EopRecord::new(60109.0, 0.184, 0.341, -0.0305, 0.00073)?.with_cip_offsets(0.201, -0.105)?, + EopRecord::new(60110.0, 0.185, 0.339, -0.0312, 0.00075)?.with_cip_offsets(0.204, -0.108)?, + EopRecord::new(60111.0, 0.186, 0.337, -0.0319, 0.00077)?.with_cip_offsets(0.207, -0.111)?, + EopRecord::new(60112.0, 0.187, 0.335, -0.0326, 0.00079)?.with_cip_offsets(0.210, -0.114)?, + ]; + + let provider = EopProvider::from_records(eop_records)?; + + // --- Vega: ICRS catalog position --- + + let vega = ICRSPosition::from_hours_degrees(18.61564, 38.78369)?; + println!("=== Vega ==="); + println!( + "ICRS: RA = {:.5}h Dec = {:+.5}°", + vega.ra().hours(), + vega.dec().degrees() + ); + + // ICRS → CIRS (applies frame bias, precession, nutation, aberration, light deflection) + let cirs = CIRSPosition::from_icrs(&vega, &tt)?; + println!( + "CIRS: RA = {:.5}h Dec = {:+.5}°", + cirs.ra().hours(), + cirs.dec().degrees() + ); + + // CIRS → Hour Angle / Declination + let mjd = tt.to_julian_date().to_f64() - 2400000.5; + let mut eop = provider.get(mjd)?; + eop.compute_s_prime(); + let delta_t = eop.ut1_utc; // UT1-UTC in seconds + + let ha_pos = cirs.to_hour_angle(&observer, -delta_t)?; + println!( + "HA/Dec: HA = {:.5}h Dec = {:+.5}°", + ha_pos.hour_angle().hours(), + ha_pos.declination().degrees() + ); + + // Hour Angle → Topocentric (Az/El) + let topo = ha_pos.to_topocentric()?; + println!( + "Topo: Az = {:.4}° El = {:.4}°", + topo.azimuth().degrees(), + topo.elevation().degrees() + ); + println!(" Air mass = {:.3}", topo.air_mass()); + + // Atmospheric refraction at standard conditions + let refraction = topo.atmospheric_refraction(1013.25, 15.0, 0.3, 0.55); + println!(" Refraction = {:.2}\"", refraction.degrees() * 3600.0); + println!(); + + // --- CIRS → TIRS → ITRS (full EOP chain) --- + + println!("=== Full IAU 2000/2006 chain ==="); + let tirs = cirs.to_tirs(&eop)?; + println!("TIRS: ({:.9}, {:.9}, {:.9})", tirs.x(), tirs.y(), tirs.z()); + + let itrs = tirs.to_itrs(&tt, &eop)?; + println!("ITRS: ({:.9}, {:.9}, {:.9})", itrs.x(), itrs.y(), itrs.z()); + println!(); + + // --- Roundtrip precision test: ICRS → CIRS → ICRS --- + + let roundtrip = cirs.to_icrs(&tt)?; + let ra_diff_mas = (roundtrip.ra().degrees() - vega.ra().degrees()).abs() * 3600.0 * 1000.0; + let dec_diff_mas = (roundtrip.dec().degrees() - vega.dec().degrees()).abs() * 3600.0 * 1000.0; + println!("=== Roundtrip precision (ICRS → CIRS → ICRS) ==="); + println!(" ΔRA = {:.6} mas", ra_diff_mas); + println!(" ΔDec = {:.6} mas", dec_diff_mas); + println!(); + + // --- Sirius: with distance --- + + let sirius = ICRSPosition::from_hours_degrees(6.75248, -16.71612)?; + let sirius = sirius.with_distance_value(Distance::from_parsecs(2.637)?); + println!( + "=== Sirius (d = {:.3} pc = {:.2} ly) ===", + sirius.distance().unwrap().parsecs(), + sirius.distance().unwrap().light_years() + ); + + let cirs = CIRSPosition::from_icrs(&sirius, &tt)?; + let ha_pos = cirs.to_hour_angle(&observer, -delta_t)?; + let topo = ha_pos.to_topocentric()?; + println!( + "ICRS: RA = {:.5}h Dec = {:+.5}°", + sirius.ra().hours(), + sirius.dec().degrees() + ); + println!( + "Topo: Az = {:.4}° El = {:.4}°", + topo.azimuth().degrees(), + topo.elevation().degrees() + ); + + if topo.elevation().degrees() < 0.0 { + println!(" (below horizon)"); + } else { + println!(" Air mass = {:.3}", topo.air_mass()); + } + println!(); + + // --- Angular separation --- + + let betelgeuse = ICRSPosition::from_hours_degrees(5.91953, 7.40706)?; + let rigel = ICRSPosition::from_hours_degrees(5.24230, -8.20164)?; + let sep = betelgeuse.angular_separation(&rigel); + println!("=== Angular separation ==="); + println!("Betelgeuse ↔ Rigel = {:.4}°", sep.degrees()); + + Ok(()) +} + +trait WithDistanceValue { + fn with_distance_value(self, distance: Distance) -> Self; +} + +impl WithDistanceValue for ICRSPosition { + fn with_distance_value(mut self, distance: Distance) -> Self { + self.set_distance(distance); + self + } +} diff --git a/01_yachay/cosmos/cosmos-coords/examples/eop_basics.rs b/01_yachay/cosmos/cosmos-coords/examples/eop_basics.rs new file mode 100644 index 0000000..b23b3a6 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/examples/eop_basics.rs @@ -0,0 +1,67 @@ +use cosmos_coords::eop::record::EopRecord; +use cosmos_coords::EopProvider; + +fn main() -> Result<(), Box> { + // --- Bundled IERS data --- + // The library ships with real IERS C04 + finals2000A data (updated weekly). + // C04 covers 1962-present observed values; finals extends with ~1yr predictions. + + let provider = EopProvider::bundled()?; + + let mjd = 59945.0; // 2023-01-01 + let params = provider.get(mjd)?; + + println!("Bundled IERS data lookup for MJD {mjd}:"); + println!(" {params}"); + println!(" LOD = {:.7} s", params.lod); + println!(" s' = {:.4e} rad", params.s_prime); + println!(" source = {:?}", params.flags.source); + println!(" quality = {:?}", params.flags.quality); + + if let Some((start, end)) = provider.time_span() { + println!( + " coverage = MJD {start:.0} to {end:.0} ({:.0} days)", + end - start + ); + } + println!(" records = {}", provider.record_count()); + println!(); + + // --- Manual EOP records --- + // Build records by hand for testing or when you have your own data source. + + let r1 = EopRecord::new(60000.0, 0.100, 0.250, -0.050, 0.0015)? + .with_cip_offsets(0.120, -0.080)? + .with_pole_rates(0.00012, -0.00008)?; + + let r2 = EopRecord::new(60001.0, 0.102, 0.248, -0.052, 0.0016)? + .with_cip_offsets(0.125, -0.082)? + .with_pole_rates(0.00013, -0.00009)?; + + let r3 = EopRecord::new(60002.0, 0.104, 0.246, -0.054, 0.0014)? + .with_cip_offsets(0.130, -0.084)? + .with_pole_rates(0.00014, -0.00010)?; + + let provider = EopProvider::from_records(vec![r1, r2, r3])?; + + let interp = provider.get(60000.5)?; + println!("Interpolated at MJD 60000.5:"); + println!(" {interp}"); + println!(" dX = {:.3} mas", interp.dx.unwrap_or(0.0)); + println!(" dY = {:.3} mas", interp.dy.unwrap_or(0.0)); + println!(" xrt = {:.6} arcsec/day", interp.xrt.unwrap_or(0.0)); + println!(" yrt = {:.6} arcsec/day", interp.yrt.unwrap_or(0.0)); + println!(" has_cip = {}", interp.flags.has_cip_offsets); + println!(" has_rates = {}", interp.flags.has_pole_rates); + println!(); + + // --- Data span --- + if let Some((start, end)) = provider.time_span() { + println!( + "Loaded data covers MJD {start:.0} to {end:.0} ({:.0} days)", + end - start + ); + } + + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-coords/examples/eop_update.rs b/01_yachay/cosmos/cosmos-coords/examples/eop_update.rs new file mode 100644 index 0000000..917b7aa --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/examples/eop_update.rs @@ -0,0 +1,82 @@ +use cosmos_coords::EopProvider; +use std::path::PathBuf; + +const FINALS_URL: &str = "https://datacenter.iers.org/data/9/finals2000A.all"; + +#[tokio::main(flavor = "current_thread")] +async fn main() -> Result<(), Box> { + let cache_dir = cache_dir(); + let finals_path = cache_dir.join("finals2000A.all"); + + // Show bundled data coverage + let bundled = EopProvider::bundled()?; + let (bstart, bend) = bundled.time_span().unwrap(); + println!( + "Bundled EOP data: MJD {bstart:.0} to {bend:.0} ({} records)", + bundled.record_count() + ); + + // Download fresh finals2000A if not cached (or always, in production) + if !finals_path.exists() { + println!("\nDownloading finals2000A from IERS..."); + let body = reqwest::get(FINALS_URL).await?.text().await?; + std::fs::create_dir_all(&cache_dir)?; + std::fs::write(&finals_path, &body)?; + println!("Saved to {}", finals_path.display()); + } else { + println!("\nUsing cached {}", finals_path.display()); + } + + // Load from file only + let from_file = EopProvider::from_finals_file(&finals_path)?; + let (fstart, fend) = from_file.time_span().unwrap(); + println!( + "\nFinals-only: MJD {fstart:.0} to {fend:.0} ({} records)", + from_file.record_count() + ); + + // Bundled + update overlay (the telescope control pattern) + let merged = EopProvider::bundled_with_update(&finals_path)?; + let (mstart, mend) = merged.time_span().unwrap(); + println!( + "Merged: MJD {mstart:.0} to {mend:.0} ({} records)", + merged.record_count() + ); + + // Compare a lookup across providers + let test_mjd = bend - 10.0; // 10 days before end of bundled data + let bundled_params = bundled.get(test_mjd)?; + let merged_params = merged.get(test_mjd)?; + println!("\nLookup at MJD {test_mjd:.1}:"); + println!(" Bundled: {bundled_params}"); + println!(" Merged: {merged_params}"); + + // Try a date beyond bundled range (if the finals data extends further) + if mend > bend { + let future_mjd = bend + 30.0; + match merged.get(future_mjd) { + Ok(params) => { + println!("\nFuture lookup at MJD {future_mjd:.1} (beyond bundled):"); + println!(" {params}"); + } + Err(e) => println!("\nMJD {future_mjd:.1} not available: {e}"), + } + } + + Ok(()) +} + +fn cache_dir() -> PathBuf { + // XDG on Linux, ~/Library/Caches on macOS, AppData\Local on Windows + #[cfg(target_os = "macos")] + let base = std::env::var("HOME").map(|h| PathBuf::from(h).join("Library/Caches")); + #[cfg(target_os = "linux")] + let base = std::env::var("XDG_CACHE_HOME") + .or_else(|_| std::env::var("HOME").map(|h| format!("{h}/.cache"))) + .map(PathBuf::from); + #[cfg(target_os = "windows")] + let base = std::env::var("LOCALAPPDATA").map(PathBuf::from); + + base.unwrap_or_else(|_| PathBuf::from(".")) + .join("eternal") +} diff --git a/01_yachay/cosmos/cosmos-coords/examples/galactic_ecliptic.rs b/01_yachay/cosmos/cosmos-coords/examples/galactic_ecliptic.rs new file mode 100644 index 0000000..71b7056 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/examples/galactic_ecliptic.rs @@ -0,0 +1,191 @@ +use cosmos_coords::frames::{EclipticPosition, GalacticPosition, ICRSPosition}; +use cosmos_coords::transforms::CoordinateFrame; +use cosmos_coords::Distance; +use cosmos_time::tt_from_calendar; + +fn main() -> Result<(), Box> { + let tt = tt_from_calendar(2024, 6, 21, 12, 0, 0.0); // Summer solstice 2024 + + // --- Galactic coordinates --- + // The galactic frame is fixed (IAU 1958 definition, refined by Hipparcos). + // No epoch dependence — the rotation matrix from ICRS to galactic is constant. + + println!("=== Galactic Coordinate System ===\n"); + + // Sagittarius A* (galactic center) + let sgr_a = ICRSPosition::from_hours_degrees(17.76112, -29.00781)?; + let gal = sgr_a.to_galactic(&tt)?; + println!("Sgr A* (Galactic Center):"); + println!( + " ICRS: RA = {:.5}h Dec = {:+.5}°", + sgr_a.ra().hours(), + sgr_a.dec().degrees() + ); + println!( + " Galactic: l = {:.4}° b = {:+.4}°", + gal.longitude().degrees(), + gal.latitude().degrees() + ); + println!( + " Near plane? {} In bulge? {}\n", + gal.is_near_galactic_plane(), + gal.is_in_galactic_bulge() + ); + + // Polaris — far from the galactic plane + let polaris = ICRSPosition::from_hours_degrees(2.53030, 89.26411)?; + let gal = polaris.to_galactic(&tt)?; + println!("Polaris:"); + println!( + " ICRS: RA = {:.5}h Dec = {:+.5}°", + polaris.ra().hours(), + polaris.dec().degrees() + ); + println!( + " Galactic: l = {:.4}° b = {:+.4}°", + gal.longitude().degrees(), + gal.latitude().degrees() + ); + println!(" Near pole? {}\n", gal.is_near_galactic_pole()); + + // Roundtrip: galactic → ICRS + let gc = GalacticPosition::galactic_center(); + let icrs = gc.to_icrs(&tt)?; + println!("Galactic center reference point:"); + println!( + " l = {:.1}°, b = {:.1}° → RA = {:.5}h, Dec = {:+.5}°\n", + gc.longitude().degrees(), + gc.latitude().degrees(), + icrs.ra().hours(), + icrs.dec().degrees() + ); + + // Notable galactic reference points + let ngp = GalacticPosition::north_galactic_pole(); + let ngp_icrs = ngp.to_icrs(&tt)?; + println!("North Galactic Pole:"); + println!( + " l = {:.1}°, b = {:+.1}° → RA = {:.5}h, Dec = {:+.5}°", + ngp.longitude().degrees(), + ngp.latitude().degrees(), + ngp_icrs.ra().hours(), + ngp_icrs.dec().degrees() + ); + + let anti = GalacticPosition::galactic_anticenter(); + let anti_icrs = anti.to_icrs(&tt)?; + println!("Galactic Anticenter:"); + println!( + " l = {:.1}°, b = {:+.1}° → RA = {:.5}h, Dec = {:+.5}°\n", + anti.longitude().degrees(), + anti.latitude().degrees(), + anti_icrs.ra().hours(), + anti_icrs.dec().degrees() + ); + + // --- Ecliptic coordinates --- + // Ecliptic longitude/latitude relative to the ecliptic plane. + // Epoch-dependent: the ecliptic precesses with time. + + println!("=== Ecliptic Coordinate System ===\n"); + + // Objects near the ecliptic tend to be solar system bodies. + // Stars far from the ecliptic have large |β|. + + let vega = ICRSPosition::from_hours_degrees(18.61564, 38.78369)?; + let ecl = vega.to_ecliptic(&tt)?; + println!("Vega:"); + println!( + " ICRS: RA = {:.5}h Dec = {:+.5}°", + vega.ra().hours(), + vega.dec().degrees() + ); + println!( + " Ecliptic: λ = {:.4}° β = {:+.4}°", + ecl.lambda().degrees(), + ecl.beta().degrees() + ); + println!(" Near ecliptic? {}", ecl.is_near_ecliptic_plane()); + println!( + " Mean obliquity = {:.6}°\n", + ecl.mean_obliquity().degrees() + ); + + // Aldebaran — near the ecliptic (zodiac star) + let aldebaran = ICRSPosition::from_hours_degrees(4.59868, 16.50930)?; + let ecl = aldebaran.to_ecliptic(&tt)?; + println!("Aldebaran (in Taurus, near ecliptic):"); + println!( + " ICRS: RA = {:.5}h Dec = {:+.5}°", + aldebaran.ra().hours(), + aldebaran.dec().degrees() + ); + println!( + " Ecliptic: λ = {:.4}° β = {:+.4}°", + ecl.lambda().degrees(), + ecl.beta().degrees() + ); + println!(" Near ecliptic? {}\n", ecl.is_near_ecliptic_plane()); + + // Ecliptic reference points + let ve = EclipticPosition::vernal_equinox(tt); + let ve_icrs = ve.to_icrs(&tt)?; + println!("Vernal equinox (λ=0°, β=0°):"); + println!( + " → RA = {:.5}h, Dec = {:+.5}°", + ve_icrs.ra().hours(), + ve_icrs.dec().degrees() + ); + + let ss = EclipticPosition::summer_solstice(tt); + let ss_icrs = ss.to_icrs(&tt)?; + println!("Summer solstice (λ=90°, β=0°):"); + println!( + " → RA = {:.5}h, Dec = {:+.5}°\n", + ss_icrs.ra().hours(), + ss_icrs.dec().degrees() + ); + + // --- Angular separation across frames --- + + let m31 = ICRSPosition::from_hours_degrees(0.71222, 41.26917)?; + let m31 = with_distance(m31, Distance::from_parsecs(778_000.0)?); + let m31_gal = m31.to_galactic(&tt)?; + + println!("=== Distances ===\n"); + println!("M31 (Andromeda):"); + println!( + " ICRS: RA = {:.5}h Dec = {:+.5}°", + m31.ra().hours(), + m31.dec().degrees() + ); + println!( + " Galactic: l = {:.4}° b = {:+.4}°", + m31_gal.longitude().degrees(), + m31_gal.latitude().degrees() + ); + println!( + " Distance: {:.0} kpc = {:.2} Mly = {:.0} AU", + m31.distance().unwrap().parsecs() / 1000.0, + m31.distance().unwrap().light_years() / 1e6, + m31.distance().unwrap().au() + ); + println!( + " Distance modulus: {:.2} mag", + m31.distance().unwrap().distance_modulus() + ); + println!( + " Local Group member? {}", + m31.distance().unwrap().is_local_group() + ); + + let sep = sgr_a.angular_separation(&m31); + println!(" Sgr A* ↔ M31 = {:.2}°", sep.degrees()); + + Ok(()) +} + +fn with_distance(mut pos: ICRSPosition, d: Distance) -> ICRSPosition { + pos.set_distance(d); + pos +} diff --git a/01_yachay/cosmos/cosmos-coords/examples/solar_lunar.rs b/01_yachay/cosmos/cosmos-coords/examples/solar_lunar.rs new file mode 100644 index 0000000..f41130d --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/examples/solar_lunar.rs @@ -0,0 +1,204 @@ +use cosmos_coords::frames::{ + HeliographicCarrington, HeliographicStonyhurst, SelenographicPosition, +}; +use cosmos_coords::lunar::compute_lunar_orientation; +use cosmos_coords::solar::{ + carrington_rotation_number, compute_solar_orientation, sun_earth_distance, +}; +use cosmos_time::tt_from_calendar; + +fn main() -> Result<(), Box> { + // --- Solar orientation --- + // B0: heliographic latitude of the sub-solar point (disk center tilt) + // L0: Carrington longitude of central meridian + // P: position angle of the solar rotation axis + + let solstice = tt_from_calendar(2024, 6, 21, 12, 0, 0.0); + let equinox = tt_from_calendar(2024, 3, 20, 3, 6, 0.0); + + println!("=== Solar Orientation ===\n"); + + for (label, epoch) in [ + ("Summer solstice 2024", &solstice), + ("Vernal equinox 2024", &equinox), + ] { + let orient = compute_solar_orientation(epoch); + let dist = sun_earth_distance(epoch); + let cr = carrington_rotation_number(epoch); + + println!("{label}:"); + println!( + " B0 = {:+.4}° (disk center heliographic latitude)", + orient.b0.degrees() + ); + println!( + " L0 = {:.4}° (central meridian Carrington longitude)", + orient.l0.degrees() + ); + println!( + " P = {:+.4}° (solar north pole position angle)", + orient.p.degrees() + ); + println!(" Sun-Earth = {:.6} AU", dist); + println!(" Carrington rotation #{cr}\n"); + } + + // --- Heliographic coordinates --- + // Two systems: Stonyhurst (Earth-fixed meridian) and Carrington (rotating with Sun). + // Active regions are commonly reported in both. + + println!("=== Heliographic Coordinates ===\n"); + + // A sunspot near disk center + let spot_stonyhurst = HeliographicStonyhurst::from_degrees(15.0, -10.0)?; + let spot_carrington = spot_stonyhurst.to_carrington(&solstice)?; + + println!("Sunspot at Stonyhurst (15°N, 10°W):"); + println!( + " Stonyhurst: lat = {:.1}°, lon = {:.1}°", + spot_stonyhurst.latitude().degrees(), + spot_stonyhurst.longitude().degrees() + ); + println!( + " Carrington: lat = {:.1}°, lon = {:.2}°", + spot_carrington.latitude().degrees(), + spot_carrington.longitude().degrees() + ); + + // Roundtrip + let back = spot_carrington.to_stonyhurst(&solstice)?; + println!( + " Roundtrip: lat = {:.1}°, lon = {:.1}°\n", + back.latitude().degrees(), + back.longitude().degrees() + ); + + // Disk center in Stonyhurst is always (B0, 0) by definition + let center = HeliographicStonyhurst::disk_center(&solstice); + println!("Disk center at solstice:"); + println!( + " lat = {:+.4}°, lon = {:.4}°\n", + center.latitude().degrees(), + center.longitude().degrees() + ); + + // Carrington rotation number (fractional) + let cr = HeliographicCarrington::carrington_rotation_number(&solstice); + println!("Carrington rotation number: {:.3}", cr); + println!(" (integer part = rotation count, fraction = phase within rotation)\n"); + + // --- Lunar orientation and libration --- + // The Moon's apparent tilt changes due to optical libration. + // Longitude libration: ±7.9° (due to eccentric orbit) + // Latitude libration: ±6.7° (due to orbital inclination) + + println!("=== Lunar Orientation ===\n"); + + let dates = [ + ( + "New Moon ~2024-01-11", + tt_from_calendar(2024, 1, 11, 12, 0, 0.0), + ), + ( + "Full Moon ~2024-01-25", + tt_from_calendar(2024, 1, 25, 17, 0, 0.0), + ), + ( + "New Moon ~2024-02-09", + tt_from_calendar(2024, 2, 9, 23, 0, 0.0), + ), + ( + "Full Moon ~2024-06-22", + tt_from_calendar(2024, 6, 22, 1, 0, 0.0), + ), + ]; + + for (label, epoch) in &dates { + let orient = compute_lunar_orientation(epoch); + + println!("{label}:"); + println!( + " Optical libration: lon = {:+.3}°, lat = {:+.3}°", + orient.optical_libration.longitude.degrees(), + orient.optical_libration.latitude.degrees() + ); + println!(" Position angle: {:+.3}°", orient.position_angle.degrees()); + println!(); + } + + // --- Selenographic coordinates --- + // Coordinates on the lunar surface. Used for crater positions, landing sites, etc. + + println!("=== Selenographic Coordinates ===\n"); + + // Apollo 11 landing site: Sea of Tranquility + let apollo11 = SelenographicPosition::from_degrees(0.6744, 23.4730)?; + println!("Apollo 11 landing site (Tranquility Base):"); + println!( + " lat = {:.4}°, lon = {:.4}°", + apollo11.latitude().degrees(), + apollo11.longitude().degrees() + ); + println!( + " Visible from Earth? {}\n", + apollo11.is_visible_from_earth(&solstice) + ); + + // Tycho crater + let tycho = SelenographicPosition::from_degrees(-43.31, -11.36)?; + println!("Tycho crater:"); + println!( + " lat = {:.2}°, lon = {:.2}°", + tycho.latitude().degrees(), + tycho.longitude().degrees() + ); + println!( + " Visible from Earth? {}\n", + tycho.is_visible_from_earth(&solstice) + ); + + // South Pole-Aitken Basin (far side) + let spa = SelenographicPosition::from_degrees(-53.0, 169.0)?; + println!("South Pole-Aitken Basin (far side):"); + println!( + " lat = {:.1}°, lon = {:.1}°", + spa.latitude().degrees(), + spa.longitude().degrees() + ); + println!( + " Visible from Earth? {}\n", + spa.is_visible_from_earth(&solstice) + ); + + // Sub-Earth point + let sub_earth = SelenographicPosition::sub_earth_point(&solstice)?; + println!("Sub-Earth point at solstice:"); + println!( + " lat = {:+.3}°, lon = {:+.3}°", + sub_earth.latitude().degrees(), + sub_earth.longitude().degrees() + ); + + // Angular separation between Apollo 11 and Tycho + let sep = apollo11.angular_separation(&tycho); + println!( + "\nApollo 11 ↔ Tycho = {:.2}° on lunar surface", + sep.degrees() + ); + + // Reference points + let nearside = SelenographicPosition::nearside_center(); + let farside = SelenographicPosition::farside_center(); + println!( + "\nNearside center: ({:.0}°, {:.0}°)", + nearside.latitude().degrees(), + nearside.longitude().degrees() + ); + println!( + "Farside center: ({:.0}°, {:.0}°)", + farside.latitude().degrees(), + farside.longitude().degrees() + ); + + Ok(()) +} diff --git a/01_yachay/cosmos/cosmos-coords/src/aberration/coefficients.rs b/01_yachay/cosmos/cosmos-coords/src/aberration/coefficients.rs new file mode 100644 index 0000000..d1624ca --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/aberration/coefficients.rs @@ -0,0 +1,2008 @@ +pub struct Coefficients; + +impl Coefficients { + pub const E0X: &'static [[f64; 3]] = &[ + [9.998292878132e-01, 1.753485171504e+00, 6.283075850446e+00], + [8.352579567414e-03, 1.710344404582e+00, 1.256615170089e+01], + [5.611445335148e-03, 0.000000000000e+00, 0.000000000000e+00], + [1.046664295572e-04, 1.667225416770e+00, 1.884922755134e+01], + [3.110842534677e-05, 6.687513390251e-01, 8.399684731857e+01], + [2.552413503550e-05, 5.830637358413e-01, 5.296909721118e-01], + [2.137207845781e-05, 1.092330954011e+00, 1.577343543434e+00], + [1.680240182951e-05, 4.955366134987e-01, 6.279552690824e+00], + [1.679012370795e-05, 6.153014091901e+00, 6.286599010068e+00], + [1.445526946777e-05, 3.472744100492e+00, 2.352866153506e+00], + [1.091038246184e-05, 3.689845786119e+00, 5.223693906222e+00], + [9.344399733932e-06, 6.073934645672e+00, 1.203646072878e+01], + [8.993182910652e-06, 3.175705249069e+00, 1.021328554739e+01], + [5.665546034116e-06, 2.152484672246e+00, 1.059381944224e+00], + [6.844146703035e-06, 1.306964099750e+00, 5.753384878334e+00], + [7.346610905565e-06, 4.354980070466e+00, 3.981490189893e-01], + [6.815396474414e-06, 2.218229211267e+00, 4.705732307012e+00], + [6.112787253053e-06, 5.384788425458e+00, 6.812766822558e+00], + [4.518120711239e-06, 6.087604012291e+00, 5.884926831456e+00], + [4.521963430706e-06, 1.279424524906e+00, 6.256777527156e+00], + [4.497426764085e-06, 5.369129144266e+00, 6.309374173736e+00], + [4.062190566959e-06, 5.436473303367e-01, 6.681224869435e+00], + [5.412193480192e-06, 7.867838528395e-01, 7.755226100720e-01], + [5.469839049386e-06, 1.461440311134e+00, 1.414349524433e+01], + [5.205264083477e-06, 4.432944696116e+00, 7.860419393880e+00], + [2.149759935455e-06, 4.502237496846e+00, 1.150676975667e+01], + [2.279109618501e-06, 1.239441308815e+00, 7.058598460518e+00], + [2.259282939683e-06, 3.272430985331e+00, 4.694002934110e+00], + [2.558950271319e-06, 2.265471086404e+00, 1.216800268190e+01], + [2.561581447555e-06, 1.454740653245e+00, 7.099330490126e-01], + [1.781441115440e-06, 2.962068630206e+00, 7.962980379786e-01], + [1.612005874644e-06, 1.473255041006e+00, 5.486777812467e+00], + [1.818630667105e-06, 3.743903293447e-01, 6.283008715021e+00], + [1.818601377529e-06, 6.274174354554e+00, 6.283142985870e+00], + [1.554475925257e-06, 1.624110906816e+00, 2.513230340178e+01], + [2.090948029241e-06, 5.852052276256e+00, 1.179062909082e+01], + [2.000176345460e-06, 4.072093298513e+00, 1.778984560711e+01], + [1.289535917759e-06, 5.217019331069e+00, 7.079373888424e+00], + [1.281135307881e-06, 4.802054538934e+00, 3.738761453707e+00], + [1.518229005692e-06, 8.691914742502e-01, 2.132990797783e-01], + [9.450128579027e-07, 4.601859529950e+00, 1.097707878456e+01], + [7.781119494996e-07, 1.844352816694e+00, 8.827390247185e+00], + [7.733407759912e-07, 3.582790154750e+00, 5.507553240374e+00], + [7.350644318120e-07, 2.695277788230e+00, 1.589072916335e+00], + [6.535928827023e-07, 3.651327986142e+00, 1.176985366291e+01], + [6.324624183656e-07, 2.241302375862e+00, 6.262300422539e+00], + [6.298565300557e-07, 4.407122406081e+00, 6.303851278352e+00], + [8.587037089179e-07, 3.024307223119e+00, 1.672837615881e+02], + [8.299954491035e-07, 6.192539428237e+00, 3.340612434717e+00], + [6.311263503401e-07, 2.014758795416e+00, 7.113454667900e-03], + [6.005646745452e-07, 3.399500503397e+00, 4.136910472696e+00], + [7.917715109929e-07, 2.493386877837e+00, 6.069776770667e+00], + [7.556958099685e-07, 4.159491740143e+00, 6.496374930224e+00], + [6.773228244949e-07, 4.034162934230e+00, 9.437762937313e+00], + [5.370708577847e-07, 1.562219163734e+00, 1.194447056968e+00], + [5.710804266203e-07, 2.662730803386e+00, 6.282095334605e+00], + [5.709824583726e-07, 3.985828430833e+00, 6.284056366286e+00], + [5.143950896447e-07, 1.308144688689e+00, 6.290189305114e+00], + [5.088010604546e-07, 5.352817214804e+00, 6.275962395778e+00], + [4.960369085172e-07, 2.644267922349e+00, 6.127655567643e+00], + [4.803137891183e-07, 4.008844192080e+00, 6.438496133249e+00], + [5.731747768225e-07, 3.794550174597e+00, 3.154687086868e+00], + [4.735947960579e-07, 6.107118308982e+00, 3.128388763578e+00], + [4.808348796625e-07, 4.771458618163e+00, 8.018209333619e-01], + [4.115073743137e-07, 3.327111335159e+00, 8.429241228195e+00], + [5.230575889287e-07, 5.305708551694e+00, 1.336797263425e+01], + [5.133977889215e-07, 5.784230738814e+00, 1.235285262111e+01], + [5.065815825327e-07, 2.052064793679e+00, 1.185621865188e+01], + [4.339831593868e-07, 3.644994195830e+00, 1.726015463500e+01], + [3.952928638953e-07, 4.930376436758e+00, 5.481254917084e+00], + [4.898498111942e-07, 4.542084219731e-01, 9.225539266174e+00], + [4.757490209328e-07, 3.161126388878e+00, 5.856477690889e+00], + [4.727701669749e-07, 6.214993845446e-01, 2.544314396739e+00], + [3.800966681863e-07, 3.040132339297e+00, 4.265981595566e-01], + [3.257301077939e-07, 8.064977360087e-01, 3.930209696940e+00], + [3.255810528674e-07, 1.974147981034e+00, 2.146165377750e+00], + [3.252029748187e-07, 2.845924913135e+00, 4.164311961999e+00], + [3.255505635308e-07, 3.017900824120e+00, 5.088628793478e+00], + [2.801345211990e-07, 6.109717793179e+00, 1.256967486051e+01], + [3.688987740970e-07, 2.911550235289e+00, 1.807370494127e+01], + [2.475153429458e-07, 2.179146025856e+00, 2.629832328990e-02], + [3.033457749150e-07, 1.994161050744e+00, 4.535059491685e+00], + [2.186743763110e-07, 5.125687237936e+00, 1.137170464392e+01], + [2.764777032774e-07, 4.822646860252e-01, 1.256262854127e+01], + [2.199028768592e-07, 4.637633293831e+00, 1.255903824622e+01], + [2.046482824760e-07, 1.467038733093e+00, 7.084896783808e+00], + [2.611209147507e-07, 3.044718783485e-01, 7.143069561767e+01], + [2.286079656818e-07, 4.764220356805e+00, 8.031092209206e+00], + [1.855071202587e-07, 3.383637774428e+00, 1.748016358760e+00], + [2.324669506784e-07, 6.189088449251e+00, 1.831953657923e+01], + [1.709528015688e-07, 5.874966729774e-01, 4.933208510675e+00], + [2.168156875828e-07, 4.302994009132e+00, 1.044738781244e+01], + [2.106675556535e-07, 3.800475419891e+00, 7.477522907414e+00], + [1.430213830465e-07, 1.294660846502e+00, 2.942463415728e+00], + [1.388396901944e-07, 4.594797202114e+00, 8.635942003952e+00], + [1.922258844190e-07, 4.943044543591e-01, 1.729818233119e+01], + [1.888460058292e-07, 2.426943912028e+00, 1.561374759853e+02], + [1.789449386107e-07, 1.582973303499e-01, 1.592596075957e+00], + [1.360803685374e-07, 5.197240440504e+00, 1.309584267300e+01], + [1.504038014709e-07, 3.120360916217e+00, 1.649636139783e+01], + [1.382769533389e-07, 6.164702888205e+00, 7.632943190217e+00], + [1.438059769079e-07, 1.437423770979e+00, 2.042657109477e+01], + [1.326303260037e-07, 3.609688799679e+00, 1.213955354133e+01], + [1.159244950540e-07, 5.463018167225e+00, 5.331357529664e+00], + [1.433118149136e-07, 6.028909912097e+00, 7.342457794669e+00], + [1.234623148594e-07, 3.109645574997e+00, 6.279485555400e+00], + [1.233949875344e-07, 3.539359332866e+00, 6.286666145492e+00], + [9.927196061299e-08, 1.259321569772e+00, 7.234794171227e+00], + [1.242302191316e-07, 1.065949392609e+00, 1.511046609763e+01], + [1.098402195201e-07, 2.192508743837e+00, 1.098880815746e+01], + [1.158191395315e-07, 4.054411278650e+00, 5.729506548653e+00], + [9.048475596241e-08, 5.429764748518e+00, 9.623688285163e+00], + [8.889853269023e-08, 5.046586206575e+00, 6.148010737701e+00], + [1.048694242164e-07, 2.628858030806e+00, 6.836645152238e+00], + [1.112308378646e-07, 4.177292719907e+00, 1.572083878776e+01], + [8.631729709901e-08, 1.601345232557e+00, 6.418140963190e+00], + [8.527816951664e-08, 2.463888997513e+00, 1.471231707864e+01], + [7.892139456991e-08, 3.154022088718e+00, 2.118763888447e+00], + [1.051782905236e-07, 4.795035816088e+00, 1.349867339771e+00], + [1.048219943164e-07, 2.952983395230e+00, 5.999216516294e+00], + [7.435760775143e-08, 5.420547991464e+00, 6.040347114260e+00], + [9.869574106949e-08, 3.695646753667e+00, 6.566935184597e+00], + [9.156886364226e-08, 3.922675306609e+00, 5.643178611111e+00], + [7.006834356188e-08, 1.233968624861e+00, 6.525804586632e+00], + [9.806170182601e-08, 1.919542280684e+00, 2.122839202813e+01], + [9.052289673607e-08, 4.615902724369e+00, 4.690479774488e+00], + [7.554200867893e-08, 1.236863719072e+00, 1.253985337760e+01], + [8.215741286498e-08, 3.286800101559e-01, 1.097355562493e+01], + [7.185178575397e-08, 5.880942158367e+00, 6.245048154254e+00], + [7.130726476180e-08, 7.674871987661e-01, 6.321103546637e+00], + [6.650894461162e-08, 6.987129150116e-01, 5.327476111629e+00], + [7.396888823688e-08, 3.576824794443e+00, 5.368044267797e-01], + [7.420588884775e-08, 5.033615245369e+00, 2.354323048545e+01], + [6.141181642908e-08, 9.449927045673e-01, 1.296430071988e+01], + [6.373557924058e-08, 6.206342280341e+00, 9.517183207817e-01], + [6.359474329261e-08, 5.036079095757e+00, 1.990745094947e+00], + [5.740173582646e-08, 6.105106371350e+00, 9.555997388169e-01], + [7.019864084602e-08, 7.237747359018e-01, 5.225775174439e-01], + [6.398054487042e-08, 3.976367969666e+00, 2.407292145756e+01], + [7.797092650498e-08, 4.305423910623e+00, 2.200391463820e+01], + [6.466760000900e-08, 3.500136825200e+00, 5.230807360890e+00], + [7.529417043890e-08, 3.514779246100e+00, 1.842262939178e+01], + [6.924571140892e-08, 2.743457928679e+00, 1.554202828031e-01], + [6.220798650222e-08, 2.242598118209e+00, 1.845107853235e+01], + [5.870209391853e-08, 2.332832707527e+00, 6.398972393349e-01], + [6.263953473888e-08, 2.191105358956e+00, 6.277552955062e+00], + [6.257781390012e-08, 4.457559396698e+00, 6.288598745829e+00], + [5.697304945123e-08, 3.499234761404e+00, 1.551045220144e+00], + [6.335438746791e-08, 6.441691079251e-01, 5.216580451554e+00], + [6.377258441152e-08, 2.252599151092e+00, 5.650292065779e+00], + [6.484841818165e-08, 1.992812417646e+00, 1.030928125552e-01], + [4.735551485250e-08, 3.744672082942e+00, 1.431416805965e+01], + [4.628595996170e-08, 1.334226211745e+00, 5.535693017924e-01], + [6.258152336933e-08, 4.395836159154e+00, 2.608790314060e+01], + [6.196171366594e-08, 2.587043007997e+00, 8.467247584405e+01], + [6.159556952126e-08, 4.782499769128e+00, 2.394243902548e+02], + [4.987741172394e-08, 7.312257619924e-01, 7.771377146812e+01], + [5.459280703142e-08, 3.001376372532e+00, 6.179983037890e+00], + [4.863461189999e-08, 3.767222128541e+00, 9.027992316901e+01], + [5.349912093158e-08, 3.663594450273e+00, 6.386168663001e+00], + [5.673725607806e-08, 4.331187919049e+00, 6.915859635113e+00], + [4.745485060512e-08, 5.816195745518e+00, 6.282970628506e+00], + [4.745379005326e-08, 8.323672435672e-01, 6.283181072386e+00], + [4.049002796321e-08, 3.785023976293e+00, 6.254626709878e+00], + [4.247084014515e-08, 2.378220728783e+00, 7.875671926403e+00], + [4.026912363055e-08, 2.864103423269e+00, 6.311524991013e+00], + [4.062935011774e-08, 2.415408595975e+00, 3.634620989887e+00], + [5.347771048509e-08, 3.343479309801e+00, 2.515860172507e+01], + [4.829494136505e-08, 2.821742398262e+00, 5.760498333002e+00], + [4.342554404599e-08, 5.624662458712e+00, 7.238675589263e+00], + [4.021599184361e-08, 5.557250275009e-01, 1.101510648075e+01], + [4.104900474558e-08, 3.296691780005e+00, 6.709674010002e+00], + [4.376532905131e-08, 3.814443999443e+00, 6.805653367890e+00], + [3.314590480650e-08, 3.560229189250e+00, 1.259245002418e+01], + [3.232421839643e-08, 5.185389180568e+00, 1.066495398892e+00], + [3.541176318876e-08, 3.921381909679e+00, 9.917696840332e+00], + [3.689831242681e-08, 4.190658955386e+00, 1.192625446156e+01], + [3.890605376774e-08, 5.546023371097e+00, 7.478166569050e-02], + [3.038559339780e-08, 6.231032794494e+00, 1.256621883632e+01], + [3.137083969782e-08, 6.207063419190e+00, 4.292330755499e+00], + [4.024004081854e-08, 1.195257375713e+00, 1.334167431096e+01], + [3.300234879283e-08, 1.804694240998e+00, 1.057540660594e+01], + [3.635399155575e-08, 5.597811343500e+00, 6.208294184755e+00], + [3.032668691356e-08, 3.191059366530e+00, 1.805292951336e+01], + [2.809652069058e-08, 4.094348032570e+00, 3.523159621801e-03], + [3.696955383823e-08, 5.219282738794e+00, 5.966683958112e+00], + [3.562894142503e-08, 1.037247544554e+00, 6.357857516136e+00], + [3.510598524148e-08, 1.430020816116e+00, 6.599467742779e+00], + [3.617736142953e-08, 3.002911403677e+00, 6.019991944201e+00], + [2.624524910730e-08, 2.437046757292e+00, 6.702560555334e+00], + [2.535824204490e-08, 1.581594689647e+00, 3.141537925223e+01], + [3.519787226257e-08, 5.379863121521e+00, 2.505706758577e+02], + [2.578406709982e-08, 4.904222639329e+00, 1.673046366289e+01], + [3.423887981473e-08, 3.646448997315e+00, 6.546159756691e+00], + [2.776083886467e-08, 3.307829300144e+00, 1.272157198369e+01], + [3.379592818379e-08, 1.747541251125e+00, 1.494531617769e+01], + [3.050255426284e-08, 1.784689432607e-02, 4.732030630302e+00], + [2.652378350236e-08, 4.420055276260e+00, 5.863591145557e+00], + [2.374498173768e-08, 3.629773929208e+00, 2.388894113936e+00], + [2.716451255140e-08, 3.079623706780e+00, 1.202934727411e+01], + [3.038583699229e-08, 3.312487903507e-01, 1.256608456547e+01], + [2.220681228760e-08, 5.265520401774e+00, 1.336244973887e+01], + [3.044156540912e-08, 4.766664081250e+00, 2.908881142201e+01], + [2.731859923561e-08, 5.069146530691e+00, 1.391601904066e+01], + [2.285603018171e-08, 5.954935112271e+00, 6.076890225335e+00], + [2.025006454555e-08, 4.061789589267e+00, 4.701116388778e+00], + [2.012597519804e-08, 2.485047705241e+00, 6.262720680387e+00], + [2.003406962258e-08, 4.163779209320e+00, 6.303431020504e+00], + [2.207863441371e-08, 6.923839133828e-01, 6.489261475556e+00], + [2.481374305624e-08, 5.944173595676e+00, 1.204357418345e+01], + [2.130923288870e-08, 4.641013671967e+00, 5.746271423666e+00], + [2.446370543391e-08, 6.125796518757e+00, 1.495633313810e-01], + [1.932492759052e-08, 2.234572324504e-01, 1.352175143971e+01], + [2.600122568049e-08, 4.281012405440e+00, 4.590910121555e+00], + [2.431754047488e-08, 1.429943874870e-01, 1.162474756779e+00], + [1.875902869209e-08, 9.781803816948e-01, 6.279194432410e+00], + [1.874381139426e-08, 5.670368130173e+00, 6.286957268481e+00], + [2.156696047173e-08, 2.008985006833e+00, 1.813929450232e+01], + [1.965076182484e-08, 2.566186202453e-01, 4.686889479442e+00], + [2.334816372359e-08, 4.408121891493e+00, 1.002183730415e+01], + [1.869937408802e-08, 5.272745038656e+00, 2.427287361862e-01], + [2.436236460883e-08, 4.407720479029e+00, 9.514313292143e+01], + [1.761365216611e-08, 1.943892315074e-01, 1.351787002167e+01], + [2.156289480503e-08, 1.418570924545e+00, 6.037244212485e+00], + [2.164748979255e-08, 4.724603439430e+00, 2.301353951334e+01], + [2.222286670853e-08, 2.400266874598e+00, 1.266924451345e+01], + [2.070901414929e-08, 5.230348028732e+00, 6.528907488406e+00], + [1.792745177020e-08, 2.099190328945e+00, 6.819880277225e+00], + [1.841802068445e-08, 3.467527844848e-01, 6.514761976723e+01], + [1.578401631718e-08, 7.098642356340e-01, 2.077542790660e-02], + [1.561690152531e-08, 5.943349620372e+00, 6.272439236156e+00], + [1.558591045463e-08, 7.040653478980e-01, 6.293712464735e+00], + [1.737356469576e-08, 4.487064760345e+00, 1.765478049437e+01], + [1.434755619991e-08, 2.993391570995e+00, 1.102062672231e-01], + [1.482187806654e-08, 2.278049198251e+00, 1.052268489556e+00], + [1.424812827089e-08, 1.682114725827e+00, 1.311972100268e+01], + [1.380282448623e-08, 3.262668602579e+00, 1.017725758696e+01], + [1.811481244566e-08, 3.187771221777e+00, 1.887552587463e+01], + [1.504446185696e-08, 5.650162308647e+00, 7.626583626240e-02], + [1.740776154137e-08, 5.487068607507e+00, 1.965104848470e+01], + [1.374339536251e-08, 5.745688172201e+00, 6.016468784579e+00], + [1.761377477704e-08, 5.748060203659e+00, 2.593412433514e+01], + [1.535138225795e-08, 6.226848505790e+00, 9.411464614024e+00], + [1.788140543676e-08, 6.189318878563e+00, 3.301902111895e+01], + [1.375002807996e-08, 5.371812884394e+00, 6.327837846670e-01], + [1.242115758632e-08, 1.471687569712e+00, 3.894181736510e+00], + [1.450977333938e-08, 4.143836662127e+00, 1.277945078067e+01], + [1.297579575023e-08, 9.003477661957e-01, 6.549682916313e+00], + [1.462667934821e-08, 5.760505536428e+00, 1.863592847156e+01], + [1.381774374799e-08, 1.085471729463e+00, 2.379164476796e+00], + [1.682333169307e-08, 5.409870870133e+00, 1.620077269078e+01], + [1.190812918837e-08, 1.397205174601e+00, 1.149965630200e+01], + [1.221434762106e-08, 9.001804809095e-01, 1.257326515556e+01], + [1.549934644860e-08, 4.262528275544e+00, 1.820933031200e+01], + [1.252138953050e-08, 1.411642012027e+00, 6.993008899458e+00], + [1.237078905387e-08, 2.844472403615e+00, 2.435678079171e+01], + [1.446953389615e-08, 5.295835522223e+00, 3.813291813120e-02], + [1.388446457170e-08, 4.969428135497e+00, 2.458316379602e-01], + [1.019339179228e-08, 2.491369561806e+00, 6.112403035119e+00], + [1.258880815343e-08, 4.679426248976e+00, 5.429879531333e+00], + [1.297768238261e-08, 1.074509953328e+00, 1.249137003520e+01], + [9.913505718094e-09, 4.735097918224e+00, 6.247047890016e+00], + [9.830453155969e-09, 4.158649187338e+00, 6.453748665772e+00], + [1.192615865309e-08, 3.438208613699e+00, 6.290122169689e+00], + [9.835874798277e-09, 1.913300781229e+00, 6.319103810876e+00], + [9.639087569277e-09, 9.487683644125e-01, 8.273820945392e+00], + [1.175716107001e-08, 3.228141664287e+00, 6.276029531202e+00], + [1.018926508678e-08, 2.216607854300e+00, 1.254537627298e+01], + [9.500087869225e-09, 2.625116459733e+00, 1.256517118505e+01], + [9.664192916575e-09, 5.860562449214e+00, 6.259197520765e+00], + [9.612858712203e-09, 7.885682917381e-01, 6.306954180126e+00], + [1.117645675413e-08, 3.932148831189e+00, 1.779695906178e+01], + [1.158864052160e-08, 9.995605521691e-01, 1.778273215245e+01], + [9.021043467028e-09, 5.263769742673e+00, 6.172869583223e+00], + [8.836134773563e-09, 1.496843220365e+00, 1.692165728891e+00], + [1.045872200691e-08, 7.009039517214e-01, 2.204125344462e-01], + [1.211463487798e-08, 4.041544938511e+00, 8.257698122054e+01], + [8.541990804094e-09, 1.447586692316e+00, 6.393282117669e+00], + [1.038720703636e-08, 4.594249718112e-01, 1.550861511662e+01], + [1.126722351445e-08, 3.925550579036e+00, 2.061856251104e-01], + [8.697373859631e-09, 4.411341856037e+00, 9.491756770005e-01], + [8.869380028441e-09, 2.402659724813e+00, 3.903911373650e+00], + [9.247014693258e-09, 1.401579743423e+00, 6.267823317922e+00], + [9.205062930950e-09, 5.245978000814e+00, 6.298328382969e+00], + [8.000745038049e-09, 3.590803356945e+00, 2.648454860559e+00], + [9.168973650819e-09, 2.470150501679e+00, 1.498544001348e+02], + [1.075444949238e-08, 1.328606161230e+00, 3.694923081589e+01], + [7.817298525817e-09, 6.162256225998e+00, 4.804209201333e+00], + [9.541469226356e-09, 3.942568967039e+00, 1.256713221673e+01], + [9.821910122027e-09, 2.360246287233e-01, 1.140367694411e+01], + [9.897822023777e-09, 4.619805634280e+00, 2.280573557157e+01], + [7.737289283765e-09, 3.784727847451e+00, 7.834121070590e+00], + [9.260204034710e-09, 2.223352487601e+00, 2.787043132925e+00], + [7.320252888486e-09, 1.288694636874e+00, 6.282655592598e+00], + [7.319785780946e-09, 5.359869567774e+00, 6.283496108294e+00], + [7.147219933778e-09, 5.516616675856e+00, 1.725663147538e+01], + [7.946502829878e-09, 2.630459984567e+00, 1.241073141809e+01], + [9.001711808932e-09, 2.849815827227e+00, 6.281591679874e+00], + [8.994041507257e-09, 3.795244450750e+00, 6.284560021018e+00], + [8.298582787358e-09, 5.236413127363e-01, 1.241658836951e+01], + [8.526596520710e-09, 4.794605424426e+00, 1.098419223922e+01], + [8.209822103197e-09, 1.578752370328e+00, 1.096996532989e+01], + [6.357049861094e-09, 5.708926113761e+00, 1.596186371003e+00], + [7.370473179049e-09, 3.842402530241e+00, 4.061219149443e+00], + [7.232154664726e-09, 3.067548981535e+00, 1.610006857377e+02], + [6.328765494903e-09, 1.313930030069e+00, 1.193336791622e+01], + [8.030064908595e-09, 3.488500408886e+00, 8.460828644453e-01], + [6.275464259232e-09, 1.532061626198e+00, 8.531963191132e-01], + [7.051897446325e-09, 3.285859929993e+00, 5.849364236221e+00], + [6.161593705428e-09, 1.477341999464e+00, 5.573142801433e+00], + [7.754683957278e-09, 1.586118663096e+00, 8.662240327241e+00], + [5.889928990701e-09, 1.304887868803e+00, 1.232342296471e+01], + [5.705756047075e-09, 4.555333589350e+00, 1.258692712880e+01], + [5.964178808332e-09, 3.001762842062e+00, 5.333900173445e+00], + [6.712446027467e-09, 4.886780007595e+00, 1.171295538178e+01], + [5.941809275464e-09, 4.701509603824e+00, 9.779108567966e+00], + [5.466993627395e-09, 4.588357817278e+00, 1.884211409667e+01], + [6.340512090980e-09, 1.164543038893e+00, 5.217580628120e+01], + [6.325505710045e-09, 3.919171259645e+00, 1.041998632314e+01], + [6.164789509685e-09, 2.143828253542e+00, 6.151533897323e+00], + [5.263330812430e-09, 6.066564434241e+00, 1.885275071096e+01], + [5.597087780221e-09, 2.926316429472e+00, 4.337116142245e-01], + [5.396556236817e-09, 3.244303591505e+00, 6.286362197481e+00], + [5.396615148223e-09, 3.404304703662e+00, 6.279789503410e+00], + [7.091832443341e-09, 8.532377803192e-01, 4.907302013889e+00], + [6.572352589782e-09, 4.901966774419e+00, 1.176433076753e+01], + [5.960236060795e-09, 1.874672315797e+00, 1.422690933580e-02], + [5.125480043511e-09, 3.735726064334e+00, 1.245594543367e+01], + [5.928241866410e-09, 4.502033899935e+00, 6.414617803568e+00], + [5.249600357424e-09, 4.372334799878e+00, 1.151388321134e+01], + [6.059171276087e-09, 2.581617302908e+00, 6.062663316000e+00], + [5.295235081662e-09, 2.974811513158e+00, 3.496032717521e+00], + [5.820561875933e-09, 1.796073748244e-01, 2.838593341516e-01], + [4.754696606440e-09, 1.981998136973e+00, 3.104930017775e+00], + [6.385053548955e-09, 2.559174171605e-01, 6.133512519065e+00], + [6.589828273941e-09, 2.750967106776e+00, 4.087944051283e+01], + [5.383376567189e-09, 6.325947523578e-01, 2.248384854122e+01], + [5.928941683538e-09, 1.672304519067e+00, 1.581959461667e+00], + [4.816060709794e-09, 3.512566172575e+00, 9.388005868221e+00], + [6.003381586512e-09, 5.610932219189e+00, 5.326786718777e+00], + [5.504225393105e-09, 4.037501131256e+00, 6.503488384892e+00], + [5.353772620129e-09, 6.122774968240e+00, 1.735668374386e+02], + [5.786253768544e-09, 5.527984999515e+00, 1.350651127443e-01], + [5.065706702002e-09, 9.980765573624e-01, 1.248988586463e+01], + [5.972838885276e-09, 6.044489493203e+00, 2.673594526851e+01], + [5.323585877961e-09, 3.924265998147e+00, 4.171425416666e+00], + [5.210772682858e-09, 6.220111376901e+00, 2.460261242967e+01], + [4.726549040535e-09, 3.716043206862e+00, 7.232251527446e+00], + [6.029425105059e-09, 8.548704071116e-01, 3.227113045244e+02], + [4.481542826513e-09, 1.426925072829e+00, 5.547199253223e+00], + [5.836024505068e-09, 7.135651752625e-02, 7.285056171570e+01], + [4.137046613272e-09, 5.330767643283e+00, 1.087398597200e+01], + [5.171977473924e-09, 4.494262335353e-01, 1.884570439172e+01], + [5.694429833732e-09, 2.952369582215e+00, 9.723862754494e+01], + [4.009158925298e-09, 3.500003416535e+00, 6.244942932314e+00], + [4.784939596873e-09, 6.196709413181e+00, 2.929661536378e+01], + [3.983725022610e-09, 5.103690031897e+00, 4.274518229222e+00], + [3.870535232462e-09, 3.187569587401e+00, 6.321208768577e+00], + [5.140501213951e-09, 1.668924357457e+00, 1.232032006293e+01], + [3.849034819355e-09, 4.445722510309e+00, 1.726726808967e+01], + [4.002383075060e-09, 5.226224152423e+00, 7.018952447668e+00], + [3.890719543549e-09, 4.371166550274e+00, 1.491901785440e+01], + [4.887084607881e-09, 5.973556689693e+00, 1.478866649112e+00], + [3.739939287592e-09, 2.089084714600e+00, 6.922973089781e+00], + [5.031925918209e-09, 4.658371936827e+00, 1.715706182245e+01], + [4.387748764954e-09, 4.825580552819e+00, 2.331413144044e+02], + [4.147398098865e-09, 3.739003524998e+00, 1.376059875786e+01], + [3.719089993586e-09, 1.148941386536e+00, 6.297302759782e+00], + [3.934238461056e-09, 1.559893008343e+00, 7.872148766781e+00], + [3.672471375622e-09, 5.516145383612e+00, 6.268848941110e+00], + [3.768911277583e-09, 6.116053700563e+00, 4.157198507331e+00], + [4.033388417295e-09, 5.076821746017e+00, 1.567108171867e+01], + [3.764194617832e-09, 8.164676232075e-01, 3.185192151914e+00], + [4.840628226284e-09, 1.360479453671e+00, 1.252801878276e+01], + [4.949443923785e-09, 2.725622229926e+00, 1.617106187867e+02], + [4.117393089971e-09, 6.054459628492e-01, 5.642198095270e+00], + [3.925754020428e-09, 8.570462135210e-01, 2.139354194808e+01], + [3.630551757923e-09, 3.552067338279e+00, 6.294805223347e+00], + [3.627274802357e-09, 3.096565085313e+00, 6.271346477544e+00], + [3.806143885093e-09, 6.367751709777e-01, 1.725304118033e+01], + [4.433254641565e-09, 4.848461503937e+00, 7.445550607224e+00], + [3.712319846576e-09, 1.331950643655e+00, 4.194847048887e-01], + [3.849847534783e-09, 4.958368297746e-01, 9.562891316684e-01], + [3.483955430165e-09, 2.237215515707e+00, 1.161697602389e+01], + [3.961912730982e-09, 3.332402188575e+00, 2.277943724828e+01], + [3.419978244481e-09, 5.785600576016e+00, 1.362553364512e+01], + [3.329417758177e-09, 9.812676559709e-02, 1.685848245639e+01], + [4.207206893193e-09, 9.494780468236e-01, 2.986433403208e+01], + [3.268548976410e-09, 1.739332095686e-01, 5.749861718712e+00], + [3.321880082685e-09, 1.423354800666e+00, 6.279143387820e+00], + [4.503173010852e-09, 2.314972675293e-01, 1.385561574497e+00], + [4.316599090954e-09, 1.012646782616e-01, 4.176041334900e+00], + [3.283493323850e-09, 5.233306881265e+00, 6.287008313071e+00], + [3.164033542343e-09, 4.005597257511e+00, 2.099539292909e+01], + [4.159720956725e-09, 5.365676242020e+00, 5.905702259363e+00], + [3.565176892217e-09, 4.284440620612e+00, 3.932462625300e-03], + [3.514440950221e-09, 4.270562636575e+00, 7.335344340001e+00], + [3.540596871909e-09, 5.953553201060e+00, 1.234573916645e+01], + [2.960769905118e-09, 1.115180417718e+00, 2.670964694522e+01], + [2.962213739684e-09, 3.863811918186e+00, 6.408777551755e-01], + [3.883556700251e-09, 1.268617928302e+00, 6.660449441528e+00], + [2.919225516346e-09, 4.908605223265e+00, 1.375773836557e+00], + [3.115158863370e-09, 3.744519976885e+00, 3.802769619140e-02], + [4.099438144212e-09, 4.173244670532e+00, 4.480965020977e+01], + [2.899531858964e-09, 5.910601428850e+00, 2.059724391010e+01], + [3.289733429855e-09, 2.488050078239e+00, 1.081813534213e+01], + [3.933075612875e-09, 1.122363652883e+00, 3.773735910827e-01], + [3.021403764467e-09, 4.951973724904e+00, 2.982630633589e+01], + [2.798598949757e-09, 5.117057845513e+00, 1.937891852345e+01], + [3.397421302707e-09, 6.104159180476e+00, 6.923953605621e+00], + [3.720398002179e-09, 1.184933429829e+00, 3.066615496545e+01], + [3.598484186267e-09, 3.505282086105e+00, 6.147450479709e+00], + [3.694594027310e-09, 2.286651088141e+00, 2.636725487657e+00], + [2.680444152969e-09, 1.871816775482e-01, 6.816289982179e+00], + [3.497574865641e-09, 3.143251755431e+00, 6.418701221183e+00], + [3.130274129494e-09, 2.462167316018e+00, 1.235996607578e+01], + [3.241119069551e-09, 4.256374004686e+00, 1.652265972112e+01], + [2.601960842061e-09, 4.970362941425e+00, 1.045450126711e+01], + [2.690601527504e-09, 2.372657824898e+00, 3.163918923335e-01], + [2.908688152664e-09, 4.232652627721e+00, 2.828699048865e+01], + [3.120456131875e-09, 3.925747001137e-01, 2.195415756911e+01], + [3.148855423384e-09, 3.093478330445e+00, 1.172006883645e+01], + [3.051044261017e-09, 5.560948248212e+00, 6.055599646783e+00], + [2.826006876660e-09, 5.072790310072e+00, 5.120601093667e+00], + [3.100034191711e-09, 4.998530231096e+00, 1.799603123222e+01], + [2.398771640101e-09, 2.561739802176e+00, 6.255674361143e+00], + [2.384002842728e-09, 4.087420284111e+00, 6.310477339748e+00], + [2.842146517568e-09, 2.515048217955e+00, 5.469525544182e+00], + [2.847674371340e-09, 5.235326497443e+00, 1.034429499989e+01], + [2.903722140764e-09, 1.088200795797e+00, 6.510552054109e+00], + [3.187610710605e-09, 4.710624424816e+00, 1.693792562116e+02], + [3.048869992813e-09, 2.857975896445e-01, 8.390110365991e+00], + [2.860216950984e-09, 2.241619020815e+00, 2.243449970715e-01], + [2.701117683113e-09, 6.651573305272e-02, 6.129297044991e+00], + [2.509891590152e-09, 1.285135324585e+00, 1.044027435778e+01], + [2.623200252223e-09, 2.981229834530e-01, 6.436854655901e+00], + [2.622541669202e-09, 6.122470726189e+00, 9.380959548977e+00], + [2.818435667099e-09, 4.251087148947e+00, 5.934151399930e+00], + [2.365196797465e-09, 3.465070460790e+00, 2.470570524223e+01], + [2.358704646143e-09, 5.791603815350e+00, 8.671969964381e+00], + [2.388299481390e-09, 4.142483772941e+00, 7.096626156709e+00], + [1.996041217224e-09, 2.101901889496e+00, 1.727188400790e+01], + [2.687593060336e-09, 1.526689456959e+00, 7.075506709219e+01], + [2.618913670810e-09, 2.397684236095e+00, 6.632000300961e+00], + [2.571523050364e-09, 5.751929456787e-01, 6.206810014183e+00], + [2.582135006946e-09, 5.595464352926e+00, 4.873985990671e+01], + [2.372530190361e-09, 5.092689490655e+00, 1.590676413561e+01], + [2.357178484712e-09, 4.444363527851e+00, 3.097883698531e+00], + [2.451590394723e-09, 3.108251687661e+00, 6.612329252343e-01], + [2.370045949608e-09, 2.608133861079e+00, 3.459636466239e+01], + [2.268997267358e-09, 3.639717753384e+00, 2.844914056730e-02], + [1.731432137906e-09, 1.741898445707e-01, 2.019909489111e+01], + [1.629869741622e-09, 3.902225646724e+00, 3.035599730800e+01], + [2.206215801974e-09, 4.971131250731e+00, 6.281667977667e+00], + [2.205469554680e-09, 1.677462357110e+00, 6.284483723224e+00], + [2.148792362509e-09, 4.236259604006e+00, 1.980482729015e+01], + [1.873733657847e-09, 5.926814998687e+00, 2.876692439167e+01], + [2.026573758959e-09, 4.349643351962e+00, 2.449240616245e+01], + [1.807770325110e-09, 5.700940482701e+00, 2.045286941806e+01], + [1.881174408581e-09, 6.601286363430e-01, 2.358125818164e+01], + [1.368023671690e-09, 2.211098592752e+00, 2.473415438279e+01], + [1.720017916280e-09, 4.942488551129e+00, 1.679593901136e+02], + [1.702427665131e-09, 1.452233856386e+00, 3.338575901272e+02], + [1.414032510054e-09, 5.525357721439e+00, 1.624205518357e+02], + [1.652626045364e-09, 4.108794283624e+00, 8.956999012000e+01], + [1.642957769686e-09, 7.344335209984e-01, 5.267006960365e+01], + [1.614952403624e-09, 3.541213951363e+00, 3.332657872986e+01], + [1.535988291188e-09, 4.031094072151e+00, 3.852657435933e+01], + [1.593193738177e-09, 4.185136203609e+00, 2.282781046519e+02], + [1.074569126382e-09, 1.720485636868e+00, 8.397383534231e+01], + [1.074408214509e-09, 2.758613420318e+00, 8.401985929482e+01], + [9.700199670465e-10, 4.216686842097e+00, 7.826370942180e+01], + [1.258433517061e-09, 2.575068876639e-01, 3.115650189215e+02], + [1.240303229539e-09, 4.800844956756e-01, 1.784300471910e+02], + [9.018345948127e-10, 3.896756361552e-01, 5.886454391678e+01], + [1.135301432805e-09, 3.700805023550e-01, 7.842370451713e+01], + [9.215887951370e-10, 4.364579276638e+00, 1.014262087719e+02], + [1.055401054147e-09, 2.156564222111e+00, 5.660027930059e+01], + [1.008725979831e-09, 5.454015785234e+00, 4.245678405627e+01], + [7.217398104321e-10, 1.597772562175e+00, 2.457074661053e+02], + [6.912033134447e-10, 5.824090621461e+00, 1.679936946371e+02], + [6.833881523549e-10, 3.578778482835e+00, 6.053048899753e+01], + [4.887304205142e-10, 3.724362812423e+00, 9.656299901946e+01], + [5.173709754788e-10, 5.422427507933e+00, 2.442876000072e+02], + [4.671353097145e-10, 2.396106924439e+00, 1.435713242844e+02], + [5.652608439480e-10, 2.804028838685e+00, 8.365903305582e+01], + [5.604061331253e-10, 1.638816006247e+00, 8.433466158131e+01], + [4.712723365400e-10, 8.979003224474e-01, 3.164282286739e+02], + [4.909967465112e-10, 3.210426725516e+00, 4.059982187939e+02], + [4.771358267658e-10, 5.308027211629e+00, 1.805255418145e+02], + [3.943451445989e-10, 2.195145341074e+00, 2.568537517081e+02], + [3.952109120244e-10, 5.081189491586e+00, 2.449975330562e+02], + [3.788134594789e-10, 4.345171264441e+00, 1.568131045107e+02], + [3.738330190479e-10, 2.613062847997e+00, 3.948519331910e+02], + [3.099866678136e-10, 2.846760817689e+00, 1.547176098872e+02], + [2.002962716768e-10, 4.921360989412e+00, 2.268582385539e+02], + [2.198291338754e-10, 1.130360117454e-01, 1.658638954901e+02], + [1.491958330784e-10, 4.228195232278e+00, 2.219950288015e+02], + [1.475384076173e-10, 3.005721811604e-01, 3.052819430710e+02], + [1.661626624624e-10, 7.830125621203e-01, 2.526661704812e+02], + [9.015823460025e-11, 3.807792942715e+00, 4.171445043968e+02], + ]; + + pub const E0Y: &'static [[f64; 3]] = &[ + [9.998921098898e-01, 1.826583913846e-01, 6.283075850446e+00], + [-2.442700893735e-02, 0.000000000000e+00, 0.000000000000e+00], + [8.352929742915e-03, 1.395277998680e-01, 1.256615170089e+01], + [1.046697300177e-04, 9.641423109763e-02, 1.884922755134e+01], + [3.110841876663e-05, 5.381140401712e+00, 8.399684731857e+01], + [2.570269094593e-05, 5.301016407128e+00, 5.296909721118e-01], + [2.147389623610e-05, 2.662510869850e+00, 1.577343543434e+00], + [1.680344384050e-05, 5.207904119704e+00, 6.279552690824e+00], + [1.679117312193e-05, 4.582187486968e+00, 6.286599010068e+00], + [1.440512068440e-05, 1.900688517726e+00, 2.352866153506e+00], + [1.135139664999e-05, 5.273108538556e+00, 5.223693906222e+00], + [9.345482571018e-06, 4.503047687738e+00, 1.203646072878e+01], + [9.007418719568e-06, 1.605621059637e+00, 1.021328554739e+01], + [5.671536712314e-06, 5.812849070861e-01, 1.059381944224e+00], + [7.451401861666e-06, 2.807346794836e+00, 3.981490189893e-01], + [6.393470057114e-06, 6.029224133855e+00, 5.753384878334e+00], + [6.814275881697e-06, 6.472990145974e-01, 4.705732307012e+00], + [6.113705628887e-06, 3.813843419700e+00, 6.812766822558e+00], + [4.503851367273e-06, 4.527804370996e+00, 5.884926831456e+00], + [4.522249141926e-06, 5.991783029224e+00, 6.256777527156e+00], + [4.501794307018e-06, 3.798703844397e+00, 6.309374173736e+00], + [5.514927480180e-06, 3.961257833388e+00, 5.507553240374e+00], + [4.062862799995e-06, 5.256247296369e+00, 6.681224869435e+00], + [5.414900429712e-06, 5.499032014097e+00, 7.755226100720e-01], + [5.463153987424e-06, 6.173092454097e+00, 1.414349524433e+01], + [5.071611859329e-06, 2.870244247651e+00, 7.860419393880e+00], + [2.195112094455e-06, 2.952338617201e+00, 1.150676975667e+01], + [2.279139233919e-06, 5.951775132933e+00, 7.058598460518e+00], + [2.278386100876e-06, 4.845456398785e+00, 4.694002934110e+00], + [2.559088003308e-06, 6.945321117311e-01, 1.216800268190e+01], + [2.561079286856e-06, 6.167224608301e+00, 7.099330490126e-01], + [1.792755796387e-06, 1.400122509632e+00, 7.962980379786e-01], + [1.818715656502e-06, 4.703347611830e+00, 6.283142985870e+00], + [1.818744924791e-06, 5.086748900237e+00, 6.283008715021e+00], + [1.554518791390e-06, 5.331008042713e-02, 2.513230340178e+01], + [2.063265737239e-06, 4.283680484178e+00, 1.179062909082e+01], + [1.497613520041e-06, 6.074207826073e+00, 5.486777812467e+00], + [2.000617940427e-06, 2.501426281450e+00, 1.778984560711e+01], + [1.289731195580e-06, 3.646340599536e+00, 7.079373888424e+00], + [1.282657998934e-06, 3.232864804902e+00, 3.738761453707e+00], + [1.528915968658e-06, 5.581433416669e+00, 2.132990797783e-01], + [1.187304098432e-06, 5.453576453694e+00, 9.437762937313e+00], + [7.842782928118e-07, 2.823953922273e-01, 8.827390247185e+00], + [7.352892280868e-07, 1.124369580175e+00, 1.589072916335e+00], + [6.570189360797e-07, 2.089154042840e+00, 1.176985366291e+01], + [6.324967590410e-07, 6.704855581230e-01, 6.262300422539e+00], + [6.298289872283e-07, 2.836414855840e+00, 6.303851278352e+00], + [6.476686465855e-07, 4.852433866467e-01, 7.113454667900e-03], + [8.587034651234e-07, 1.453511005668e+00, 1.672837615881e+02], + [8.068948788113e-07, 9.224087798609e-01, 6.069776770667e+00], + [8.353786011661e-07, 4.631707184895e+00, 3.340612434717e+00], + [6.009324532132e-07, 1.829498827726e+00, 4.136910472696e+00], + [7.558158559566e-07, 2.588596800317e+00, 6.496374930224e+00], + [5.809279504503e-07, 5.516818853476e-01, 1.097707878456e+01], + [5.374131950254e-07, 6.275674734960e+00, 1.194447056968e+00], + [5.711160507326e-07, 1.091905956872e+00, 6.282095334605e+00], + [5.710183170746e-07, 2.415001635090e+00, 6.284056366286e+00], + [5.144373590610e-07, 6.020336443438e+00, 6.290189305114e+00], + [5.103108927267e-07, 3.775634564605e+00, 6.275962395778e+00], + [4.960654697891e-07, 1.073450946756e+00, 6.127655567643e+00], + [4.786385689280e-07, 2.431178012310e+00, 6.438496133249e+00], + [6.109911263665e-07, 5.343356157914e+00, 3.154687086868e+00], + [4.839898944024e-07, 5.830833594047e-02, 8.018209333619e-01], + [4.734822623919e-07, 4.536080134821e+00, 3.128388763578e+00], + [4.834741473290e-07, 2.585090489754e-01, 7.084896783808e+00], + [5.134858581156e-07, 4.213317172603e+00, 1.235285262111e+01], + [5.064004264978e-07, 4.814418806478e-01, 1.185621865188e+01], + [3.753476772761e-07, 1.599953399788e+00, 8.429241228195e+00], + [4.935264014283e-07, 2.157417556873e+00, 2.544314396739e+00], + [3.950929600897e-07, 3.359394184254e+00, 5.481254917084e+00], + [4.895849789777e-07, 5.165704376558e+00, 9.225539266174e+00], + [4.215241688886e-07, 2.065368800993e+00, 1.726015463500e+01], + [3.796773731132e-07, 1.468606346612e+00, 4.265981595566e-01], + [3.114178142515e-07, 3.615638079474e+00, 2.146165377750e+00], + [3.260664220838e-07, 4.417134922435e+00, 4.164311961999e+00], + [3.976996123008e-07, 4.700866883004e+00, 5.856477690889e+00], + [2.801459672924e-07, 4.538902060922e+00, 1.256967486051e+01], + [3.638931868861e-07, 1.334197991475e+00, 1.807370494127e+01], + [2.487013269476e-07, 3.749275558275e+00, 2.629832328990e-02], + [3.034165481994e-07, 4.236622030873e-01, 4.535059491685e+00], + [2.676278825586e-07, 5.970848007811e+00, 3.930209696940e+00], + [2.764903818918e-07, 5.194636754501e+00, 1.256262854127e+01], + [2.485149930507e-07, 1.002434207846e+00, 5.088628793478e+00], + [2.199305540941e-07, 3.066773098403e+00, 1.255903824622e+01], + [2.571106500435e-07, 7.588312459063e-01, 1.336797263425e+01], + [2.049751817158e-07, 3.444977434856e+00, 1.137170464392e+01], + [2.599707296297e-07, 1.873128542205e+00, 7.143069561767e+01], + [1.785018072217e-07, 5.015891306615e+00, 1.748016358760e+00], + [2.324833891115e-07, 4.618271239730e+00, 1.831953657923e+01], + [1.709711119545e-07, 5.300003455669e+00, 4.933208510675e+00], + [2.107159351716e-07, 2.229819815115e+00, 7.477522907414e+00], + [1.750333080295e-07, 6.161485880008e+00, 1.044738781244e+01], + [2.000598210339e-07, 2.967357299999e+00, 8.031092209206e+00], + [1.380920248681e-07, 3.027007923917e+00, 8.635942003952e+00], + [1.412460470299e-07, 6.037597163798e+00, 2.942463415728e+00], + [1.888459803001e-07, 8.561476243374e-01, 1.561374759853e+02], + [1.788370542585e-07, 4.869736290209e+00, 1.592596075957e+00], + [1.360893296167e-07, 3.626411886436e+00, 1.309584267300e+01], + [1.506846530160e-07, 1.550975377427e+00, 1.649636139783e+01], + [1.800913376176e-07, 2.075826033190e+00, 1.729818233119e+01], + [1.436261390649e-07, 6.148876420255e+00, 2.042657109477e+01], + [1.220227114151e-07, 4.382583879906e+00, 7.632943190217e+00], + [1.337883603592e-07, 2.036644327361e+00, 1.213955354133e+01], + [1.159326650738e-07, 3.892276994687e+00, 5.331357529664e+00], + [1.352853128569e-07, 1.447950649744e+00, 1.673046366289e+01], + [1.433408296083e-07, 4.457854692961e+00, 7.342457794669e+00], + [1.234701666518e-07, 1.538818147151e+00, 6.279485555400e+00], + [1.234027192007e-07, 1.968523220760e+00, 6.286666145492e+00], + [1.244024091797e-07, 5.779803499985e+00, 1.511046609763e+01], + [1.097934945516e-07, 6.210975221388e-01, 1.098880815746e+01], + [1.254611329856e-07, 2.591963807998e+00, 1.572083878776e+01], + [1.158247286784e-07, 2.483612812670e+00, 5.729506548653e+00], + [9.039078252960e-08, 3.857554579796e+00, 9.623688285163e+00], + [9.108024978836e-08, 5.826368512984e+00, 7.234794171227e+00], + [8.887068108436e-08, 3.475694573987e+00, 6.148010737701e+00], + [8.632374035438e-08, 3.059070488983e-02, 6.418140963190e+00], + [7.893186992967e-08, 1.583194837728e+00, 2.118763888447e+00], + [8.297650201172e-08, 8.519770534637e-01, 1.471231707864e+01], + [1.019759578988e-07, 1.319598738732e-01, 1.349867339771e+00], + [1.010037696236e-07, 9.937860115618e-01, 6.836645152238e+00], + [1.047727548266e-07, 1.382138405399e+00, 5.999216516294e+00], + [7.351993881086e-08, 3.833397851735e+00, 6.040347114260e+00], + [9.868771092341e-08, 2.124913814390e+00, 6.566935184597e+00], + [7.007321959390e-08, 5.946305343763e+00, 6.525804586632e+00], + [6.861411679709e-08, 4.574654977089e+00, 7.238675589263e+00], + [7.554519809614e-08, 5.949232686844e+00, 1.253985337760e+01], + [9.541880448335e-08, 3.495242990564e+00, 2.122839202813e+01], + [7.185606722155e-08, 4.310113471661e+00, 6.245048154254e+00], + [7.131360871710e-08, 5.480309323650e+00, 6.321103546637e+00], + [6.651142021039e-08, 5.411097713654e+00, 5.327476111629e+00], + [8.538618213667e-08, 1.827849973951e+00, 1.101510648075e+01], + [8.634954288044e-08, 5.443584943349e+00, 5.643178611111e+00], + [7.449415051484e-08, 2.011535459060e+00, 5.368044267797e-01], + [7.421047599169e-08, 3.464562529249e+00, 2.354323048545e+01], + [6.140694354424e-08, 5.657556228815e+00, 1.296430071988e+01], + [6.353525143033e-08, 3.463816593821e+00, 1.990745094947e+00], + [6.221964013447e-08, 1.532259498697e+00, 9.517183207817e-01], + [5.852480257244e-08, 1.375396598875e+00, 9.555997388169e-01], + [6.398637498911e-08, 2.405645801972e+00, 2.407292145756e+01], + [7.039744069878e-08, 5.397541799027e+00, 5.225775174439e-01], + [6.977997694382e-08, 4.762347105419e+00, 1.097355562493e+01], + [7.460629558396e-08, 2.711944692164e+00, 2.200391463820e+01], + [5.376577536101e-08, 2.352980430239e+00, 1.431416805965e+01], + [7.530607893556e-08, 1.943940180699e+00, 1.842262939178e+01], + [6.822928971605e-08, 4.337651846959e+00, 1.554202828031e-01], + [6.220772380094e-08, 6.716871369278e-01, 1.845107853235e+01], + [6.586950799043e-08, 2.229714460505e+00, 5.216580451554e+00], + [5.873800565771e-08, 7.627013920580e-01, 6.398972393349e-01], + [6.264346929745e-08, 6.202785478961e-01, 6.277552955062e+00], + [6.257929115669e-08, 2.886775596668e+00, 6.288598745829e+00], + [5.343536033409e-08, 1.977241012051e+00, 4.690479774488e+00], + [5.587849781714e-08, 1.922923484825e+00, 1.551045220144e+00], + [6.905100845603e-08, 3.570757164631e+00, 1.030928125552e-01], + [6.178957066649e-08, 5.197558947765e+00, 5.230807360890e+00], + [6.187270224331e-08, 8.193497368922e-01, 5.650292065779e+00], + [5.385664291426e-08, 5.406336665586e+00, 7.771377146812e+01], + [6.329363917926e-08, 2.837760654536e+00, 2.608790314060e+01], + [4.546018761604e-08, 2.933580297050e+00, 5.535693017924e-01], + [6.196091049375e-08, 4.157871494377e+00, 8.467247584405e+01], + [6.159555108218e-08, 3.211703561703e+00, 2.394243902548e+02], + [4.995340539317e-08, 1.459098102922e+00, 4.732030630302e+00], + [5.457031243572e-08, 1.430457676136e+00, 6.179983037890e+00], + [4.863461418397e-08, 2.196425916730e+00, 9.027992316901e+01], + [5.342947626870e-08, 2.086612890268e+00, 6.386168663001e+00], + [5.674296648439e-08, 2.760204966535e+00, 6.915859635113e+00], + [4.745783120161e-08, 4.245368971862e+00, 6.282970628506e+00], + [4.745676961198e-08, 5.544725787016e+00, 6.283181072386e+00], + [4.049796869973e-08, 2.213984363586e+00, 6.254626709878e+00], + [4.248333596940e-08, 8.075781952896e-01, 7.875671926403e+00], + [4.027178070205e-08, 1.293268540378e+00, 6.311524991013e+00], + [4.066543943476e-08, 3.986141175804e+00, 3.634620989887e+00], + [4.858863787880e-08, 1.276112738231e+00, 5.760498333002e+00], + [5.277398263530e-08, 4.916111741527e+00, 2.515860172507e+01], + [4.105635656559e-08, 1.725805864426e+00, 6.709674010002e+00], + [4.376781925772e-08, 2.243642442106e+00, 6.805653367890e+00], + [3.235827894693e-08, 3.614135118271e+00, 1.066495398892e+00], + [3.073244740308e-08, 2.460873393460e+00, 5.863591145557e+00], + [3.088609271373e-08, 5.678431771790e+00, 9.917696840332e+00], + [3.393022279836e-08, 3.814017477291e+00, 1.391601904066e+01], + [3.038686508802e-08, 4.660216229171e+00, 1.256621883632e+01], + [4.019677752497e-08, 5.906906243735e+00, 1.334167431096e+01], + [3.288834998232e-08, 9.536146445882e-01, 1.620077269078e+01], + [3.889973794631e-08, 3.942205097644e+00, 7.478166569050e-02], + [3.050438987141e-08, 1.624810271286e+00, 1.805292951336e+01], + [3.601142564638e-08, 4.030467142575e+00, 6.208294184755e+00], + [3.689015557141e-08, 3.648878818694e+00, 5.966683958112e+00], + [3.563471893565e-08, 5.749584017096e+00, 6.357857516136e+00], + [2.776183170667e-08, 2.630124187070e+00, 3.523159621801e-03], + [2.922350530341e-08, 1.790346403629e+00, 1.272157198369e+01], + [3.511076917302e-08, 6.142198301611e+00, 6.599467742779e+00], + [3.619351007632e-08, 1.432421386492e+00, 6.019991944201e+00], + [2.561254711098e-08, 2.302822475792e+00, 1.259245002418e+01], + [2.626903942920e-08, 8.660470994571e-01, 6.702560555334e+00], + [2.550187397083e-08, 6.069721995383e+00, 1.057540660594e+01], + [2.535873526138e-08, 1.079020331795e-02, 3.141537925223e+01], + [3.519786153847e-08, 3.809066902283e+00, 2.505706758577e+02], + [3.424651492873e-08, 2.075435114417e+00, 6.546159756691e+00], + [2.372676630861e-08, 2.057803120154e+00, 2.388894113936e+00], + [2.710980779541e-08, 1.510068488010e+00, 1.202934727411e+01], + [3.038710889704e-08, 5.043617528901e+00, 1.256608456547e+01], + [2.220364130585e-08, 3.694793218205e+00, 1.336244973887e+01], + [3.025880825460e-08, 5.450618999049e-02, 2.908881142201e+01], + [2.784493486864e-08, 3.381164084502e+00, 1.494531617769e+01], + [2.294414142438e-08, 4.382309025210e+00, 6.076890225335e+00], + [2.012723294724e-08, 9.142212256518e-01, 6.262720680387e+00], + [2.036357831958e-08, 5.676172293154e+00, 4.701116388778e+00], + [2.003474823288e-08, 2.592767977625e+00, 6.303431020504e+00], + [2.207144900109e-08, 5.404976271180e+00, 6.489261475556e+00], + [2.481664905135e-08, 4.373284587027e+00, 1.204357418345e+01], + [2.674949182295e-08, 5.859182188482e+00, 4.590910121555e+00], + [2.450554720322e-08, 4.555381557451e+00, 1.495633313810e-01], + [2.601975986457e-08, 3.933165584959e+00, 1.965104848470e+01], + [2.199860022848e-08, 5.227977189087e+00, 1.351787002167e+01], + [2.448121172316e-08, 4.858060353949e+00, 1.162474756779e+00], + [1.876014864049e-08, 5.690546553605e+00, 6.279194432410e+00], + [1.874513219396e-08, 4.099539297446e+00, 6.286957268481e+00], + [2.156380842559e-08, 4.382594769913e-01, 1.813929450232e+01], + [1.981691240061e-08, 1.829784152444e+00, 4.686889479442e+00], + [2.329992648539e-08, 2.836254278973e+00, 1.002183730415e+01], + [1.765184135302e-08, 2.803494925833e+00, 4.292330755499e+00], + [2.436368366085e-08, 2.836897959677e+00, 9.514313292143e+01], + [2.164089203889e-08, 6.127522446024e+00, 6.037244212485e+00], + [1.847755034221e-08, 3.683163635008e+00, 2.427287361862e-01], + [1.674798769966e-08, 3.316993867246e-01, 1.311972100268e+01], + [2.222542124356e-08, 8.294097805480e-01, 1.266924451345e+01], + [2.071074505925e-08, 3.659492220261e+00, 6.528907488406e+00], + [1.608224471835e-08, 4.774492067182e+00, 1.352175143971e+01], + [1.857583439071e-08, 2.873120597682e+00, 8.662240327241e+00], + [1.793018836159e-08, 5.282441177929e-01, 6.819880277225e+00], + [1.575391221692e-08, 1.320789654258e+00, 1.102062672231e-01], + [1.840132009557e-08, 1.917110916256e+00, 6.514761976723e+01], + [1.760917288281e-08, 2.972635937132e+00, 5.746271423666e+00], + [1.561779518516e-08, 4.372569261981e+00, 6.272439236156e+00], + [1.558687885205e-08, 5.416424926425e+00, 6.293712464735e+00], + [1.951359382579e-08, 3.094448898752e+00, 2.301353951334e+01], + [1.569144275614e-08, 2.802103689808e+00, 1.765478049437e+01], + [1.479130389462e-08, 2.136435020467e+00, 2.077542790660e-02], + [1.467828510764e-08, 7.072627435674e-01, 1.052268489556e+00], + [1.627627337440e-08, 3.947607143237e+00, 6.327837846670e-01], + [1.503498479758e-08, 4.079248909190e+00, 7.626583626240e-02], + [1.297967708237e-08, 6.269637122840e+00, 1.149965630200e+01], + [1.374416896634e-08, 4.175657970702e+00, 6.016468784579e+00], + [1.783812325219e-08, 1.476540547560e+00, 3.301902111895e+01], + [1.525884228756e-08, 4.653477715241e+00, 9.411464614024e+00], + [1.451067396763e-08, 2.573001128225e+00, 1.277945078067e+01], + [1.297713111950e-08, 5.612799618771e+00, 6.549682916313e+00], + [1.462784012820e-08, 4.189661623870e+00, 1.863592847156e+01], + [1.384185980007e-08, 2.656915472196e+00, 2.379164476796e+00], + [1.221497599801e-08, 5.612515760138e+00, 1.257326515556e+01], + [1.560574525896e-08, 4.783414317919e+00, 1.887552587463e+01], + [1.544598372036e-08, 2.694431138063e+00, 1.820933031200e+01], + [1.531678928696e-08, 4.105103489666e+00, 2.593412433514e+01], + [1.349321503795e-08, 3.082437194015e-01, 5.120601093667e+00], + [1.252030290917e-08, 6.124072334087e+00, 6.993008899458e+00], + [1.459243816687e-08, 3.733103981697e+00, 3.813291813120e-02], + [1.226103625262e-08, 1.267127706817e+00, 2.435678079171e+01], + [1.019449641504e-08, 4.367790112269e+00, 1.725663147538e+01], + [1.380789433607e-08, 3.387201768700e+00, 2.458316379602e-01], + [1.019453421658e-08, 9.204143073737e-01, 6.112403035119e+00], + [1.297929434405e-08, 5.786874896426e+00, 1.249137003520e+01], + [9.912677786097e-09, 3.164232870746e+00, 6.247047890016e+00], + [9.829386098599e-09, 2.586762413351e+00, 6.453748665772e+00], + [1.226807746104e-08, 6.239068436607e+00, 5.429879531333e+00], + [1.192691755997e-08, 1.867380051424e+00, 6.290122169689e+00], + [9.836499227081e-09, 3.424716293727e-01, 6.319103810876e+00], + [9.642862564285e-09, 5.661372990657e+00, 8.273820945392e+00], + [1.165184404862e-08, 5.768367239093e+00, 1.778273215245e+01], + [1.175794418818e-08, 1.657351222943e+00, 6.276029531202e+00], + [1.018948635601e-08, 6.458292350865e-01, 1.254537627298e+01], + [9.500383606676e-09, 1.054306140741e+00, 1.256517118505e+01], + [1.227512202906e-08, 2.505278379114e+00, 2.248384854122e+01], + [9.664792009993e-09, 4.289737277000e+00, 6.259197520765e+00], + [9.613285666331e-09, 5.500597673141e+00, 6.306954180126e+00], + [1.117906736211e-08, 2.361405953468e+00, 1.779695906178e+01], + [9.611378640782e-09, 2.851310576269e+00, 2.061856251104e-01], + [8.845354852370e-09, 6.208777705343e+00, 1.692165728891e+00], + [1.054046966600e-08, 5.413091423934e+00, 2.204125344462e-01], + [1.215539124483e-08, 5.613969479755e+00, 8.257698122054e+01], + [9.932460955209e-09, 1.106124877015e+00, 1.017725758696e+01], + [8.785804715043e-09, 2.869224476477e+00, 9.491756770005e-01], + [8.538084097562e-09, 6.159640899344e+00, 6.393282117669e+00], + [8.648994369529e-09, 1.374901198784e+00, 4.804209201333e+00], + [1.039063219067e-08, 5.171080641327e+00, 1.550861511662e+01], + [8.867983926439e-09, 8.317320304902e-01, 3.903911373650e+00], + [8.327495955244e-09, 3.605591969180e+00, 6.172869583223e+00], + [9.243088356133e-09, 6.114299196843e+00, 6.267823317922e+00], + [9.205657357835e-09, 3.675153683737e+00, 6.298328382969e+00], + [1.033269714606e-08, 3.313328813024e+00, 5.573142801433e+00], + [8.001706275552e-09, 2.019980960053e+00, 2.648454860559e+00], + [9.171858254191e-09, 8.992015524177e-01, 1.498544001348e+02], + [1.075327150242e-08, 2.898669963648e+00, 3.694923081589e+01], + [9.884866689828e-09, 4.946715904478e+00, 1.140367694411e+01], + [9.541835576677e-09, 2.371787888469e+00, 1.256713221673e+01], + [7.739903376237e-09, 2.213775190612e+00, 7.834121070590e+00], + [7.311962684106e-09, 3.429378787739e+00, 1.192625446156e+01], + [9.724904869624e-09, 6.195878564404e+00, 2.280573557157e+01], + [9.251628983612e-09, 6.511509527390e-01, 2.787043132925e+00], + [7.320763787842e-09, 6.001083639421e+00, 6.282655592598e+00], + [7.320296650962e-09, 3.789073265087e+00, 6.283496108294e+00], + [7.947032271039e-09, 1.059659582204e+00, 1.241073141809e+01], + [9.005277053115e-09, 1.280315624361e+00, 6.281591679874e+00], + [8.995601652048e-09, 2.224439106766e+00, 6.284560021018e+00], + [8.288040568796e-09, 5.234914433867e+00, 1.241658836951e+01], + [6.359381347255e-09, 4.137989441490e+00, 1.596186371003e+00], + [8.699572228626e-09, 1.758411009497e+00, 6.133512519065e+00], + [6.456797542736e-09, 5.919285089994e+00, 1.685848245639e+01], + [7.424573475452e-09, 5.414616938827e+00, 4.061219149443e+00], + [7.235671196168e-09, 1.496516557134e+00, 1.610006857377e+02], + [8.104015182733e-09, 1.919918242764e+00, 8.460828644453e-01], + [8.098576535937e-09, 3.819615855458e+00, 3.894181736510e+00], + [6.275292346625e-09, 6.244264115141e+00, 8.531963191132e-01], + [6.052432989112e-09, 5.037731872610e-01, 1.567108171867e+01], + [5.705651535817e-09, 2.984557271995e+00, 1.258692712880e+01], + [5.789650115138e-09, 6.087038140697e+00, 1.193336791622e+01], + [5.512132153377e-09, 5.855668994076e+00, 1.232342296471e+01], + [7.388890819102e-09, 2.443128574740e+00, 4.907302013889e+00], + [5.467593991798e-09, 3.017561234194e+00, 1.884211409667e+01], + [6.388519802999e-09, 5.887386712935e+00, 5.217580628120e+01], + [6.106777149944e-09, 3.483461059895e-01, 1.422690933580e-02], + [7.383420275489e-09, 5.417387056707e+00, 2.358125818164e+01], + [5.505208141738e-09, 2.848193644783e+00, 1.151388321134e+01], + [6.310757462877e-09, 2.349882520828e+00, 1.041998632314e+01], + [6.166904929691e-09, 5.728575944077e-01, 6.151533897323e+00], + [5.263442042754e-09, 4.495796125937e+00, 1.885275071096e+01], + [5.591828082629e-09, 1.355441967677e+00, 4.337116142245e-01], + [5.397051680497e-09, 1.673422864307e+00, 6.286362197481e+00], + [5.396992745159e-09, 1.833502206373e+00, 6.279789503410e+00], + [6.572913000726e-09, 3.331122065824e+00, 1.176433076753e+01], + [5.123421866413e-09, 2.165327142679e+00, 1.245594543367e+01], + [5.930495725999e-09, 2.931146089284e+00, 6.414617803568e+00], + [6.431797403933e-09, 4.134407994088e+00, 1.350651127443e-01], + [5.003182207604e-09, 3.805420303749e+00, 1.096996532989e+01], + [5.587731032504e-09, 1.082469260599e+00, 6.062663316000e+00], + [5.935263407816e-09, 8.384333678401e-01, 5.326786718777e+00], + [4.756019827760e-09, 3.552588749309e+00, 3.104930017775e+00], + [6.599951172637e-09, 4.320826409528e+00, 4.087944051283e+01], + [5.902606868464e-09, 4.811879454445e+00, 5.849364236221e+00], + [5.921147809031e-09, 9.942628922396e-02, 1.581959461667e+00], + [5.505382581266e-09, 2.466557607764e+00, 6.503488384892e+00], + [5.353771071862e-09, 4.551978748683e+00, 1.735668374386e+02], + [5.063282210946e-09, 5.710812312425e+00, 1.248988586463e+01], + [5.926120403383e-09, 1.333998428358e+00, 2.673594526851e+01], + [5.211016176149e-09, 4.649315360760e+00, 2.460261242967e+01], + [5.347075084894e-09, 5.512754081205e+00, 4.171425416666e+00], + [4.872609773574e-09, 1.308025299938e+00, 5.333900173445e+00], + [4.727711321420e-09, 2.144908368062e+00, 7.232251527446e+00], + [6.029426018652e-09, 5.567259412084e+00, 3.227113045244e+02], + [4.321485284369e-09, 5.230667156451e+00, 9.388005868221e+00], + [4.476406760553e-09, 6.134081115303e+00, 5.547199253223e+00], + [5.835268277420e-09, 4.783808492071e+00, 7.285056171570e+01], + [5.172183602748e-09, 5.161817911099e+00, 1.884570439172e+01], + [5.693571465184e-09, 1.381646203111e+00, 9.723862754494e+01], + [4.060634965349e-09, 3.876705259495e-01, 4.274518229222e+00], + [3.967398770473e-09, 5.029491776223e+00, 3.496032717521e+00], + [3.943754005255e-09, 1.923162955490e+00, 6.244942932314e+00], + [4.781323427824e-09, 4.633332586423e+00, 2.929661536378e+01], + [3.871483781204e-09, 1.616650009743e+00, 6.321208768577e+00], + [5.141741733997e-09, 9.817316704659e-02, 1.232032006293e+01], + [4.002385978497e-09, 3.656161212139e+00, 7.018952447668e+00], + [4.901092604097e-09, 4.404098713092e+00, 1.478866649112e+00], + [3.740932630345e-09, 5.181188732639e-01, 6.922973089781e+00], + [4.387283718538e-09, 3.254859566869e+00, 2.331413144044e+02], + [5.019197802033e-09, 3.086773224677e+00, 1.715706182245e+01], + [3.834931695175e-09, 2.797882673542e+00, 1.491901785440e+01], + [3.760413942497e-09, 2.892676280217e+00, 1.726726808967e+01], + [3.719717204628e-09, 5.861046025739e+00, 6.297302759782e+00], + [4.145623530149e-09, 2.168239627033e+00, 1.376059875786e+01], + [3.932788425380e-09, 6.271811124181e+00, 7.872148766781e+00], + [3.686377476857e-09, 3.936853151404e+00, 6.268848941110e+00], + [3.779077950339e-09, 1.404148734043e+00, 4.157198507331e+00], + [4.091334550598e-09, 2.452436180854e+00, 9.779108567966e+00], + [3.926694536146e-09, 6.102292739040e+00, 1.098419223922e+01], + [4.841000253289e-09, 6.072760457276e+00, 1.252801878276e+01], + [4.949340130240e-09, 1.154832815171e+00, 1.617106187867e+02], + [3.761557737360e-09, 5.527545321897e+00, 3.185192151914e+00], + [3.647396268188e-09, 1.525035688629e+00, 6.271346477544e+00], + [3.932405074189e-09, 5.570681040569e+00, 2.139354194808e+01], + [3.631322501141e-09, 1.981240601160e+00, 6.294805223347e+00], + [4.130007425139e-09, 2.050060880201e+00, 2.195415756911e+01], + [4.433905965176e-09, 3.277477970321e+00, 7.445550607224e+00], + [3.851814176947e-09, 5.210690074886e+00, 9.562891316684e-01], + [3.485807052785e-09, 6.653274904611e-01, 1.161697602389e+01], + [3.979772816991e-09, 1.767941436148e+00, 2.277943724828e+01], + [3.402607460500e-09, 3.421746306465e+00, 1.087398597200e+01], + [4.049993000926e-09, 1.127144787547e+00, 3.163918923335e-01], + [3.420511182382e-09, 4.214794779161e+00, 1.362553364512e+01], + [3.640772365012e-09, 5.324905497687e+00, 1.725304118033e+01], + [3.323037987501e-09, 6.135761838271e+00, 6.279143387820e+00], + [4.503141663637e-09, 1.802305450666e+00, 1.385561574497e+00], + [4.314560055588e-09, 4.812299731574e+00, 4.176041334900e+00], + [3.294226949110e-09, 3.657547059723e+00, 6.287008313071e+00], + [3.215657197281e-09, 4.866676894425e+00, 5.749861718712e+00], + [4.129362656266e-09, 3.809342558906e+00, 5.905702259363e+00], + [3.137762976388e-09, 2.494635174443e+00, 2.099539292909e+01], + [3.514010952384e-09, 2.699961831678e+00, 7.335344340001e+00], + [3.327607571530e-09, 3.318457714816e+00, 5.436992986000e+00], + [3.541066946675e-09, 4.382703582466e+00, 1.234573916645e+01], + [3.216179847052e-09, 5.271066317054e+00, 3.802769619140e-02], + [2.959045059570e-09, 5.819591585302e+00, 2.670964694522e+01], + [3.884040326665e-09, 5.980934960428e+00, 6.660449441528e+00], + [2.922027539886e-09, 3.337290282483e+00, 1.375773836557e+00], + [4.110846382042e-09, 5.742978187327e+00, 4.480965020977e+01], + [2.934508411032e-09, 2.278075804200e+00, 6.408777551755e-01], + [3.966896193000e-09, 5.835747858477e+00, 3.773735910827e-01], + [3.286695827610e-09, 5.838898193902e+00, 3.932462625300e-03], + [3.720643094196e-09, 1.122212337858e+00, 1.646033343740e+01], + [3.285508906174e-09, 9.182250996416e-01, 1.081813534213e+01], + [3.753880575973e-09, 5.174761973266e+00, 5.642198095270e+00], + [3.022129385587e-09, 3.381611020639e+00, 2.982630633589e+01], + [2.798569205621e-09, 3.546193723922e+00, 1.937891852345e+01], + [3.397872070505e-09, 4.533203197934e+00, 6.923953605621e+00], + [3.708099772977e-09, 2.756168198616e+00, 3.066615496545e+01], + [3.599283541510e-09, 1.934395469918e+00, 6.147450479709e+00], + [3.688702753059e-09, 7.149920971109e-01, 2.636725487657e+00], + [2.681084724003e-09, 4.899819493154e+00, 6.816289982179e+00], + [3.495993460759e-09, 1.572418915115e+00, 6.418701221183e+00], + [3.130770324995e-09, 8.912190180489e-01, 1.235996607578e+01], + [2.744353821941e-09, 3.800821940055e+00, 2.059724391010e+01], + [2.842732906341e-09, 2.644717440029e+00, 2.828699048865e+01], + [3.046882682154e-09, 3.987793020179e+00, 6.055599646783e+00], + [2.399072455143e-09, 9.908826440764e-01, 6.255674361143e+00], + [2.384306274204e-09, 2.516149752220e+00, 6.310477339748e+00], + [2.977324500559e-09, 5.849195642118e+00, 1.652265972112e+01], + [3.062835258972e-09, 1.681660100162e+00, 1.172006883645e+01], + [3.109682589231e-09, 5.804143987737e-01, 2.751146787858e+01], + [2.903920355299e-09, 5.800768280123e+00, 6.510552054109e+00], + [2.823221989212e-09, 9.241118370216e-01, 5.469525544182e+00], + [3.187949696649e-09, 3.139776445735e+00, 1.693792562116e+02], + [2.922559771655e-09, 3.549440782984e+00, 2.630839062450e-01], + [2.436302066603e-09, 4.735540696319e+00, 3.946258593675e-01], + [3.049473043606e-09, 4.998289124561e+00, 8.390110365991e+00], + [2.863682575784e-09, 6.709515671102e-01, 2.243449970715e-01], + [2.641750517966e-09, 5.410978257284e+00, 2.986433403208e+01], + [2.704093466243e-09, 4.778317207821e+00, 6.129297044991e+00], + [2.445522177011e-09, 6.009020662222e+00, 1.171295538178e+01], + [2.623608810230e-09, 5.010449777147e+00, 6.436854655901e+00], + [2.079259704053e-09, 5.980943768809e+00, 2.019909489111e+01], + [2.820225596771e-09, 2.679965110468e+00, 5.934151399930e+00], + [2.365221950927e-09, 1.894231148810e+00, 2.470570524223e+01], + [2.359682077149e-09, 4.220752950780e+00, 8.671969964381e+00], + [2.387577137206e-09, 2.571783940617e+00, 7.096626156709e+00], + [1.982102089816e-09, 5.169765997119e-01, 1.727188400790e+01], + [2.687502389925e-09, 6.239078264579e+00, 7.075506709219e+01], + [2.207751669135e-09, 2.031184412677e+00, 4.377611041777e+00], + [2.618370214274e-09, 8.266079985979e-01, 6.632000300961e+00], + [2.591951887361e-09, 8.819350522008e-01, 4.873985990671e+01], + [2.375055656248e-09, 3.520944177789e+00, 1.590676413561e+01], + [2.472019978911e-09, 1.551431908671e+00, 6.612329252343e-01], + [2.368157127199e-09, 4.178610147412e+00, 3.459636466239e+01], + [1.764846605693e-09, 1.506764000157e+00, 1.980094587212e+01], + [2.291769608798e-09, 2.118250611782e+00, 2.844914056730e-02], + [2.209997316943e-09, 3.363255261678e+00, 2.666070658668e-01], + [2.292699097923e-09, 4.200423956460e-01, 1.484170571900e-03], + [1.629683015329e-09, 2.331362582487e+00, 3.035599730800e+01], + [2.206492862426e-09, 3.400274026992e+00, 6.281667977667e+00], + [2.205746568257e-09, 1.066051230724e-01, 6.284483723224e+00], + [2.026310767991e-09, 2.779066487979e+00, 2.449240616245e+01], + [1.762977622163e-09, 9.951450691840e-01, 2.045286941806e+01], + [1.368535049606e-09, 6.402447365817e-01, 2.473415438279e+01], + [1.720598775450e-09, 2.303524214705e-01, 1.679593901136e+02], + [1.702429015449e-09, 6.164622655048e+00, 3.338575901272e+02], + [1.414033197685e-09, 3.954561185580e+00, 1.624205518357e+02], + [1.573768958043e-09, 2.028286308984e+00, 3.144167757552e+01], + [1.650705184447e-09, 2.304040666128e+00, 5.267006960365e+01], + [1.651087618855e-09, 2.538461057280e+00, 8.956999012000e+01], + [1.616409518983e-09, 5.111054348152e+00, 3.332657872986e+01], + [1.537175173581e-09, 5.601130666603e+00, 3.852657435933e+01], + [1.593191980553e-09, 2.614340453411e+00, 2.282781046519e+02], + [1.499480170643e-09, 3.624721577264e+00, 2.823723341956e+01], + [1.493807843235e-09, 4.214569879008e+00, 2.876692439167e+01], + [1.074571199328e-09, 1.496911744704e-01, 8.397383534231e+01], + [1.074406983417e-09, 1.187817671922e+00, 8.401985929482e+01], + [9.757576855851e-10, 2.655703035858e+00, 7.826370942180e+01], + [1.258432887565e-09, 4.969896184844e+00, 3.115650189215e+02], + [1.240336343282e-09, 5.192460776926e+00, 1.784300471910e+02], + [9.016107005164e-10, 1.960356923057e+00, 5.886454391678e+01], + [1.135392360918e-09, 5.082427809068e+00, 7.842370451713e+01], + [9.216046089565e-10, 2.793775037273e+00, 1.014262087719e+02], + [1.061276615030e-09, 3.726144311409e+00, 5.660027930059e+01], + [1.010110596263e-09, 7.404080708937e-01, 4.245678405627e+01], + [7.217424756199e-10, 2.697449980577e-02, 2.457074661053e+02], + [6.912003846756e-10, 4.253296276335e+00, 1.679936946371e+02], + [6.871814664847e-10, 5.148072412354e+00, 6.053048899753e+01], + [4.887158016343e-10, 2.153581148294e+00, 9.656299901946e+01], + [5.161802866314e-10, 3.852750634351e+00, 2.442876000072e+02], + [5.652599559057e-10, 1.233233356270e+00, 8.365903305582e+01], + [4.710812608586e-10, 5.610486976767e+00, 3.164282286739e+02], + [4.909977500324e-10, 1.639629524123e+00, 4.059982187939e+02], + [4.772641839378e-10, 3.737100368583e+00, 1.805255418145e+02], + [4.487562567153e-10, 1.158417054478e-01, 8.433466158131e+01], + [3.943441230497e-10, 6.243502862796e-01, 2.568537517081e+02], + [3.952236913598e-10, 3.510377382385e+00, 2.449975330562e+02], + [3.788898363417e-10, 5.916128302299e+00, 1.568131045107e+02], + [3.738329328831e-10, 1.042266763456e+00, 3.948519331910e+02], + [2.451199165151e-10, 1.166788435700e+00, 1.435713242844e+02], + [2.436734402904e-10, 3.254726114901e+00, 2.268582385539e+02], + [2.213605274325e-10, 1.687210598530e+00, 1.658638954901e+02], + [1.491521204829e-10, 2.657541786794e+00, 2.219950288015e+02], + [1.474995329744e-10, 5.013089805819e+00, 3.052819430710e+02], + [1.661939475656e-10, 5.495315428418e+00, 2.526661704812e+02], + [9.015946748003e-11, 2.236989966505e+00, 4.171445043968e+02], + ]; + + pub const E0Z: &'static [[f64; 3]] = &[ + [2.796207639075e-06, 3.198701560209e+00, 8.433466158131e+01], + [1.016042198142e-06, 5.422360395913e+00, 5.507553240374e+00], + [8.044305033647e-07, 3.880222866652e+00, 5.223693906222e+00], + [4.385347909274e-07, 3.704369937468e+00, 2.352866153506e+00], + [3.186156414906e-07, 3.999639363235e+00, 1.577343543434e+00], + [2.272412285792e-07, 3.984738315952e+00, 1.047747311755e+00], + [1.645620103007e-07, 3.565412516841e+00, 5.856477690889e+00], + [1.815836921166e-07, 4.984507059020e+00, 6.283075850446e+00], + [1.447461676364e-07, 3.702753570108e+00, 9.437762937313e+00], + [1.430760876382e-07, 3.409658712357e+00, 1.021328554739e+01], + [1.120445753226e-07, 4.829561570246e+00, 1.414349524433e+01], + [1.090232840797e-07, 2.080729178066e+00, 6.812766822558e+00], + [9.715727346551e-08, 3.476295881948e+00, 4.694002934110e+00], + [1.036267136217e-07, 4.056639536648e+00, 7.109288135493e+01], + [8.752665271340e-08, 4.448159519911e+00, 5.753384878334e+00], + [8.331864956004e-08, 4.991704044208e+00, 7.084896783808e+00], + [6.901658670245e-08, 4.325358994219e+00, 6.275962395778e+00], + [9.144536848998e-08, 1.141826375363e+00, 6.620890113188e+00], + [7.205085037435e-08, 3.624344170143e+00, 5.296909721118e-01], + [7.697874654176e-08, 5.554257458998e+00, 1.676215758509e+02], + [5.197545738384e-08, 6.251760961735e+00, 1.807370494127e+01], + [5.031345378608e-08, 2.497341091913e+00, 4.705732307012e+00], + [4.527110205840e-08, 2.335079920992e+00, 6.309374173736e+00], + [4.753355798089e-08, 7.094148987474e-01, 5.884926831456e+00], + [4.296951977516e-08, 1.101916352091e+00, 6.681224869435e+00], + [3.855341568387e-08, 1.825495405486e+00, 5.486777812467e+00], + [5.253930970990e-08, 4.424740687208e+00, 7.860419393880e+00], + [4.024630496471e-08, 5.120498157053e+00, 1.336797263425e+01], + [4.061069791453e-08, 6.029771435451e+00, 3.930209696940e+00], + [3.797883804205e-08, 4.435193600836e-01, 3.154687086868e+00], + [2.933033225587e-08, 5.124157356507e+00, 1.059381944224e+00], + [3.503000930426e-08, 5.421830162065e+00, 6.069776770667e+00], + [3.670096214050e-08, 4.582101667297e+00, 1.219403291462e+01], + [2.905609437008e-08, 1.926566420072e+00, 1.097707878456e+01], + [2.466827821713e-08, 6.090174539834e-01, 6.496374930224e+00], + [2.691647295332e-08, 1.393432595077e+00, 2.200391463820e+01], + [2.150554667946e-08, 4.308671715951e+00, 5.643178611111e+00], + [2.237481922680e-08, 8.133968269414e-01, 8.635942003952e+00], + [1.817741038157e-08, 3.755205127454e+00, 3.340612434717e+00], + [2.227820762132e-08, 2.759558596664e+00, 1.203646072878e+01], + [1.944713772307e-08, 5.699645869121e+00, 1.179062909082e+01], + [1.527340520662e-08, 1.986749091746e+00, 3.981490189893e-01], + [1.577282574914e-08, 3.205017217983e+00, 5.088628793478e+00], + [1.424738825424e-08, 6.256747903666e+00, 2.544314396739e+00], + [1.616563121701e-08, 2.601671259394e-01, 1.729818233119e+01], + [1.401210391692e-08, 4.686939173506e+00, 7.058598460518e+00], + [1.488726974214e-08, 2.815862451372e+00, 2.593412433514e+01], + [1.692626442388e-08, 4.956894109797e+00, 1.564752902480e+02], + [1.123571582910e-08, 2.381192697696e+00, 3.738761453707e+00], + [9.903308606317e-09, 4.294851657684e+00, 9.225539266174e+00], + [9.174533187191e-09, 3.075171510642e+00, 4.164311961999e+00], + [8.645985631457e-09, 5.477534821633e-01, 8.429241228195e+00], + [-1.085876492688e-08, 0.000000000000e+00, 0.000000000000e+00], + [9.264309077815e-09, 5.968571670097e+00, 7.079373888424e+00], + [8.243116984954e-09, 1.489098777643e+00, 1.044738781244e+01], + [8.268102113708e-09, 3.512977691983e+00, 1.150676975667e+01], + [9.043613988227e-09, 1.290704408221e-01, 1.101510648075e+01], + [7.432912038789e-09, 1.991086893337e+00, 2.608790314060e+01], + [8.586233727285e-09, 4.238357924414e+00, 2.986433403208e+01], + [7.612230060131e-09, 2.911090150166e+00, 4.732030630302e+00], + [7.097787751408e-09, 1.908938392390e+00, 8.031092209206e+00], + [7.640237040175e-09, 6.129219000168e-01, 7.962980379786e-01], + [7.070445688081e-09, 1.380417036651e+00, 2.146165377750e+00], + [7.690770957702e-09, 1.680504249084e+00, 2.122839202813e+01], + [8.051292542594e-09, 5.127423484511e+00, 2.942463415728e+00], + [5.902709104515e-09, 2.020274190917e+00, 7.755226100720e-01], + [5.134567496462e-09, 2.606778676418e+00, 1.256615170089e+01], + [5.525802046102e-09, 1.613011769663e+00, 8.018209333619e-01], + [5.880724784221e-09, 4.604483417236e+00, 4.690479774488e+00], + [5.211699081370e-09, 5.718964114193e+00, 8.827390247185e+00], + [4.891849573562e-09, 3.689658932196e+00, 2.132990797783e-01], + [5.150246069997e-09, 4.099769855122e+00, 6.480980550449e+01], + [5.102434319633e-09, 5.660834602509e+00, 3.379454372902e+01], + [5.083405254252e-09, 9.842221218974e-01, 4.136910472696e+00], + [4.206562585682e-09, 1.341363634163e-01, 3.128388763578e+00], + [4.663249683579e-09, 8.130132735866e-01, 5.216580451554e+00], + [4.099474416530e-09, 5.791497770644e+00, 4.265981595566e-01], + [4.628251220767e-09, 1.249802769331e+00, 1.572083878776e+01], + [5.024068728142e-09, 4.795684802743e+00, 6.290189305114e+00], + [5.120234327758e-09, 3.810420387208e+00, 5.230807360890e+00], + [5.524029815280e-09, 1.029264714351e+00, 2.397622045175e+02], + [4.757415718860e-09, 3.528044781779e+00, 1.649636139783e+01], + [3.915786131127e-09, 5.593889282646e+00, 1.589072916335e+00], + [4.869053149991e-09, 3.299636454433e+00, 7.632943190217e+00], + [3.649365703729e-09, 1.286049002584e+00, 6.206810014183e+00], + [3.992493949002e-09, 3.100307589464e+00, 2.515860172507e+01], + [3.320247477418e-09, 6.212683940807e+00, 1.216800268190e+01], + [3.287123739696e-09, 4.699118445928e+00, 7.234794171227e+00], + [3.472776811103e-09, 2.630507142004e+00, 7.342457794669e+00], + [3.423253294767e-09, 2.946432844305e+00, 9.623688285163e+00], + [3.896173898244e-09, 1.224834179264e+00, 6.438496133249e+00], + [3.388455337924e-09, 1.543807616351e+00, 1.494531617769e+01], + [3.062704716523e-09, 1.191777572310e+00, 8.662240327241e+00], + [3.270075600400e-09, 5.483498767737e+00, 1.194447056968e+00], + [3.101209215259e-09, 8.000833804348e-01, 3.772475342596e+01], + [2.780883347311e-09, 4.077980721888e-01, 5.863591145557e+00], + [2.903605931824e-09, 2.617490302147e+00, 1.965104848470e+01], + [2.682014743119e-09, 2.634703158290e+00, 7.238675589263e+00], + [2.534360108492e-09, 6.102446114873e+00, 6.836645152238e+00], + [2.392564882509e-09, 3.681820208691e+00, 5.849364236221e+00], + [2.656667254856e-09, 6.216045388886e+00, 6.133512519065e+00], + [2.331242096773e-09, 5.864949777744e+00, 4.535059491685e+00], + [2.287898363668e-09, 4.566628532802e+00, 7.477522907414e+00], + [2.336944521306e-09, 2.442722126930e+00, 1.137170464392e+01], + [3.156632236269e-09, 1.626628050682e+00, 2.509084901204e+02], + [2.982612402766e-09, 2.803604512609e+00, 1.748016358760e+00], + [2.774031674807e-09, 4.654002897158e+00, 8.223916695780e+01], + [2.295236548638e-09, 4.326518333253e+00, 3.378142627421e-01], + [2.190714699873e-09, 4.519614578328e+00, 2.908881142201e+01], + [2.191495845045e-09, 3.012626912549e+00, 1.673046366289e+01], + [2.492901628386e-09, 1.290101424052e-01, 1.543797956245e+02], + [1.993778064319e-09, 3.864046799414e+00, 1.778984560711e+01], + [1.898146479022e-09, 5.053777235891e+00, 2.042657109477e+01], + [1.918280127634e-09, 2.222470192548e+00, 4.165496312290e+01], + [1.916351061607e-09, 8.719067257774e-01, 7.737595720538e+01], + [1.834720181466e-09, 4.031491098040e+00, 2.358125818164e+01], + [1.249201523806e-09, 5.938379466835e+00, 3.301902111895e+01], + [1.477304050539e-09, 6.544722606797e-01, 9.548094718417e+01], + [1.264316431249e-09, 2.059072853236e+00, 8.399684731857e+01], + [1.203526495039e-09, 3.644813532605e+00, 4.558517281984e+01], + [9.221681059831e-10, 3.241815055602e+00, 7.805158573086e+01], + [7.849278367646e-10, 5.043812342457e+00, 5.217580628120e+01], + [7.983392077387e-10, 5.000024502753e+00, 1.501922143975e+02], + [7.925395431654e-10, 1.398734871821e-02, 9.061773743175e+01], + [7.640473285886e-10, 5.067111723130e+00, 4.951538251678e+01], + [5.398937754482e-10, 5.597382200075e+00, 1.613385000004e+02], + [5.626247550193e-10, 2.601338209422e+00, 7.318837597844e+01], + [5.525197197855e-10, 5.814832109256e+00, 1.432335100216e+02], + [5.407629837898e-10, 3.384820609076e+00, 3.230491187871e+02], + [3.856739119801e-10, 1.072391840473e+00, 2.334791286671e+02], + [3.856425239987e-10, 2.369540393327e+00, 1.739046517013e+02], + [4.350867755983e-10, 5.255575751082e+00, 1.620484330494e+02], + [3.844113924996e-10, 5.482356246182e+00, 9.757644180768e+01], + [2.854869155431e-10, 9.573634763143e-01, 1.697170704744e+02], + [1.719227671416e-10, 1.887203025202e+00, 2.265204242912e+02], + [1.527846879755e-10, 3.982183931157e+00, 3.341954043900e+02], + [1.128229264847e-10, 2.787457156298e+00, 3.119028331842e+02], + ]; + + pub const E1X: &'static [[f64; 3]] = &[ + [1.234046326004e-06, 0.000000000000e+00, 0.000000000000e+00], + [5.150068824701e-07, 6.002664557501e+00, 1.256615170089e+01], + [1.290743923245e-08, 5.959437664199e+00, 1.884922755134e+01], + [1.068615564952e-08, 2.015529654209e+00, 6.283075850446e+00], + [2.079619142538e-09, 1.732960531432e+00, 6.279552690824e+00], + [2.078009243969e-09, 4.915604476996e+00, 6.286599010068e+00], + [6.206330058856e-10, 3.616457953824e-01, 4.705732307012e+00], + [5.989335313746e-10, 3.802607304474e+00, 6.256777527156e+00], + [5.958495663840e-10, 2.845866560031e+00, 6.309374173736e+00], + [4.866923261539e-10, 5.213203771824e+00, 7.755226100720e-01], + [4.267785823142e-10, 4.368189727818e-01, 1.059381944224e+00], + [4.610675141648e-10, 1.837249181372e-02, 7.860419393880e+00], + [3.626989993973e-10, 2.161590545326e+00, 5.753384878334e+00], + [3.563071194389e-10, 1.452631954746e+00, 5.884926831456e+00], + [3.557015642807e-10, 4.470593393054e+00, 6.812766822558e+00], + [3.210412089122e-10, 5.195926078314e+00, 6.681224869435e+00], + [2.875473577986e-10, 5.916256610193e+00, 2.513230340178e+01], + [2.842913681629e-10, 1.149902426047e+00, 6.127655567643e+00], + [2.751248215916e-10, 5.502088574662e+00, 6.438496133249e+00], + [2.481432881127e-10, 2.921989846637e+00, 5.486777812467e+00], + [2.059885976560e-10, 3.718070376585e+00, 7.079373888424e+00], + [2.015522342591e-10, 5.979395259740e+00, 6.290189305114e+00], + [1.995364084253e-10, 6.772087985494e-01, 6.275962395778e+00], + [1.957436436943e-10, 2.899210654665e+00, 5.507553240374e+00], + [1.651609818948e-10, 6.228206482192e+00, 1.150676975667e+01], + [1.822980550699e-10, 1.469348746179e+00, 1.179062909082e+01], + [1.675223159760e-10, 3.813910555688e+00, 7.058598460518e+00], + [1.706491764745e-10, 3.004380506684e-01, 7.113454667900e-03], + [1.392952362615e-10, 1.440393973406e+00, 7.962980379786e-01], + [1.209868266342e-10, 4.150425791727e+00, 4.694002934110e+00], + [1.009827202611e-10, 3.290040429843e+00, 3.738761453707e+00], + [1.047261388602e-10, 4.229590090227e+00, 6.282095334605e+00], + [1.047006652004e-10, 2.418967680575e+00, 6.284056366286e+00], + [9.609993143095e-11, 4.627943659201e+00, 6.069776770667e+00], + [9.590900593873e-11, 1.894393939924e+00, 4.136910472696e+00], + [9.146249188071e-11, 2.010647519562e+00, 6.496374930224e+00], + [8.545274480290e-11, 5.529846956226e-02, 1.194447056968e+00], + [8.224377881194e-11, 1.254304102174e+00, 1.589072916335e+00], + [6.183529510410e-11, 3.360862168815e+00, 8.827390247185e+00], + [6.259255147141e-11, 4.755628243179e+00, 8.429241228195e+00], + [5.539291694151e-11, 5.371746955142e+00, 4.933208510675e+00], + [7.328259466314e-11, 4.927699613906e-01, 4.535059491685e+00], + [6.017835843560e-11, 5.776682001734e-02, 1.255903824622e+01], + [7.079827775243e-11, 4.395059432251e+00, 5.088628793478e+00], + [5.170358878213e-11, 5.154062619954e+00, 1.176985366291e+01], + [4.872301838682e-11, 6.289611648973e-01, 6.040347114260e+00], + [5.249869411058e-11, 5.617272046949e+00, 3.154687086868e+00], + [4.716172354411e-11, 3.965901800877e+00, 5.331357529664e+00], + [4.871214940964e-11, 4.627507050093e+00, 1.256967486051e+01], + [4.598076850751e-11, 6.023631226459e+00, 6.525804586632e+00], + [4.562196089485e-11, 4.138562084068e+00, 3.930209696940e+00], + [4.325493872224e-11, 1.330845906564e+00, 7.632943190217e+00], + [5.673781176748e-11, 2.558752615657e+00, 5.729506548653e+00], + [3.961436642503e-11, 2.728071734630e+00, 7.234794171227e+00], + [5.101868209058e-11, 4.113444965144e+00, 6.836645152238e+00], + [5.257043167676e-11, 6.195089830590e+00, 8.031092209206e+00], + [5.076613989393e-11, 2.305124132918e+00, 7.477522907414e+00], + [3.342169352778e-11, 5.415998155071e+00, 1.097707878456e+01], + [3.545881983591e-11, 3.727160564574e+00, 4.164311961999e+00], + [3.364063738599e-11, 2.901121049204e-01, 1.137170464392e+01], + [3.357039670776e-11, 1.652229354331e+00, 5.223693906222e+00], + [4.307412268687e-11, 4.938909587445e+00, 1.592596075957e+00], + [3.405769115435e-11, 2.408890766511e+00, 3.128388763578e+00], + [3.001926198480e-11, 4.862239006386e+00, 1.748016358760e+00], + [2.778264787325e-11, 5.241168661353e+00, 7.342457794669e+00], + [2.676159480666e-11, 3.423593942199e+00, 2.146165377750e+00], + [2.954273399939e-11, 1.881721265406e+00, 5.368044267797e-01], + [3.309362888795e-11, 1.931525677349e+00, 8.018209333619e-01], + [2.810283608438e-11, 2.414659495050e+00, 5.225775174439e-01], + [3.378045637764e-11, 4.238019163430e+00, 1.554202828031e-01], + [2.558134979840e-11, 1.828225235805e+00, 5.230807360890e+00], + [2.273755578447e-11, 5.858184283998e+00, 7.084896783808e+00], + [2.294176037690e-11, 4.514589779057e+00, 1.726015463500e+01], + [2.533506099435e-11, 2.355717851551e+00, 5.216580451554e+00], + [2.716685375812e-11, 2.221003625100e+00, 8.635942003952e+00], + [2.419043435198e-11, 5.955704951635e+00, 4.690479774488e+00], + [2.521232544812e-11, 1.395676848521e+00, 5.481254917084e+00], + [2.630195021491e-11, 5.727468918743e+00, 2.629832328990e-02], + [2.548395840944e-11, 2.628351859400e-04, 1.349867339771e+00], + ]; + + pub const E1Y: &'static [[f64; 3]] = &[ + [9.304690546528e-07, 0.000000000000e+00, 0.000000000000e+00], + [5.150715570663e-07, 4.431807116294e+00, 1.256615170089e+01], + [1.290825411056e-08, 4.388610039678e+00, 1.884922755134e+01], + [4.645466665386e-09, 5.827263376034e+00, 6.283075850446e+00], + [2.079625310718e-09, 1.621698662282e-01, 6.279552690824e+00], + [2.078189850907e-09, 3.344713435140e+00, 6.286599010068e+00], + [6.207190138027e-10, 5.074049319576e+00, 4.705732307012e+00], + [5.989826532569e-10, 2.231842216620e+00, 6.256777527156e+00], + [5.961360812618e-10, 1.274975769045e+00, 6.309374173736e+00], + [4.874165471016e-10, 3.642277426779e+00, 7.755226100720e-01], + [4.283834034360e-10, 5.148765510106e+00, 1.059381944224e+00], + [4.652389287529e-10, 4.715794792175e+00, 7.860419393880e+00], + [3.751707476401e-10, 6.617207370325e-01, 5.753384878334e+00], + [3.559998806198e-10, 6.155548875404e+00, 5.884926831456e+00], + [3.558447558857e-10, 2.898827297664e+00, 6.812766822558e+00], + [3.211116927106e-10, 3.625813502509e+00, 6.681224869435e+00], + [2.875609914672e-10, 4.345435813134e+00, 2.513230340178e+01], + [2.843109704069e-10, 5.862263940038e+00, 6.127655567643e+00], + [2.744676468427e-10, 3.926419475089e+00, 6.438496133249e+00], + [2.481285237789e-10, 1.351976572828e+00, 5.486777812467e+00], + [2.060338481033e-10, 2.147556998591e+00, 7.079373888424e+00], + [2.015822358331e-10, 4.408358972216e+00, 6.290189305114e+00], + [2.001195944195e-10, 5.385829822531e+00, 6.275962395778e+00], + [1.953667642377e-10, 1.304933746120e+00, 5.507553240374e+00], + [1.839744078713e-10, 6.173567228835e+00, 1.179062909082e+01], + [1.643334294845e-10, 4.635942997523e+00, 1.150676975667e+01], + [1.768051018652e-10, 5.086283558874e+00, 7.113454667900e-03], + [1.674874205489e-10, 2.243332137241e+00, 7.058598460518e+00], + [1.421445397609e-10, 6.186899771515e+00, 7.962980379786e-01], + [1.255163958267e-10, 5.730238465658e+00, 4.694002934110e+00], + [1.013945281961e-10, 1.726055228402e+00, 3.738761453707e+00], + [1.047294335852e-10, 2.658801228129e+00, 6.282095334605e+00], + [1.047103879392e-10, 8.481047835035e-01, 6.284056366286e+00], + [9.530343962826e-11, 3.079267149859e+00, 6.069776770667e+00], + [9.604637611690e-11, 3.258679792918e-01, 4.136910472696e+00], + [9.153518537177e-11, 4.398599886584e-01, 6.496374930224e+00], + [8.562458214922e-11, 4.772686794145e+00, 1.194447056968e+00], + [8.232525360654e-11, 5.966220721679e+00, 1.589072916335e+00], + [6.150223411438e-11, 1.780985591923e+00, 8.827390247185e+00], + [6.272087858000e-11, 3.184305429012e+00, 8.429241228195e+00], + [5.540476311040e-11, 3.801260595433e+00, 4.933208510675e+00], + [7.331901699361e-11, 5.205948591865e+00, 4.535059491685e+00], + [6.018528702791e-11, 4.770139083623e+00, 1.255903824622e+01], + [5.150530724804e-11, 3.574796899585e+00, 1.176985366291e+01], + [6.471933741811e-11, 2.679787266521e+00, 5.088628793478e+00], + [5.317460644174e-11, 9.528763345494e-01, 3.154687086868e+00], + [4.832187748783e-11, 5.329322498232e+00, 6.040347114260e+00], + [4.716763555110e-11, 2.395235316466e+00, 5.331357529664e+00], + [4.871509139861e-11, 3.056663648823e+00, 1.256967486051e+01], + [4.598417696768e-11, 4.452762609019e+00, 6.525804586632e+00], + [5.674189533175e-11, 9.879680872193e-01, 5.729506548653e+00], + [4.073560328195e-11, 5.939127696986e+00, 7.632943190217e+00], + [5.040994945359e-11, 4.549875824510e+00, 8.031092209206e+00], + [5.078185134679e-11, 7.346659893982e-01, 7.477522907414e+00], + [3.769343537061e-11, 1.071317188367e+00, 7.234794171227e+00], + [4.980331365299e-11, 2.500345341784e+00, 6.836645152238e+00], + [3.458236594757e-11, 3.825159450711e+00, 1.097707878456e+01], + [3.578859493602e-11, 5.299664791549e+00, 4.164311961999e+00], + [3.370504646419e-11, 5.002316301593e+00, 1.137170464392e+01], + [3.299873338428e-11, 2.526123275282e+00, 3.930209696940e+00], + [4.304917318409e-11, 3.368078557132e+00, 1.592596075957e+00], + [3.402418753455e-11, 8.385495425800e-01, 3.128388763578e+00], + [2.778460572146e-11, 3.669905203240e+00, 7.342457794669e+00], + [2.782710128902e-11, 2.691664812170e-01, 1.748016358760e+00], + [2.711725179646e-11, 4.707487217718e+00, 5.296909721118e-01], + [2.981760946340e-11, 3.190260867816e-01, 5.368044267797e-01], + [2.811672977772e-11, 3.196532315372e+00, 7.084896783808e+00], + [2.863454474467e-11, 2.263240324780e-01, 5.223693906222e+00], + [3.333464634051e-11, 3.498451685065e+00, 8.018209333619e-01], + [3.312991747609e-11, 5.839154477412e+00, 1.554202828031e-01], + [2.813255564006e-11, 8.268044346621e-01, 5.225775174439e-01], + [2.665098083966e-11, 3.934021725360e+00, 5.216580451554e+00], + [2.349795705216e-11, 5.197620913779e+00, 2.146165377750e+00], + [2.330352293961e-11, 2.984999231807e+00, 1.726015463500e+01], + [2.728001683419e-11, 6.521679638544e-01, 8.635942003952e+00], + [2.484061007669e-11, 3.468955561097e+00, 5.230807360890e+00], + [2.646328768427e-11, 1.013724533516e+00, 2.629832328990e-02], + [2.518630264831e-11, 6.108081057122e+00, 5.481254917084e+00], + [2.421901455384e-11, 1.651097776260e+00, 1.349867339771e+00], + [6.348533267831e-12, 3.220226560321e+00, 8.433466158131e+01], + ]; + + pub const E1Z: &'static [[f64; 3]] = &[ + [2.278290449966e-06, 3.413716033863e+00, 6.283075850446e+00], + [5.429458209830e-08, 0.000000000000e+00, 0.000000000000e+00], + [1.903240492525e-08, 3.370592358297e+00, 1.256615170089e+01], + [2.385409276743e-10, 3.327914718416e+00, 1.884922755134e+01], + [8.676928342573e-11, 1.824006811264e+00, 5.223693906222e+00], + [7.765442593544e-11, 3.888564279247e+00, 5.507553240374e+00], + [7.066158332715e-11, 5.194267231944e+00, 2.352866153506e+00], + [7.092175288657e-11, 2.333246960021e+00, 8.399684731857e+01], + [5.357582213535e-11, 2.224031176619e+00, 5.296909721118e-01], + [3.828035865021e-11, 2.156710933584e+00, 6.279552690824e+00], + [3.824857220427e-11, 1.529755219915e+00, 6.286599010068e+00], + [3.286995181628e-11, 4.879512900483e+00, 1.021328554739e+01], + ]; + + pub const E2X: &'static [[f64; 3]] = &[ + [-4.143818297913e-11, 0.000000000000e+00, 0.000000000000e+00], + [2.171497694435e-11, 4.398225628264e+00, 1.256615170089e+01], + [9.845398442516e-12, 2.079720838384e-01, 6.283075850446e+00], + [9.256833552682e-13, 4.191264694361e+00, 1.884922755134e+01], + [1.022049384115e-13, 5.381133195658e+00, 8.399684731857e+01], + ]; + + pub const E2Y: &'static [[f64; 3]] = &[ + [5.063375872532e-11, 0.000000000000e+00, 0.000000000000e+00], + [2.173815785980e-11, 2.827805833053e+00, 1.256615170089e+01], + [1.010231999920e-11, 4.634612377133e+00, 6.283075850446e+00], + [9.259745317636e-13, 2.620612076189e+00, 1.884922755134e+01], + [1.022202095812e-13, 3.809562326066e+00, 8.399684731857e+01], + ]; + + pub const E2Z: &'static [[f64; 3]] = &[ + [9.722666114891e-11, 5.152219582658e+00, 6.283075850446e+00], + [-3.494819171909e-12, 0.000000000000e+00, 0.000000000000e+00], + [6.713034376076e-13, 6.440188750495e-01, 1.256615170089e+01], + ]; + + pub const S0X: &'static [[f64; 3]] = &[ + [4.956757536410e-03, 3.741073751789e+00, 5.296909721118e-01], + [2.718490072522e-03, 4.016011511425e+00, 2.132990797783e-01], + [1.546493974344e-03, 2.170528330642e+00, 3.813291813120e-02], + [8.366855276341e-04, 2.339614075294e+00, 7.478166569050e-02], + [2.936777942117e-04, 0.000000000000e+00, 0.000000000000e+00], + [1.201317439469e-04, 4.090736353305e+00, 1.059381944224e+00], + [7.578550887230e-05, 3.241518088140e+00, 4.265981595566e-01], + [1.941787367773e-05, 1.012202064330e+00, 2.061856251104e-01], + [1.889227765991e-05, 3.892520416440e+00, 2.204125344462e-01], + [1.937896968613e-05, 4.797779441161e+00, 1.495633313810e-01], + [1.434506110873e-05, 3.868960697933e+00, 5.225775174439e-01], + [1.406659911580e-05, 4.759766557397e-01, 5.368044267797e-01], + [1.179022300202e-05, 7.774961520598e-01, 7.626583626240e-02], + [8.085864460959e-06, 3.254654471465e+00, 3.664874755930e-02], + [7.622752967615e-06, 4.227633103489e+00, 3.961708870310e-02], + [6.209171139066e-06, 2.791828325711e-01, 7.329749511860e-02], + [4.366435633970e-06, 4.440454875925e+00, 1.589072916335e+00], + [3.792124889348e-06, 5.156393842356e+00, 7.113454667900e-03], + [3.154548963402e-06, 6.157005730093e+00, 4.194847048887e-01], + [3.088359882942e-06, 2.494567553163e+00, 6.398972393349e-01], + [2.788440902136e-06, 4.934318747989e+00, 1.102062672231e-01], + [3.039928456376e-06, 4.895077702640e+00, 6.283075850446e+00], + [2.272258457679e-06, 5.278394064764e+00, 1.030928125552e-01], + [2.162007057957e-06, 5.802978019099e+00, 3.163918923335e-01], + [1.767632855737e-06, 3.415346595193e-02, 1.021328554739e+01], + [1.349413459362e-06, 2.001643230755e+00, 1.484170571900e-03], + [1.170141900476e-06, 2.424750491620e+00, 6.327837846670e-01], + [1.054355266820e-06, 3.123311487576e+00, 4.337116142245e-01], + [9.800822461610e-07, 3.026258088130e+00, 1.052268489556e+00], + [1.091203749931e-06, 3.157811670347e+00, 1.162474756779e+00], + [6.960236715913e-07, 8.219570542313e-01, 1.066495398892e+00], + [5.689257296909e-07, 1.323052375236e+00, 9.491756770005e-01], + [6.613172135802e-07, 2.765348881598e-01, 8.460828644453e-01], + [6.277702517571e-07, 5.794064466382e+00, 1.480791608091e-01], + [6.304884066699e-07, 7.323555380787e-01, 2.243449970715e-01], + [4.897850467382e-07, 3.062464235399e+00, 3.340612434717e+00], + [3.759148598786e-07, 4.588290469664e+00, 3.516457698740e-02], + [3.110520548195e-07, 1.374299536572e+00, 6.373574839730e-02], + [3.064708359780e-07, 4.222267485047e+00, 1.104591729320e-02], + [2.856347168241e-07, 3.714202944973e+00, 1.510475019529e-01], + [2.840945514288e-07, 2.847972875882e+00, 4.110125927500e-02], + [2.378951599405e-07, 3.762072563388e+00, 2.275259891141e-01], + [2.714229481417e-07, 1.036049980031e+00, 2.535050500000e-02], + [2.323551717307e-07, 4.682388599076e-01, 8.582758298370e-02], + [1.881790512219e-07, 4.790565425418e+00, 2.118763888447e+00], + [2.261353968371e-07, 1.669144912212e+00, 7.181332454670e-02], + [2.214546389848e-07, 3.937717281614e+00, 2.968341143800e-03], + [2.184915594933e-07, 1.129169845099e-01, 7.775000683430e-02], + [2.000164937936e-07, 4.030009638488e+00, 2.093666171530e-01], + [1.966105136719e-07, 8.745955786834e-01, 2.172315424036e-01], + [1.904742332624e-07, 5.919743598964e+00, 2.022531624851e-01], + [1.657399705031e-07, 2.549141484884e+00, 7.358765972222e-01], + [1.574070533987e-07, 5.277533020230e+00, 7.429900518901e-01], + [1.832261651039e-07, 3.064688127777e+00, 3.235053470014e-01], + [1.733615346569e-07, 3.011432799094e+00, 1.385174140878e-01], + [1.549124014496e-07, 4.005569132359e+00, 5.154640627760e-01], + [1.637044713838e-07, 1.831375966632e+00, 8.531963191132e-01], + [1.123420082383e-07, 1.180270407578e+00, 1.990721704425e-01], + [1.083754165740e-07, 3.414101320863e-01, 5.439178814476e-01], + [1.156638012655e-07, 6.130479452594e-01, 5.257585094865e-01], + [1.142548785134e-07, 3.724761948846e+00, 5.336234347371e-01], + [7.921463895965e-08, 2.435425589361e+00, 1.478866649112e+00], + [7.428600285231e-08, 3.542144398753e+00, 2.164800718209e-01], + [8.323211246747e-08, 3.525058072354e+00, 1.692165728891e+00], + [7.257595116312e-08, 1.364299431982e+00, 2.101180877357e-01], + [7.111185833236e-08, 2.460478875808e+00, 4.155522422634e-01], + [6.868090383716e-08, 4.397327670704e+00, 1.173197218910e-01], + [7.226419974175e-08, 4.042647308905e+00, 1.265567569334e+00], + [6.955642383177e-08, 2.865047906085e+00, 9.562891316684e-01], + [7.492139296331e-08, 5.014278994215e+00, 1.422690933580e-02], + [6.598363128857e-08, 2.376730020492e+00, 6.470106940028e-01], + [7.381147293385e-08, 3.272990384244e+00, 1.581959461667e+00], + [6.402909624032e-08, 5.302290955138e+00, 9.597935788730e-02], + [6.237454263857e-08, 5.444144425332e+00, 7.084920306520e-02], + [5.241198544016e-08, 4.215359579205e+00, 5.265099800692e-01], + [5.144463853918e-08, 1.218916689916e-01, 5.328719641544e-01], + [5.868164772299e-08, 2.369402002213e+00, 7.871412831580e-02], + [6.233195669151e-08, 1.254922242403e+00, 2.608790314060e+01], + [6.068463791422e-08, 5.679713760431e+00, 1.114304132498e-01], + [4.359361135065e-08, 6.097219641646e-01, 1.375773836557e+00], + [4.686510366826e-08, 4.786231041431e+00, 1.143987543936e-01], + [3.758977287225e-08, 1.167368068139e+00, 1.596186371003e+00], + [4.282051974778e-08, 1.519471064319e+00, 2.770348281756e-01], + [5.153765386113e-08, 1.860532322984e+00, 2.228608264996e-01], + [4.575129387188e-08, 7.632857887158e-01, 1.465949902372e-01], + [3.326844933286e-08, 1.298219485285e+00, 5.070101000000e-02], + [3.748617450984e-08, 1.046510321062e+00, 4.903339079539e-01], + [2.816756661499e-08, 3.434522346190e+00, 2.991266627620e-01], + [3.412750405039e-08, 2.523766270318e+00, 3.518164938661e-01], + [2.655796761776e-08, 2.904422260194e+00, 6.256703299991e-01], + [2.963597929458e-08, 5.923900431149e-01, 1.099462426779e-01], + [2.539523734781e-08, 4.851947722567e+00, 1.256615170089e+01], + [2.283087914139e-08, 3.400498595496e+00, 6.681224869435e+00], + [2.321309799331e-08, 5.789099148673e+00, 3.368040641550e-02], + [2.549657649750e-08, 3.991856479792e-02, 1.169588211447e+00], + [2.290462303977e-08, 2.788567577052e+00, 1.045155034888e+00], + [1.945398522914e-08, 3.290896998176e+00, 1.155361302111e+00], + [1.849171512638e-08, 2.698060129367e+00, 4.452511715700e-03], + [1.647199834254e-08, 3.016735644085e+00, 4.408250688924e-01], + [1.529530765273e-08, 5.573043116178e+00, 6.521991896920e-02], + [1.433199339978e-08, 1.481192356147e+00, 9.420622223326e-01], + [1.729134193602e-08, 1.422817538933e+00, 2.108507877249e-01], + [1.716463931346e-08, 3.469468901855e+00, 2.157473718317e-01], + [1.391206061378e-08, 6.122436220547e+00, 4.123712502208e-01], + [1.404746661924e-08, 1.647765641936e+00, 4.258542984690e-02], + [1.410452399455e-08, 5.989729161964e+00, 2.258291676434e-01], + [1.089828772168e-08, 2.833705509371e+00, 4.226656969313e-01], + [1.047374564948e-08, 5.090690007331e-01, 3.092784376656e-01], + [1.358279126532e-08, 5.128990262836e+00, 7.923417740620e-02], + [1.020456476148e-08, 9.632772880808e-01, 1.456308687557e-01], + [1.033428735328e-08, 3.223779318418e+00, 1.795258541446e+00], + [1.412435841540e-08, 2.410271572721e+00, 1.525316725248e-01], + [9.722759371574e-09, 2.333531395690e+00, 8.434341241180e-02], + [9.657334084704e-09, 6.199270974168e+00, 1.272681024002e+00], + [1.083641148690e-08, 2.864222292929e+00, 7.032915397480e-02], + [1.067318403838e-08, 5.833458866568e-01, 2.123349582968e-01], + [1.062366201976e-08, 4.307753989494e+00, 2.142632012598e-01], + [1.236364149266e-08, 2.873917870593e+00, 1.847279083684e-01], + [1.092759489593e-08, 2.959887266733e+00, 1.370332435159e-01], + [8.912069362899e-09, 5.141213702562e+00, 2.648454860559e+00], + [9.656467707970e-09, 4.532182462323e+00, 4.376440768498e-01], + [8.098386150135e-09, 2.268906338379e+00, 2.880807454688e-01], + [7.857714675000e-09, 4.055544260745e+00, 2.037373330570e-01], + [7.288455940646e-09, 5.357901655142e+00, 1.129145838217e-01], + [9.450595950552e-09, 4.264926963939e+00, 5.272426800584e-01], + [9.381718247537e-09, 7.489366976576e-02, 5.321392641652e-01], + [7.079052646038e-09, 1.923311052874e+00, 6.288513220417e-01], + [9.259004415344e-09, 2.970256853438e+00, 1.606092486742e-01], + [8.259801499742e-09, 3.327056314697e+00, 8.389694097774e-01], + [6.476334355779e-09, 2.954925505727e+00, 2.008557621224e+00], + [5.984021492007e-09, 9.138753105829e-01, 2.042657109477e+01], + [5.989546863181e-09, 3.244464082031e+00, 2.111650433779e+00], + [6.233108606023e-09, 4.995232638403e-01, 4.305306221819e-01], + [6.877299149965e-09, 2.834987233449e+00, 9.561746721300e-03], + [8.311234227190e-09, 2.202951835758e+00, 3.801276407308e-01], + [6.599472832414e-09, 4.478581462618e+00, 1.063314406849e+00], + [6.160491096549e-09, 5.145858696411e+00, 1.368660381889e+00], + [6.164772043891e-09, 3.762976697911e-01, 4.234171675140e-01], + [6.363248684450e-09, 3.162246718685e+00, 1.253008786510e-02], + [6.448587520999e-09, 3.442693302119e+00, 5.287268506303e-01], + [6.431662283977e-09, 8.977549136606e-01, 5.306550935933e-01], + [6.351223158474e-09, 4.306447410369e+00, 5.217580628120e+01], + [5.476721393451e-09, 3.888529177855e+00, 2.221856701002e+00], + [5.341772572619e-09, 2.655560662512e+00, 7.466759693650e-02], + [5.337055758302e-09, 5.164990735946e+00, 7.489573444450e-02], + [5.373120816787e-09, 6.041214553456e+00, 1.274714967946e-01], + [5.392351705426e-09, 9.177763485932e-01, 1.055449481598e+00], + [6.688495850205e-09, 3.089608126937e+00, 2.213766559277e-01], + [5.072003660362e-09, 4.311316541553e+00, 2.132517061319e-01], + [5.070726650455e-09, 5.790675464444e-01, 2.133464534247e-01], + [5.658012950032e-09, 2.703945510675e+00, 7.287631425543e-01], + [4.835509924854e-09, 2.975422976065e+00, 7.160067364790e-02], + [6.479821978012e-09, 1.324168733114e+00, 2.209183458640e-02], + [6.230636494980e-09, 2.860103632836e+00, 3.306188016693e-01], + [4.649239516213e-09, 4.832259763403e+00, 7.796265773310e-02], + [6.487325792700e-09, 2.726165825042e+00, 3.884652414254e-01], + [4.682823682770e-09, 6.966602455408e-01, 1.073608853559e+00], + [5.704230804976e-09, 5.669634104606e+00, 8.731175355560e-02], + [6.125413585489e-09, 1.513386538915e+00, 7.605151500000e-02], + [6.035825038187e-09, 1.983509168227e+00, 9.846002785331e-01], + [4.331123462303e-09, 2.782892992807e+00, 4.297791515992e-01], + [4.681107685143e-09, 5.337232886836e+00, 2.127790306879e-01], + [4.669105829655e-09, 5.837133792160e+00, 2.138191288687e-01], + [5.138823602365e-09, 3.080560200507e+00, 7.233337363710e-02], + [4.615856664534e-09, 1.661747897471e+00, 8.603097737811e-01], + [4.496916702197e-09, 2.112508027068e+00, 7.381754420900e-02], + [4.278479042945e-09, 5.716528462627e+00, 7.574578717200e-02], + [3.840525503932e-09, 6.424172726492e-01, 3.407705765729e-01], + [4.866636509685e-09, 4.919244697715e+00, 7.722995774390e-02], + [3.526100639296e-09, 2.550821052734e+00, 6.225157782540e-02], + [3.939558488075e-09, 3.939331491710e+00, 5.268983110410e-02], + [4.041268772576e-09, 2.275337571218e+00, 3.503323232942e-01], + [3.948761842853e-09, 1.999324200790e+00, 1.451108196653e-01], + [3.258394550029e-09, 9.121001378200e-01, 5.296435984654e-01], + [3.257897048761e-09, 3.428428660869e+00, 5.297383457582e-01], + [3.842559031298e-09, 6.132927720035e+00, 9.098186128426e-01], + [3.109920095448e-09, 7.693650193003e-01, 3.932462625300e-03], + [3.132237775119e-09, 3.621293854908e+00, 2.346394437820e-01], + [3.942189421510e-09, 4.841863659733e+00, 3.180992042600e-03], + [3.796972285340e-09, 1.814174994268e+00, 1.862120789403e-01], + [3.995640233688e-09, 1.386990406091e+00, 4.549093064213e-01], + [2.875013727414e-09, 9.178318587177e-01, 1.905464808669e+00], + [3.073719932844e-09, 2.688923811835e+00, 3.628624111593e-01], + [2.731016580075e-09, 1.188259127584e+00, 2.131850110243e-01], + [2.729549896546e-09, 3.702160634273e+00, 2.134131485323e-01], + [3.339372892449e-09, 7.199163960331e-01, 2.007689919132e-01], + [2.898833764204e-09, 1.916709364999e+00, 5.291709230214e-01], + [2.894536549362e-09, 2.424043195547e+00, 5.302110212022e-01], + [3.096872473843e-09, 4.445894977497e+00, 2.976424921901e-01], + [2.635672326810e-09, 3.814366984117e+00, 1.485980103780e+00], + [3.649302697001e-09, 2.924200596084e+00, 6.044726378023e-01], + [3.127954585895e-09, 1.842251648327e+00, 1.084620721060e-01], + [2.616040173947e-09, 4.155841921984e+00, 1.258454114666e+00], + [2.597395859860e-09, 1.158045978874e-01, 2.103781122809e-01], + [2.593286172210e-09, 4.771850408691e+00, 2.162200472757e-01], + [2.481823585747e-09, 4.608842558889e-01, 1.062562936266e+00], + [2.742219550725e-09, 1.538781127028e+00, 5.651155736444e-01], + [3.199558469610e-09, 3.226647822878e-01, 7.036329877322e-01], + [2.666088542957e-09, 1.967991731219e-01, 1.400015846597e-01], + [2.397067430580e-09, 3.707036669873e+00, 2.125476091956e-01], + [2.376570772738e-09, 1.182086628042e+00, 2.140505503610e-01], + [2.547228007887e-09, 4.906256820629e+00, 1.534957940063e-01], + [2.265575594114e-09, 3.414949866857e+00, 2.235935264888e-01], + [2.464381430585e-09, 4.599122275378e+00, 2.091065926078e-01], + [2.433408527044e-09, 2.830751145445e-01, 2.174915669488e-01], + [2.443605509076e-09, 4.212046432538e+00, 1.739420156204e-01], + [2.319779262465e-09, 9.881978408630e-01, 7.530171478090e-02], + [2.284622835465e-09, 5.565347331588e-01, 7.426161660010e-02], + [2.467268750783e-09, 5.655708150766e-01, 2.526561439362e-01], + [2.808513492782e-09, 1.418405053408e+00, 5.636314030725e-01], + [2.329528932532e-09, 4.069557545675e+00, 1.056200952181e+00], + [9.698639532817e-10, 1.074134313634e+00, 7.826370942180e+01], + ]; + + pub const S0Y: &'static [[f64; 3]] = &[ + [4.955392320126e-03, 2.170467313679e+00, 5.296909721118e-01], + [2.722325167392e-03, 2.444433682196e+00, 2.132990797783e-01], + [1.546579925346e-03, 5.992779281546e-01, 3.813291813120e-02], + [8.363140252966e-04, 7.687356310801e-01, 7.478166569050e-02], + [3.385792683603e-04, 0.000000000000e+00, 0.000000000000e+00], + [1.201192221613e-04, 2.520035601514e+00, 1.059381944224e+00], + [7.587125720554e-05, 1.669954006449e+00, 4.265981595566e-01], + [1.964155361250e-05, 5.707743963343e+00, 2.061856251104e-01], + [1.891900364909e-05, 2.320960679937e+00, 2.204125344462e-01], + [1.937373433356e-05, 3.226940689555e+00, 1.495633313810e-01], + [1.437139941351e-05, 2.301626908096e+00, 5.225775174439e-01], + [1.406267683099e-05, 5.188579265542e+00, 5.368044267797e-01], + [1.178703080346e-05, 5.489483248476e+00, 7.626583626240e-02], + [8.079835186041e-06, 1.683751835264e+00, 3.664874755930e-02], + [7.623253594652e-06, 2.656400462961e+00, 3.961708870310e-02], + [6.248667483971e-06, 4.992775362055e+00, 7.329749511860e-02], + [4.366353695038e-06, 2.869706279678e+00, 1.589072916335e+00], + [3.829101568895e-06, 3.572131359950e+00, 7.113454667900e-03], + [3.175733773908e-06, 4.535372530045e+00, 4.194847048887e-01], + [3.092437902159e-06, 9.230153317909e-01, 6.398972393349e-01], + [2.874168812154e-06, 3.363143761101e+00, 1.102062672231e-01], + [3.040119321826e-06, 3.324250895675e+00, 6.283075850446e+00], + [2.699723308006e-06, 2.917882441928e-01, 1.030928125552e-01], + [2.134832683534e-06, 4.220997202487e+00, 3.163918923335e-01], + [1.770412139433e-06, 4.747318496462e+00, 1.021328554739e+01], + [1.377264209373e-06, 4.305058462401e-01, 1.484170571900e-03], + [1.127814538960e-06, 8.538177240740e-01, 6.327837846670e-01], + [1.055608090130e-06, 1.551800742580e+00, 4.337116142245e-01], + [9.802673861420e-07, 1.459646735377e+00, 1.052268489556e+00], + [1.090329461951e-06, 1.587351228711e+00, 1.162474756779e+00], + [6.959590025090e-07, 5.534442628766e+00, 1.066495398892e+00], + [5.664914529542e-07, 6.030673003297e+00, 9.491756770005e-01], + [6.607787763599e-07, 4.989507233927e+00, 8.460828644453e-01], + [6.269725742838e-07, 4.222951804572e+00, 1.480791608091e-01], + [6.301889697863e-07, 5.444316669126e+00, 2.243449970715e-01], + [4.891042662861e-07, 1.490552839784e+00, 3.340612434717e+00], + [3.457083123290e-07, 3.030475486049e+00, 3.516457698740e-02], + [3.032559967314e-07, 2.652038793632e+00, 1.104591729320e-02], + [2.841133988903e-07, 1.276744786829e+00, 4.110125927500e-02], + [2.855564444432e-07, 2.143368674733e+00, 1.510475019529e-01], + [2.765157135038e-07, 5.444186109077e+00, 6.373574839730e-02], + [2.382312465034e-07, 2.190521137593e+00, 2.275259891141e-01], + [2.808060365077e-07, 5.735195064841e+00, 2.535050500000e-02], + [2.332175234405e-07, 9.481985524859e-02, 7.181332454670e-02], + [2.322488199659e-07, 5.180499361533e+00, 8.582758298370e-02], + [1.881850258423e-07, 3.219788273885e+00, 2.118763888447e+00], + [2.196111392808e-07, 2.366941159761e+00, 2.968341143800e-03], + [2.183810335519e-07, 4.825445110915e+00, 7.775000683430e-02], + [2.002733093326e-07, 2.457148995307e+00, 2.093666171530e-01], + [1.967111767229e-07, 5.586291545459e+00, 2.172315424036e-01], + [1.568473250543e-07, 3.708003123320e+00, 7.429900518901e-01], + [1.852528314300e-07, 4.310638151560e+00, 2.022531624851e-01], + [1.832111226447e-07, 1.494665322656e+00, 3.235053470014e-01], + [1.746805502310e-07, 1.451378500784e+00, 1.385174140878e-01], + [1.555730966650e-07, 1.068040418198e+00, 7.358765972222e-01], + [1.554883462559e-07, 2.442579035461e+00, 5.154640627760e-01], + [1.638380568746e-07, 2.597913420625e-01, 8.531963191132e-01], + [1.159938593640e-07, 5.834512021280e+00, 1.990721704425e-01], + [1.083427965695e-07, 5.054033177950e+00, 5.439178814476e-01], + [1.156480369431e-07, 5.325677432457e+00, 5.257585094865e-01], + [1.141308860095e-07, 2.153403923857e+00, 5.336234347371e-01], + [7.913146470946e-08, 8.642846847027e-01, 1.478866649112e+00], + [7.439752463733e-08, 1.970628496213e+00, 2.164800718209e-01], + [7.280277104079e-08, 6.073307250609e+00, 2.101180877357e-01], + [8.319567719136e-08, 1.954371928334e+00, 1.692165728891e+00], + [7.137705549290e-08, 8.904989440909e-01, 4.155522422634e-01], + [6.900825396225e-08, 2.825717714977e+00, 1.173197218910e-01], + [7.245757216635e-08, 2.481677513331e+00, 1.265567569334e+00], + [6.961165696255e-08, 1.292955312978e+00, 9.562891316684e-01], + [7.571804456890e-08, 3.427517575069e+00, 1.422690933580e-02], + [6.605425721904e-08, 8.052192701492e-01, 6.470106940028e-01], + [7.375477357248e-08, 1.705076390088e+00, 1.581959461667e+00], + [7.041664951470e-08, 4.848356967891e-01, 9.597935788730e-02], + [6.322199535763e-08, 3.878069473909e+00, 7.084920306520e-02], + [5.244380279191e-08, 2.645560544125e+00, 5.265099800692e-01], + [5.143125704988e-08, 4.834486101370e+00, 5.328719641544e-01], + [5.871866319373e-08, 7.981472548900e-01, 7.871412831580e-02], + [6.300822573871e-08, 5.979398788281e+00, 2.608790314060e+01], + [6.062154271548e-08, 4.108655402756e+00, 1.114304132498e-01], + [4.361912339976e-08, 5.322624319280e+00, 1.375773836557e+00], + [4.417005920067e-08, 6.240817359284e+00, 2.770348281756e-01], + [4.686806749936e-08, 3.214977301156e+00, 1.143987543936e-01], + [3.758892132305e-08, 5.879809634765e+00, 1.596186371003e+00], + [5.151351332319e-08, 2.893377688007e-01, 2.228608264996e-01], + [4.554683578572e-08, 5.475427144122e+00, 1.465949902372e-01], + [3.442381385338e-08, 5.992034796640e+00, 5.070101000000e-02], + [2.831093954933e-08, 5.367350273914e+00, 3.092784376656e-01], + [3.756267090084e-08, 5.758171285420e+00, 4.903339079539e-01], + [2.816374679892e-08, 1.863718700923e+00, 2.991266627620e-01], + [3.419307025569e-08, 9.524347534130e-01, 3.518164938661e-01], + [2.904250494239e-08, 5.304471615602e+00, 1.099462426779e-01], + [2.471734511206e-08, 1.297069793530e+00, 6.256703299991e-01], + [2.539620831872e-08, 3.281126083375e+00, 1.256615170089e+01], + [2.281017868007e-08, 1.829122133165e+00, 6.681224869435e+00], + [2.275319473335e-08, 5.797198160181e+00, 3.932462625300e-03], + [2.547755368442e-08, 4.752697708330e+00, 1.169588211447e+00], + [2.285979669317e-08, 1.223205292886e+00, 1.045155034888e+00], + [1.913386560994e-08, 1.757532993389e+00, 1.155361302111e+00], + [1.809020525147e-08, 4.246116108791e+00, 3.368040641550e-02], + [1.649213300201e-08, 1.445162890627e+00, 4.408250688924e-01], + [1.834972793932e-08, 1.126917567225e+00, 4.452511715700e-03], + [1.439550648138e-08, 6.160756834764e+00, 9.420622223326e-01], + [1.487645457041e-08, 4.358761931792e+00, 4.123712502208e-01], + [1.731729516660e-08, 6.134456753344e+00, 2.108507877249e-01], + [1.717747163567e-08, 1.898186084455e+00, 2.157473718317e-01], + [1.418190430374e-08, 4.180286741266e+00, 6.521991896920e-02], + [1.404844134873e-08, 7.654053565412e-02, 4.258542984690e-02], + [1.409842846538e-08, 4.418612420312e+00, 2.258291676434e-01], + [1.090948346291e-08, 1.260615686131e+00, 4.226656969313e-01], + [1.357577323612e-08, 3.558248818690e+00, 7.923417740620e-02], + [1.018154061960e-08, 5.676087241256e+00, 1.456308687557e-01], + [1.412073972109e-08, 8.394392632422e-01, 1.525316725248e-01], + [1.030938326496e-08, 1.653593274064e+00, 1.795258541446e+00], + [1.180081567104e-08, 1.285802592036e+00, 7.032915397480e-02], + [9.708510575650e-09, 7.631889488106e-01, 8.434341241180e-02], + [9.637689663447e-09, 4.630642649176e+00, 1.272681024002e+00], + [1.068910429389e-08, 5.294934032165e+00, 2.123349582968e-01], + [1.063716179336e-08, 2.736266800832e+00, 2.142632012598e-01], + [1.234858713814e-08, 1.302891146570e+00, 1.847279083684e-01], + [8.912631189738e-09, 3.570415993621e+00, 2.648454860559e+00], + [1.036378285534e-08, 4.236693440949e+00, 1.370332435159e-01], + [9.667798501561e-09, 2.960768892398e+00, 4.376440768498e-01], + [8.108314201902e-09, 6.987781646841e-01, 2.880807454688e-01], + [7.648364324628e-09, 2.499017863863e+00, 2.037373330570e-01], + [7.286136828406e-09, 3.787426951665e+00, 1.129145838217e-01], + [9.448237743913e-09, 2.694354332983e+00, 5.272426800584e-01], + [9.374276106428e-09, 4.787121277064e+00, 5.321392641652e-01], + [7.100226287462e-09, 3.530238792101e-01, 6.288513220417e-01], + [9.253056659571e-09, 1.399478925664e+00, 1.606092486742e-01], + [6.636432145504e-09, 3.479575438447e+00, 1.368660381889e+00], + [6.469975312932e-09, 1.383669964800e+00, 2.008557621224e+00], + [7.335849729765e-09, 1.243698166898e+00, 9.561746721300e-03], + [8.743421205855e-09, 3.776164289301e+00, 3.801276407308e-01], + [5.993635744494e-09, 5.627122113596e+00, 2.042657109477e+01], + [5.981008479693e-09, 1.674336636752e+00, 2.111650433779e+00], + [6.188535145838e-09, 5.214925208672e+00, 4.305306221819e-01], + [6.596074017566e-09, 2.907653268124e+00, 1.063314406849e+00], + [6.630815126226e-09, 2.127643669658e+00, 8.389694097774e-01], + [6.156772830040e-09, 5.082160803295e+00, 4.234171675140e-01], + [6.446960563014e-09, 1.872100916905e+00, 5.287268506303e-01], + [6.429324424668e-09, 5.610276103577e+00, 5.306550935933e-01], + [6.302232396465e-09, 1.592152049607e+00, 1.253008786510e-02], + [6.399244436159e-09, 2.746214421532e+00, 5.217580628120e+01], + [5.474965172558e-09, 2.317666374383e+00, 2.221856701002e+00], + [5.339293190692e-09, 1.084724961156e+00, 7.466759693650e-02], + [5.334733683389e-09, 3.594106067745e+00, 7.489573444450e-02], + [5.392665782110e-09, 5.630254365606e+00, 1.055449481598e+00], + [6.682075673789e-09, 1.518480041732e+00, 2.213766559277e-01], + [5.079130495960e-09, 2.739765115711e+00, 2.132517061319e-01], + [5.077759793261e-09, 5.290711290094e+00, 2.133464534247e-01], + [4.832037368310e-09, 1.404473217200e+00, 7.160067364790e-02], + [6.463279674802e-09, 6.038381695210e+00, 2.209183458640e-02], + [6.240592771560e-09, 1.290170653666e+00, 3.306188016693e-01], + [4.672013521493e-09, 3.261895939677e+00, 7.796265773310e-02], + [6.500650750348e-09, 1.154522312095e+00, 3.884652414254e-01], + [6.344161389053e-09, 6.206111545062e+00, 7.605151500000e-02], + [4.682518370646e-09, 5.409118796685e+00, 1.073608853559e+00], + [5.329460015591e-09, 1.202985784864e+00, 7.287631425543e-01], + [5.701588675898e-09, 4.098715257064e+00, 8.731175355560e-02], + [6.030690867211e-09, 4.132033218460e-01, 9.846002785331e-01], + [4.336256312655e-09, 1.211415991827e+00, 4.297791515992e-01], + [4.688498808975e-09, 3.765479072409e+00, 2.127790306879e-01], + [4.675578609335e-09, 4.265540037226e+00, 2.138191288687e-01], + [4.225578112158e-09, 5.237566010676e+00, 3.407705765729e-01], + [5.139422230028e-09, 1.507173079513e+00, 7.233337363710e-02], + [4.619995093571e-09, 9.023957449848e-02, 8.603097737811e-01], + [4.494776255461e-09, 5.414930552139e-01, 7.381754420900e-02], + [4.274026276788e-09, 4.145735303659e+00, 7.574578717200e-02], + [5.018141789353e-09, 3.344408829055e+00, 3.180992042600e-03], + [4.866163952181e-09, 3.348534657607e+00, 7.722995774390e-02], + [4.111986020501e-09, 4.198823597220e-01, 1.451108196653e-01], + [3.356142784950e-09, 5.609144747180e+00, 1.274714967946e-01], + [4.070575554551e-09, 7.028411059224e-01, 3.503323232942e-01], + [3.257451857278e-09, 5.624697983086e+00, 5.296435984654e-01], + [3.256973703026e-09, 1.857842076707e+00, 5.297383457582e-01], + [3.830771508640e-09, 4.562887279931e+00, 9.098186128426e-01], + [3.725024005962e-09, 2.358058692652e-01, 1.084620721060e-01], + [3.136763921756e-09, 2.049731526845e+00, 2.346394437820e-01], + [3.795147256194e-09, 2.432356296933e-01, 1.862120789403e-01], + [2.877342229911e-09, 5.631101279387e+00, 1.905464808669e+00], + [3.076931798805e-09, 1.117615737392e+00, 3.628624111593e-01], + [2.734765945273e-09, 5.899826516955e+00, 2.131850110243e-01], + [2.733405296885e-09, 2.130562964070e+00, 2.134131485323e-01], + [2.898552353410e-09, 3.462387048225e-01, 5.291709230214e-01], + [2.893736103681e-09, 8.534352781543e-01, 5.302110212022e-01], + [3.095717734137e-09, 2.875061429041e+00, 2.976424921901e-01], + [2.636190425832e-09, 2.242512846659e+00, 1.485980103780e+00], + [3.645512095537e-09, 1.354016903958e+00, 6.044726378023e-01], + [2.808173547723e-09, 6.705114365631e-02, 6.225157782540e-02], + [2.625012866888e-09, 4.775705748482e+00, 5.268983110410e-02], + [2.572233995651e-09, 2.638924216139e+00, 1.258454114666e+00], + [2.604238824792e-09, 4.826358927373e+00, 2.103781122809e-01], + [2.596886385239e-09, 3.200388483118e+00, 2.162200472757e-01], + [3.228057304264e-09, 5.384848409563e+00, 2.007689919132e-01], + [2.481601798252e-09, 5.173373487744e+00, 1.062562936266e+00], + [2.745977498864e-09, 6.250966149853e+00, 5.651155736444e-01], + [2.669878833811e-09, 4.906001352499e+00, 1.400015846597e-01], + [3.203986611711e-09, 5.034333010005e+00, 7.036329877322e-01], + [3.354961227212e-09, 6.108262423137e+00, 4.549093064213e-01], + [2.400407324558e-09, 2.135399294955e+00, 2.125476091956e-01], + [2.379905859802e-09, 5.893721933961e+00, 2.140505503610e-01], + [2.550844302187e-09, 3.331940762063e+00, 1.534957940063e-01], + [2.268824211001e-09, 1.843418461035e+00, 2.235935264888e-01], + [2.464700891204e-09, 3.029548547230e+00, 2.091065926078e-01], + [2.436814726024e-09, 4.994717970364e+00, 2.174915669488e-01], + [2.443623894745e-09, 2.645102591375e+00, 1.739420156204e-01], + [2.318701783838e-09, 5.700547397897e+00, 7.530171478090e-02], + [2.284448700256e-09, 5.268898905872e+00, 7.426161660010e-02], + [2.468848123510e-09, 5.276280575078e+00, 2.526561439362e-01], + [2.814052350303e-09, 6.130168623475e+00, 5.636314030725e-01], + [2.243662755220e-09, 6.631692457995e-01, 8.886590321940e-02], + [2.330795855941e-09, 2.499435487702e+00, 1.056200952181e+00], + [9.757679038404e-10, 5.796846023126e+00, 7.826370942180e+01], + ]; + + pub const S0Z: &'static [[f64; 3]] = &[ + [1.181255122986e-04, 4.607918989164e-01, 2.132990797783e-01], + [1.127777651095e-04, 4.169146331296e-01, 5.296909721118e-01], + [4.777754401806e-05, 4.582657007130e+00, 3.813291813120e-02], + [1.129354285772e-05, 5.758735142480e+00, 7.478166569050e-02], + [-1.149543637123e-05, 0.000000000000e+00, 0.000000000000e+00], + [3.298730512306e-06, 5.978801994625e+00, 4.265981595566e-01], + [2.733376706079e-06, 7.665413691040e-01, 1.059381944224e+00], + [9.426389657270e-07, 3.710201265838e+00, 2.061856251104e-01], + [8.187517749552e-07, 3.390675605802e-01, 2.204125344462e-01], + [4.080447871819e-07, 4.552296640088e-01, 5.225775174439e-01], + [3.169973017028e-07, 3.445455899321e+00, 5.368044267797e-01], + [2.438098615549e-07, 5.664675150648e+00, 3.664874755930e-02], + [2.601897517235e-07, 1.931894095697e+00, 1.495633313810e-01], + [2.314558080079e-07, 3.666319115574e-01, 3.961708870310e-02], + [1.962549548002e-07, 3.167411699020e+00, 7.626583626240e-02], + [2.180518287925e-07, 1.544420746580e+00, 7.113454667900e-03], + [1.451382442868e-07, 1.583756740070e+00, 1.102062672231e-01], + [1.358439007389e-07, 5.239941758280e+00, 6.398972393349e-01], + [1.050585898028e-07, 2.266958352859e+00, 3.163918923335e-01], + [1.050029870186e-07, 2.711495250354e+00, 4.194847048887e-01], + [9.934920679800e-08, 1.116208151396e+00, 1.589072916335e+00], + [1.048395331560e-07, 3.408619600206e+00, 1.021328554739e+01], + [8.370147196668e-08, 3.810459401087e+00, 2.535050500000e-02], + [7.989856510998e-08, 3.769910473647e+00, 7.329749511860e-02], + [5.441221655233e-08, 2.416994903374e+00, 1.030928125552e-01], + [4.610812906784e-08, 5.858503336994e+00, 4.337116142245e-01], + [3.923022803444e-08, 3.354170010125e-01, 1.484170571900e-03], + [2.610725582128e-08, 5.410600646324e+00, 6.327837846670e-01], + [2.455279767721e-08, 6.120216681403e+00, 1.162474756779e+00], + [2.375530706525e-08, 6.055443426143e+00, 1.052268489556e+00], + [1.782967577553e-08, 3.146108708004e+00, 8.460828644453e-01], + [1.581687095238e-08, 6.255496089819e-01, 3.340612434717e+00], + [1.594657672461e-08, 3.782604300261e+00, 1.066495398892e+00], + [1.563448615040e-08, 1.997775733196e+00, 2.022531624851e-01], + [1.463624258525e-08, 1.736316792088e-01, 3.516457698740e-02], + [1.331585056673e-08, 4.331941830747e+00, 9.491756770005e-01], + [1.130634557637e-08, 6.152017751825e+00, 2.968341143800e-03], + [1.028949607145e-08, 2.101792614637e-01, 2.275259891141e-01], + [1.024074971618e-08, 4.071833211074e+00, 5.070101000000e-02], + [8.826956060303e-09, 4.861633688145e-01, 2.093666171530e-01], + [8.572230171541e-09, 5.268190724302e+00, 4.110125927500e-02], + [7.649332643544e-09, 5.134543417106e+00, 2.608790314060e+01], + [8.581673291033e-09, 2.920218146681e+00, 1.480791608091e-01], + [8.430589300938e-09, 3.604576619108e+00, 2.172315424036e-01], + [7.776165501012e-09, 3.772942249792e+00, 6.373574839730e-02], + [8.311070234408e-09, 6.200412329888e+00, 3.235053470014e-01], + [6.927365212582e-09, 4.543353113437e+00, 8.531963191132e-01], + [6.791574208598e-09, 2.882188406238e+00, 7.181332454670e-02], + [5.593100811839e-09, 1.776646892780e+00, 7.429900518901e-01], + [4.553381853021e-09, 3.949617611240e+00, 7.775000683430e-02], + [5.758000450068e-09, 3.859251775075e+00, 1.990721704425e-01], + [4.281283457133e-09, 1.466294631206e+00, 2.118763888447e+00], + [4.206935661097e-09, 5.421776011706e+00, 1.104591729320e-02], + [4.213751641837e-09, 3.412048993322e+00, 2.243449970715e-01], + [5.310506239878e-09, 5.421641370995e-01, 5.154640627760e-01], + [3.827450341320e-09, 8.887314524995e-01, 1.510475019529e-01], + [4.292435241187e-09, 1.405043757194e+00, 1.422690933580e-02], + [3.189780702289e-09, 1.060049293445e+00, 1.173197218910e-01], + [3.226611928069e-09, 6.270858897442e+00, 2.164800718209e-01], + [2.893897608830e-09, 5.117563223301e+00, 6.470106940028e-01], + [3.239852024578e-09, 4.079092237983e+00, 2.101180877357e-01], + [2.956892222200e-09, 1.594917021704e+00, 3.092784376656e-01], + [2.980177912437e-09, 5.258787667564e+00, 4.155522422634e-01], + [3.163725690776e-09, 3.854589225479e+00, 8.582758298370e-02], + [2.662262399118e-09, 3.561326430187e+00, 5.257585094865e-01], + [2.766689135729e-09, 3.180732086830e-01, 1.385174140878e-01], + [2.411600278464e-09, 3.324798335058e+00, 5.439178814476e-01], + [2.483527695131e-09, 4.169069291947e-01, 5.336234347371e-01], + [7.788777276590e-10, 1.900569908215e+00, 5.217580628120e+01], + ]; + + pub const S1X: &'static [[f64; 3]] = &[ + [-1.296310361520e-08, 0.000000000000e+00, 0.000000000000e+00], + [8.975769009438e-09, 1.128891609250e+00, 4.265981595566e-01], + [7.771113441307e-09, 2.706039877077e+00, 2.061856251104e-01], + [7.538303866642e-09, 2.191281289498e+00, 2.204125344462e-01], + [6.061384579336e-09, 3.248167319958e+00, 1.059381944224e+00], + [5.726994235594e-09, 5.569981398610e+00, 5.225775174439e-01], + [5.616492836424e-09, 5.057386614909e+00, 5.368044267797e-01], + [1.010881584769e-09, 3.473577116095e+00, 7.113454667900e-03], + [7.259606157626e-10, 3.651858593665e-01, 6.398972393349e-01], + [8.755095026935e-10, 1.662835408338e+00, 4.194847048887e-01], + [5.370491182812e-10, 1.327673878077e+00, 4.337116142245e-01], + [5.743773887665e-10, 4.250200846687e+00, 2.132990797783e-01], + [4.408103140300e-10, 3.598752574277e+00, 1.589072916335e+00], + [3.101892374445e-10, 4.887822983319e+00, 1.052268489556e+00], + [3.209453713578e-10, 9.702272295114e-01, 5.296909721118e-01], + [3.017228286064e-10, 5.484462275949e+00, 1.066495398892e+00], + [3.200700038601e-10, 2.846613338643e+00, 1.495633313810e-01], + [2.137637279911e-10, 5.692163292729e-01, 3.163918923335e-01], + [1.899686386727e-10, 2.061077157189e+00, 2.275259891141e-01], + [1.401994545308e-10, 4.177771136967e+00, 1.102062672231e-01], + [1.578057810499e-10, 5.782460597335e+00, 7.626583626240e-02], + [1.237713253351e-10, 5.705900866881e+00, 5.154640627760e-01], + [1.313076837395e-10, 5.163438179576e+00, 3.664874755930e-02], + [1.184963304860e-10, 3.054804427242e+00, 6.327837846670e-01], + [1.238130878565e-10, 2.317292575962e+00, 3.961708870310e-02], + [1.015959527736e-10, 2.194643645526e+00, 7.329749511860e-02], + [9.017954423714e-11, 2.868603545435e+00, 1.990721704425e-01], + [8.668024955603e-11, 4.923849675082e+00, 5.439178814476e-01], + [7.756083930103e-11, 3.014334135200e+00, 9.491756770005e-01], + [7.536503401741e-11, 2.704886279769e+00, 1.030928125552e-01], + [5.483308679332e-11, 6.010983673799e+00, 8.531963191132e-01], + [5.184339620428e-11, 1.952704573291e+00, 2.093666171530e-01], + [5.108658712030e-11, 2.958575786649e+00, 2.172315424036e-01], + [5.019424524650e-11, 1.736317621318e+00, 2.164800718209e-01], + [4.909312625978e-11, 3.167216416257e+00, 2.101180877357e-01], + [4.456638901107e-11, 7.697579923471e-01, 3.235053470014e-01], + [4.227030350925e-11, 3.490910137928e+00, 6.373574839730e-02], + [4.095456040093e-11, 5.178888984491e-01, 6.470106940028e-01], + [4.990537041422e-11, 3.323887668974e+00, 1.422690933580e-02], + [4.321170010845e-11, 4.288484987118e+00, 7.358765972222e-01], + [3.544072091802e-11, 6.021051579251e+00, 5.265099800692e-01], + [3.480198638687e-11, 4.600027054714e+00, 5.328719641544e-01], + [3.440287244435e-11, 4.349525970742e+00, 8.582758298370e-02], + [3.330628322713e-11, 2.347391505082e+00, 1.104591729320e-02], + [2.973060707184e-11, 4.789409286400e+00, 5.257585094865e-01], + [2.932606766089e-11, 5.831693799927e+00, 5.336234347371e-01], + [2.876972310953e-11, 2.692638514771e+00, 1.173197218910e-01], + [2.827488278556e-11, 2.056052487960e+00, 2.022531624851e-01], + [2.515028239756e-11, 7.411863262449e-01, 9.597935788730e-02], + [2.853033744415e-11, 3.948481024894e+00, 2.118763888447e+00], + ]; + + pub const S1Y: &'static [[f64; 3]] = &[ + [8.989047573576e-09, 5.840593672122e+00, 4.265981595566e-01], + [7.815938401048e-09, 1.129664707133e+00, 2.061856251104e-01], + [7.550926713280e-09, 6.196589104845e-01, 2.204125344462e-01], + [6.056556925895e-09, 1.677494667846e+00, 1.059381944224e+00], + [5.734142698204e-09, 4.000920852962e+00, 5.225775174439e-01], + [5.614341822459e-09, 3.486722577328e+00, 5.368044267797e-01], + [1.028678147656e-09, 1.877141024787e+00, 7.113454667900e-03], + [7.270792075266e-10, 5.077167301739e+00, 6.398972393349e-01], + [8.734141726040e-10, 9.069550282609e-02, 4.194847048887e-01], + [5.377371402113e-10, 6.039381844671e+00, 4.337116142245e-01], + [4.729719431571e-10, 2.153086311760e+00, 2.132990797783e-01], + [4.458052820973e-10, 5.059830025565e+00, 5.296909721118e-01], + [4.406855467908e-10, 2.027971692630e+00, 1.589072916335e+00], + [3.101659310977e-10, 3.317677981860e+00, 1.052268489556e+00], + [3.016749232545e-10, 3.913703482532e+00, 1.066495398892e+00], + [3.198541352656e-10, 1.275513098525e+00, 1.495633313810e-01], + [2.142065389871e-10, 5.301351614597e+00, 3.163918923335e-01], + [1.902615247592e-10, 4.894943352736e-01, 2.275259891141e-01], + [1.613410990871e-10, 2.449891130437e+00, 1.102062672231e-01], + [1.576992165097e-10, 4.211421447633e+00, 7.626583626240e-02], + [1.241637259894e-10, 4.140803368133e+00, 5.154640627760e-01], + [1.313974830355e-10, 3.591920305503e+00, 3.664874755930e-02], + [1.181697118258e-10, 1.506314382788e+00, 6.327837846670e-01], + [1.238239742779e-10, 7.461405378404e-01, 3.961708870310e-02], + [1.010107068241e-10, 6.271010795475e-01, 7.329749511860e-02], + [9.226316616509e-11, 1.259158839583e+00, 1.990721704425e-01], + [8.664946419555e-11, 3.353244696934e+00, 5.439178814476e-01], + [7.757230468978e-11, 1.447677295196e+00, 9.491756770005e-01], + [7.693168628139e-11, 1.120509896721e+00, 1.030928125552e-01], + [5.487897454612e-11, 4.439380426795e+00, 8.531963191132e-01], + [5.196118677218e-11, 3.788856619137e-01, 2.093666171530e-01], + [5.110853339935e-11, 1.386879372016e+00, 2.172315424036e-01], + [5.027804534813e-11, 1.647881805466e-01, 2.164800718209e-01], + [4.922485922674e-11, 1.594315079862e+00, 2.101180877357e-01], + [6.155599524400e-11, 0.000000000000e+00, 0.000000000000e+00], + [4.447147832161e-11, 5.480720918976e+00, 3.235053470014e-01], + [4.144691276422e-11, 1.931371033660e+00, 6.373574839730e-02], + [4.099950625452e-11, 5.229611294335e+00, 6.470106940028e-01], + [5.060541682953e-11, 1.731112486298e+00, 1.422690933580e-02], + [4.293615946300e-11, 2.714571038925e+00, 7.358765972222e-01], + [3.545659845763e-11, 4.451041444634e+00, 5.265099800692e-01], + [3.479112041196e-11, 3.029385448081e+00, 5.328719641544e-01], + [3.438516493570e-11, 2.778507143731e+00, 8.582758298370e-02], + [3.297341285033e-11, 7.898709807584e-01, 1.104591729320e-02], + [2.972585818015e-11, 3.218785316973e+00, 5.257585094865e-01], + [2.931707295017e-11, 4.260731012098e+00, 5.336234347371e-01], + [2.897198149403e-11, 1.120753978101e+00, 1.173197218910e-01], + [2.832293240878e-11, 4.597682717827e-01, 2.022531624851e-01], + [2.864348326612e-11, 2.169939928448e+00, 9.597935788730e-02], + [2.852714675471e-11, 2.377659870578e+00, 2.118763888447e+00], + ]; + + pub const S1Z: &'static [[f64; 3]] = &[ + [5.444220475678e-09, 1.803825509310e+00, 2.132990797783e-01], + [3.883412695596e-09, 4.668616389392e+00, 5.296909721118e-01], + [1.334341434551e-09, 0.000000000000e+00, 0.000000000000e+00], + [3.730001266883e-10, 5.401405918943e+00, 2.061856251104e-01], + [2.894929197956e-10, 4.932415609852e+00, 2.204125344462e-01], + [2.857950357701e-10, 3.154625362131e+00, 7.478166569050e-02], + [2.499226432292e-10, 3.657486128988e+00, 4.265981595566e-01], + [1.937705443593e-10, 5.740434679002e+00, 1.059381944224e+00], + [1.374894396320e-10, 1.712857366891e+00, 5.368044267797e-01], + [1.217248678408e-10, 2.312090870932e+00, 5.225775174439e-01], + [7.961052740870e-11, 5.283368554163e+00, 3.813291813120e-02], + [4.979225949689e-11, 4.298290471860e+00, 4.194847048887e-01], + [4.388552286597e-11, 6.145515047406e+00, 7.113454667900e-03], + [2.586835212560e-11, 3.019448001809e+00, 6.398972393349e-01], + ]; + + pub const S2X: &'static [[f64; 3]] = &[ + [1.603551636587e-12, 4.404109410481e+00, 2.061856251104e-01], + [1.556935889384e-12, 4.818040873603e-01, 2.204125344462e-01], + [1.182594414915e-12, 9.935762734472e-01, 5.225775174439e-01], + [1.158794583180e-12, 3.353180966450e+00, 5.368044267797e-01], + [9.597358943932e-13, 5.567045358298e+00, 2.132990797783e-01], + [6.511516579605e-13, 5.630872420788e+00, 4.265981595566e-01], + [7.419792747688e-13, 2.156188581957e+00, 5.296909721118e-01], + [3.951972655848e-13, 1.981022541805e+00, 1.059381944224e+00], + [4.478223877045e-13, 0.000000000000e+00, 0.000000000000e+00], + ]; + + pub const S2Y: &'static [[f64; 3]] = &[ + [1.609114495091e-12, 2.831096993481e+00, 2.061856251104e-01], + [1.560330784946e-12, 5.193058213906e+00, 2.204125344462e-01], + [1.183535479202e-12, 5.707003443890e+00, 5.225775174439e-01], + [1.158183066182e-12, 1.782400404928e+00, 5.368044267797e-01], + [1.032868027407e-12, 4.036925452011e+00, 2.132990797783e-01], + [6.540142847741e-13, 4.058241056717e+00, 4.265981595566e-01], + [7.305236491596e-13, 6.175401942957e-01, 5.296909721118e-01], + [-5.580725052968e-13, 0.000000000000e+00, 0.000000000000e+00], + [3.946122651015e-13, 4.108265279171e-01, 1.059381944224e+00], + ]; + + pub const S2Z: &'static [[f64; 3]] = &[ + [3.749920358054e-13, 3.230285558668e+00, 2.132990797783e-01], + [2.735037220939e-13, 6.154322683046e+00, 5.296909721118e-01], + ]; +} diff --git a/01_yachay/cosmos/cosmos-coords/src/aberration/mod.rs b/01_yachay/cosmos/cosmos-coords/src/aberration/mod.rs new file mode 100644 index 0000000..9435a2e --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/aberration/mod.rs @@ -0,0 +1,355 @@ +mod coefficients; + +use crate::{CoordError, CoordResult}; +use cosmos_core::{ + constants::{DAYS_PER_JULIAN_YEAR, J2000_JD, SPEED_OF_LIGHT_AU_PER_DAY}, + Vector3, +}; +use cosmos_time::TT; +use coefficients::Coefficients; + +pub struct EarthState { + pub barycentric_velocity: Vector3, + pub heliocentric_position: Vector3, +} + +pub fn compute_earth_state(tt: &TT) -> CoordResult { + let jd = tt.to_julian_date(); + let t = ((jd.jd1() - J2000_JD) + jd.jd2()) / DAYS_PER_JULIAN_YEAR; + + if t.abs() > 100.0 { + return Err(CoordError::invalid_coordinate("Epoch outside 1900-2100")); + } + + let t2 = t * t; + + let e_coefs = [ + [Coefficients::E0X, Coefficients::E1X, Coefficients::E2X], + [Coefficients::E0Y, Coefficients::E1Y, Coefficients::E2Y], + [Coefficients::E0Z, Coefficients::E1Z, Coefficients::E2Z], + ]; + let s_coefs = [ + [Coefficients::S0X, Coefficients::S1X, Coefficients::S2X], + [Coefficients::S0Y, Coefficients::S1Y, Coefficients::S2Y], + [Coefficients::S0Z, Coefficients::S1Z, Coefficients::S2Z], + ]; + + let mut ph = [0.0; 3]; + let mut vh = [0.0; 3]; + let mut vb = [0.0; 3]; + + for i in 0..3 { + let mut xyz = 0.0; + let mut xyzd = 0.0; + + accumulate_terms(t, t2, e_coefs[i][0], &mut xyz, &mut xyzd, 0); + accumulate_terms(t, t2, e_coefs[i][1], &mut xyz, &mut xyzd, 1); + accumulate_terms(t, t2, e_coefs[i][2], &mut xyz, &mut xyzd, 2); + + ph[i] = xyz; + vh[i] = xyzd / DAYS_PER_JULIAN_YEAR; + + accumulate_terms(t, t2, s_coefs[i][0], &mut xyz, &mut xyzd, 0); + accumulate_terms(t, t2, s_coefs[i][1], &mut xyz, &mut xyzd, 1); + accumulate_terms(t, t2, s_coefs[i][2], &mut xyz, &mut xyzd, 2); + + vb[i] = xyzd / DAYS_PER_JULIAN_YEAR; + } + + let helio_pos_bcrs = rotate_to_bcrs(ph); + let bary_vel_bcrs = rotate_to_bcrs(vb); + + Ok(EarthState { + barycentric_velocity: Vector3::new(bary_vel_bcrs[0], bary_vel_bcrs[1], bary_vel_bcrs[2]), + heliocentric_position: Vector3::new( + helio_pos_bcrs[0], + helio_pos_bcrs[1], + helio_pos_bcrs[2], + ), + }) +} + +fn accumulate_terms(t: f64, t2: f64, coefs: &[[f64; 3]], xyz: &mut f64, xyzd: &mut f64, power: u8) { + for &[a, b, c] in coefs { + let ct = c * t; + let p = b + ct; + let (sin_p, cos_p) = libm::sincos(p); + + match power { + 0 => { + *xyz += a * cos_p; + *xyzd -= a * c * sin_p; + } + 1 => { + *xyz += a * t * cos_p; + *xyzd += a * (cos_p - ct * sin_p); + } + _ => { + *xyz += a * t2 * cos_p; + *xyzd += a * t * (2.0 * cos_p - ct * sin_p); + } + } + } +} + +fn rotate_to_bcrs(v: [f64; 3]) -> [f64; 3] { + const AM12: f64 = 0.000000211284; + const AM13: f64 = -0.000000091603; + const AM21: f64 = -0.000000230286; + const AM22: f64 = 0.917482137087; + const AM23: f64 = -0.397776982902; + const AM32: f64 = 0.397776982902; + const AM33: f64 = 0.917482137087; + + let (x, y, z) = (v[0], v[1], v[2]); + [ + x + AM12 * y + AM13 * z, + AM21 * x + AM22 * y + AM23 * z, + AM32 * y + AM33 * z, + ] +} + +const SCHWARZSCHILD_RADIUS_SUN_AU: f64 = 1.97412574336e-8; + +/// Apply gravitational light deflection by the Sun. +/// +/// This implements the relativistic bending of starlight as it passes near the Sun, +/// based on the algorithm in IERS Conventions. +/// +/// # Arguments +/// * `star_direction` - Unit vector from observer to star (BCRS) +/// * `sun_to_observer` - Unit vector from Sun to observer (BCRS) +/// * `sun_observer_distance_au` - Distance from Sun to observer in AU +/// +/// # Returns +/// Deflected star direction (unit vector) +pub fn apply_light_deflection( + star_direction: Vector3, + sun_to_observer: Vector3, + sun_observer_distance_au: f64, +) -> Vector3 { + // Deflection limiter: for nearby observers, use smaller limit + let em2 = sun_observer_distance_au * sun_observer_distance_au; + let em2_clamped = if em2 < 1.0 { 1.0 } else { em2 }; + let dlim = 1e-6 / em2_clamped; + + // For distant stars, the direction from Sun to star ≈ direction from observer to star + // So we use star_direction for both p and q in ERFA's eraLd + let q = star_direction; + let e = sun_to_observer; + + // q + e + let qpe = Vector3::new(q.x + e.x, q.y + e.y, q.z + e.z); + + // q . (q + e) + let qdqpe = q.dot(&qpe); + + // Apply limiter to avoid division by zero when star is near Sun + let qdqpe_limited = if qdqpe > dlim { qdqpe } else { dlim }; + + // 2G*M / (c^2 * r * (q.(q+e))) = SRS / (em * (q.(q+e))) + // where SRS = Schwarzschild radius of Sun in AU + let w = SCHWARZSCHILD_RADIUS_SUN_AU / sun_observer_distance_au / qdqpe_limited; + + // e × q (cross product) + let eq = Vector3::new( + e.y * q.z - e.z * q.y, + e.z * q.x - e.x * q.z, + e.x * q.y - e.y * q.x, + ); + + // p × (e × q) (cross product) + let p = star_direction; + let peq = Vector3::new( + p.y * eq.z - p.z * eq.y, + p.z * eq.x - p.x * eq.z, + p.x * eq.y - p.y * eq.x, + ); + + // Apply deflection: p1 = p + w * (p × (e × q)) + Vector3::new(p.x + w * peq.x, p.y + w * peq.y, p.z + w * peq.z) +} + +/// Remove gravitational light deflection by the Sun (inverse operation). +pub fn remove_light_deflection( + deflected_direction: Vector3, + sun_to_observer: Vector3, + sun_observer_distance_au: f64, +) -> Vector3 { + // We compute: d = forward(estimate) - estimate, then refine: estimate = observed - d + let mut d = Vector3::zeros(); + + for _ in 0..5 { + // Estimate the original direction + let before = Vector3::new( + deflected_direction.x - d.x, + deflected_direction.y - d.y, + deflected_direction.z - d.z, + ) + .normalize(); + + // Apply forward deflection to the estimate + let after = apply_light_deflection(before, sun_to_observer, sun_observer_distance_au); + + // Update correction + d = Vector3::new(after.x - before.x, after.y - before.y, after.z - before.z); + } + + // Final result + Vector3::new( + deflected_direction.x - d.x, + deflected_direction.y - d.y, + deflected_direction.z - d.z, + ) + .normalize() +} + +/// Remove stellar aberration (inverse operation). +pub fn remove_aberration( + apparent_direction: Vector3, + velocity_au_day: Vector3, + sun_earth_distance_au: f64, +) -> Vector3 { + // Iterative approach matching ERFA's eraAticq + let mut d = Vector3::zeros(); + + for _ in 0..2 { + // Estimate the original direction + let before = Vector3::new( + apparent_direction.x - d.x, + apparent_direction.y - d.y, + apparent_direction.z - d.z, + ) + .normalize(); + + // Apply forward aberration to the estimate + let after = apply_aberration(before, velocity_au_day, sun_earth_distance_au); + + // Update correction + d = Vector3::new(after.x - before.x, after.y - before.y, after.z - before.z); + } + + // Final result + Vector3::new( + apparent_direction.x - d.x, + apparent_direction.y - d.y, + apparent_direction.z - d.z, + ) + .normalize() +} + +pub fn apply_aberration( + direction: Vector3, + velocity_au_day: Vector3, + sun_earth_distance_au: f64, +) -> Vector3 { + let v = Vector3::new( + velocity_au_day.x / SPEED_OF_LIGHT_AU_PER_DAY, + velocity_au_day.y / SPEED_OF_LIGHT_AU_PER_DAY, + velocity_au_day.z / SPEED_OF_LIGHT_AU_PER_DAY, + ); + + let v2 = v.x * v.x + v.y * v.y + v.z * v.z; + let bm1 = libm::sqrt(1.0 - v2); + + let pdv = direction.dot(&v); + let w1 = 1.0 + pdv / (1.0 + bm1); + let w2 = SCHWARZSCHILD_RADIUS_SUN_AU / sun_earth_distance_au; + + let p2 = Vector3::new( + direction.x * bm1 + w1 * v.x + w2 * (v.x - pdv * direction.x), + direction.y * bm1 + w1 * v.y + w2 * (v.y - pdv * direction.y), + direction.z * bm1 + w1 * v.z + w2 * (v.z - pdv * direction.z), + ); + + let r = p2.magnitude(); + Vector3::new(p2.x / r, p2.y / r, p2.z / r) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_earth_velocity_j2000() { + let tt = TT::j2000(); + let state = compute_earth_state(&tt).unwrap(); + + let v_mag = state.barycentric_velocity.magnitude(); + assert!( + (v_mag - 0.017).abs() < 0.001, + "Barycentric velocity should be ~0.017 AU/day, got {}", + v_mag + ); + } + + #[test] + fn test_aberration_magnitude() { + let tt = TT::j2000(); + let state = compute_earth_state(&tt).unwrap(); + + let p = Vector3::new(1.0, 0.0, 0.0); + let s = state.heliocentric_position.magnitude(); + let p_ab = apply_aberration(p, state.barycentric_velocity, s); + + let disp_sq = (p_ab.x - p.x).powi(2) + (p_ab.y - p.y).powi(2) + (p_ab.z - p.z).powi(2); + let aberr_arcsec = libm::sqrt(disp_sq) * 206264.806247; + + assert!( + aberr_arcsec < 25.0, + "Aberration should be < 25\", got {}", + aberr_arcsec + ); + } + + #[test] + fn test_aberration_roundtrip() { + let tt = TT::j2000(); + let state = compute_earth_state(&tt).unwrap(); + let sun_dist = state.heliocentric_position.magnitude(); + + let directions = [ + Vector3::new(1.0, 0.0, 0.0), + Vector3::new(0.0, 1.0, 0.0), + Vector3::new(0.0, 0.0, 1.0), + Vector3::new(1.0, 1.0, 1.0).normalize(), + ]; + + for dir in directions { + let aberrated = apply_aberration(dir, state.barycentric_velocity, sun_dist); + let recovered = remove_aberration(aberrated, state.barycentric_velocity, sun_dist); + + let diff = libm::sqrt( + (dir.x - recovered.x).powi(2) + + (dir.y - recovered.y).powi(2) + + (dir.z - recovered.z).powi(2), + ); + + // Iterative inverse gives ~1e-13 precision, not machine epsilon + assert!(diff < 1e-12, "Aberration roundtrip error: {:.2e}", diff); + } + } + + #[test] + fn test_remove_aberration_is_inverse() { + let velocity = Vector3::new(0.01, 0.005, 0.002); + let sun_dist = 1.0; + let original = Vector3::new(0.6, 0.7, 0.3).normalize(); + + let aberrated = apply_aberration(original, velocity, sun_dist); + let recovered = remove_aberration(aberrated, velocity, sun_dist); + + let diff = libm::sqrt( + (original.x - recovered.x).powi(2) + + (original.y - recovered.y).powi(2) + + (original.z - recovered.z).powi(2), + ); + + // Iterative inverse gives ~1e-13 precision, not machine epsilon + assert!( + diff < 1e-12, + "Aberration inverse should be within iterative precision: {:.2e}", + diff + ); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/constants.rs b/01_yachay/cosmos/cosmos-coords/src/constants.rs new file mode 100644 index 0000000..b4db207 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/constants.rs @@ -0,0 +1,29 @@ +/// Rotation matrix for transforming Galactic coordinates to ICRS. +/// +/// This matrix represents the transformation from the IAU 1958 Galactic coordinate system +/// to the International Celestial Reference System (ICRS). The matrix is derived from +/// the IAU-defined Galactic pole and zero-point: +/// - North Galactic Pole (NGP): RA = 192.859508°, Dec = 27.128336° (J2000/ICRS) +/// - Galactic Center direction: l=0°, b=0° points toward RA = 266.405°, Dec = -28.936° (J2000) +/// +/// Reference: Liu, J.-C., Zhu, Z., & Zhang, H. (2011). "Reconsidering the Galactic +/// coordinate system". Astronomy & Astrophysics, 526, A16. +/// See also: ERFA function eraG2icrs documentation +#[allow(clippy::excessive_precision)] +pub const GALACTIC_TO_ICRS: [[f64; 3]; 3] = [ + [ + -0.054875560416215368492398900454, + -0.873437090234885048760383168409, + -0.483835015548713226831774175116, + ], + [ + 0.494109427875583673525222371358, + -0.444829629960011178146614061616, + 0.746982244497218890527388004556, + ], + [ + -0.867666149019004701181616534570, + -0.198076373431201528180486091412, + 0.455983776175066922272100478348, + ], +]; diff --git a/01_yachay/cosmos/cosmos-coords/src/distance.rs b/01_yachay/cosmos/cosmos-coords/src/distance.rs new file mode 100644 index 0000000..f508ae4 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/distance.rs @@ -0,0 +1,325 @@ +use crate::{CoordError, CoordResult}; +use cosmos_core::Angle; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Copy, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct Distance { + parsecs: f64, +} + +impl Distance { + /// Creates a Distance from parsecs. + /// + /// # Valid Range + /// Must be positive and finite (0 < parsecs < ∞) + /// + /// # Errors + /// Returns `CoordError::InvalidDistance` if value is ≤0, infinite, or NaN. + pub fn from_parsecs(parsecs: f64) -> CoordResult { + if !parsecs.is_finite() || parsecs <= 0.0 { + return Err(CoordError::invalid_distance(format!( + "Distance must be positive and finite, got {}", + parsecs + ))); + } + Ok(Self { parsecs }) + } + + /// Creates a Distance from light-years. + /// + /// # Valid Range + /// Must be positive and finite (0 < ly < ∞) + pub fn from_light_years(ly: f64) -> CoordResult { + const LY_TO_PC: f64 = 0.3066013937; + Self::from_parsecs(ly * LY_TO_PC) + } + + /// Creates a Distance from astronomical units. + /// + /// # Valid Range + /// Must be positive and finite (0 < au < ∞) + pub fn from_au(au: f64) -> CoordResult { + const AU_TO_PC: f64 = 4.84813681109536e-6; + Self::from_parsecs(au * AU_TO_PC) + } + + /// Creates a Distance from kilometers. + /// + /// # Valid Range + /// Must be positive and finite (0 < km < ∞) + pub fn from_kilometers(km: f64) -> CoordResult { + const KM_TO_PC: f64 = 3.24077929e-14; + Self::from_parsecs(km * KM_TO_PC) + } + + /// Creates a Distance from parallax in arcseconds. + /// + /// # Valid Range + /// Must be positive and finite (0 < parallax_arcsec < ∞) + /// + /// # Note + /// Distance (parsecs) = 1 / parallax (arcsec) + pub fn from_parallax_arcsec(parallax_arcsec: f64) -> CoordResult { + if !parallax_arcsec.is_finite() || parallax_arcsec <= 0.0 { + return Err(CoordError::invalid_distance(format!( + "Parallax must be positive and finite, got {} arcsec", + parallax_arcsec + ))); + } + Self::from_parsecs(1.0 / parallax_arcsec) + } + + pub fn from_parallax_milliarcsec(parallax_mas: f64) -> CoordResult { + Self::from_parallax_arcsec(parallax_mas / 1000.0) + } + + pub fn from_parallax_angle(parallax: Angle) -> CoordResult { + Self::from_parallax_arcsec(parallax.arcseconds()) + } + + pub fn parsecs(self) -> f64 { + self.parsecs + } + + pub fn light_years(self) -> f64 { + const PC_TO_LY: f64 = 3.2615637769; + self.parsecs * PC_TO_LY + } + + pub fn au(self) -> f64 { + const PC_TO_AU: f64 = 206264.806247096; + self.parsecs * PC_TO_AU + } + + pub fn kilometers(self) -> f64 { + #[allow(clippy::excessive_precision)] + const PC_TO_KM: f64 = 3.0856775814913673e13; + self.parsecs * PC_TO_KM + } + + pub fn parallax_arcsec(self) -> f64 { + 1.0 / self.parsecs + } + + pub fn parallax_milliarcsec(self) -> f64 { + self.parallax_arcsec() * 1000.0 + } + + pub fn parallax_angle(self) -> Angle { + Angle::from_arcseconds(self.parallax_arcsec()) + } + + pub fn distance_modulus(self) -> f64 { + 5.0 * libm::log10(self.parsecs) - 5.0 + } + + pub fn from_distance_modulus(dm: f64) -> CoordResult { + let parsecs = 10.0_f64.powf((dm + 5.0) / 5.0); + Self::from_parsecs(parsecs) + } + + pub fn is_galactic(self) -> bool { + self.parsecs < 100_000.0 + } + + pub fn is_local_group(self) -> bool { + self.parsecs < 2_000_000.0 + } + + pub fn parallax_uncertainty_mas(self, relative_error: f64) -> f64 { + let parallax_mas = self.parallax_milliarcsec(); + parallax_mas * relative_error + } + + pub fn proper_motion_distance_au(self, pm_mas_per_year: f64, dt_years: f64) -> f64 { + let pm_rad_per_year = + pm_mas_per_year * 1e-3 * (cosmos_core::constants::PI / (180.0 * 3600.0)); + let angular_distance_rad = pm_rad_per_year * dt_years; + self.au() * angular_distance_rad + } +} + +impl std::ops::Add for Distance { + type Output = CoordResult; + + fn add(self, other: Self) -> Self::Output { + Self::from_parsecs(self.parsecs + other.parsecs) + } +} + +impl std::ops::Sub for Distance { + type Output = CoordResult; + + fn sub(self, other: Self) -> Self::Output { + Self::from_parsecs(self.parsecs - other.parsecs) + } +} + +impl std::ops::Mul for Distance { + type Output = CoordResult; + + fn mul(self, factor: f64) -> Self::Output { + Self::from_parsecs(self.parsecs * factor) + } +} + +impl std::ops::Div for Distance { + type Output = CoordResult; + + fn div(self, divisor: f64) -> Self::Output { + Self::from_parsecs(self.parsecs / divisor) + } +} + +impl PartialOrd for Distance { + fn partial_cmp(&self, other: &Self) -> Option { + self.parsecs.partial_cmp(&other.parsecs) + } +} + +impl std::fmt::Display for Distance { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + if self.parsecs < 1e-3 { + write!(f, "{:.3} AU", self.au()) + } else if self.parsecs < 1000.0 { + write!(f, "{:.3} pc", self.parsecs) + } else if self.parsecs < 1e6 { + write!(f, "{:.3} kpc", self.parsecs / 1000.0) + } else { + write!(f, "{:.3} Mpc", self.parsecs / 1e6) + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_distance_creation() { + let d1 = Distance::from_parsecs(10.0).unwrap(); + assert_eq!(d1.parsecs(), 10.0); + + let d2 = Distance::from_parallax_arcsec(0.1).unwrap(); + assert_eq!(d2.parsecs(), 10.0); + + assert!(Distance::from_parsecs(-1.0).is_err()); + assert!(Distance::from_parsecs(0.0).is_err()); + assert!(Distance::from_parallax_arcsec(0.0).is_err()); + } + + #[test] + fn test_from_light_years() { + let d = Distance::from_light_years(1.0).unwrap(); + assert!((d.parsecs() - 0.3066013937).abs() < 1e-9); + } + + #[test] + fn test_parallax_angle() { + let angle = Angle::from_arcseconds(0.1); + let d = Distance::from_parallax_angle(angle).unwrap(); + assert!((d.parsecs() - 10.0).abs() < 1e-12); + } + + #[test] + fn test_parallax_uncertainty_mas() { + let d = Distance::from_parsecs(100.0).unwrap(); + let unc = d.parallax_uncertainty_mas(0.01); + assert!((unc - 0.1).abs() < 1e-6); + } + + #[test] + fn test_partial_ord() { + let d1 = Distance::from_parsecs(10.0).unwrap(); + let d2 = Distance::from_parsecs(20.0).unwrap(); + assert!(d1 < d2); + } + + #[test] + fn test_unit_conversions() { + let distance = Distance::from_parsecs(1.0).unwrap(); + + #[allow(clippy::excessive_precision)] + { + assert!((distance.light_years() - 3.261_563_776_9).abs() < 1e-9); + assert!((distance.au() - 206264.806_247_096).abs() < 1e-6); + assert!((distance.kilometers() - 3.085_677_581_491_367_3e13).abs() < 1e6); + } + } + + #[test] + fn test_parallax_calculations() { + let proxima = Distance::from_parallax_arcsec(0.7687).unwrap(); + assert!((proxima.parsecs() - 1.3009).abs() < 0.001); + + let distance = Distance::from_parallax_milliarcsec(768.7).unwrap(); + assert!((distance.parsecs() - 1.3009).abs() < 0.001); + } + + #[test] + fn test_distance_modulus() { + let distance = Distance::from_parsecs(10.0).unwrap(); + let dm = distance.distance_modulus(); + assert!((dm - 0.0).abs() < 1e-12); + + let recovered = Distance::from_distance_modulus(dm).unwrap(); + assert!((recovered.parsecs() - 10.0).abs() < 1e-12); + } + + #[test] + fn test_distance_scales() { + let galactic = Distance::from_parsecs(1000.0).unwrap(); + assert!(galactic.is_galactic()); + assert!(galactic.is_local_group()); + + let extragalactic = Distance::from_parsecs(10_000_000.0).unwrap(); + assert!(!extragalactic.is_galactic()); + assert!(!extragalactic.is_local_group()); + } + + #[test] + fn test_proper_motion_distance() { + let distance = Distance::from_parsecs(1.0).unwrap(); + + let linear_dist = distance.proper_motion_distance_au(1.0, 1.0); + + assert!(linear_dist > 0.0); + assert!(linear_dist < 10.0); + } + + #[test] + fn test_arithmetic_operations() { + let d1 = Distance::from_parsecs(10.0).unwrap(); + let d2 = Distance::from_parsecs(5.0).unwrap(); + + let sum = (d1 + d2).unwrap(); + assert_eq!(sum.parsecs(), 15.0); + + let diff = (d1 - d2).unwrap(); + assert_eq!(diff.parsecs(), 5.0); + + let doubled = (d1 * 2.0).unwrap(); + assert_eq!(doubled.parsecs(), 20.0); + + let halved = (d1 / 2.0).unwrap(); + assert_eq!(halved.parsecs(), 5.0); + } + + #[test] + fn test_display() { + let close = Distance::from_au(1.0).unwrap(); + assert!(close.to_string().contains("AU")); + + let nearby = Distance::from_parsecs(10.0).unwrap(); + assert!(nearby.to_string().contains("pc")); + + let distant = Distance::from_parsecs(10000.0).unwrap(); + assert!(distant.to_string().contains("kpc")); + + let very_distant = Distance::from_parsecs(10_000_000.0).unwrap(); + assert!(very_distant.to_string().contains("Mpc")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/eop/bundled.rs b/01_yachay/cosmos/cosmos-coords/src/eop/bundled.rs new file mode 100644 index 0000000..3edff8c --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/eop/bundled.rs @@ -0,0 +1,118 @@ +use super::record::{EopFlags, EopQuality, EopRecord, EopSource}; +use crate::CoordResult; + +pub fn load_bundled_c04() -> CoordResult> { + let entries = celestial_eop_data::c04_data(); + convert_entries(entries, EopSource::IersC04) +} + +pub fn load_bundled_combined() -> CoordResult> { + let c04 = celestial_eop_data::c04_data(); + let finals = celestial_eop_data::finals_data(); + let c04_max = c04.last().map(|e| e.mjd).unwrap_or(0.0); + + let mut records = convert_entries(c04, EopSource::IersC04)?; + let finals_ext = finals.iter().filter(|e| e.mjd > c04_max); + for entry in finals_ext { + records.push(convert_entry(entry, EopSource::IersFinals)?); + } + Ok(records) +} + +pub fn bundled_time_span() -> (f64, f64) { + celestial_eop_data::data_time_span() +} + +pub fn bundled_timestamp() -> &'static str { + celestial_eop_data::data_timestamp() +} + +fn convert_entries( + entries: &[celestial_eop_data::EopEntry], + source: EopSource, +) -> CoordResult> { + let mut records = Vec::with_capacity(entries.len()); + for entry in entries { + records.push(convert_entry(entry, source)?); + } + Ok(records) +} + +fn convert_entry( + entry: &celestial_eop_data::EopEntry, + source: EopSource, +) -> CoordResult { + let mut record = EopRecord::new(entry.mjd, entry.x_p, entry.y_p, entry.ut1_utc, entry.lod)?; + + let has_cip = entry.dx != 0.0 || entry.dy != 0.0; + if has_cip { + record = record.with_cip_offsets(entry.dx, entry.dy)?; + } + + let flags = EopFlags { + source, + quality: EopQuality::HighPrecision, + has_polar_motion: true, + has_ut1_utc: true, + has_cip_offsets: has_cip, + has_pole_rates: false, + }; + record = record.with_flags(flags); + Ok(record) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_load_bundled_c04() { + let records = load_bundled_c04().unwrap(); + assert!(records.len() > 20000); + + for window in records.windows(2) { + assert!(window[0].mjd < window[1].mjd); + } + + let first = &records[0]; + assert_eq!(first.flags.source, EopSource::IersC04); + assert_eq!(first.flags.quality, EopQuality::HighPrecision); + } + + #[test] + fn test_load_bundled_combined() { + let combined = load_bundled_combined().unwrap(); + let c04_only = load_bundled_c04().unwrap(); + assert!(combined.len() > c04_only.len()); + + for window in combined.windows(2) { + assert!(window[0].mjd < window[1].mjd); + } + } + + #[test] + fn test_bundled_time_span() { + let (start, end) = bundled_time_span(); + assert!(start <= 37665.0); // 1962-01-01 + assert!(end >= 60000.0); // ~2023 + } + + #[test] + fn test_bundled_timestamp() { + let ts = bundled_timestamp(); + assert_eq!(ts.len(), 10); // YYYY-MM-DD + assert!(ts.starts_with("20")); + } + + #[test] + fn test_precision_preservation() { + let records = load_bundled_c04().unwrap(); + for record in records.iter().take(100) { + let params = record.to_parameters(); + assert!(params.x_p.abs() < 1.0); + assert!(params.y_p.abs() < 1.0); + assert!(params.ut1_utc.abs() < 1.0); + assert!(params.lod.abs() < 0.01); + } + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/eop/interpolate.rs b/01_yachay/cosmos/cosmos-coords/src/eop/interpolate.rs new file mode 100644 index 0000000..930fe4f --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/eop/interpolate.rs @@ -0,0 +1,522 @@ +use super::record::{EopParameters, EopRecord}; +use crate::{CoordError, CoordResult}; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum InterpolationMethod { + Linear, + + Lagrange5, +} + +pub struct EopInterpolator { + records: Vec, + + method: InterpolationMethod, + + max_gap_days: f64, +} + +impl EopInterpolator { + pub fn new(mut records: Vec) -> Self { + records.sort_by(|a, b| a.mjd.partial_cmp(&b.mjd).unwrap()); + + Self { + records, + method: InterpolationMethod::Linear, + max_gap_days: 5.0, + } + } + + pub fn with_method(mut self, method: InterpolationMethod) -> Self { + self.method = method; + self + } + + pub fn with_max_gap(mut self, max_gap_days: f64) -> Self { + self.max_gap_days = max_gap_days; + self + } + + pub fn get(&self, mjd: f64) -> CoordResult { + if self.records.is_empty() { + return Err(CoordError::data_unavailable( + "No EOP records available for interpolation", + )); + } + + if let Ok(idx) = self + .records + .binary_search_by(|r| r.mjd.partial_cmp(&mjd).unwrap()) + { + let mut params = self.records[idx].to_parameters(); + params.compute_s_prime(); + return Ok(params); + } + + let (before_idx, after_idx) = self.find_interpolation_interval(mjd)?; + + let gap = self.records[after_idx].mjd - self.records[before_idx].mjd; + if gap > self.max_gap_days { + return Err(CoordError::data_unavailable(format!( + "Gap of {:.1} days exceeds maximum interpolation gap of {:.1} days", + gap, self.max_gap_days + ))); + } + + match self.method { + InterpolationMethod::Linear => self.linear_interpolate(mjd, before_idx, after_idx), + InterpolationMethod::Lagrange5 => self.lagrange_interpolate(mjd, 5), + } + } + + fn find_interpolation_interval(&self, mjd: f64) -> CoordResult<(usize, usize)> { + if mjd < self.records[0].mjd { + return Err(CoordError::data_unavailable(format!( + "MJD {:.1} is before first available record (MJD {:.1})", + mjd, self.records[0].mjd + ))); + } + + if mjd > self.records.last().unwrap().mjd { + return Err(CoordError::data_unavailable(format!( + "MJD {:.1} is after last available record (MJD {:.1})", + mjd, + self.records.last().unwrap().mjd + ))); + } + + let mut left = 0; + let mut right = self.records.len() - 1; + + while right - left > 1 { + let mid = (left + right) / 2; + if self.records[mid].mjd <= mjd { + left = mid; + } else { + right = mid; + } + } + + Ok((left, right)) + } + + fn linear_interpolate( + &self, + mjd: f64, + before_idx: usize, + after_idx: usize, + ) -> CoordResult { + let r1 = &self.records[before_idx]; + let r2 = &self.records[after_idx]; + + let t = (mjd - r1.mjd) / (r2.mjd - r1.mjd); + + let p1 = r1.to_parameters(); + let p2 = r2.to_parameters(); + + let x_p = p1.x_p + t * (p2.x_p - p1.x_p); + let y_p = p1.y_p + t * (p2.y_p - p1.y_p); + let ut1_utc = p1.ut1_utc + t * (p2.ut1_utc - p1.ut1_utc); + let lod = p1.lod + t * (p2.lod - p1.lod); + + let dx = match (p1.dx, p2.dx) { + (Some(dx1), Some(dx2)) => Some(dx1 + t * (dx2 - dx1)), + _ => None, + }; + + let dy = match (p1.dy, p2.dy) { + (Some(dy1), Some(dy2)) => Some(dy1 + t * (dy2 - dy1)), + _ => None, + }; + + let xrt = match (p1.xrt, p2.xrt) { + (Some(v1), Some(v2)) => Some(v1 + t * (v2 - v1)), + _ => None, + }; + + let yrt = match (p1.yrt, p2.yrt) { + (Some(v1), Some(v2)) => Some(v1 + t * (v2 - v1)), + _ => None, + }; + + let mut params = EopParameters { + mjd, + x_p, + y_p, + ut1_utc, + lod, + dx, + dy, + xrt, + yrt, + s_prime: 0.0, + flags: p1.flags, + }; + + params.compute_s_prime(); + + Ok(params) + } + + fn lagrange_interpolate(&self, mjd: f64, n: usize) -> CoordResult { + if n > self.records.len() { + return Err(CoordError::invalid_coordinate(format!( + "Not enough records for {}-point Lagrange interpolation", + n + ))); + } + + let center_idx = self.find_center_index(mjd)?; + let half_n = n / 2; + + let start_idx = center_idx.saturating_sub(half_n); + let end_idx = (start_idx + n).min(self.records.len()); + let actual_start = end_idx.saturating_sub(n); + + if end_idx - actual_start < n { + return Err(CoordError::data_unavailable( + "Insufficient records for Lagrange interpolation", + )); + } + + let points: Vec<_> = self.records[actual_start..actual_start + n] + .iter() + .map(|r| r.to_parameters()) + .collect(); + + let x_p = self.lagrange_interpolate_value(mjd, &points, |p| p.x_p); + let y_p = self.lagrange_interpolate_value(mjd, &points, |p| p.y_p); + let ut1_utc = self.lagrange_interpolate_value(mjd, &points, |p| p.ut1_utc); + let lod = self.lagrange_interpolate_value(mjd, &points, |p| p.lod); + + let dx = if points.iter().all(|p| p.dx.is_some()) { + Some(self.lagrange_interpolate_value(mjd, &points, |p| p.dx.unwrap())) + } else { + None + }; + + let dy = if points.iter().all(|p| p.dy.is_some()) { + Some(self.lagrange_interpolate_value(mjd, &points, |p| p.dy.unwrap())) + } else { + None + }; + + let xrt = if points.iter().all(|p| p.xrt.is_some()) { + Some(self.lagrange_interpolate_value(mjd, &points, |p| p.xrt.unwrap())) + } else { + None + }; + + let yrt = if points.iter().all(|p| p.yrt.is_some()) { + Some(self.lagrange_interpolate_value(mjd, &points, |p| p.yrt.unwrap())) + } else { + None + }; + + let mut params = EopParameters { + mjd, + x_p, + y_p, + ut1_utc, + lod, + dx, + dy, + xrt, + yrt, + s_prime: 0.0, + flags: points[0].flags, + }; + + params.compute_s_prime(); + + Ok(params) + } + + fn find_center_index(&self, mjd: f64) -> CoordResult { + let idx = self + .records + .binary_search_by(|r| r.mjd.partial_cmp(&mjd).unwrap()); + + match idx { + Ok(i) => Ok(i), + Err(i) => { + if i == 0 { + Ok(0) + } else if i >= self.records.len() { + Ok(self.records.len() - 1) + } else { + let before = (self.records[i - 1].mjd - mjd).abs(); + let after = (self.records[i].mjd - mjd).abs(); + if before <= after { + Ok(i - 1) + } else { + Ok(i) + } + } + } + } + } + + fn lagrange_interpolate_value(&self, mjd: f64, points: &[EopParameters], extract: F) -> f64 + where + F: Fn(&EopParameters) -> f64, + { + let n = points.len(); + let mut result = 0.0; + + for i in 0..n { + let yi = extract(&points[i]); + let xi = points[i].mjd; + + let mut li = 1.0; + for (j, point) in points.iter().enumerate().take(n) { + if i != j { + let xj = point.mjd; + li *= (mjd - xj) / (xi - xj); + } + } + + result += yi * li; + } + + result + } + + pub fn time_span(&self) -> Option<(f64, f64)> { + if self.records.is_empty() { + None + } else { + Some((self.records[0].mjd, self.records.last().unwrap().mjd)) + } + } + + pub fn record_count(&self) -> usize { + self.records.len() + } + + pub fn extend(&mut self, records: Vec) { + self.records.extend(records); + self.records + .sort_by(|a, b| a.mjd.partial_cmp(&b.mjd).unwrap()); + self.records.dedup_by(|a, b| a.mjd == b.mjd); + } +} + +#[cfg(test)] +mod tests { + use super::*; + + fn create_test_records() -> Vec { + let mut records = Vec::new(); + + for i in 0..5 { + let mjd = 59945.0 + i as f64; + let x_p = 0.1 + 0.001 * i as f64; + let y_p = 0.2 + 0.002 * i as f64; + let ut1_utc = 0.01 + 0.0001 * i as f64; + let lod = 0.001 + 0.00001 * i as f64; + + let record = EopRecord::new(mjd, x_p, y_p, ut1_utc, lod).unwrap(); + records.push(record); + } + + records + } + + #[test] + fn test_linear_interpolation() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + + let mjd = 59946.5; + let params = interpolator.get(mjd).unwrap(); + + let expected_x_p = (0.101 + 0.102) / 2.0; + let expected_y_p = (0.202 + 0.204) / 2.0; + + assert!((params.x_p - expected_x_p).abs() < 1e-10); + assert!((params.y_p - expected_y_p).abs() < 1e-10); + assert_eq!(params.mjd, mjd); + } + + #[test] + fn test_exact_match() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + + let mjd = 59947.0; + let params = interpolator.get(mjd).unwrap(); + + assert_eq!(params.mjd, mjd); + assert!((params.x_p - 0.102).abs() < 1e-10); + assert!((params.y_p - 0.204).abs() < 1e-10); + } + + #[test] + fn test_linear_interpolation_cip_offsets() { + let mut records = Vec::new(); + + for i in 0..=1 { + let mjd = 59945.0 + i as f64; + let mut record = EopRecord::new(mjd, 0.1 + 0.001 * i as f64, 0.2, 0.01, 0.001).unwrap(); + let dx = 1.0 + i as f64; + let dy = -0.2 - 0.1 * i as f64; + record = record.with_cip_offsets(dx, dy).unwrap(); + records.push(record); + } + + let interpolator = EopInterpolator::new(records); + let params = interpolator.get(59945.5).unwrap(); + + assert!(params.dx.is_some()); + assert!(params.dy.is_some()); + assert!((params.dx.unwrap() - 1.5).abs() < 1e-10); + assert!((params.dy.unwrap() - (-0.25)).abs() < 1e-10); + assert!(params.flags.has_cip_offsets); + } + + #[test] + fn test_lagrange_interpolation() { + let records = create_test_records(); + let interpolator = + EopInterpolator::new(records).with_method(InterpolationMethod::Lagrange5); + + let mjd = 59947.0; + let params = interpolator.get(mjd).unwrap(); + + assert!((params.x_p - 0.102).abs() < 1e-10); + assert!((params.y_p - 0.204).abs() < 1e-10); + } + + #[test] + fn test_lagrange_interpolation_cip_offsets() { + let mut records = Vec::new(); + for i in 0..6 { + let mjd = 59945.0 + i as f64; + let mut record = EopRecord::new(mjd, 0.1 + 0.001 * i as f64, 0.2, 0.01, 0.001).unwrap(); + let dx = 1.0 + 0.5 * i as f64; + let dy = -0.2 + 0.05 * i as f64; + record = record.with_cip_offsets(dx, dy).unwrap(); + records.push(record); + } + + let interpolator = + EopInterpolator::new(records).with_method(InterpolationMethod::Lagrange5); + + let target_mjd = 59947.5; + let params = interpolator.get(target_mjd).unwrap(); + + let expected_dx = 1.0 + 0.5 * (target_mjd - 59945.0); + let expected_dy = -0.2 + 0.05 * (target_mjd - 59945.0); + + assert!(params.dx.is_some()); + assert!(params.dy.is_some()); + assert!((params.dx.unwrap() - expected_dx).abs() < 1e-10); + assert!((params.dy.unwrap() - expected_dy).abs() < 1e-10); + assert!(params.flags.has_cip_offsets); + } + + #[test] + fn test_out_of_range() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + + let result = interpolator.get(59944.0); + assert!(result.is_err()); + + let result = interpolator.get(59950.0); + assert!(result.is_err()); + } + + #[test] + fn test_max_gap_enforcement() { + let mut records = create_test_records(); + + records[3].mjd = 59955.0; + records[4].mjd = 59956.0; + + let interpolator = EopInterpolator::new(records).with_max_gap(3.0); + + let result = interpolator.get(59950.0); + assert!(result.is_err()); + } + + #[test] + fn test_time_span() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + + let (start, end) = interpolator.time_span().unwrap(); + assert_eq!(start, 59945.0); + assert_eq!(end, 59949.0); + } + + #[test] + fn test_empty_records() { + let interpolator = EopInterpolator::new(vec![]); + let result = interpolator.get(59945.0); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("No EOP records available")); + } + + #[test] + fn test_empty_records_time_span() { + let interpolator = EopInterpolator::new(vec![]); + assert_eq!(interpolator.time_span(), None); + } + + #[test] + fn test_lagrange_insufficient_points() { + let records = vec![ + EopRecord::new(59945.0, 0.1, 0.2, 0.01, 0.001).unwrap(), + EopRecord::new(59946.0, 0.101, 0.202, 0.0101, 0.0011).unwrap(), + ]; + + let interpolator = + EopInterpolator::new(records).with_method(InterpolationMethod::Lagrange5); + + let result = interpolator.get(59945.5); + assert!(result.is_err()); + } + + #[test] + fn test_record_count() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + assert_eq!(interpolator.record_count(), 5); + + let empty = EopInterpolator::new(vec![]); + assert_eq!(empty.record_count(), 0); + } + + #[test] + fn test_find_center_index() { + let records = create_test_records(); + let interpolator = EopInterpolator::new(records); + + let center = interpolator.find_center_index(59947.0).unwrap(); + assert_eq!(center, 2); + + let edge = interpolator.find_center_index(59945.1).unwrap(); + assert_eq!(edge, 0); + } + + #[test] + fn test_lagrange_edge_cases() { + let mut records = Vec::new(); + for i in 0..10 { + let mjd = 59945.0 + i as f64; + records.push(EopRecord::new(mjd, 0.1 + 0.001 * i as f64, 0.2, 0.01, 0.001).unwrap()); + } + + let interpolator = + EopInterpolator::new(records).with_method(InterpolationMethod::Lagrange5); + + let near_start = interpolator.get(59946.0).unwrap(); + assert!(near_start.x_p > 0.1); + + let near_end = interpolator.get(59953.0).unwrap(); + assert!(near_end.x_p > 0.1); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/eop/mod.rs b/01_yachay/cosmos/cosmos-coords/src/eop/mod.rs new file mode 100644 index 0000000..27e2e9f --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/eop/mod.rs @@ -0,0 +1,129 @@ +pub mod bundled; +pub mod interpolate; +pub mod parse; +pub mod record; + +pub use record::{EopParameters, EopRecord}; + +use interpolate::{EopInterpolator, InterpolationMethod}; + +use crate::{CoordError, CoordResult}; +use std::path::Path; + +pub struct EopProvider { + interpolator: EopInterpolator, +} + +impl EopProvider { + pub fn bundled() -> CoordResult { + let records = bundled::load_bundled_combined()?; + Self::from_records(records) + } + + pub fn bundled_c04() -> CoordResult { + let records = bundled::load_bundled_c04()?; + Self::from_records(records) + } + + pub fn from_records(records: Vec) -> CoordResult { + if records.is_empty() { + return Err(CoordError::data_unavailable( + "Cannot create EopProvider with empty records", + )); + } + Ok(Self { + interpolator: EopInterpolator::new(records), + }) + } + + pub fn with_interpolation(mut self, method: InterpolationMethod) -> Self { + self.interpolator = self.interpolator.with_method(method); + self + } + + pub fn get(&self, mjd: f64) -> CoordResult { + self.interpolator.get(mjd) + } + + pub fn time_span(&self) -> Option<(f64, f64)> { + self.interpolator.time_span() + } + + pub fn record_count(&self) -> usize { + self.interpolator.record_count() + } + + pub fn from_finals_str(content: &str) -> CoordResult { + let records = parse::parse_finals(content)?; + Self::from_records(records) + } + + pub fn from_finals_file(path: impl AsRef) -> CoordResult { + let content = std::fs::read_to_string(path.as_ref()).map_err(|e| { + CoordError::external_library("reading finals2000A file", &e.to_string()) + })?; + Self::from_finals_str(&content) + } + + pub fn bundled_with_update(path: impl AsRef) -> CoordResult { + let mut provider = Self::bundled()?; + let update_content = std::fs::read_to_string(path.as_ref()).map_err(|e| { + CoordError::external_library("reading finals2000A update file", &e.to_string()) + })?; + let update_records = parse::parse_finals(&update_content)?; + provider.interpolator.extend(update_records); + Ok(provider) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_bundled_provider() { + let provider = EopProvider::bundled().unwrap(); + assert!(provider.record_count() > 0); + assert!(provider.time_span().is_some()); + } + + #[test] + fn test_bundled_lookup() { + let provider = EopProvider::bundled().unwrap(); + let params = provider.get(59945.0).unwrap(); + assert_eq!(params.mjd, 59945.0); + assert!(params.x_p.abs() < 1.0); + assert!(params.y_p.abs() < 1.0); + assert!(params.ut1_utc.abs() < 1.0); + } + + #[test] + fn test_from_records() { + let records = vec![ + EopRecord::new(60000.0, 0.1, 0.2, 0.01, 0.001).unwrap(), + EopRecord::new(60001.0, 0.101, 0.202, 0.011, 0.001).unwrap(), + ]; + let provider = EopProvider::from_records(records).unwrap(); + let params = provider.get(60000.5).unwrap(); + assert!((params.x_p - 0.1005).abs() < 1e-7); + } + + #[test] + fn test_empty_records_rejected() { + let result = EopProvider::from_records(vec![]); + assert!(result.is_err()); + } + + #[test] + fn test_out_of_range() { + let provider = EopProvider::bundled().unwrap(); + assert!(provider.get(70000.0).is_err()); + } + + #[test] + fn test_immutable_get() { + let provider = EopProvider::bundled().unwrap(); + let _p1 = provider.get(59945.0).unwrap(); + let _p2 = provider.get(59945.0).unwrap(); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/eop/parse.rs b/01_yachay/cosmos/cosmos-coords/src/eop/parse.rs new file mode 100644 index 0000000..8e5fdf2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/eop/parse.rs @@ -0,0 +1,203 @@ +use super::record::{EopFlags, EopQuality, EopRecord, EopSource}; +use crate::CoordResult; + +pub fn parse_finals(content: &str) -> CoordResult> { + let mut records = Vec::new(); + + for line in content.lines() { + if let Some(record) = parse_finals_line(line) { + records.push(record); + } + } + + if records.is_empty() { + return Err(crate::CoordError::parsing_error( + "No valid records found in finals2000A data", + )); + } + + records.sort_by(|a, b| a.mjd.partial_cmp(&b.mjd).unwrap()); + Ok(records) +} + +pub fn parse_finals_line(line: &str) -> Option { + if line.len() < 79 { + return None; + } + + let mjd = parse_field(line, 7, 15)?; + let xp = parse_field(line, 18, 27)?; + let yp = parse_field(line, 37, 46)?; + let ut1_utc = parse_field(line, 58, 68)?; + let lod = parse_field(line, 79, 86).unwrap_or(0.0) * 0.001; + let dx = parse_field(line, 97, 106).unwrap_or(0.0); + let dy = parse_field(line, 116, 125).unwrap_or(0.0); + + let mut record = EopRecord::new(mjd, xp, yp, ut1_utc, lod).ok()?; + + let has_cip = dx != 0.0 || dy != 0.0; + if has_cip { + record = record.with_cip_offsets(dx, dy).ok()?; + } + + let flags = EopFlags { + source: EopSource::IersFinals, + quality: EopQuality::HighPrecision, + has_polar_motion: true, + has_ut1_utc: true, + has_cip_offsets: has_cip, + has_pole_rates: false, + }; + record = record.with_flags(flags); + + Some(record) +} + +fn parse_field(line: &str, start: usize, end: usize) -> Option { + let s = line.get(start..end)?.trim(); + if s.is_empty() { + return None; + } + s.parse::().ok() +} + +#[cfg(test)] +mod tests { + use super::*; + + fn sample_finals_line() -> String { + let mut line = vec![b' '; 188]; + + let mjd = b"60000.00"; + line[7..15].copy_from_slice(mjd); + + let xp = b" 0.10000"; + line[18..27].copy_from_slice(xp); + + let yp = b" 0.25000"; + line[37..46].copy_from_slice(yp); + + let ut1 = b" -0.050000"; + line[58..68].copy_from_slice(ut1); + + // LOD in milliseconds + let lod = b" 1.500"; + line[79..86].copy_from_slice(lod); + + let dx = b" 0.2000"; + line[97..106].copy_from_slice(dx); + + let dy = b" -0.1000"; + line[116..125].copy_from_slice(dy); + + String::from_utf8(line).unwrap() + } + + #[test] + fn test_parse_single_line() { + let line = sample_finals_line(); + let record = parse_finals_line(&line).unwrap(); + let params = record.to_parameters(); + + assert_eq!(params.mjd, 60000.0); + assert!((params.x_p - 0.1).abs() < 1e-6); + assert!((params.y_p - 0.25).abs() < 1e-6); + assert!((params.ut1_utc - (-0.05)).abs() < 1e-6); + assert!((params.lod - 0.0015).abs() < 1e-7); + assert_eq!(params.dx, Some(0.2)); + assert_eq!(params.dy, Some(-0.1)); + assert_eq!(params.flags.source, EopSource::IersFinals); + assert!(params.flags.has_cip_offsets); + } + + #[test] + fn test_parse_line_too_short() { + assert!(parse_finals_line("short line").is_none()); + } + + #[test] + fn test_parse_line_missing_required() { + let line = " ".repeat(188); + assert!(parse_finals_line(&line).is_none()); + } + + fn sample_finals_line_at(mjd: &[u8]) -> String { + let mut line = vec![b' '; 188]; + line[7..7 + mjd.len()].copy_from_slice(mjd); + let xp = b" 0.10000"; + line[18..27].copy_from_slice(xp); + let yp = b" 0.25000"; + line[37..46].copy_from_slice(yp); + let ut1 = b" -0.050000"; + line[58..68].copy_from_slice(ut1); + let lod = b" 1.500"; + line[79..86].copy_from_slice(lod); + String::from_utf8(line).unwrap() + } + + #[test] + fn test_parse_finals_multi_line() { + let line1 = sample_finals_line_at(b"60000.00"); + let line2 = sample_finals_line_at(b"60001.00"); + + let content = format!("{}\n{}\n", line1, line2); + let records = parse_finals(&content).unwrap(); + + assert_eq!(records.len(), 2); + assert_eq!(records[0].mjd, 60000.0); + assert_eq!(records[1].mjd, 60001.0); + } + + #[test] + fn test_parse_finals_skips_bad_lines() { + let good = sample_finals_line(); + let content = format!("bad line\n{}\nalso bad\n", good); + let records = parse_finals(&content).unwrap(); + assert_eq!(records.len(), 1); + } + + #[test] + fn test_parse_finals_empty_errors() { + let result = parse_finals("bad\nlines\nonly\n"); + assert!(result.is_err()); + } + + #[test] + fn test_lod_zero_when_missing() { + let mut line = vec![b' '; 188]; + + let mjd = b"60000.00"; + line[7..15].copy_from_slice(mjd); + let xp = b" 0.10000"; + line[18..27].copy_from_slice(xp); + let yp = b" 0.25000"; + line[37..46].copy_from_slice(yp); + let ut1 = b" -0.050000"; + line[58..68].copy_from_slice(ut1); + // LOD columns left blank + + let line = String::from_utf8(line).unwrap(); + let record = parse_finals_line(&line).unwrap(); + let params = record.to_parameters(); + assert_eq!(params.lod, 0.0); + } + + #[test] + fn test_no_cip_when_zero() { + let mut line = vec![b' '; 188]; + + let mjd = b"60000.00"; + line[7..15].copy_from_slice(mjd); + let xp = b" 0.10000"; + line[18..27].copy_from_slice(xp); + let yp = b" 0.25000"; + line[37..46].copy_from_slice(yp); + let ut1 = b" -0.050000"; + line[58..68].copy_from_slice(ut1); + // dX/dY columns left blank + + let line = String::from_utf8(line).unwrap(); + let record = parse_finals_line(&line).unwrap(); + assert!(!record.flags.has_cip_offsets); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/eop/record.rs b/01_yachay/cosmos/cosmos-coords/src/eop/record.rs new file mode 100644 index 0000000..67df811 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/eop/record.rs @@ -0,0 +1,411 @@ +use crate::{CoordError, CoordResult}; +use cosmos_core::constants::{ + ARCSEC_TO_RAD, DAYS_PER_JULIAN_CENTURY, J2000_JD, MILLIARCSEC_TO_RAD, MJD_ZERO_POINT, +}; +use cosmos_time::{transforms::earth_rotation_angle, JulianDate}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct EopRecord { + pub mjd: f64, + + pub x_p_encoded: i32, + + pub y_p_encoded: i32, + + pub ut1_utc_encoded: i32, + + pub lod_encoded: i32, + + pub dx_encoded: Option, + + pub dy_encoded: Option, + + pub xrt_encoded: Option, + + pub yrt_encoded: Option, + + pub flags: EopFlags, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct EopFlags { + pub source: EopSource, + + pub quality: EopQuality, + + pub has_polar_motion: bool, + + pub has_ut1_utc: bool, + + pub has_cip_offsets: bool, + + pub has_pole_rates: bool, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub enum EopSource { + IersC04, + + IersFinals, + + IersPrediction, + + UserData, + + Interpolated, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub enum EopQuality { + HighPrecision, + + Standard, + + LowPrecision, + + Predicted, +} + +impl EopRecord { + const ARCSEC_TO_UNITS: f64 = 10_000_000.0; + const SEC_TO_UNITS: f64 = 10_000_000.0; + const MILLIARCSEC_TO_UNITS: f64 = 10_000.0; + + pub fn new( + mjd: f64, + x_p_arcsec: f64, + y_p_arcsec: f64, + ut1_utc_sec: f64, + lod_sec: f64, + ) -> CoordResult { + if x_p_arcsec.abs() > 6.0 { + return Err(CoordError::invalid_coordinate(format!( + "X polar motion out of range: {} arcsec", + x_p_arcsec + ))); + } + + if y_p_arcsec.abs() > 6.0 { + return Err(CoordError::invalid_coordinate(format!( + "Y polar motion out of range: {} arcsec", + y_p_arcsec + ))); + } + + if ut1_utc_sec.abs() > 1.0 { + return Err(CoordError::invalid_coordinate(format!( + "UT1-UTC out of range: {} sec", + ut1_utc_sec + ))); + } + + if lod_sec.abs() > 0.01 { + return Err(CoordError::invalid_coordinate(format!( + "LOD out of range: {} sec", + lod_sec + ))); + } + + Ok(Self { + mjd, + x_p_encoded: libm::round(x_p_arcsec * Self::ARCSEC_TO_UNITS) as i32, + y_p_encoded: libm::round(y_p_arcsec * Self::ARCSEC_TO_UNITS) as i32, + ut1_utc_encoded: libm::round(ut1_utc_sec * Self::SEC_TO_UNITS) as i32, + lod_encoded: libm::round(lod_sec * Self::SEC_TO_UNITS) as i32, + dx_encoded: None, + dy_encoded: None, + xrt_encoded: None, + yrt_encoded: None, + flags: EopFlags::default(), + }) + } + + pub fn with_cip_offsets( + mut self, + dx_milliarcsec: f64, + dy_milliarcsec: f64, + ) -> CoordResult { + if dx_milliarcsec.abs() > 1000.0 { + return Err(CoordError::invalid_coordinate(format!( + "CIP dX out of range: {} mas", + dx_milliarcsec + ))); + } + + if dy_milliarcsec.abs() > 1000.0 { + return Err(CoordError::invalid_coordinate(format!( + "CIP dY out of range: {} mas", + dy_milliarcsec + ))); + } + + self.dx_encoded = Some(libm::round(dx_milliarcsec * Self::MILLIARCSEC_TO_UNITS) as i16); + self.dy_encoded = Some(libm::round(dy_milliarcsec * Self::MILLIARCSEC_TO_UNITS) as i16); + self.flags.has_cip_offsets = true; + + Ok(self) + } + + pub fn with_pole_rates( + mut self, + xrt_arcsec_per_day: f64, + yrt_arcsec_per_day: f64, + ) -> CoordResult { + if xrt_arcsec_per_day.abs() > 1.0 { + return Err(CoordError::invalid_coordinate(format!( + "Pole rate xrt out of range: {} arcsec/day", + xrt_arcsec_per_day + ))); + } + if yrt_arcsec_per_day.abs() > 1.0 { + return Err(CoordError::invalid_coordinate(format!( + "Pole rate yrt out of range: {} arcsec/day", + yrt_arcsec_per_day + ))); + } + self.xrt_encoded = Some(libm::round(xrt_arcsec_per_day * Self::ARCSEC_TO_UNITS) as i32); + self.yrt_encoded = Some(libm::round(yrt_arcsec_per_day * Self::ARCSEC_TO_UNITS) as i32); + self.flags.has_pole_rates = true; + Ok(self) + } + + pub fn with_flags(mut self, flags: EopFlags) -> Self { + self.flags = flags; + self + } + + pub fn to_parameters(&self) -> EopParameters { + EopParameters { + mjd: self.mjd, + x_p: self.x_p_encoded as f64 / Self::ARCSEC_TO_UNITS, + y_p: self.y_p_encoded as f64 / Self::ARCSEC_TO_UNITS, + ut1_utc: self.ut1_utc_encoded as f64 / Self::SEC_TO_UNITS, + lod: self.lod_encoded as f64 / Self::SEC_TO_UNITS, + dx: self + .dx_encoded + .map(|v| v as f64 / Self::MILLIARCSEC_TO_UNITS), + dy: self + .dy_encoded + .map(|v| v as f64 / Self::MILLIARCSEC_TO_UNITS), + xrt: self.xrt_encoded.map(|v| v as f64 / Self::ARCSEC_TO_UNITS), + yrt: self.yrt_encoded.map(|v| v as f64 / Self::ARCSEC_TO_UNITS), + s_prime: 0.0, + flags: self.flags, + } + } +} + +#[derive(Debug, Clone, PartialEq)] +pub struct EopParameters { + pub mjd: f64, + + pub x_p: f64, + + pub y_p: f64, + + pub ut1_utc: f64, + + pub lod: f64, + + pub dx: Option, + + pub dy: Option, + + pub xrt: Option, + + pub yrt: Option, + + pub s_prime: f64, + + pub flags: EopFlags, +} + +impl EopParameters { + /// Computes the TIO locator s' using the IAU 2000 linear approximation. + /// + /// s' ≈ -47 µas/century × t, where t is Julian centuries from J2000.0. + /// Result is in radians (matching IAU SOFA convention). + /// + /// Note: For maximum precision, use `compute_s_prime_jd()` with 2-part JD. + pub fn compute_s_prime(&mut self) { + self.compute_s_prime_jd(self.mjd + MJD_ZERO_POINT, 0.0); + } + + /// Computes s' from 2-part TT Julian Date for maximum precision. + /// + /// The 2-part JD allows for precision-preserving arithmetic when + /// computing time intervals from J2000.0. + pub fn compute_s_prime_jd(&mut self, tt1: f64, tt2: f64) { + let t = ((tt1 - J2000_JD) + tt2) / DAYS_PER_JULIAN_CENTURY; + self.s_prime = -47e-6 * t * ARCSEC_TO_RAD; + } + + pub fn compute_era(&self) -> CoordResult { + let ut1_jd = self.mjd + + MJD_ZERO_POINT + + self.ut1_utc / cosmos_core::constants::SECONDS_PER_DAY_F64; + + let ut1_jd1 = libm::floor(ut1_jd); + let ut1_jd2 = ut1_jd - ut1_jd1; + + let jd = JulianDate::new(ut1_jd1, ut1_jd2); + earth_rotation_angle(&jd) + .map_err(|e| CoordError::external_library("Earth Rotation Angle", &e.to_string())) + } + + /// Returns CIP X coordinate corrected by dX offset (if available), in radians. + pub fn corrected_cip_x(&self, x_iau: f64) -> f64 { + x_iau + self.dx.unwrap_or(0.0) * MILLIARCSEC_TO_RAD + } + + /// Returns CIP Y coordinate corrected by dY offset (if available), in radians. + pub fn corrected_cip_y(&self, y_iau: f64) -> f64 { + y_iau + self.dy.unwrap_or(0.0) * MILLIARCSEC_TO_RAD + } +} + +impl Default for EopFlags { + fn default() -> Self { + Self { + source: EopSource::UserData, + quality: EopQuality::Standard, + has_polar_motion: true, + has_ut1_utc: true, + has_cip_offsets: false, + has_pole_rates: false, + } + } +} + +impl std::fmt::Display for EopParameters { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "EOP(MJD={:.1}, xp={:.6}\", yp={:.6}\", UT1-UTC={:.7}s)", + self.mjd, self.x_p, self.y_p, self.ut1_utc + ) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_eop_record_encoding() { + let record = EopRecord::new( + 59945.0, // MJD 2023-01-01 + 0.123456, // x_p arcsec + 0.234567, // y_p arcsec + 0.0123456, // UT1-UTC sec + 0.0012345, // LOD sec + ) + .unwrap(); + + let params = record.to_parameters(); + + // Check precision preservation (should be within 0.1 µas for angles) + assert!((params.x_p - 0.123456).abs() == 0.0); + assert!((params.y_p - 0.234567).abs() == 0.0); + assert!((params.ut1_utc - 0.0123456).abs() == 0.0); + assert!((params.lod - 0.0012345).abs() == 0.0); + assert_eq!(params.mjd, 59945.0); + } + + #[test] + fn test_cip_offsets() { + let record = EopRecord::new(59945.0, 0.1, 0.2, 0.01, 0.001) + .unwrap() + .with_cip_offsets(0.5, -0.3) // mas + .unwrap(); + + let params = record.to_parameters(); + + assert_eq!(params.dx, Some(0.5)); + assert_eq!(params.dy, Some(-0.3)); + assert!(params.flags.has_cip_offsets); + } + + #[test] + fn test_parameter_display() { + let mut params = EopParameters { + mjd: 59945.0, + x_p: 0.123456, + y_p: 0.234567, + ut1_utc: 0.0123456, + lod: 0.001, + dx: None, + dy: None, + xrt: None, + yrt: None, + s_prime: 0.0, + flags: EopFlags::default(), + }; + + params.compute_s_prime(); + + let display = format!("{}", params); + assert!(display.contains("MJD=59945.0")); + assert!(display.contains("xp=0.123456")); + assert!(display.contains("yp=0.234567")); + } + + #[test] + fn test_validation_x_polar_motion_out_of_range() { + let result = EopRecord::new(59945.0, 6.1, 0.2, 0.01, 0.001); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("X polar motion out of range")); + } + + #[test] + fn test_validation_y_polar_motion_out_of_range() { + let result = EopRecord::new(59945.0, 0.1, -6.1, 0.01, 0.001); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("Y polar motion out of range")); + } + + #[test] + fn test_validation_ut1_utc_out_of_range() { + let result = EopRecord::new(59945.0, 0.1, 0.2, 1.1, 0.001); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("UT1-UTC out of range")); + } + + #[test] + fn test_validation_lod_out_of_range() { + let result = EopRecord::new(59945.0, 0.1, 0.2, 0.01, 0.011); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("LOD out of range")); + } + + #[test] + fn test_validation_cip_dx_out_of_range() { + let result = EopRecord::new(59945.0, 0.1, 0.2, 0.01, 0.001) + .unwrap() + .with_cip_offsets(1001.0, 0.0); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("CIP dX out of range")); + } + + #[test] + fn test_validation_cip_dy_out_of_range() { + let result = EopRecord::new(59945.0, 0.1, 0.2, 0.01, 0.001) + .unwrap() + .with_cip_offsets(0.0, -1001.0); + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!(err.to_string().contains("CIP dY out of range")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/errors.rs b/01_yachay/cosmos/cosmos-coords/src/errors.rs new file mode 100644 index 0000000..1de5fc5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/errors.rs @@ -0,0 +1,112 @@ +use cosmos_core::AstroError; +use thiserror::Error; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +pub type CoordResult = Result; + +#[derive(Debug, Error)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub enum CoordError { + #[error("Invalid coordinate: {message}")] + InvalidCoordinate { message: String }, + + #[error("Epoch conversion failed: {source}")] + EpochError { + #[from] + source: cosmos_time::TimeError, + }, + + #[error("Core astronomical calculation failed: {message}")] + CoreError { message: String }, + + #[error("Invalid distance: {message}")] + InvalidDistance { message: String }, + + #[error("Observer location required for topocentric coordinates")] + MissingObserver, + + #[error("Coordinate operation not supported: {message}")] + UnsupportedOperation { message: String }, + + #[error("Data parsing failed: {message}")] + ParsingError { message: String }, + + #[error("Data not available: {message}")] + DataUnavailable { message: String }, + + /// Errors from external libraries (filesystem, network, etc.) + /// + /// This is deliberately unstructured (just a string) since external error types vary widely. + /// If richer context is needed for specific external errors, add dedicated variants. + #[error("External error: {message}")] + ExternalError { message: String }, +} + +impl CoordError { + pub fn invalid_coordinate(message: impl Into) -> Self { + Self::InvalidCoordinate { + message: message.into(), + } + } + + pub fn invalid_distance(message: impl Into) -> Self { + Self::InvalidDistance { + message: message.into(), + } + } + + pub fn unsupported_operation(message: impl Into) -> Self { + Self::UnsupportedOperation { + message: message.into(), + } + } + + pub fn parsing_error(message: impl Into) -> Self { + Self::ParsingError { + message: message.into(), + } + } + + pub fn data_unavailable(message: impl Into) -> Self { + Self::DataUnavailable { + message: message.into(), + } + } + + pub fn external_library(operation: &str, error: &str) -> Self { + Self::ExternalError { + message: format!("{}: {}", operation, error), + } + } + + pub fn from_core(error: AstroError) -> Self { + Self::CoreError { + message: error.to_string(), + } + } +} + +impl From for CoordError { + fn from(error: AstroError) -> Self { + Self::from_core(error) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_unsupported_operation() { + let err = CoordError::unsupported_operation("test op"); + assert!(err.to_string().contains("test op")); + } + + #[test] + fn test_parsing_error() { + let err = CoordError::parsing_error("parse fail"); + assert!(err.to_string().contains("parse fail")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/cirs.rs b/01_yachay/cosmos/cosmos-coords/src/frames/cirs.rs new file mode 100644 index 0000000..4cddee7 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/cirs.rs @@ -0,0 +1,517 @@ +use crate::{ + aberration::{ + apply_aberration, apply_light_deflection, compute_earth_state, remove_aberration, + remove_light_deflection, + }, + frames::{ICRSPosition, TIRSPosition}, + transforms::CoordinateFrame, + CoordError, CoordResult, Distance, +}; +use cosmos_core::{matrix::RotationMatrix3, Angle, Vector3}; +use cosmos_time::{ + scales::conversions::ToUT1WithDeltaT, sidereal::GAST, transforms::NutationCalculator, TT, +}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct CIRSPosition { + ra: Angle, + dec: Angle, + epoch: TT, + distance: Option, +} + +impl CIRSPosition { + pub fn new(ra: Angle, dec: Angle, epoch: TT) -> CoordResult { + let ra = ra.validate_right_ascension()?; + let dec = dec.validate_declination(false)?; + + Ok(Self { + ra, + dec, + epoch, + distance: None, + }) + } + + pub fn with_distance( + ra: Angle, + dec: Angle, + epoch: TT, + distance: Distance, + ) -> CoordResult { + let mut pos = Self::new(ra, dec, epoch)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees(ra_deg: f64, dec_deg: f64, epoch: TT) -> CoordResult { + Self::new( + Angle::from_degrees(ra_deg), + Angle::from_degrees(dec_deg), + epoch, + ) + } + + pub fn ra(&self) -> Angle { + self.ra + } + + pub fn dec(&self) -> Angle { + self.dec + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn remove_distance(&mut self) { + self.distance = None; + } + + pub fn unit_vector(&self) -> Vector3 { + let (sin_dec, cos_dec) = self.dec.sin_cos(); + let (sin_ra, cos_ra) = self.ra.sin_cos(); + + Vector3::new(cos_dec * cos_ra, cos_dec * sin_ra, sin_dec) + } + + pub fn from_unit_vector(unit: Vector3, epoch: TT) -> CoordResult { + let r = libm::sqrt(unit.x.powi(2) + unit.y.powi(2) + unit.z.powi(2)); + + if r == 0.0 { + return Err(CoordError::invalid_coordinate("Zero vector")); + } + + let x = unit.x / r; + let y = unit.y / r; + let z = unit.z / r; + + let d2 = x * x + y * y; + + let ra = if d2 == 0.0 { 0.0 } else { libm::atan2(y, x) }; + let dec = if z == 0.0 { + 0.0 + } else { + libm::atan2(z, libm::sqrt(d2)) + }; + + Self::new(Angle::from_radians(ra), Angle::from_radians(dec), epoch) + } + + fn icrs_to_cirs_matrix(epoch: &TT) -> CoordResult { + Self::icrs_to_cirs_matrix_with_eop(epoch, None) + } + + fn icrs_to_cirs_matrix_with_eop( + epoch: &TT, + eop: Option<&crate::eop::EopParameters>, + ) -> CoordResult { + let jd = epoch.to_julian_date(); + let t = cosmos_core::utils::jd_to_centuries(jd.jd1(), jd.jd2()); + + let nutation = epoch + .nutation_iau2006a() + .map_err(|e| CoordError::CoreError { + message: format!("Nutation calculation failed: {}", e), + })?; + + let precession_calc = cosmos_core::precession::PrecessionIAU2006::new(); + let npb_matrix = precession_calc.npb_matrix_iau2006a( + t, + nutation.nutation_longitude(), + nutation.nutation_obliquity(), + ); + + let cio_solution = cosmos_core::CioSolution::calculate(&npb_matrix, t).map_err(|e| { + CoordError::CoreError { + message: format!("CIO calculation failed: {}", e), + } + })?; + + let (x, y) = match eop { + Some(eop) => ( + eop.corrected_cip_x(cio_solution.cip.x), + eop.corrected_cip_y(cio_solution.cip.y), + ), + None => (cio_solution.cip.x, cio_solution.cip.y), + }; + + Ok(cosmos_core::gcrs_to_cirs_matrix(x, y, cio_solution.s)) + } + + /// Transforms this CIRS position to Terrestrial Intermediate Reference System (TIRS). + /// + /// The position vector is scaled by distance (in AU) before transformation. If no distance + /// is set, a unit vector is used. The resulting TIRS vector will have the same units (AU or + /// dimensionless) as the input. + pub fn to_tirs(&self, eop: &crate::eop::EopParameters) -> CoordResult { + let cirs_vec = if let Some(distance) = self.distance { + self.unit_vector() * distance.au() + } else { + self.unit_vector() + }; + + TIRSPosition::from_cirs(cirs_vec, &self.epoch, eop) + } + + pub fn to_hour_angle( + &self, + observer: &cosmos_core::Location, + delta_t: f64, + ) -> CoordResult { + let ut1 = self.epoch.to_ut1_with_delta_t(delta_t)?; + let gast = GAST::from_ut1_and_tt(&ut1, &self.epoch)?; + + let last = gast.to_last(observer); + + let ha_rad = last.radians() - self.ra.radians(); + let ha = cosmos_core::angle::wrap_pm_pi(ha_rad); + + crate::frames::HourAnglePosition::new( + Angle::from_radians(ha), + self.dec, + *observer, + self.epoch, + ) + } +} + +impl CoordinateFrame for CIRSPosition { + fn to_icrs(&self, _epoch: &TT) -> CoordResult { + let icrs_to_cirs = Self::icrs_to_cirs_matrix(&self.epoch)?; + let cirs_to_icrs = icrs_to_cirs.transpose(); + + // Step 1: Remove precession-nutation + let cirs_vec = self.unit_vector(); + let apparent_vec = cirs_to_icrs * cirs_vec; + + let earth_state = compute_earth_state(&self.epoch)?; + let sun_earth_dist = earth_state.heliocentric_position.magnitude(); + + // Step 2: Remove stellar aberration + let deflected_vec = remove_aberration( + apparent_vec, + earth_state.barycentric_velocity, + sun_earth_dist, + ); + + // Sun to observer unit vector (heliocentric position normalized) + let sun_to_earth = Vector3::new( + earth_state.heliocentric_position.x / sun_earth_dist, + earth_state.heliocentric_position.y / sun_earth_dist, + earth_state.heliocentric_position.z / sun_earth_dist, + ); + + // Step 3: Remove gravitational light deflection + let icrs_vec = remove_light_deflection(deflected_vec, sun_to_earth, sun_earth_dist); + + let mut icrs = ICRSPosition::from_unit_vector(icrs_vec)?; + + if let Some(distance) = self.distance { + icrs.set_distance(distance); + } + + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let icrs_to_cirs = Self::icrs_to_cirs_matrix(epoch)?; + + let icrs_vec = icrs.unit_vector(); + + let earth_state = compute_earth_state(epoch)?; + let sun_earth_dist = earth_state.heliocentric_position.magnitude(); + + // Sun to observer unit vector (heliocentric position normalized) + // heliocentric_position is Earth's position relative to Sun, so normalizing gives Sun→Earth direction + let sun_to_earth = Vector3::new( + earth_state.heliocentric_position.x / sun_earth_dist, + earth_state.heliocentric_position.y / sun_earth_dist, + earth_state.heliocentric_position.z / sun_earth_dist, + ); + + // Step 1: Apply gravitational light deflection by the Sun + let deflected_vec = apply_light_deflection(icrs_vec, sun_to_earth, sun_earth_dist); + + // Step 2: Apply stellar aberration + let apparent_vec = apply_aberration( + deflected_vec, + earth_state.barycentric_velocity, + sun_earth_dist, + ); + + // Step 3: Apply precession-nutation (C2I matrix) + let cirs_vec = icrs_to_cirs * apparent_vec; + + let mut cirs = Self::from_unit_vector(cirs_vec, *epoch)?; + + if let Some(distance) = icrs.distance() { + cirs.distance = Some(distance); + } + + Ok(cirs) + } +} + +impl std::fmt::Display for CIRSPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "CIRS(RA={:.6}°, Dec={:.6}°, epoch=J{:.1}", + self.ra.degrees(), + self.dec.degrees(), + self.epoch.julian_year() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_cirs_creation() { + let epoch = TT::j2000(); + let pos = CIRSPosition::from_degrees(180.0, 45.0, epoch).unwrap(); + + assert_eq!(pos.ra().degrees(), 180.0); + assert_eq!(pos.dec().degrees(), 45.0); + assert_eq!(pos.epoch(), epoch); + assert_eq!(pos.distance(), None); + } + + #[test] + fn test_cirs_with_distance() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(10.0).unwrap(); + let pos = CIRSPosition::with_distance( + Angle::from_degrees(90.0), + Angle::from_degrees(30.0), + epoch, + distance, + ) + .unwrap(); + + assert_eq!(pos.distance().unwrap(), distance); + } + + #[test] + fn test_unit_vector_conversion() { + let epoch = TT::j2000(); + + // Test vernal equinox direction + let vernal_equinox = CIRSPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + let unit_vec = vernal_equinox.unit_vector(); + + assert_eq!(unit_vec.x, 1.0); + assert_eq!(unit_vec.y, 0.0); + assert_eq!(unit_vec.z, 0.0); + + // Test round-trip + let recovered = CIRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + assert_eq!(recovered.ra().degrees(), vernal_equinox.ra().degrees()); + assert_eq!(recovered.dec().degrees(), vernal_equinox.dec().degrees()); + } + + #[test] + fn test_icrs_to_cirs_transformation() { + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(180.0, 45.0).unwrap(); + + // Transform to CIRS + let cirs = CIRSPosition::from_icrs(&icrs, &epoch).unwrap(); + + // At J2000, CIRS should be very close to ICRS (small precession/nutation effects) + // But not exactly equal due to frame bias + assert!((cirs.ra().degrees() - icrs.ra().degrees()).abs() < 1.0); + assert!((cirs.dec().degrees() - icrs.dec().degrees()).abs() < 1.0); + } + + #[test] + fn test_cirs_to_icrs_roundtrip() { + let epoch = TT::j2000(); + let original_icrs = ICRSPosition::from_degrees(120.0, 30.0).unwrap(); + + // ICRS → CIRS → ICRS + let cirs = CIRSPosition::from_icrs(&original_icrs, &epoch).unwrap(); + let recovered_icrs = cirs.to_icrs(&epoch).unwrap(); + + // Iterative inverse (aberration + light deflection) gives ~50 nano-arcsec precision + let diff_arcsec = original_icrs + .angular_separation(&recovered_icrs) + .arcseconds(); + assert!( + diff_arcsec < 1e-7, + "CIRS roundtrip should be < 100 nano-arcsec, got {:.2e} arcsec", + diff_arcsec + ); + } + + #[test] + fn test_coordinate_validation() { + let epoch = TT::j2000(); + + // Valid coordinates + assert!(CIRSPosition::from_degrees(0.0, 0.0, epoch).is_ok()); + assert!(CIRSPosition::from_degrees(359.99, 89.99, epoch).is_ok()); + + // Invalid declination + assert!(CIRSPosition::from_degrees(0.0, 91.0, epoch).is_err()); + assert!(CIRSPosition::from_degrees(0.0, -91.0, epoch).is_err()); + } + + #[test] + fn test_distance_preservation() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(100.0).unwrap(); + let icrs = ICRSPosition::from_degrees_with_distance(90.0, 45.0, distance).unwrap(); + + // Distance should be preserved through transformation + let cirs = CIRSPosition::from_icrs(&icrs, &epoch).unwrap(); + assert_eq!(cirs.distance().unwrap(), distance); + + let recovered_icrs = cirs.to_icrs(&epoch).unwrap(); + assert_eq!(recovered_icrs.distance().unwrap(), distance); + } + + #[test] + fn test_display_formatting() { + let epoch = TT::j2000(); + let pos = CIRSPosition::from_degrees(123.456789, -67.123456, epoch).unwrap(); + let display = format!("{}", pos); + + assert!(display.contains("CIRS")); + assert!(display.contains("RA=123.456789°")); + assert!(display.contains("Dec=-67.123456°")); + assert!(display.contains("J2000.0")); + } + + #[test] + fn test_aberration_applied_in_transformation() { + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(90.0, 23.0).unwrap(); + + let icrs_vec = icrs.unit_vector(); + let cirs = CIRSPosition::from_icrs(&icrs, &epoch).unwrap(); + let cirs_vec = cirs.unit_vector(); + + let npb_only = CIRSPosition::icrs_to_cirs_matrix(&epoch).unwrap() * icrs_vec; + + let diff_with_aberr = (cirs_vec.x - npb_only.x).powi(2) + + (cirs_vec.y - npb_only.y).powi(2) + + (cirs_vec.z - npb_only.z).powi(2); + let aberr_arcsec = libm::sqrt(diff_with_aberr) * 206264.806247; + + assert!( + aberr_arcsec > 15.0 && aberr_arcsec < 25.0, + "Aberration should be ~20 arcsec, got {:.2} arcsec", + aberr_arcsec + ); + } + + #[test] + fn test_aberration_varies_with_epoch() { + let icrs = ICRSPosition::from_degrees(180.0, 45.0).unwrap(); + + let epoch_jan = TT::from_julian_date(cosmos_time::JulianDate::new(2451545.0, 0.0)); + let epoch_jul = TT::from_julian_date(cosmos_time::JulianDate::new(2451545.0, 182.5)); + + let cirs_jan = CIRSPosition::from_icrs(&icrs, &epoch_jan).unwrap(); + let cirs_jul = CIRSPosition::from_icrs(&icrs, &epoch_jul).unwrap(); + + let ra_diff_arcsec = (cirs_jan.ra().degrees() - cirs_jul.ra().degrees()).abs() * 3600.0; + let dec_diff_arcsec = (cirs_jan.dec().degrees() - cirs_jul.dec().degrees()).abs() * 3600.0; + + assert!( + ra_diff_arcsec > 1.0 || dec_diff_arcsec > 1.0, + "Aberration should cause measurable difference between epochs: RA={:.2}\", Dec={:.2}\"", + ra_diff_arcsec, + dec_diff_arcsec + ); + } + + #[test] + fn test_aberration_roundtrip_precision() { + let test_positions = [ + (0.0, 0.0), + (90.0, 0.0), + (180.0, 45.0), + (270.0, -60.0), + (45.0, 89.0), + ]; + + for (ra, dec) in test_positions { + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(ra, dec).unwrap(); + let cirs = CIRSPosition::from_icrs(&icrs, &epoch).unwrap(); + let recovered = cirs.to_icrs(&epoch).unwrap(); + + // Iterative inverse (aberration + light deflection) gives ~70 nano-arcsec precision + let diff_arcsec = icrs.angular_separation(&recovered).arcseconds(); + assert!( + diff_arcsec < 1e-7, + "Roundtrip for ({}, {}) should be < 100 nano-arcsec, got {:.2e} arcsec", + ra, + dec, + diff_arcsec + ); + } + } + + #[test] + fn test_from_unit_vector_north_pole() { + let epoch = TT::j2000(); + let north_pole_vec = Vector3::new(0.0, 0.0, 1.0); + let pos = CIRSPosition::from_unit_vector(north_pole_vec, epoch).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_from_unit_vector_south_pole() { + let epoch = TT::j2000(); + let south_pole_vec = Vector3::new(0.0, 0.0, -1.0); + let pos = CIRSPosition::from_unit_vector(south_pole_vec, epoch).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), -std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_pole_roundtrip() { + let epoch = TT::j2000(); + + let north_pole = CIRSPosition::from_degrees(0.0, 90.0, epoch).unwrap(); + let unit_vec = north_pole.unit_vector(); + let recovered = CIRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), 90.0); + + let south_pole = CIRSPosition::from_degrees(0.0, -90.0, epoch).unwrap(); + let unit_vec = south_pole.unit_vector(); + let recovered = CIRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), -90.0); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic.rs b/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic.rs new file mode 100644 index 0000000..e81c153 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic.rs @@ -0,0 +1,770 @@ +use crate::{transforms::CoordinateFrame, CoordResult, Distance, ICRSPosition}; +use cosmos_core::{matrix::RotationMatrix3, Angle}; +use cosmos_time::{transforms::PrecessionCalculator, TT}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct EclipticPosition { + lambda: Angle, + beta: Angle, + epoch: TT, + distance: Option, +} + +impl EclipticPosition { + pub fn new(lambda: Angle, beta: Angle, epoch: TT) -> CoordResult { + let lambda = lambda.validate_longitude(true)?; + let beta = beta.validate_latitude()?; + + Ok(Self { + lambda, + beta, + epoch, + distance: None, + }) + } + + pub fn with_distance( + lambda: Angle, + beta: Angle, + epoch: TT, + distance: Distance, + ) -> CoordResult { + let mut pos = Self::new(lambda, beta, epoch)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees(lambda_deg: f64, beta_deg: f64, epoch: TT) -> CoordResult { + Self::new( + Angle::from_degrees(lambda_deg), + Angle::from_degrees(beta_deg), + epoch, + ) + } + + pub fn lambda(&self) -> Angle { + self.lambda + } + + pub fn beta(&self) -> Angle { + self.beta + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn mean_obliquity(&self) -> Angle { + let jd = self.epoch.to_julian_date(); + Angle::from_radians(cosmos_core::obliquity::iau_2006_mean_obliquity( + jd.jd1(), + jd.jd2(), + )) + } + + pub fn true_obliquity(&self) -> CoordResult { + use cosmos_time::transforms::nutation::NutationCalculator; + + let nutation = + self.epoch + .nutation_iau2006a() + .map_err(|e| crate::CoordError::CoreError { + message: format!("Nutation calculation failed: {}", e), + })?; + + let jd = self.epoch.to_julian_date(); + let mean_obliquity = cosmos_core::obliquity::iau_2006_mean_obliquity(jd.jd1(), jd.jd2()); + + let true_obliquity = mean_obliquity + nutation.nutation_obliquity(); + + Ok(Angle::from_radians(true_obliquity)) + } + + pub fn vernal_equinox(epoch: TT) -> Self { + Self { + lambda: Angle::ZERO, + beta: Angle::ZERO, + epoch, + distance: None, + } + } + + pub fn summer_solstice(epoch: TT) -> Self { + Self { + lambda: Angle::HALF_PI, + beta: Angle::ZERO, + epoch, + distance: None, + } + } + + pub fn autumnal_equinox(epoch: TT) -> Self { + Self { + lambda: Angle::PI, + beta: Angle::ZERO, + epoch, + distance: None, + } + } + + pub fn winter_solstice(epoch: TT) -> Self { + Self { + lambda: Angle::from_degrees(270.0), + beta: Angle::ZERO, + epoch, + distance: None, + } + } + + pub fn north_ecliptic_pole(epoch: TT) -> Self { + Self { + lambda: Angle::ZERO, + beta: Angle::HALF_PI, + epoch, + distance: None, + } + } + + pub fn south_ecliptic_pole(epoch: TT) -> Self { + Self { + lambda: Angle::ZERO, + beta: -Angle::HALF_PI, + epoch, + distance: None, + } + } + + pub fn is_near_ecliptic_plane(&self) -> bool { + self.beta.abs().degrees() < 5.0 + } + + pub fn is_near_ecliptic_pole(&self) -> bool { + self.beta.abs().degrees() > 85.0 + } + + pub fn season_index(&self) -> u8 { + let lambda_deg = self.lambda.degrees(); + if lambda_deg < 90.0 { + 0 + } else if lambda_deg < 180.0 { + 1 + } else if lambda_deg < 270.0 { + 2 + } else { + 3 + } + } + + pub fn angular_separation(&self, other: &Self) -> Angle { + let (sin_b1, cos_b1) = self.beta.sin_cos(); + let (sin_b2, cos_b2) = other.beta.sin_cos(); + let delta_lambda = (self.lambda - other.lambda).radians(); + + let angle_rad = cosmos_core::math::vincenty_angular_separation( + sin_b1, + cos_b1, + sin_b2, + cos_b2, + delta_lambda, + ); + + Angle::from_radians(angle_rad) + } +} + +fn ecm06_matrix(epoch: &TT) -> CoordResult { + let precession = epoch.precession()?; + let bias_precession_matrix = precession.bias_precession_matrix; + + let jd = epoch.to_julian_date(); + let mean_obliquity = cosmos_core::obliquity::iau_2006_mean_obliquity(jd.jd1(), jd.jd2()); + + let mut ecliptic_rotation = RotationMatrix3::identity(); + ecliptic_rotation.rotate_x(mean_obliquity); + + Ok(ecliptic_rotation.multiply(&bias_precession_matrix)) +} + +impl CoordinateFrame for EclipticPosition { + fn to_icrs(&self, epoch: &TT) -> CoordResult { + let lambda = self.lambda.radians(); + let beta = self.beta.radians(); + + let (sin_beta, cos_beta) = libm::sincos(beta); + let (sin_lambda, cos_lambda) = libm::sincos(lambda); + + let ecliptic_cartesian = [cos_beta * cos_lambda, cos_beta * sin_lambda, sin_beta]; + + let icrs_to_ecliptic_matrix = ecm06_matrix(epoch)?; + let icrs_cartesian = icrs_to_ecliptic_matrix + .transpose() + .apply_to_vector(ecliptic_cartesian); + + let x = icrs_cartesian[0]; + let y = icrs_cartesian[1]; + let z = icrs_cartesian[2]; + + let rxy2 = x * x + y * y; + let ra = if rxy2 == 0.0 { 0.0 } else { libm::atan2(y, x) }; + let dec = if z == 0.0 { + 0.0 + } else { + libm::atan2(z, libm::sqrt(rxy2)) + }; + + let d2pi = cosmos_core::constants::TWOPI; + let mut ra_normalized = ra % d2pi; + if ra_normalized < 0.0 { + ra_normalized += d2pi; + } + + let dpi = cosmos_core::constants::PI; + let mut dec_normalized = dec % d2pi; + if dec_normalized.abs() >= dpi { + dec_normalized -= libm::copysign(d2pi, dec); + } + + let mut icrs = ICRSPosition::new( + Angle::from_radians(ra_normalized), + Angle::from_radians(dec_normalized), + )?; + + if let Some(distance) = self.distance { + icrs.set_distance(distance); + } + + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let ra = icrs.ra().radians(); + let dec = icrs.dec().radians(); + + let (sin_dec, cos_dec) = libm::sincos(dec); + let (sin_ra, cos_ra) = libm::sincos(ra); + + let icrs_cartesian = [cos_dec * cos_ra, cos_dec * sin_ra, sin_dec]; + + let icrs_to_ecliptic_matrix = ecm06_matrix(epoch)?; + let ecliptic_cartesian = icrs_to_ecliptic_matrix.apply_to_vector(icrs_cartesian); + + let x = ecliptic_cartesian[0]; + let y = ecliptic_cartesian[1]; + let z = ecliptic_cartesian[2]; + + let rxy2 = x * x + y * y; + let lambda = if rxy2 != 0.0 { libm::atan2(y, x) } else { 0.0 }; + let beta = if rxy2 != 0.0 || z != 0.0 { + libm::atan2(z, libm::sqrt(rxy2)) + } else { + 0.0 + }; + + let d2pi = cosmos_core::constants::TWOPI; + let mut lambda_normalized = lambda % d2pi; + if lambda_normalized < 0.0 { + lambda_normalized += d2pi; + } + + let mut ecliptic = Self::new( + Angle::from_radians(lambda_normalized), + Angle::from_radians(beta), + *epoch, + )?; + + if let Some(distance) = icrs.distance() { + ecliptic.set_distance(distance); + } + + Ok(ecliptic) + } +} + +impl std::fmt::Display for EclipticPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Ecliptic(λ={:.6}°, β={:.6}°, epoch=J{:.1}", + self.lambda.degrees(), + self.beta.degrees(), + self.epoch.julian_year() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::Distance; + + mod erfa_reference { + use super::*; + + #[test] + fn test_obliquity_at_j2000() { + let epoch = TT::j2000(); + let pos = EclipticPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + let mean_obliquity = pos.mean_obliquity(); + assert_eq!(mean_obliquity.radians(), 4.09092600600582889658e-01); + } + + #[test] + fn test_ecm06_matrix_at_j2000() { + let epoch = TT::j2000(); + let matrix = ecm06_matrix(&epoch).unwrap(); + let m = matrix.elements(); + + assert_eq!(m[0][0], 9.99999999999994115818e-01); + assert_eq!(m[0][1], -7.07836896097155612759e-08); + assert_eq!(m[0][2], 8.05621397761318608390e-08); + assert_eq!(m[1][0], 3.28970040774196464850e-08); + assert_eq!(m[1][1], 9.17482129914958366435e-01); + assert_eq!(m[1][2], 3.97776999444047929533e-01); + assert_eq!(m[2][0], -1.02070447254843554005e-07); + assert_eq!(m[2][1], -3.97776999444043044551e-01); + assert_eq!(m[2][2], 9.17482129914955590877e-01); + } + + #[test] + fn test_north_ecliptic_pole_to_icrs() { + let epoch = TT::j2000(); + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + let icrs = north_pole.to_icrs(&epoch).unwrap(); + + assert_eq!(icrs.ra().radians(), 4.71238872378250484019e+00); + assert_eq!(icrs.dec().radians(), 1.16170369313486876450e+00); + } + + #[test] + fn test_south_ecliptic_pole_to_icrs() { + let epoch = TT::j2000(); + let south_pole = EclipticPosition::south_ecliptic_pole(epoch); + let icrs = south_pole.to_icrs(&epoch).unwrap(); + + assert_eq!(icrs.ra().radians(), 1.57079607019271128010e+00); + assert_eq!(icrs.dec().radians(), -1.16170369313486876450e+00); + } + + #[test] + fn test_roundtrip_decimal_coords() { + let epoch = TT::j2000(); + + // (123.456789°, 45.678901°) + let original = EclipticPosition::from_degrees(123.456789, 45.678901, epoch).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + + assert_eq!( + original.lambda().radians(), + roundtrip.lambda().radians(), + "Lambda mismatch: orig={}, round={}", + original.lambda().degrees(), + roundtrip.lambda().degrees() + ); + } + + #[test] + fn test_roundtrip_negative_beta() { + let epoch = TT::j2000(); + + // (267.314159°, -23.271828°) roundtrip: ERFA shows lambda diff = 0 exactly + let original = EclipticPosition::from_degrees(267.314159, -23.271828, epoch).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + + assert_eq!( + original.lambda().radians(), + roundtrip.lambda().radians(), + "Lambda mismatch: orig={}, round={}", + original.lambda().degrees(), + roundtrip.lambda().degrees() + ); + } + + #[test] + fn test_roundtrip_high_latitude() { + let epoch = TT::j2000(); + + // (45.123456°, 67.890123°) roundtrip + let original = EclipticPosition::from_degrees(45.123456, 67.890123, epoch).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + + // ERFA shows lambda diff = -1.11e-16 rad which wraps to 0 + // Our implementation should also produce 0 or very close + let lambda_diff = (original.lambda().radians() - roundtrip.lambda().radians()).abs(); + assert!( + lambda_diff < 1e-14, + "Lambda diff too large: {} rad", + lambda_diff + ); + } + } + + #[test] + fn test_constructor_with_distance() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(10.0).unwrap(); + + let pos = EclipticPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(45.0), + epoch, + distance, + ) + .unwrap(); + + assert_eq!(pos.lambda().degrees(), 180.0); + assert_eq!(pos.beta().degrees(), 45.0); + assert_eq!(pos.epoch(), epoch); + assert_eq!(pos.distance().unwrap(), distance); + } + + #[test] + fn test_accessor_methods() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(5.0).unwrap(); + + let mut pos = EclipticPosition::from_degrees(90.0, -30.0, epoch).unwrap(); + + let expected_lambda = Angle::from_degrees(90.0).degrees(); + let expected_beta = Angle::from_degrees(-30.0).degrees(); + + assert_eq!(pos.lambda().degrees(), expected_lambda); + assert_eq!(pos.beta().degrees(), expected_beta); + assert_eq!(pos.epoch(), epoch); + assert_eq!(pos.distance(), None); + + pos.set_distance(distance); + assert_eq!(pos.distance().unwrap(), distance); + } + + #[test] + fn test_obliquity_calculations() { + let epoch = TT::j2000(); + let pos = EclipticPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + + let mean_obliquity = pos.mean_obliquity(); + let true_obliquity = pos.true_obliquity().unwrap(); + + // IAU 2006 mean obliquity at J2000.0: 84381.406 arcseconds + let expected_mean_obliquity_arcsec = 84381.406; + let expected_mean_obliquity_deg = expected_mean_obliquity_arcsec / 3600.0; + assert_eq!(mean_obliquity.degrees(), expected_mean_obliquity_deg); + + // True obliquity differs from mean by nutation in obliquity + // At J2000.0, nutation is small but non-zero + assert_ne!(true_obliquity.radians(), mean_obliquity.radians()); + } + + #[test] + fn test_special_position_constructors() { + let epoch = TT::j2000(); + + let vernal = EclipticPosition::vernal_equinox(epoch); + assert_eq!(vernal.lambda().degrees(), 0.0); + assert_eq!(vernal.beta().degrees(), 0.0); + assert_eq!(vernal.epoch(), epoch); + assert_eq!(vernal.distance(), None); + + let summer = EclipticPosition::summer_solstice(epoch); + assert_eq!(summer.lambda().degrees(), 90.0); + assert_eq!(summer.beta().degrees(), 0.0); + + let autumn = EclipticPosition::autumnal_equinox(epoch); + assert_eq!(autumn.lambda().degrees(), 180.0); + assert_eq!(autumn.beta().degrees(), 0.0); + + let winter = EclipticPosition::winter_solstice(epoch); + assert_eq!(winter.lambda().degrees(), 270.0); + assert_eq!(winter.beta().degrees(), 0.0); + + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + assert_eq!(north_pole.lambda().degrees(), 0.0); + assert_eq!(north_pole.beta().degrees(), 90.0); + + let south_pole = EclipticPosition::south_ecliptic_pole(epoch); + assert_eq!(south_pole.lambda().degrees(), 0.0); + assert_eq!(south_pole.beta().degrees(), -90.0); + } + + #[test] + fn test_angular_separation() { + let epoch = TT::j2000(); + + let vernal = EclipticPosition::vernal_equinox(epoch); + let summer = EclipticPosition::summer_solstice(epoch); + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + + let sep_vernal_summer = vernal.angular_separation(&summer); + assert_eq!(sep_vernal_summer.degrees(), 90.0); + + let sep_pole_vernal = north_pole.angular_separation(&vernal); + assert_eq!(sep_pole_vernal.degrees(), 90.0); + + let sep_self = vernal.angular_separation(&vernal); + assert_eq!(sep_self.degrees(), 0.0); + } + + #[test] + fn test_coordinate_transformations_roundtrip() { + let epoch = TT::j2000(); + + // Test roundtrip coordinate transformations + // Lambda diff can be ~1e-15 rad due to numerical paths, but angular separation is ~0 + let test_cases = [(90.0, 0.0), (180.0, 0.0), (270.0, 0.0)]; + + for (lambda_deg, beta_deg) in test_cases { + let original = EclipticPosition::from_degrees(lambda_deg, beta_deg, epoch).unwrap(); + + let icrs = original.to_icrs(&epoch).unwrap(); + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + + // Verify angular separation is essentially zero + // Accounts for ~1e-15 rad lambda drift and ~1e-16 rad beta drift + let separation = original.angular_separation(&roundtrip); + assert!( + separation.radians() < 1e-14, + "Separation too large for ({}, {}): {} rad", + lambda_deg, + beta_deg, + separation.radians() + ); + } + } + + #[test] + fn test_coordinate_transformations_roundtrip_zero_boundary() { + // The 0/360 boundary: lambda 0° can become 6.28... due to atan2 returning near-2π + // ERFA shows same behavior: lambda roundtrip from 0° goes through RA ~360° back to λ ~360° + let epoch = TT::j2000(); + + let original = EclipticPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + + // Angular separation should be essentially zero even if lambda differs by ~2π + // ERFA shows wrapped lambda diff = 0 + let separation = original.angular_separation(&roundtrip); + assert!( + separation.radians() < 1e-14, + "Angular separation too large: {} rad", + separation.radians() + ); + } + + #[test] + fn test_coordinate_transformations_with_distance() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(10.0).unwrap(); + + let original = EclipticPosition::with_distance( + Angle::from_degrees(45.0), + Angle::from_degrees(30.0), + epoch, + distance, + ) + .unwrap(); + + let icrs = original.to_icrs(&epoch).unwrap(); + assert_eq!(icrs.distance().unwrap(), distance); + + let roundtrip = EclipticPosition::from_icrs(&icrs, &epoch).unwrap(); + assert_eq!(roundtrip.distance().unwrap(), distance); + } + + #[test] + fn test_display_formatting() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(5.0).unwrap(); + + let pos_no_dist = EclipticPosition::from_degrees(45.123456, -30.987654, epoch).unwrap(); + let display_no_dist = format!("{}", pos_no_dist); + assert!(display_no_dist.contains("λ=45.123456°")); + assert!(display_no_dist.contains("β=-30.987654°")); + assert!(display_no_dist.contains("epoch=J2000.0")); + assert!(!display_no_dist.contains("d=")); + + let mut pos_with_dist = pos_no_dist.clone(); + pos_with_dist.set_distance(distance); + let display_with_dist = format!("{}", pos_with_dist); + assert!(display_with_dist.contains("λ=45.123456°")); + assert!(display_with_dist.contains("β=-30.987654°")); + assert!(display_with_dist.contains("epoch=J2000.0")); + assert!(display_with_dist.contains("d=5")); + } + + #[test] + fn test_seasonal_classification() { + let epoch = TT::j2000(); + + let spring = EclipticPosition::from_degrees(45.0, 0.0, epoch).unwrap(); + assert_eq!(spring.season_index(), 0); + + let summer = EclipticPosition::from_degrees(135.0, 0.0, epoch).unwrap(); + assert_eq!(summer.season_index(), 1); + + let autumn = EclipticPosition::from_degrees(225.0, 0.0, epoch).unwrap(); + assert_eq!(autumn.season_index(), 2); + + let winter = EclipticPosition::from_degrees(315.0, 0.0, epoch).unwrap(); + assert_eq!(winter.season_index(), 3); + } + + #[test] + fn test_ecliptic_plane_classification() { + let epoch = TT::j2000(); + + let on_plane = EclipticPosition::from_degrees(45.0, 2.0, epoch).unwrap(); + assert!(on_plane.is_near_ecliptic_plane()); + assert!(!on_plane.is_near_ecliptic_pole()); + + let off_plane = EclipticPosition::from_degrees(45.0, 45.0, epoch).unwrap(); + assert!(!off_plane.is_near_ecliptic_plane()); + + let near_pole = EclipticPosition::from_degrees(0.0, 87.0, epoch).unwrap(); + assert!(near_pole.is_near_ecliptic_pole()); + } + + #[test] + fn test_coordinate_edge_cases() { + let epoch = TT::j2000(); + + let wrapped_lambda = EclipticPosition::from_degrees(370.0, 0.0, epoch).unwrap(); + let expected_wrapped = Angle::from_degrees(370.0) + .validate_longitude(true) + .unwrap() + .degrees(); + assert_eq!(wrapped_lambda.lambda().degrees(), expected_wrapped); + + let negative_lambda = EclipticPosition::from_degrees(-90.0, 0.0, epoch).unwrap(); + let expected_negative = Angle::from_degrees(-90.0) + .validate_longitude(true) + .unwrap() + .degrees(); + assert_eq!(negative_lambda.lambda().degrees(), expected_negative); + + assert!(EclipticPosition::from_degrees(0.0, 95.0, epoch).is_err()); + assert!(EclipticPosition::from_degrees(0.0, -95.0, epoch).is_err()); + + let max_beta = EclipticPosition::from_degrees(0.0, 90.0, epoch).unwrap(); + assert_eq!(max_beta.beta().degrees(), 90.0); + + let min_beta = EclipticPosition::from_degrees(0.0, -90.0, epoch).unwrap(); + assert_eq!(min_beta.beta().degrees(), -90.0); + } + + #[test] + fn test_pole_angular_separation_edge_cases() { + let epoch = TT::j2000(); + + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + let south_pole = EclipticPosition::south_ecliptic_pole(epoch); + + let pole_separation = north_pole.angular_separation(&south_pole); + assert_eq!(pole_separation.degrees(), 180.0); + + // Two points at the same pole with different longitudes should have zero separation. + // At poles, longitude is undefined (singularity), so we test with identical coordinates. + let same_pole = EclipticPosition::north_ecliptic_pole(epoch); + let pole_separation_same = north_pole.angular_separation(&same_pole); + assert_eq!(pole_separation_same.degrees(), 0.0); + } + + #[test] + fn test_pole_singularity_different_longitudes() { + // At the poles, longitude is mathematically undefined (singularity). + // Two points at beta=90° with different lambda values represent the same point. + // Due to cos(90°) ≈ 6e-17 (not exactly 0), Vincenty formula returns tiny non-zero. + // This test documents this known floating-point limitation. + let epoch = TT::j2000(); + + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + let same_pole_diff_lon = EclipticPosition::from_degrees(123.456, 90.0, epoch).unwrap(); + + let separation = north_pole.angular_separation(&same_pole_diff_lon); + + // The separation should be essentially zero (within floating-point noise) + // cos(π/2) ≈ 6.12e-17, which propagates through Vincenty formula + assert!( + separation.degrees() < 1e-12, + "Pole singularity: expected ~0, got {} degrees", + separation.degrees() + ); + } + + #[test] + fn test_coordinate_transformations_at_poles() { + let epoch = TT::j2000(); + + let north_pole = EclipticPosition::north_ecliptic_pole(epoch); + let icrs_north = north_pole.to_icrs(&epoch).unwrap(); + let roundtrip_north = EclipticPosition::from_icrs(&icrs_north, &epoch).unwrap(); + + assert_eq!(roundtrip_north.beta().degrees(), 90.0); + + let south_pole = EclipticPosition::south_ecliptic_pole(epoch); + let icrs_south = south_pole.to_icrs(&epoch).unwrap(); + let roundtrip_south = EclipticPosition::from_icrs(&icrs_south, &epoch).unwrap(); + + assert_eq!(roundtrip_south.beta().degrees(), -90.0); + } + + #[test] + fn test_seasonal_boundary_cases() { + let epoch = TT::j2000(); + + let exactly_90 = EclipticPosition::from_degrees(90.0, 0.0, epoch).unwrap(); + assert_eq!(exactly_90.season_index(), 1); + + let exactly_180 = EclipticPosition::from_degrees(180.0, 0.0, epoch).unwrap(); + assert_eq!(exactly_180.season_index(), 2); + + let exactly_270 = EclipticPosition::from_degrees(270.0, 0.0, epoch).unwrap(); + assert_eq!(exactly_270.season_index(), 3); + + let exactly_0 = EclipticPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + assert_eq!(exactly_0.season_index(), 0); + + let almost_360 = EclipticPosition::from_degrees(359.9, 0.0, epoch).unwrap(); + assert_eq!(almost_360.season_index(), 3); + } + + #[test] + fn test_plane_classification_boundary_cases() { + let epoch = TT::j2000(); + + let exactly_5_deg = EclipticPosition::from_degrees(0.0, 5.0, epoch).unwrap(); + assert!(!exactly_5_deg.is_near_ecliptic_plane()); + + let just_under_5_deg = EclipticPosition::from_degrees(0.0, 4.99, epoch).unwrap(); + assert!(just_under_5_deg.is_near_ecliptic_plane()); + + let exactly_85_deg = EclipticPosition::from_degrees(0.0, 85.0, epoch).unwrap(); + assert!(!exactly_85_deg.is_near_ecliptic_pole()); + + let just_over_85_deg = EclipticPosition::from_degrees(0.0, 85.01, epoch).unwrap(); + assert!(just_over_85_deg.is_near_ecliptic_pole()); + + let neg_85_deg = EclipticPosition::from_degrees(0.0, -85.01, epoch).unwrap(); + assert!(neg_85_deg.is_near_ecliptic_pole()); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic_cartesian.rs b/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic_cartesian.rs new file mode 100644 index 0000000..d973b54 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/ecliptic_cartesian.rs @@ -0,0 +1,98 @@ +use crate::transforms::CartesianFrame; +use cosmos_core::constants::{FRAME_BIAS_PHI_RAD, J2000_OBLIQUITY_RAD}; +use cosmos_core::Vector3; + +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct EclipticCartesian { + pub x: f64, + pub y: f64, + pub z: f64, +} + +impl EclipticCartesian { + pub fn new(x: f64, y: f64, z: f64) -> Self { + Self { x, y, z } + } + + pub fn from_vector3(v: &Vector3) -> Self { + Self { + x: v.x, + y: v.y, + z: v.z, + } + } +} + +impl CartesianFrame for EclipticCartesian { + fn to_icrs(&self) -> Vector3 { + let eps = J2000_OBLIQUITY_RAD; + let phi = FRAME_BIAS_PHI_RAD; + let (sin_eps, cos_eps) = libm::sincos(eps); + let (sin_phi, cos_phi) = libm::sincos(phi); + + let y1 = self.y * cos_eps - self.z * sin_eps; + let z1 = self.y * sin_eps + self.z * cos_eps; + + Vector3::new( + self.x * cos_phi + y1 * sin_phi, + -self.x * sin_phi + y1 * cos_phi, + z1, + ) + } + + fn from_icrs(icrs: &Vector3) -> Self { + let eps = J2000_OBLIQUITY_RAD; + let phi = FRAME_BIAS_PHI_RAD; + let (sin_eps, cos_eps) = libm::sincos(eps); + let (sin_phi, cos_phi) = libm::sincos(phi); + + let x1 = icrs.x * cos_phi - icrs.y * sin_phi; + let y1 = icrs.x * sin_phi + icrs.y * cos_phi; + + Self { + x: x1, + y: y1 * cos_eps + icrs.z * sin_eps, + z: -y1 * sin_eps + icrs.z * cos_eps, + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_roundtrip() { + let ecl = EclipticCartesian::new(-9.8753625435, -27.9588613710, 5.8504463318); + let icrs = ecl.to_icrs(); + let back = EclipticCartesian::from_icrs(&icrs); + + let tol = 1e-14; + assert!((ecl.x - back.x).abs() < tol, "X roundtrip error"); + assert!((ecl.y - back.y).abs() < tol, "Y roundtrip error"); + assert!((ecl.z - back.z).abs() < tol, "Z roundtrip error"); + } + + #[test] + fn test_pluto_vector_signs() { + let ecl = EclipticCartesian::new(-9.8753625435, -27.9588613710, 5.8504463318); + let icrs = ecl.to_icrs(); + + assert!(icrs.x < 0.0, "X should be negative"); + assert!(icrs.y < 0.0, "Y should be negative"); + assert!(icrs.z < 0.0, "Z should be negative in ICRS"); + } + + #[test] + fn test_ecliptic_x_axis() { + let ecl = EclipticCartesian::new(1.0, 0.0, 0.0); + let icrs = ecl.to_icrs(); + + assert!( + (icrs.x - 1.0).abs() < 1e-10, + "X-axis X component should be ~1" + ); + assert!(icrs.y.abs() < 1e-6, "X-axis Y component should be ~0"); + assert!(icrs.z.abs() < 1e-10, "X-axis Z component should be ~0"); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/galactic.rs b/01_yachay/cosmos/cosmos-coords/src/frames/galactic.rs new file mode 100644 index 0000000..055a02a --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/galactic.rs @@ -0,0 +1,324 @@ +use crate::{ + constants::GALACTIC_TO_ICRS, transforms::CoordinateFrame, CoordResult, Distance, ICRSPosition, +}; +use cosmos_core::Angle; +use cosmos_time::TT; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct GalacticPosition { + l: Angle, + b: Angle, + distance: Option, +} + +impl GalacticPosition { + pub fn new(l: Angle, b: Angle) -> CoordResult { + let l = l.validate_longitude(true)?; + let b = b.validate_latitude()?; + + Ok(Self { + l, + b, + distance: None, + }) + } + + pub fn with_distance(l: Angle, b: Angle, distance: Distance) -> CoordResult { + let mut pos = Self::new(l, b)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees(l_deg: f64, b_deg: f64) -> CoordResult { + Self::new(Angle::from_degrees(l_deg), Angle::from_degrees(b_deg)) + } + + pub fn longitude(&self) -> Angle { + self.l + } + + pub fn latitude(&self) -> Angle { + self.b + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn galactic_center() -> Self { + Self { + l: Angle::ZERO, + b: Angle::ZERO, + distance: None, + } + } + + pub fn galactic_anticenter() -> Self { + Self { + l: Angle::PI, + b: Angle::ZERO, + distance: None, + } + } + + pub fn north_galactic_pole() -> Self { + Self { + l: Angle::ZERO, + b: Angle::HALF_PI, + distance: None, + } + } + + pub fn south_galactic_pole() -> Self { + Self { + l: Angle::ZERO, + b: -Angle::HALF_PI, + distance: None, + } + } + + pub fn is_near_galactic_plane(&self) -> bool { + self.b.abs().degrees() < 10.0 + } + + pub fn is_in_galactic_bulge(&self) -> bool { + self.b.abs().degrees() < 10.0 && (self.l.degrees() < 30.0 || self.l.degrees() > 330.0) + } + + pub fn is_near_galactic_pole(&self) -> bool { + self.b.abs().degrees() > 80.0 + } + + pub fn angular_distance_from_gc(&self) -> Angle { + let gc = Self::galactic_center(); + self.angular_separation(&gc) + } + + pub fn angular_separation(&self, other: &Self) -> Angle { + let (sin_b1, cos_b1) = self.b.sin_cos(); + let (sin_b2, cos_b2) = other.b.sin_cos(); + let delta_l = (self.l - other.l).radians(); + + let angle_rad = cosmos_core::math::vincenty_angular_separation( + sin_b1, cos_b1, sin_b2, cos_b2, delta_l, + ); + + Angle::from_radians(angle_rad) + } +} + +impl CoordinateFrame for GalacticPosition { + fn to_icrs(&self, _epoch: &TT) -> CoordResult { + let (sin_b, cos_b) = self.b.sin_cos(); + let (sin_l, cos_l) = self.l.sin_cos(); + let gal_cartesian = [cos_l * cos_b, sin_l * cos_b, sin_b]; + + // Matrix multiplication: icrs = M^T * gal (transpose because matrix is stored as columns) + // This works correctly because GALACTIC_TO_ICRS is orthonormal (rotation matrix). + let icrs_cartesian = [ + GALACTIC_TO_ICRS[0][0] * gal_cartesian[0] + + GALACTIC_TO_ICRS[1][0] * gal_cartesian[1] + + GALACTIC_TO_ICRS[2][0] * gal_cartesian[2], + GALACTIC_TO_ICRS[0][1] * gal_cartesian[0] + + GALACTIC_TO_ICRS[1][1] * gal_cartesian[1] + + GALACTIC_TO_ICRS[2][1] * gal_cartesian[2], + GALACTIC_TO_ICRS[0][2] * gal_cartesian[0] + + GALACTIC_TO_ICRS[1][2] * gal_cartesian[1] + + GALACTIC_TO_ICRS[2][2] * gal_cartesian[2], + ]; + + let d2 = icrs_cartesian[0] * icrs_cartesian[0] + icrs_cartesian[1] * icrs_cartesian[1]; + let ra = if d2 != 0.0 { + libm::atan2(icrs_cartesian[1], icrs_cartesian[0]) + } else { + 0.0 + }; + let dec = if d2 != 0.0 || icrs_cartesian[2] != 0.0 { + libm::atan2(icrs_cartesian[2], libm::sqrt(d2)) + } else { + 0.0 + }; + + let mut icrs = ICRSPosition::new(Angle::from_radians(ra), Angle::from_radians(dec))?; + + if let Some(distance) = self.distance { + icrs.set_distance(distance); + } + + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, _epoch: &TT) -> CoordResult { + let (sin_dec, cos_dec) = icrs.dec().sin_cos(); + let (sin_ra, cos_ra) = icrs.ra().sin_cos(); + let icrs_cartesian = [cos_ra * cos_dec, sin_ra * cos_dec, sin_dec]; + + // Matrix multiplication: gal = M * icrs (standard row-major access) + // For orthonormal matrices, M^T = M^(-1), so this is the inverse of to_icrs. + let gal_cartesian = [ + GALACTIC_TO_ICRS[0][0] * icrs_cartesian[0] + + GALACTIC_TO_ICRS[0][1] * icrs_cartesian[1] + + GALACTIC_TO_ICRS[0][2] * icrs_cartesian[2], + GALACTIC_TO_ICRS[1][0] * icrs_cartesian[0] + + GALACTIC_TO_ICRS[1][1] * icrs_cartesian[1] + + GALACTIC_TO_ICRS[1][2] * icrs_cartesian[2], + GALACTIC_TO_ICRS[2][0] * icrs_cartesian[0] + + GALACTIC_TO_ICRS[2][1] * icrs_cartesian[1] + + GALACTIC_TO_ICRS[2][2] * icrs_cartesian[2], + ]; + + let d2 = gal_cartesian[0] * gal_cartesian[0] + gal_cartesian[1] * gal_cartesian[1]; + let l = if d2 != 0.0 { + libm::atan2(gal_cartesian[1], gal_cartesian[0]) + } else { + 0.0 + }; + let b = if d2 != 0.0 || gal_cartesian[2] != 0.0 { + libm::atan2(gal_cartesian[2], libm::sqrt(d2)) + } else { + 0.0 + }; + + let mut galactic = Self::new(Angle::from_radians(l), Angle::from_radians(b))?; + + if let Some(distance) = icrs.distance() { + galactic.set_distance(distance); + } + + Ok(galactic) + } +} + +impl std::fmt::Display for GalacticPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Galactic(l={:.6}°, b={:.6}°", + self.l.degrees(), + self.b.degrees() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_galactic_creation() { + let pos = GalacticPosition::from_degrees(45.0, 30.0).unwrap(); + assert!((pos.longitude().degrees() - 45.0).abs() < 1e-12); + assert!((pos.latitude().degrees() - 30.0).abs() < 1e-12); + assert!(pos.distance().is_none()); + } + + #[test] + fn test_galactic_validation() { + // Valid coordinates + assert!(GalacticPosition::from_degrees(0.0, 0.0).is_ok()); + assert!(GalacticPosition::from_degrees(359.999, 89.999).is_ok()); + + // Longitude gets normalized + let pos = GalacticPosition::from_degrees(380.0, 45.0).unwrap(); + assert!((pos.longitude().degrees() - 20.0).abs() < 1e-12); + + // Invalid latitude + assert!(GalacticPosition::from_degrees(0.0, 95.0).is_err()); + assert!(GalacticPosition::from_degrees(0.0, -95.0).is_err()); + } + + #[test] + fn test_special_positions() { + let gc = GalacticPosition::galactic_center(); + assert_eq!(gc.longitude().degrees(), 0.0); + assert_eq!(gc.latitude().degrees(), 0.0); + + let gac = GalacticPosition::galactic_anticenter(); + assert!((gac.longitude().degrees() - 180.0).abs() < 1e-12); + assert_eq!(gac.latitude().degrees(), 0.0); + + let ngp = GalacticPosition::north_galactic_pole(); + assert!((ngp.latitude().degrees() - 90.0).abs() < 1e-12); + + let sgp = GalacticPosition::south_galactic_pole(); + assert!((sgp.latitude().degrees() - (-90.0)).abs() < 1e-12); + } + + #[test] + fn test_galactic_regions() { + // Galactic plane + let plane_pos = GalacticPosition::from_degrees(45.0, 5.0).unwrap(); + assert!(plane_pos.is_near_galactic_plane()); + assert!(!plane_pos.is_near_galactic_pole()); + + // Galactic bulge + let bulge_pos = GalacticPosition::from_degrees(5.0, 5.0).unwrap(); + assert!(bulge_pos.is_in_galactic_bulge()); + + // Galactic pole + let pole_pos = GalacticPosition::from_degrees(0.0, 85.0).unwrap(); + assert!(pole_pos.is_near_galactic_pole()); + assert!(!pole_pos.is_near_galactic_plane()); + } + + #[test] + fn test_angular_separation() { + let pos1 = GalacticPosition::from_degrees(0.0, 0.0).unwrap(); + let pos2 = GalacticPosition::from_degrees(90.0, 0.0).unwrap(); + + let sep = pos1.angular_separation(&pos2); + // Should be approximately 90 degrees + assert!((sep.degrees() - 90.0).abs() < 1.0); // Allow 1° tolerance for approximation + + // Distance from galactic center + let gc_dist = pos2.angular_distance_from_gc(); + assert!((gc_dist.degrees() - 90.0).abs() < 1.0); + } + + #[test] + fn test_coordinate_transformations() { + let epoch = TT::j2000(); + let gal_pos = GalacticPosition::from_degrees(45.0, 30.0).unwrap(); + + // Test Galactic -> ICRS -> Galactic round trip + let icrs = gal_pos.to_icrs(&epoch).unwrap(); + let gal_recovered = GalacticPosition::from_icrs(&icrs, &epoch).unwrap(); + + assert!( + (gal_recovered.longitude().degrees() - gal_pos.longitude().degrees()).abs() < 1e-12 + ); + assert!((gal_recovered.latitude().degrees() - gal_pos.latitude().degrees()).abs() < 1e-12); + } + + #[test] + fn test_with_distance() { + let distance = Distance::from_parsecs(100.0).unwrap(); + let pos = GalacticPosition::with_distance( + Angle::from_degrees(45.0), + Angle::from_degrees(30.0), + distance, + ) + .unwrap(); + + assert_eq!(pos.distance().unwrap().parsecs(), 100.0); + + // Test coordinate transformation preserves distance + let epoch = TT::j2000(); + let icrs = pos.to_icrs(&epoch).unwrap(); + assert_eq!(icrs.distance().unwrap().parsecs(), 100.0); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/gcrs.rs b/01_yachay/cosmos/cosmos-coords/src/frames/gcrs.rs new file mode 100644 index 0000000..86b211c --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/gcrs.rs @@ -0,0 +1,473 @@ +use crate::{ + aberration::{apply_aberration, compute_earth_state, remove_aberration}, + frames::{CIRSPosition, ICRSPosition}, + transforms::CoordinateFrame, + CoordError, CoordResult, Distance, +}; +use cosmos_core::{matrix::RotationMatrix3, Angle, Vector3}; +use cosmos_time::{transforms::NutationCalculator, TT}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct GCRSPosition { + ra: Angle, + dec: Angle, + epoch: TT, + distance: Option, +} + +impl GCRSPosition { + pub fn new(ra: Angle, dec: Angle, epoch: TT) -> CoordResult { + let ra = ra.validate_right_ascension()?; + let dec = dec.validate_declination(false)?; + + Ok(Self { + ra, + dec, + epoch, + distance: None, + }) + } + + pub fn with_distance( + ra: Angle, + dec: Angle, + epoch: TT, + distance: Distance, + ) -> CoordResult { + let mut pos = Self::new(ra, dec, epoch)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees(ra_deg: f64, dec_deg: f64, epoch: TT) -> CoordResult { + Self::new( + Angle::from_degrees(ra_deg), + Angle::from_degrees(dec_deg), + epoch, + ) + } + + pub fn ra(&self) -> Angle { + self.ra + } + + pub fn dec(&self) -> Angle { + self.dec + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn remove_distance(&mut self) { + self.distance = None; + } + + pub fn unit_vector(&self) -> Vector3 { + let (sin_dec, cos_dec) = self.dec.sin_cos(); + let (sin_ra, cos_ra) = self.ra.sin_cos(); + + Vector3::new(cos_dec * cos_ra, cos_dec * sin_ra, sin_dec) + } + + pub fn from_unit_vector(unit: Vector3, epoch: TT) -> CoordResult { + let r = libm::sqrt(unit.x.powi(2) + unit.y.powi(2) + unit.z.powi(2)); + + if r == 0.0 { + return Err(CoordError::invalid_coordinate("Zero vector")); + } + + let x = unit.x / r; + let y = unit.y / r; + let z = unit.z / r; + + let d2 = x * x + y * y; + let ra = if d2 == 0.0 { 0.0 } else { libm::atan2(y, x) }; + let dec = if z == 0.0 { + 0.0 + } else { + libm::atan2(z, libm::sqrt(d2)) + }; + + Self::new(Angle::from_radians(ra), Angle::from_radians(dec), epoch) + } + + pub fn to_cirs(&self) -> CoordResult { + let npb_matrix = Self::gcrs_to_cirs_matrix(&self.epoch)?; + + let gcrs_vec = self.unit_vector(); + let cirs_vec = npb_matrix * gcrs_vec; + + let mut cirs = CIRSPosition::from_unit_vector(cirs_vec, self.epoch)?; + + if let Some(distance) = self.distance { + cirs.set_distance(distance); + } + + Ok(cirs) + } + + pub fn from_cirs(cirs: &CIRSPosition) -> CoordResult { + let npb_matrix = Self::gcrs_to_cirs_matrix(&cirs.epoch())?; + let cirs_to_gcrs = npb_matrix.transpose(); + + let cirs_vec = cirs.unit_vector(); + let gcrs_vec = cirs_to_gcrs * cirs_vec; + + let mut gcrs = Self::from_unit_vector(gcrs_vec, cirs.epoch())?; + + if let Some(distance) = cirs.distance() { + gcrs.distance = Some(distance); + } + + Ok(gcrs) + } + + fn gcrs_to_cirs_matrix(epoch: &TT) -> CoordResult { + let jd = epoch.to_julian_date(); + let t = cosmos_core::utils::jd_to_centuries(jd.jd1(), jd.jd2()); + + let nutation = epoch + .nutation_iau2006a() + .map_err(|e| CoordError::CoreError { + message: format!("Nutation calculation failed: {}", e), + })?; + + let precession_calc = cosmos_core::precession::PrecessionIAU2006::new(); + let npb_matrix = precession_calc.npb_matrix_iau2006a( + t, + nutation.nutation_longitude(), + nutation.nutation_obliquity(), + ); + + let cio_solution = cosmos_core::CioSolution::calculate(&npb_matrix, t).map_err(|e| { + CoordError::CoreError { + message: format!("CIO calculation failed: {}", e), + } + })?; + + let c2i_matrix = cosmos_core::gcrs_to_cirs_matrix( + cio_solution.cip.x, + cio_solution.cip.y, + cio_solution.s, + ); + + Ok(c2i_matrix) + } +} + +impl CoordinateFrame for GCRSPosition { + fn to_icrs(&self, _epoch: &TT) -> CoordResult { + let gcrs_vec = self.unit_vector(); + + let earth_state = compute_earth_state(&self.epoch)?; + let sun_earth_dist = earth_state.heliocentric_position.magnitude(); + let icrs_vec = + remove_aberration(gcrs_vec, earth_state.barycentric_velocity, sun_earth_dist); + + let mut icrs = ICRSPosition::from_unit_vector(icrs_vec)?; + + if let Some(distance) = self.distance { + icrs.set_distance(distance); + } + + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let icrs_vec = icrs.unit_vector(); + + let earth_state = compute_earth_state(epoch)?; + let sun_earth_dist = earth_state.heliocentric_position.magnitude(); + let gcrs_vec = apply_aberration(icrs_vec, earth_state.barycentric_velocity, sun_earth_dist); + + let mut gcrs = Self::from_unit_vector(gcrs_vec, *epoch)?; + + if let Some(distance) = icrs.distance() { + gcrs.distance = Some(distance); + } + + Ok(gcrs) + } +} + +impl std::fmt::Display for GCRSPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "GCRS(RA={:.6}°, Dec={:.6}°, epoch=J{:.1}", + self.ra.degrees(), + self.dec.degrees(), + self.epoch.julian_year() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_gcrs_creation() { + let epoch = TT::j2000(); + let pos = GCRSPosition::from_degrees(180.0, 45.0, epoch).unwrap(); + + assert_eq!(pos.ra().degrees(), 180.0); + assert_eq!(pos.dec().degrees(), 45.0); + assert_eq!(pos.epoch(), epoch); + assert_eq!(pos.distance(), None); + } + + #[test] + fn test_gcrs_with_distance() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(10.0).unwrap(); + let pos = GCRSPosition::with_distance( + Angle::from_degrees(90.0), + Angle::from_degrees(30.0), + epoch, + distance, + ) + .unwrap(); + + assert_eq!(pos.distance().unwrap(), distance); + } + + #[test] + fn test_unit_vector_conversion() { + let epoch = TT::j2000(); + + let vernal_equinox = GCRSPosition::from_degrees(0.0, 0.0, epoch).unwrap(); + let unit_vec = vernal_equinox.unit_vector(); + + assert_eq!(unit_vec.x, 1.0); + assert_eq!(unit_vec.y, 0.0); + assert_eq!(unit_vec.z, 0.0); + + let recovered = GCRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + assert_eq!(recovered.ra().degrees(), vernal_equinox.ra().degrees()); + assert_eq!(recovered.dec().degrees(), vernal_equinox.dec().degrees()); + } + + #[test] + fn test_icrs_to_gcrs_applies_aberration() { + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(90.0, 23.0).unwrap(); + + let gcrs = GCRSPosition::from_icrs(&icrs, &epoch).unwrap(); + + let sep_arcsec = icrs + .angular_separation(&ICRSPosition::from_unit_vector(gcrs.unit_vector()).unwrap()) + .arcseconds(); + + assert!( + sep_arcsec > 15.0 && sep_arcsec < 25.0, + "ICRS→GCRS aberration should be ~20 arcsec, got {:.2} arcsec", + sep_arcsec + ); + } + + #[test] + fn test_gcrs_to_icrs_roundtrip() { + let test_positions = [ + (0.0, 0.0), + (90.0, 0.0), + (180.0, 45.0), + (270.0, -60.0), + (45.0, 89.0), + ]; + + for (ra, dec) in test_positions { + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(ra, dec).unwrap(); + let gcrs = GCRSPosition::from_icrs(&icrs, &epoch).unwrap(); + let recovered = gcrs.to_icrs(&epoch).unwrap(); + + // Iterative inverse aberration gives ~70 nano-arcsec precision + let diff_arcsec = icrs.angular_separation(&recovered).arcseconds(); + assert!( + diff_arcsec < 1e-7, + "Roundtrip for ({}, {}) should be < 100 nano-arcsec, got {:.2e} arcsec", + ra, + dec, + diff_arcsec + ); + } + } + + #[test] + fn test_gcrs_to_cirs_to_gcrs_roundtrip() { + let epoch = TT::j2000(); + let original = GCRSPosition::from_degrees(120.0, 30.0, epoch).unwrap(); + + let cirs = original.to_cirs().unwrap(); + let recovered = GCRSPosition::from_cirs(&cirs).unwrap(); + + // GCRS→CIRS→GCRS is just matrix multiplication (transpose is exact inverse) + // This should be very precise - use angular separation for robustness + let sep_arcsec = { + let orig_vec = original.unit_vector(); + let rec_vec = recovered.unit_vector(); + let dot = orig_vec.x * rec_vec.x + orig_vec.y * rec_vec.y + orig_vec.z * rec_vec.z; + dot.clamp(-1.0, 1.0).acos() * 206264.806247 + }; + assert!( + sep_arcsec < 1e-10, + "GCRS→CIRS→GCRS roundtrip should be < 0.1 nano-arcsec, got {:.2e} arcsec", + sep_arcsec + ); + } + + #[test] + fn test_icrs_to_gcrs_to_cirs_chain() { + // Note: GCRS applies only aberration, while CIRS (from ICRS) also applies + // gravitational light deflection by the Sun. The difference between paths + // is the light deflection effect, which can be up to ~1.75" at the solar limb. + let epoch = TT::j2000(); + let icrs = ICRSPosition::from_degrees(180.0, 45.0).unwrap(); + + let gcrs = GCRSPosition::from_icrs(&icrs, &epoch).unwrap(); + let cirs_via_gcrs = gcrs.to_cirs().unwrap(); + + let cirs_direct = CIRSPosition::from_icrs(&icrs, &epoch).unwrap(); + + // Light deflection causes a difference between paths. + // For typical stars not near the Sun, this is ~1-10 mas. + let ra_diff_arcsec = + (cirs_via_gcrs.ra().radians() - cirs_direct.ra().radians()).abs() * 206264.806247; + let dec_diff_arcsec = + (cirs_via_gcrs.dec().radians() - cirs_direct.dec().radians()).abs() * 206264.806247; + + // Light deflection should be < 0.1" for stars far from the Sun + assert!( + ra_diff_arcsec < 0.1, + "RA difference (light deflection) should be < 0.1\", got {:.4}\"", + ra_diff_arcsec + ); + assert!( + dec_diff_arcsec < 0.1, + "Dec difference (light deflection) should be < 0.1\", got {:.4}\"", + dec_diff_arcsec + ); + } + + #[test] + fn test_aberration_varies_with_epoch() { + let icrs = ICRSPosition::from_degrees(180.0, 45.0).unwrap(); + + let epoch_jan = TT::from_julian_date(cosmos_time::JulianDate::new(2451545.0, 0.0)); + let epoch_jul = TT::from_julian_date(cosmos_time::JulianDate::new(2451545.0, 182.5)); + + let gcrs_jan = GCRSPosition::from_icrs(&icrs, &epoch_jan).unwrap(); + let gcrs_jul = GCRSPosition::from_icrs(&icrs, &epoch_jul).unwrap(); + + let ra_diff_arcsec = (gcrs_jan.ra().degrees() - gcrs_jul.ra().degrees()).abs() * 3600.0; + let dec_diff_arcsec = (gcrs_jan.dec().degrees() - gcrs_jul.dec().degrees()).abs() * 3600.0; + + assert!( + ra_diff_arcsec > 1.0 || dec_diff_arcsec > 1.0, + "Aberration should differ between epochs: RA={:.2}\", Dec={:.2}\"", + ra_diff_arcsec, + dec_diff_arcsec + ); + } + + #[test] + fn test_distance_preservation() { + let epoch = TT::j2000(); + let distance = Distance::from_parsecs(100.0).unwrap(); + let icrs = ICRSPosition::from_degrees_with_distance(90.0, 45.0, distance).unwrap(); + + let gcrs = GCRSPosition::from_icrs(&icrs, &epoch).unwrap(); + assert_eq!(gcrs.distance().unwrap(), distance); + + let cirs = gcrs.to_cirs().unwrap(); + assert_eq!(cirs.distance().unwrap(), distance); + + let recovered_gcrs = GCRSPosition::from_cirs(&cirs).unwrap(); + assert_eq!(recovered_gcrs.distance().unwrap(), distance); + + let recovered_icrs = recovered_gcrs.to_icrs(&epoch).unwrap(); + assert_eq!(recovered_icrs.distance().unwrap(), distance); + } + + #[test] + fn test_coordinate_validation() { + let epoch = TT::j2000(); + + assert!(GCRSPosition::from_degrees(0.0, 0.0, epoch).is_ok()); + assert!(GCRSPosition::from_degrees(359.99, 89.99, epoch).is_ok()); + + assert!(GCRSPosition::from_degrees(0.0, 91.0, epoch).is_err()); + assert!(GCRSPosition::from_degrees(0.0, -91.0, epoch).is_err()); + } + + #[test] + fn test_display_formatting() { + let epoch = TT::j2000(); + let pos = GCRSPosition::from_degrees(123.456789, -67.123456, epoch).unwrap(); + let display = format!("{}", pos); + + assert!(display.contains("GCRS")); + assert!(display.contains("RA=123.456789°")); + assert!(display.contains("Dec=-67.123456°")); + assert!(display.contains("J2000.0")); + } + + #[test] + fn test_from_unit_vector_north_pole() { + let epoch = TT::j2000(); + let north_pole_vec = Vector3::new(0.0, 0.0, 1.0); + let pos = GCRSPosition::from_unit_vector(north_pole_vec, epoch).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_from_unit_vector_south_pole() { + let epoch = TT::j2000(); + let south_pole_vec = Vector3::new(0.0, 0.0, -1.0); + let pos = GCRSPosition::from_unit_vector(south_pole_vec, epoch).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), -std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_pole_roundtrip() { + let epoch = TT::j2000(); + + let north_pole = GCRSPosition::from_degrees(0.0, 90.0, epoch).unwrap(); + let unit_vec = north_pole.unit_vector(); + let recovered = GCRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), 90.0); + + let south_pole = GCRSPosition::from_degrees(0.0, -90.0, epoch).unwrap(); + let unit_vec = south_pole.unit_vector(); + let recovered = GCRSPosition::from_unit_vector(unit_vec, epoch).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), -90.0); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/heliographic.rs b/01_yachay/cosmos/cosmos-coords/src/frames/heliographic.rs new file mode 100644 index 0000000..905fc05 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/heliographic.rs @@ -0,0 +1,391 @@ +use crate::{solar, transforms::CoordinateFrame, CoordResult, Distance, ICRSPosition}; +use cosmos_core::constants::HALF_PI; +use cosmos_core::matrix::RotationMatrix3; +use cosmos_core::utils::normalize_angle_to_positive; +use cosmos_core::Angle; +use cosmos_time::TT; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct HeliographicStonyhurst { + latitude: Angle, + longitude: Angle, + radius: Option, +} + +impl HeliographicStonyhurst { + pub fn new(latitude: Angle, longitude: Angle) -> CoordResult { + let latitude = latitude.validate_latitude()?; + let longitude = longitude.validate_longitude(true)?; + + Ok(Self { + latitude, + longitude, + radius: None, + }) + } + + pub fn with_radius(latitude: Angle, longitude: Angle, radius: Distance) -> CoordResult { + let mut pos = Self::new(latitude, longitude)?; + pos.radius = Some(radius); + Ok(pos) + } + + pub fn from_degrees(lat_deg: f64, lon_deg: f64) -> CoordResult { + Self::new(Angle::from_degrees(lat_deg), Angle::from_degrees(lon_deg)) + } + + pub fn latitude(&self) -> Angle { + self.latitude + } + + pub fn longitude(&self) -> Angle { + self.longitude + } + + pub fn radius(&self) -> Option { + self.radius + } + + pub fn set_radius(&mut self, radius: Distance) { + self.radius = Some(radius); + } + + pub fn to_carrington(&self, epoch: &TT) -> CoordResult { + let l0 = solar::compute_l0(epoch); + let carrington_lon = self.longitude + l0; + let normalized_lon = + Angle::from_radians(normalize_angle_to_positive(carrington_lon.radians())); + + let mut carr = HeliographicCarrington::new(self.latitude, normalized_lon)?; + if let Some(r) = self.radius { + carr.set_radius(r); + } + Ok(carr) + } + + pub fn disk_center(epoch: &TT) -> Self { + let orientation = solar::compute_solar_orientation(epoch); + Self { + latitude: orientation.b0, + longitude: Angle::ZERO, + radius: None, + } + } +} + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct HeliographicCarrington { + latitude: Angle, + longitude: Angle, + radius: Option, +} + +impl HeliographicCarrington { + pub fn new(latitude: Angle, longitude: Angle) -> CoordResult { + let latitude = latitude.validate_latitude()?; + let longitude = longitude.validate_longitude(true)?; + + Ok(Self { + latitude, + longitude, + radius: None, + }) + } + + pub fn with_radius(latitude: Angle, longitude: Angle, radius: Distance) -> CoordResult { + let mut pos = Self::new(latitude, longitude)?; + pos.radius = Some(radius); + Ok(pos) + } + + pub fn from_degrees(lat_deg: f64, lon_deg: f64) -> CoordResult { + Self::new(Angle::from_degrees(lat_deg), Angle::from_degrees(lon_deg)) + } + + pub fn latitude(&self) -> Angle { + self.latitude + } + + pub fn longitude(&self) -> Angle { + self.longitude + } + + pub fn radius(&self) -> Option { + self.radius + } + + pub fn set_radius(&mut self, radius: Distance) { + self.radius = Some(radius); + } + + pub fn to_stonyhurst(&self, epoch: &TT) -> CoordResult { + let l0 = solar::compute_l0(epoch); + let stonyhurst_lon = self.longitude - l0; + let normalized_lon = + Angle::from_radians(normalize_angle_to_positive(stonyhurst_lon.radians())); + + let mut stony = HeliographicStonyhurst::new(self.latitude, normalized_lon)?; + if let Some(r) = self.radius { + stony.set_radius(r); + } + Ok(stony) + } + + pub fn carrington_rotation_number(epoch: &TT) -> f64 { + const CARRINGTON_EPOCH_JD: f64 = 2398220.0; + const CARRINGTON_PERIOD_DAYS: f64 = 25.38; + + let jd = epoch.to_julian_date(); + let d = jd.jd1() + jd.jd2() - CARRINGTON_EPOCH_JD; + d / CARRINGTON_PERIOD_DAYS + } +} + +fn heliographic_to_icrs_matrix(epoch: &TT) -> CoordResult { + let orientation = solar::compute_solar_orientation(epoch); + let b0 = orientation.b0.radians(); + let p = orientation.p.radians(); + + let sun_icrs = solar::get_sun_icrs(epoch)?; + let sun_ra = sun_icrs.ra().radians(); + let sun_dec = sun_icrs.dec().radians(); + + let mut m = RotationMatrix3::identity(); + m.rotate_y(-b0); + m.rotate_z(p); + m.rotate_y(sun_dec - HALF_PI); + m.rotate_z(-sun_ra); + Ok(m) +} + +impl CoordinateFrame for HeliographicStonyhurst { + fn to_icrs(&self, epoch: &TT) -> CoordResult { + let m = heliographic_to_icrs_matrix(epoch)?; + let (ra, dec) = m + .transpose() + .transform_spherical(self.longitude.radians(), self.latitude.radians()); + + let mut icrs = ICRSPosition::new( + Angle::from_radians(normalize_angle_to_positive(ra)), + Angle::from_radians(dec), + )?; + + if let Some(radius) = self.radius { + icrs.set_distance(radius); + } + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let m = heliographic_to_icrs_matrix(epoch)?; + let (lon, lat) = m.transform_spherical(icrs.ra().radians(), icrs.dec().radians()); + + let mut pos = Self::new( + Angle::from_radians(lat), + Angle::from_radians(normalize_angle_to_positive(lon)), + )?; + + if let Some(dist) = icrs.distance() { + pos.set_radius(dist); + } + Ok(pos) + } +} + +impl CoordinateFrame for HeliographicCarrington { + fn to_icrs(&self, epoch: &TT) -> CoordResult { + let stonyhurst = self.to_stonyhurst(epoch)?; + stonyhurst.to_icrs(epoch) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let stonyhurst = HeliographicStonyhurst::from_icrs(icrs, epoch)?; + stonyhurst.to_carrington(epoch) + } +} + +impl std::fmt::Display for HeliographicStonyhurst { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "HeliographicStonyhurst(lat={:.6}°, lon={:.6}°", + self.latitude.degrees(), + self.longitude.degrees() + )?; + + if let Some(radius) = self.radius { + write!(f, ", r={}", radius)?; + } + + write!(f, ")") + } +} + +impl std::fmt::Display for HeliographicCarrington { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "HeliographicCarrington(lat={:.6}°, lon={:.6}°", + self.latitude.degrees(), + self.longitude.degrees() + )?; + + if let Some(radius) = self.radius { + write!(f, ", r={}", radius)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_stonyhurst_creation() { + let pos = HeliographicStonyhurst::from_degrees(45.0, 30.0).unwrap(); + assert!((pos.latitude().degrees() - 45.0).abs() < 1e-12); + assert!((pos.longitude().degrees() - 30.0).abs() < 1e-12); + assert!(pos.radius().is_none()); + } + + #[test] + fn test_carrington_creation() { + let pos = HeliographicCarrington::from_degrees(-30.0, 180.0).unwrap(); + assert!((pos.latitude().degrees() - (-30.0)).abs() < 1e-12); + assert!((pos.longitude().degrees() - 180.0).abs() < 1e-12); + assert!(pos.radius().is_none()); + } + + #[test] + fn test_stonyhurst_validation() { + assert!(HeliographicStonyhurst::from_degrees(0.0, 0.0).is_ok()); + assert!(HeliographicStonyhurst::from_degrees(90.0, 180.0).is_ok()); + assert!(HeliographicStonyhurst::from_degrees(-90.0, 359.0).is_ok()); + + assert!(HeliographicStonyhurst::from_degrees(95.0, 0.0).is_err()); + assert!(HeliographicStonyhurst::from_degrees(-95.0, 0.0).is_err()); + } + + #[test] + fn test_stonyhurst_to_carrington_differs_by_l0() { + let epoch = TT::j2000(); + let stonyhurst = HeliographicStonyhurst::from_degrees(15.0, 45.0).unwrap(); + let carrington = stonyhurst.to_carrington(&epoch).unwrap(); + + assert_eq!( + stonyhurst.latitude().degrees(), + carrington.latitude().degrees() + ); + + let l0 = solar::compute_l0(&epoch); + let expected_carr_lon = + normalize_angle_to_positive((stonyhurst.longitude() + l0).radians()) + * cosmos_core::constants::RAD_TO_DEG; + + assert!((carrington.longitude().degrees() - expected_carr_lon).abs() < 1e-10); + } + + #[test] + fn test_carrington_to_stonyhurst_roundtrip() { + let epoch = TT::j2000(); + let original = HeliographicCarrington::from_degrees(30.0, 120.0).unwrap(); + let stonyhurst = original.to_stonyhurst(&epoch).unwrap(); + let roundtrip = stonyhurst.to_carrington(&epoch).unwrap(); + + assert!((original.latitude().degrees() - roundtrip.latitude().degrees()).abs() < 1e-10); + assert!((original.longitude().degrees() - roundtrip.longitude().degrees()).abs() < 1e-10); + } + + #[test] + fn test_disk_center() { + let epoch = TT::j2000(); + let center = HeliographicStonyhurst::disk_center(&epoch); + + let b0 = solar::compute_b0(&epoch); + assert!((center.latitude().degrees() - b0.degrees()).abs() < 1e-12); + assert_eq!(center.longitude().degrees(), 0.0); + } + + #[test] + fn test_carrington_rotation_number() { + let epoch = TT::j2000(); + let rotation = HeliographicCarrington::carrington_rotation_number(&epoch); + + assert!( + rotation > 1900.0 && rotation < 2200.0, + "Carrington rotation number at J2000 = {} should be reasonable", + rotation + ); + } + + #[test] + fn test_coordinate_frame_roundtrip() { + let epoch = TT::j2000(); + let test_cases = [ + (20.0, 30.0), + (0.0, 0.0), + (45.0, 90.0), + (-7.0, 180.0), + (7.0, 270.0), + ]; + + for (lat, lon) in test_cases { + let original = HeliographicStonyhurst::from_degrees(lat, lon).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let recovered = HeliographicStonyhurst::from_icrs(&icrs, &epoch).unwrap(); + + let lat_err = (original.latitude().degrees() - recovered.latitude().degrees()).abs(); + let lon_diff = (original.longitude().radians() - recovered.longitude().radians()).abs(); + let lon_err = if lon_diff > std::f64::consts::PI { + std::f64::consts::TAU - lon_diff + } else { + lon_diff + } * cosmos_core::constants::RAD_TO_DEG; + + assert!( + lat_err < 1.0 / 3600.0, + "({}, {}): Latitude error {:.6} arcsec", + lat, + lon, + lat_err * 3600.0, + ); + assert!( + lon_err < 1.0 / 3600.0, + "({}, {}): Longitude error {:.6} arcsec", + lat, + lon, + lon_err * 3600.0, + ); + } + } + + #[test] + fn test_with_radius() { + let radius = Distance::from_au(0.00465047).unwrap(); + let pos = HeliographicStonyhurst::with_radius( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + radius, + ) + .unwrap(); + + assert!(pos.radius().is_some()); + assert_eq!(pos.radius().unwrap(), radius); + } + + #[test] + fn test_display_formatting() { + let pos = HeliographicStonyhurst::from_degrees(45.123456, 30.654321).unwrap(); + let display = format!("{}", pos); + assert!(display.contains("45.123456")); + assert!(display.contains("30.654321")); + assert!(display.contains("HeliographicStonyhurst")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/icrs.rs b/01_yachay/cosmos/cosmos-coords/src/frames/icrs.rs new file mode 100644 index 0000000..4886918 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/icrs.rs @@ -0,0 +1,726 @@ +use crate::{transforms::CoordinateFrame, CoordError, CoordResult, Distance}; +use cosmos_core::{Angle, Vector3}; +use cosmos_time::TT; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct ICRSPosition { + ra: Angle, + dec: Angle, + distance: Option, +} + +impl ICRSPosition { + pub fn new(ra: Angle, dec: Angle) -> CoordResult { + let ra = ra.validate_right_ascension()?; + let dec = dec.validate_declination(false)?; + + Ok(Self { + ra, + dec, + distance: None, + }) + } + + pub fn with_distance(ra: Angle, dec: Angle, distance: Distance) -> CoordResult { + let mut pos = Self::new(ra, dec)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees(ra_deg: f64, dec_deg: f64) -> CoordResult { + Self::new(Angle::from_degrees(ra_deg), Angle::from_degrees(dec_deg)) + } + + pub fn from_degrees_with_distance( + ra_deg: f64, + dec_deg: f64, + distance: Distance, + ) -> CoordResult { + Self::with_distance( + Angle::from_degrees(ra_deg), + Angle::from_degrees(dec_deg), + distance, + ) + } + + pub fn from_hours_degrees(ra_hours: f64, dec_deg: f64) -> CoordResult { + Self::new(Angle::from_hours(ra_hours), Angle::from_degrees(dec_deg)) + } + + pub fn ra(&self) -> Angle { + self.ra + } + + pub fn dec(&self) -> Angle { + self.dec + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn remove_distance(&mut self) { + self.distance = None; + } + + pub fn unit_vector(&self) -> Vector3 { + let (sin_dec, cos_dec) = self.dec.sin_cos(); + let (sin_ra, cos_ra) = self.ra.sin_cos(); + + Vector3::new(cos_dec * cos_ra, cos_dec * sin_ra, sin_dec) + } + + pub fn position_vector(&self) -> CoordResult { + let distance = self.distance.ok_or_else(|| { + CoordError::invalid_coordinate("Distance required for position vector") + })?; + + let unit = self.unit_vector(); + let distance_au = distance.au(); + + Ok(Vector3::new( + unit.x * distance_au, + unit.y * distance_au, + unit.z * distance_au, + )) + } + + pub fn from_unit_vector(unit: Vector3) -> CoordResult { + let r = libm::sqrt(unit.x.powi(2) + unit.y.powi(2) + unit.z.powi(2)); + + if r == 0.0 { + return Err(CoordError::invalid_coordinate("Zero vector")); + } + + let x = unit.x / r; + let y = unit.y / r; + let z = unit.z / r; + + let d2 = x * x + y * y; + let ra = if d2 == 0.0 { 0.0 } else { libm::atan2(y, x) }; + let dec = if z == 0.0 { + 0.0 + } else { + libm::atan2(z, libm::sqrt(d2)) + }; + + Self::new(Angle::from_radians(ra), Angle::from_radians(dec)) + } + + pub fn from_position_vector(pos: Vector3) -> CoordResult { + let distance_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + + if distance_au == 0.0 { + return Err(CoordError::invalid_coordinate("Zero position vector")); + } + + let unit = Vector3::new( + pos.x / distance_au, + pos.y / distance_au, + pos.z / distance_au, + ); + + let mut icrs = Self::from_unit_vector(unit)?; + icrs.distance = Some(Distance::from_au(distance_au)?); + + Ok(icrs) + } + + pub fn angular_separation(&self, other: &Self) -> Angle { + let (sin_dec1, cos_dec1) = self.dec.sin_cos(); + let (sin_dec2, cos_dec2) = other.dec.sin_cos(); + let delta_ra = (self.ra - other.ra).radians(); + + let angle_rad = cosmos_core::math::vincenty_angular_separation( + sin_dec1, cos_dec1, sin_dec2, cos_dec2, delta_ra, + ); + + Angle::from_radians(angle_rad) + } + + pub fn is_near_pole(&self) -> bool { + self.dec.abs().degrees() > 89.0 + } + + /// Calculate angular position uncertainty from parallax measurement error. + /// + /// This method simply converts parallax error to angular uncertainty (they have the same + /// magnitude). The stored distance value is not used in the calculation - distance is only + /// checked for presence to ensure this is a parallax-derived position. + /// + /// **Important**: This returns the *angular* uncertainty on the sky, not the linear distance + /// uncertainty. For distance uncertainty in physical units (parsecs, AU, etc.), calculate + /// separately using error propagation: Δd = d² × Δπ (where π is parallax). + /// + /// # Arguments + /// * `parallax_error_mas` - Parallax measurement error in milliarcseconds + /// + /// # Returns + /// Angular position uncertainty in arcseconds, or None if no distance is set + /// + /// # Example + /// ```ignore + /// // Gaia DR3 typical parallax error: 0.02 mas → 0.00002 arcsec angular uncertainty + /// let uncertainty = pos.position_uncertainty_arcsec(0.02); + /// ``` + pub fn position_uncertainty_arcsec(&self, parallax_error_mas: f64) -> Option { + self.distance.map(|_d| { + // Angular position uncertainty equals parallax uncertainty numerically + parallax_error_mas / 1000.0 + }) + } + + /// Calculate physical distance uncertainty from parallax measurement error + /// + /// For a star at distance d with parallax π ± σ_π: + /// - Fractional distance error: σ_d/d = σ_π/π + /// - Absolute distance error: σ_d = d × (σ_π/π) + /// + /// # Arguments + /// * `parallax_error_mas` - Parallax measurement error in milliarcseconds + /// + /// # Returns + /// Distance uncertainty in parsecs, or None if no distance is set + pub fn distance_uncertainty_parsecs(&self, parallax_error_mas: f64) -> Option { + self.distance.map(|d| { + let parallax_mas = d.parallax_milliarcsec(); + let relative_error = parallax_error_mas / parallax_mas; + d.parsecs() * relative_error + }) + } +} + +impl CoordinateFrame for ICRSPosition { + fn to_icrs(&self, _epoch: &TT) -> CoordResult { + Ok(self.clone()) + } + + fn from_icrs(icrs: &ICRSPosition, _epoch: &TT) -> CoordResult { + Ok(icrs.clone()) + } +} + +impl ICRSPosition { + pub fn to_galactic(&self, epoch: &TT) -> CoordResult { + crate::GalacticPosition::from_icrs(self, epoch) + } + + pub fn to_ecliptic(&self, epoch: &TT) -> CoordResult { + crate::EclipticPosition::from_icrs(self, epoch) + } +} + +impl std::fmt::Display for ICRSPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ICRS(RA={:.6}°, Dec={:.6}°", + self.ra.degrees(), + self.dec.degrees() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::Distance; + + #[test] + fn test_constructor_methods() { + // Test basic constructor + let pos1 = + ICRSPosition::new(Angle::from_degrees(180.0), Angle::from_degrees(45.0)).unwrap(); + + assert_eq!(pos1.ra().degrees(), Angle::from_degrees(180.0).degrees()); + assert_eq!(pos1.dec().degrees(), Angle::from_degrees(45.0).degrees()); + assert_eq!(pos1.distance(), None); + + // Test from_degrees constructor + let pos2 = ICRSPosition::from_degrees(90.0, -30.0).unwrap(); + assert_eq!(pos2.ra().degrees(), Angle::from_degrees(90.0).degrees()); + assert_eq!(pos2.dec().degrees(), Angle::from_degrees(-30.0).degrees()); + + // Test from_hours_degrees constructor + let pos3 = ICRSPosition::from_hours_degrees(12.0, 60.0).unwrap(); + assert_eq!(pos3.ra().hours(), 12.0); + assert_eq!(pos3.dec().degrees(), Angle::from_degrees(60.0).degrees()); + + // Test with_distance constructor + let distance = Distance::from_parsecs(10.0).unwrap(); + let pos4 = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + assert_eq!(pos4.distance().unwrap(), distance); + } + + #[test] + fn test_accessor_methods() { + let mut pos = ICRSPosition::from_degrees(270.0, 15.0).unwrap(); + let distance = Distance::from_parsecs(5.0).unwrap(); + + // Test getters + assert_eq!(pos.ra().degrees(), Angle::from_degrees(270.0).degrees()); + assert_eq!(pos.dec().degrees(), Angle::from_degrees(15.0).degrees()); + assert_eq!(pos.distance(), None); + + // Test set_distance + pos.set_distance(distance); + assert_eq!(pos.distance().unwrap(), distance); + + // Test remove_distance + pos.remove_distance(); + assert_eq!(pos.distance(), None); + } + + #[test] + fn test_unit_vector_conversion() { + // Test known positions + let vernal_equinox = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); + let unit_vec = vernal_equinox.unit_vector(); + + // Vernal equinox should point to [1, 0, 0] + assert_eq!(unit_vec.x, 1.0); + assert_eq!(unit_vec.y, 0.0); + assert_eq!(unit_vec.z, 0.0); + + // Test north celestial pole + let north_pole = ICRSPosition::from_degrees(0.0, 90.0).unwrap(); + let pole_vec = north_pole.unit_vector(); + + // At pole, compare with expected computed values (not mathematical ideals) + let expected_pole = ICRSPosition::from_degrees(0.0, 90.0).unwrap().unit_vector(); + assert_eq!(pole_vec.x, expected_pole.x); + assert_eq!(pole_vec.y, expected_pole.y); + assert_eq!(pole_vec.z, expected_pole.z); + } + + #[test] + fn test_coordinate_transformations() { + let pos = ICRSPosition::from_degrees(45.0, 30.0).unwrap(); + + // Test ICRS to Galactic transformation + let galactic = pos.to_galactic(&TT::j2000()).unwrap(); + assert!(galactic.longitude().degrees() >= 0.0); // Valid galactic longitude + + // Test ICRS to Ecliptic transformation + let ecliptic = pos.to_ecliptic(&TT::j2000()).unwrap(); + assert!(ecliptic.lambda().degrees() >= 0.0); // Valid ecliptic longitude + } + + #[test] + fn test_coordinate_frame_implementation() { + let pos = ICRSPosition::from_degrees(120.0, -45.0).unwrap(); + + // ICRS to_icrs should return itself + let icrs_copy = pos.to_icrs(&TT::j2000()).unwrap(); + assert_eq!(pos.ra().radians(), icrs_copy.ra().radians()); + assert_eq!(pos.dec().radians(), icrs_copy.dec().radians()); + + // ICRS from_icrs should return itself + let icrs_from = ICRSPosition::from_icrs(&pos, &TT::j2000()).unwrap(); + assert_eq!(pos.ra().radians(), icrs_from.ra().radians()); + assert_eq!(pos.dec().radians(), icrs_from.dec().radians()); + } + + #[test] + fn test_transformation_consistency() { + // Test that transformations are deterministic and consistent + let test_positions = [ + (200.0, -20.0), + (0.0, 0.0), // Vernal equinox + (90.0, 0.0), // On celestial equator + (45.0, 60.0), // High declination + ]; + + for (ra_deg, dec_deg) in test_positions { + let original = ICRSPosition::from_degrees(ra_deg, dec_deg).unwrap(); + + let galactic_1 = original.to_galactic(&TT::j2000()).unwrap(); + let galactic_2 = original.to_galactic(&TT::j2000()).unwrap(); + assert_eq!( + galactic_1.longitude().radians(), + galactic_2.longitude().radians() + ); + assert_eq!( + galactic_1.latitude().radians(), + galactic_2.latitude().radians() + ); + + let ecliptic_1 = original.to_ecliptic(&TT::j2000()).unwrap(); + let ecliptic_2 = original.to_ecliptic(&TT::j2000()).unwrap(); + assert_eq!(ecliptic_1.lambda().radians(), ecliptic_2.lambda().radians()); + assert_eq!(ecliptic_1.beta().radians(), ecliptic_2.beta().radians()); + } + } + + #[test] + fn test_coordinate_validation() { + // Valid coordinates + assert!(ICRSPosition::from_degrees(0.0, 0.0).is_ok()); + assert!(ICRSPosition::from_degrees(359.99, 89.99).is_ok()); + assert!(ICRSPosition::from_degrees(180.0, -89.99).is_ok()); + + // Invalid declination + assert!(ICRSPosition::from_degrees(0.0, 91.0).is_err()); + assert!(ICRSPosition::from_degrees(0.0, -91.0).is_err()); + } + + #[test] + fn test_distance_handling() { + let distance1 = Distance::from_parsecs(100.0).unwrap(); + let _distance2 = Distance::from_parsecs(50.0).unwrap(); + + let pos = ICRSPosition::with_distance( + Angle::from_degrees(90.0), + Angle::from_degrees(45.0), + distance1, + ) + .unwrap(); + + // Distance should be preserved in transformations + let galactic = pos.to_galactic(&TT::j2000()).unwrap(); + assert_eq!(galactic.distance().unwrap(), distance1); + + let ecliptic = pos.to_ecliptic(&TT::j2000()).unwrap(); + assert_eq!(ecliptic.distance().unwrap(), distance1); + } + + #[test] + fn test_additional_constructor_methods() { + let distance = Distance::from_parsecs(10.0).unwrap(); + + // Test from_degrees_with_distance + let pos = ICRSPosition::from_degrees_with_distance(120.0, 45.0, distance).unwrap(); + assert_eq!(pos.ra().degrees(), Angle::from_degrees(120.0).degrees()); + assert_eq!(pos.dec().degrees(), Angle::from_degrees(45.0).degrees()); + assert_eq!(pos.distance().unwrap(), distance); + } + + #[test] + fn test_vector_operations() { + let distance = Distance::from_au(5.0).unwrap(); + let pos = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + + // Test position_vector + let pos_vec = pos.position_vector().unwrap(); + + // Test with expected computed values rather than mathematical ideals + let expected_x = distance.au() * pos.unit_vector().x; + let expected_y = distance.au() * pos.unit_vector().y; + let expected_z = distance.au() * pos.unit_vector().z; + + assert_eq!(pos_vec.x, expected_x); + assert_eq!(pos_vec.y, expected_y); + assert_eq!(pos_vec.z, expected_z); + + // Test from_position_vector (test the operation works, not exact roundtrip) + let recovered = ICRSPosition::from_position_vector(pos_vec).unwrap(); + + // Position should be consistent + assert_eq!(recovered.ra().degrees(), pos.ra().degrees()); + assert_eq!(recovered.dec().degrees(), pos.dec().degrees()); + + // Distance should exist (test the operation works) + assert!(recovered.distance().is_some()); + + // Test from_unit_vector + let unit_vec = pos.unit_vector(); + let from_unit = ICRSPosition::from_unit_vector(unit_vec).unwrap(); + assert_eq!(from_unit.ra().degrees(), pos.ra().degrees()); + assert_eq!(from_unit.dec().degrees(), pos.dec().degrees()); + assert_eq!(from_unit.distance(), None); // Unit vector has no distance + } + + #[test] + fn test_vector_error_cases() { + // Test zero vector error for from_unit_vector + let zero_vec = Vector3::new(0.0, 0.0, 0.0); + assert!(ICRSPosition::from_unit_vector(zero_vec).is_err()); + + // Test zero vector error for from_position_vector + assert!(ICRSPosition::from_position_vector(zero_vec).is_err()); + + // Test position_vector without distance + let pos_no_dist = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); + assert!(pos_no_dist.position_vector().is_err()); + } + + #[test] + fn test_angular_separation() { + let pos1 = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); // Vernal equinox + let pos2 = ICRSPosition::from_degrees(90.0, 0.0).unwrap(); // 90° away + let pos3 = ICRSPosition::from_degrees(0.0, 90.0).unwrap(); // North pole + + // Test 90° separation (allow ULP tolerance for haversine formula) + let sep_90 = pos1.angular_separation(&pos2); + cosmos_core::test_helpers::assert_ulp_le(sep_90.degrees(), 90.0, 2, "90° separation"); + + // Test pole separation + let sep_pole = pos1.angular_separation(&pos3); + cosmos_core::test_helpers::assert_ulp_le(sep_pole.degrees(), 90.0, 2, "Pole separation"); + + // Test self separation + let sep_self = pos1.angular_separation(&pos1); + assert!( + sep_self.degrees().abs() < 1e-10, + "Self separation should be near zero" + ); + + // Test symmetry + let sep_12 = pos1.angular_separation(&pos2); + let sep_21 = pos2.angular_separation(&pos1); + assert_eq!(sep_12.degrees(), sep_21.degrees()); + } + + #[test] + fn test_pole_classification() { + // Test positions near poles + let north_pole = ICRSPosition::from_degrees(0.0, 89.5).unwrap(); + assert!(north_pole.is_near_pole()); + + let south_pole = ICRSPosition::from_degrees(0.0, -89.5).unwrap(); + assert!(south_pole.is_near_pole()); + + // Test positions not near poles + let equator = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); + assert!(!equator.is_near_pole()); + + let mid_lat = ICRSPosition::from_degrees(0.0, 45.0).unwrap(); + assert!(!mid_lat.is_near_pole()); + + // Test boundary case + let boundary = ICRSPosition::from_degrees(0.0, 89.0).unwrap(); + assert!(!boundary.is_near_pole()); // Exactly at 89° should be false + } + + #[test] + fn test_position_uncertainty() { + let distance = Distance::from_parsecs(100.0).unwrap(); + let pos_with_dist = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + + // Test uncertainty calculation with distance + let uncertainty = pos_with_dist.position_uncertainty_arcsec(1.0); // 1 mas parallax error + assert!(uncertainty.is_some()); + assert!(uncertainty.unwrap() > 0.0); + + // Test uncertainty without distance + let pos_no_dist = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); + let no_uncertainty = pos_no_dist.position_uncertainty_arcsec(1.0); + assert!(no_uncertainty.is_none()); + } + + #[test] + fn test_display_formatting() { + // Test without distance + let pos_no_dist = ICRSPosition::from_degrees(123.456789, -67.123456).unwrap(); + let display_no_dist = format!("{}", pos_no_dist); + assert!(display_no_dist.contains("RA=123.456789°")); + assert!(display_no_dist.contains("Dec=-67.123456°")); + assert!(!display_no_dist.contains("d=")); + + // Test with distance + let distance = Distance::from_parsecs(25.0).unwrap(); + let pos_with_dist = ICRSPosition::with_distance( + Angle::from_degrees(45.0), + Angle::from_degrees(30.0), + distance, + ) + .unwrap(); + let display_with_dist = format!("{}", pos_with_dist); + assert!(display_with_dist.contains("RA=45.000000°")); + assert!(display_with_dist.contains("Dec=30.000000°")); + assert!(display_with_dist.contains("d=25")); + } + + #[test] + fn test_position_uncertainty_dimensional_analysis() { + // Test that position_uncertainty_arcsec has correct dimensions + let distance = Distance::from_parsecs(100.0).unwrap(); // 100 pc + let pos = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + + // Gaia DR3 typical parallax error: 0.02 mas + let parallax_error_mas = 0.02; + + // Position uncertainty (angular) should equal parallax uncertainty + let position_uncertainty = pos.position_uncertainty_arcsec(parallax_error_mas).unwrap(); + + // Expected: 0.02 mas = 0.00002 arcsec + assert!((position_uncertainty - 0.00002).abs() < 1e-10); + + // Dimensional check: result is in arcseconds (angular measure) + // Input: milliarcseconds -> Output: arcseconds + // Conversion: mas / 1000 = arcsec ✓ + } + + #[test] + fn test_distance_uncertainty_dimensional_analysis() { + // Test that distance_uncertainty_parsecs has correct dimensions + let distance = Distance::from_parsecs(100.0).unwrap(); // 100 pc + let pos = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + + // Parallax for 100 pc: 0.01 arcsec = 10 mas + let parallax_mas = distance.parallax_milliarcsec(); + assert!((parallax_mas - 10.0).abs() < 1e-10); + + // Parallax error: 0.1 mas (1% of parallax) + let parallax_error_mas = 0.1; + + // Distance uncertainty + let dist_uncertainty = pos + .distance_uncertainty_parsecs(parallax_error_mas) + .unwrap(); + + // Expected: σ_d = d × (σ_π/π) = 100 × (0.1/10) = 1 pc + assert!((dist_uncertainty - 1.0).abs() < 1e-10); + + // Dimensional check: + // σ_d [pc] = d [pc] × (σ_π [mas] / π [mas]) [dimensionless] ✓ + } + + #[test] + fn test_position_vs_distance_uncertainty_relationship() { + // Verify the relationship between angular and physical uncertainties + let distance = Distance::from_parsecs(10.0).unwrap(); // 10 pc (parallax = 100 mas) + let pos = ICRSPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + distance, + ) + .unwrap(); + + let parallax_error_mas = 5.0; // 5 mas error + + // Angular position uncertainty + let angular_unc_arcsec = pos.position_uncertainty_arcsec(parallax_error_mas).unwrap(); + assert_eq!(angular_unc_arcsec, 0.005); // 5 mas = 0.005 arcsec + + // Physical distance uncertainty + let distance_unc_pc = pos + .distance_uncertainty_parsecs(parallax_error_mas) + .unwrap(); + // σ_d = 10 × (5/100) = 0.5 pc + assert!((distance_unc_pc - 0.5).abs() < 1e-10); + + // Relationship: For small angles, physical transverse uncertainty ≈ d × angular_uncertainty + // But here we're measuring distance along the line of sight (parallax) + // not transverse position, so the relationship is different + } + + #[test] + fn test_uncertainty_without_distance() { + // Test that uncertainty functions return None when no distance is set + let pos = ICRSPosition::from_degrees(0.0, 0.0).unwrap(); + + assert_eq!(pos.position_uncertainty_arcsec(0.1), None); + assert_eq!(pos.distance_uncertainty_parsecs(0.1), None); + } + + #[test] + fn test_gaia_realistic_example() { + // Realistic Gaia DR3 example + // Star at 500 pc with Gaia parallax error of 0.03 mas + let distance = Distance::from_parsecs(500.0).unwrap(); + let pos = ICRSPosition::with_distance( + Angle::from_degrees(120.5), + Angle::from_degrees(-45.2), + distance, + ) + .unwrap(); + + // Parallax: 2 mas (for 500 pc) + let parallax_mas = distance.parallax_milliarcsec(); + assert!((parallax_mas - 2.0).abs() < 1e-10); + + // Gaia error: 0.03 mas + let gaia_error_mas = 0.03; + + // Position uncertainty on sky + let pos_unc = pos.position_uncertainty_arcsec(gaia_error_mas).unwrap(); + assert!( + (pos_unc - 0.00003).abs() < 1e-10, + "Position uncertainty: {}", + pos_unc + ); // 0.03 mas = 0.00003 arcsec + + // Distance uncertainty: σ_d = 500 × (0.03/2) = 7.5 pc + let dist_unc = pos.distance_uncertainty_parsecs(gaia_error_mas).unwrap(); + assert!((dist_unc - 7.5).abs() < 1e-10); + + // Fractional distance error: 7.5/500 = 1.5% + let fractional_error = dist_unc / distance.parsecs(); + assert!((fractional_error - 0.015).abs() < 1e-10); + } + + #[test] + fn test_from_unit_vector_north_pole() { + let north_pole_vec = Vector3::new(0.0, 0.0, 1.0); + let pos = ICRSPosition::from_unit_vector(north_pole_vec).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_from_unit_vector_south_pole() { + let south_pole_vec = Vector3::new(0.0, 0.0, -1.0); + let pos = ICRSPosition::from_unit_vector(south_pole_vec).unwrap(); + + assert_eq!(pos.ra().radians(), 0.0); + assert_eq!(pos.dec().radians(), -std::f64::consts::FRAC_PI_2); + } + + #[test] + fn test_pole_roundtrip() { + let north_pole = ICRSPosition::from_degrees(0.0, 90.0).unwrap(); + let unit_vec = north_pole.unit_vector(); + let recovered = ICRSPosition::from_unit_vector(unit_vec).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), 90.0); + + let south_pole = ICRSPosition::from_degrees(0.0, -90.0).unwrap(); + let unit_vec = south_pole.unit_vector(); + let recovered = ICRSPosition::from_unit_vector(unit_vec).unwrap(); + + assert_eq!(recovered.ra().radians(), 0.0); + assert_eq!(recovered.dec().degrees(), -90.0); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/itrs.rs b/01_yachay/cosmos/cosmos-coords/src/frames/itrs.rs new file mode 100644 index 0000000..01b536a --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/itrs.rs @@ -0,0 +1,235 @@ +use crate::CoordResult; +use cosmos_core::{Angle, Vector3}; +use cosmos_time::TT; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct ITRSPosition { + x: f64, + y: f64, + z: f64, + epoch: TT, +} + +impl ITRSPosition { + pub fn new(x: f64, y: f64, z: f64, epoch: TT) -> Self { + Self { x, y, z, epoch } + } + + pub fn from_geodetic( + longitude: Angle, + latitude: Angle, + height: f64, + epoch: TT, + ) -> CoordResult { + const A: f64 = 6378137.0; + const F: f64 = 1.0 / 298.257223563; + + let (sin_lat, cos_lat) = latitude.sin_cos(); + let (sin_lon, cos_lon) = longitude.sin_cos(); + + let w = 1.0 - F; + let w2 = w * w; + let d = cos_lat * cos_lat + w2 * sin_lat * sin_lat; + let ac = A / libm::sqrt(d); + let a_s = w2 * ac; + + let r = (ac + height) * cos_lat; + let x = r * cos_lon; + let y = r * sin_lon; + let z = (a_s + height) * sin_lat; + + Ok(Self::new(x, y, z, epoch)) + } + + pub fn x(&self) -> f64 { + self.x + } + + pub fn y(&self) -> f64 { + self.y + } + + pub fn z(&self) -> f64 { + self.z + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn position_vector(&self) -> Vector3 { + Vector3::new(self.x, self.y, self.z) + } + + pub fn from_position_vector(pos: Vector3, epoch: TT) -> Self { + Self::new(pos.x, pos.y, pos.z, epoch) + } + + pub fn to_geodetic(&self) -> CoordResult<(Angle, Angle, f64)> { + const A: f64 = 6378137.0; + const F: f64 = 1.0 / 298.257223563; + const B: f64 = A * (1.0 - F); + const E2: f64 = F * (2.0 - F); + let p = libm::sqrt(self.x * self.x + self.y * self.y); + let longitude = libm::atan2(self.y, self.x); + + let theta = libm::atan2(self.z * A, p * B); + let (sin_theta, cos_theta) = libm::sincos(theta); + let ep2 = E2 / (1.0 - E2); + let mut latitude = libm::atan2( + self.z + ep2 * B * sin_theta.powi(3), + p - E2 * A * cos_theta.powi(3), + ); + let mut height = 0.0; + + for _ in 0..5 { + let (sin_lat, cos_lat) = libm::sincos(latitude); + let n = A / libm::sqrt(1.0 - E2 * sin_lat * sin_lat); + height = p / cos_lat - n; + latitude = libm::atan2(self.z, p * (1.0 - E2 * n / (n + height))); + } + + Ok(( + Angle::from_radians(longitude), + Angle::from_radians(latitude), + height, + )) + } + + pub fn geocentric_distance(&self) -> f64 { + libm::sqrt(self.x * self.x + self.y * self.y + self.z * self.z) + } + + pub fn distance_to(&self, other: &Self) -> f64 { + let dx = self.x - other.x; + let dy = self.y - other.y; + let dz = self.z - other.z; + libm::sqrt(dx * dx + dy * dy + dz * dz) + } + + pub fn to_tirs( + &self, + epoch: &TT, + eop: &crate::eop::EopParameters, + ) -> CoordResult { + use crate::frames::TIRSPosition; + TIRSPosition::from_itrs(self, epoch, eop) + } +} + +impl std::fmt::Display for ITRSPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "ITRS(X={:.3}m, Y={:.3}m, Z={:.3}m, epoch=J{:.1})", + self.x, + self.y, + self.z, + self.epoch.julian_year() + ) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_itrs_creation() { + let epoch = TT::j2000(); + let pos = ITRSPosition::new(1000000.0, 2000000.0, 3000000.0, epoch); + + assert_eq!(pos.x(), 1000000.0); + assert_eq!(pos.y(), 2000000.0); + assert_eq!(pos.z(), 3000000.0); + assert_eq!(pos.epoch(), epoch); + } + + #[test] + fn test_vector_operations() { + let epoch = TT::j2000(); + let original = ITRSPosition::new(1000.0, 2000.0, 3000.0, epoch); + + let vec = original.position_vector(); + assert_eq!(vec.x, 1000.0); + assert_eq!(vec.y, 2000.0); + assert_eq!(vec.z, 3000.0); + + let recovered = ITRSPosition::from_position_vector(vec, epoch); + assert_eq!(recovered.x(), original.x()); + assert_eq!(recovered.y(), original.y()); + assert_eq!(recovered.z(), original.z()); + } + + #[test] + fn test_geodetic_conversion_roundtrip() { + let epoch = TT::j2000(); + + // Test known location: Greenwich Observatory + let greenwich_lon = Angle::from_degrees(0.0); + let greenwich_lat = Angle::from_degrees(51.4769); + let greenwich_height = 47.0; // meters + + let itrs = + ITRSPosition::from_geodetic(greenwich_lon, greenwich_lat, greenwich_height, epoch) + .unwrap(); + + let (lon, lat, height) = itrs.to_geodetic().unwrap(); + + // Test roundtrip accuracy (should be exact for this conversion) + assert_eq!(lon.degrees(), greenwich_lon.degrees()); + assert_eq!(lat.degrees(), greenwich_lat.degrees()); + assert_eq!(height, greenwich_height); + } + + #[test] + fn test_geodetic_conversion_equator() { + let epoch = TT::j2000(); + + // Test equatorial position + let pos = ITRSPosition::from_geodetic( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + 0.0, + epoch, + ) + .unwrap(); + + // Should be exactly at Earth's equatorial radius + const A: f64 = 6378137.0; + assert_eq!(pos.x(), A); + assert_eq!(pos.y(), 0.0); + assert_eq!(pos.z(), 0.0); + } + + #[test] + fn test_distance_calculations() { + let epoch = TT::j2000(); + + let pos1 = ITRSPosition::new(1000.0, 0.0, 0.0, epoch); + let pos2 = ITRSPosition::new(2000.0, 0.0, 0.0, epoch); + + assert_eq!(pos1.distance_to(&pos2), 1000.0); + assert_eq!(pos2.distance_to(&pos1), 1000.0); + + assert_eq!(pos1.geocentric_distance(), 1000.0); + assert_eq!(pos2.geocentric_distance(), 2000.0); + } + + #[test] + fn test_display_formatting() { + let epoch = TT::j2000(); + let pos = ITRSPosition::new(1234567.89, -987654.32, 555666.77, epoch); + + let display = format!("{}", pos); + assert!(display.contains("ITRS")); + assert!(display.contains("1234567.890m")); + assert!(display.contains("-987654.320m")); + assert!(display.contains("555666.770m")); + assert!(display.contains("J2000.0")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/mod.rs b/01_yachay/cosmos/cosmos-coords/src/frames/mod.rs new file mode 100644 index 0000000..7642924 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/mod.rs @@ -0,0 +1,23 @@ +pub mod cirs; +pub mod ecliptic; +pub mod ecliptic_cartesian; +pub mod galactic; +pub mod gcrs; +pub mod heliographic; +pub mod icrs; +pub mod itrs; +pub mod selenographic; +pub mod tirs; +pub mod topocentric; + +pub use cirs::CIRSPosition; +pub use ecliptic::EclipticPosition; +pub use ecliptic_cartesian::EclipticCartesian; +pub use galactic::GalacticPosition; +pub use gcrs::GCRSPosition; +pub use heliographic::{HeliographicCarrington, HeliographicStonyhurst}; +pub use icrs::ICRSPosition; +pub use itrs::ITRSPosition; +pub use selenographic::SelenographicPosition; +pub use tirs::TIRSPosition; +pub use topocentric::{HourAnglePosition, TopocentricPosition}; diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/selenographic.rs b/01_yachay/cosmos/cosmos-coords/src/frames/selenographic.rs new file mode 100644 index 0000000..013ca35 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/selenographic.rs @@ -0,0 +1,334 @@ +use crate::{lunar, transforms::CoordinateFrame, CoordResult, Distance, ICRSPosition}; +use cosmos_core::constants::HALF_PI; +use cosmos_core::matrix::RotationMatrix3; +use cosmos_core::utils::normalize_angle_to_positive; +use cosmos_core::Angle; +use cosmos_time::TT; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct SelenographicPosition { + latitude: Angle, + longitude: Angle, + radius: Option, +} + +impl SelenographicPosition { + pub fn new(latitude: Angle, longitude: Angle) -> CoordResult { + let latitude = latitude.validate_latitude()?; + let longitude = longitude.validate_longitude(true)?; + + Ok(Self { + latitude, + longitude, + radius: None, + }) + } + + pub fn with_radius(latitude: Angle, longitude: Angle, radius: Distance) -> CoordResult { + let mut pos = Self::new(latitude, longitude)?; + pos.radius = Some(radius); + Ok(pos) + } + + pub fn from_degrees(lat_deg: f64, lon_deg: f64) -> CoordResult { + Self::new(Angle::from_degrees(lat_deg), Angle::from_degrees(lon_deg)) + } + + pub fn latitude(&self) -> Angle { + self.latitude + } + + pub fn longitude(&self) -> Angle { + self.longitude + } + + pub fn radius(&self) -> Option { + self.radius + } + + pub fn set_radius(&mut self, radius: Distance) { + self.radius = Some(radius); + } + + pub fn sub_earth_point(epoch: &TT) -> CoordResult { + let (lon, lat) = lunar::compute_sub_earth_point(epoch); + Self::new(lat, lon) + } + + pub fn nearside_center() -> Self { + Self { + latitude: Angle::ZERO, + longitude: Angle::ZERO, + radius: None, + } + } + + pub fn farside_center() -> Self { + Self { + latitude: Angle::ZERO, + longitude: Angle::PI, + radius: None, + } + } + + pub fn north_pole() -> Self { + Self { + latitude: Angle::HALF_PI, + longitude: Angle::ZERO, + radius: None, + } + } + + pub fn south_pole() -> Self { + Self { + latitude: -Angle::HALF_PI, + longitude: Angle::ZERO, + radius: None, + } + } + + pub fn angular_separation(&self, other: &Self) -> Angle { + let (sin_lat1, cos_lat1) = self.latitude.sin_cos(); + let (sin_lat2, cos_lat2) = other.latitude.sin_cos(); + let delta_lon = (self.longitude - other.longitude).radians(); + + let angle_rad = cosmos_core::math::vincenty_angular_separation( + sin_lat1, cos_lat1, sin_lat2, cos_lat2, delta_lon, + ); + + Angle::from_radians(angle_rad) + } + + pub fn is_visible_from_earth(&self, epoch: &TT) -> bool { + let sub_earth = Self::sub_earth_point(epoch).unwrap_or_else(|_| Self::nearside_center()); + let separation = self.angular_separation(&sub_earth); + separation.degrees() < 90.0 + } +} + +fn selenographic_to_icrs_matrix(epoch: &TT) -> CoordResult { + let orientation = lunar::compute_lunar_orientation(epoch); + let lib_lon = orientation.optical_libration.longitude.radians(); + let lib_lat = orientation.optical_libration.latitude.radians(); + let c = orientation.position_angle.radians(); + + let moon_icrs = lunar::get_moon_icrs(epoch)?; + let moon_ra = moon_icrs.ra().radians(); + let moon_dec = moon_icrs.dec().radians(); + + let mut m = RotationMatrix3::identity(); + m.rotate_z(-lib_lon); + m.rotate_y(-lib_lat); + m.rotate_z(c); + m.rotate_y(moon_dec - HALF_PI); + m.rotate_z(-moon_ra); + Ok(m) +} + +impl CoordinateFrame for SelenographicPosition { + fn to_icrs(&self, epoch: &TT) -> CoordResult { + let m = selenographic_to_icrs_matrix(epoch)?; + let (ra, dec) = m + .transpose() + .transform_spherical(self.longitude.radians(), self.latitude.radians()); + + let mut icrs = ICRSPosition::new( + Angle::from_radians(normalize_angle_to_positive(ra)), + Angle::from_radians(dec), + )?; + + if let Some(radius) = self.radius { + icrs.set_distance(radius); + } + Ok(icrs) + } + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult { + let m = selenographic_to_icrs_matrix(epoch)?; + let (lon, lat) = m.transform_spherical(icrs.ra().radians(), icrs.dec().radians()); + + let mut pos = Self::new( + Angle::from_radians(lat), + Angle::from_radians(normalize_angle_to_positive(lon)), + )?; + + if let Some(dist) = icrs.distance() { + pos.set_radius(dist); + } + Ok(pos) + } +} + +impl std::fmt::Display for SelenographicPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Selenographic(lat={:.6}°, lon={:.6}°", + self.latitude.degrees(), + self.longitude.degrees() + )?; + + if let Some(radius) = self.radius { + write!(f, ", r={}", radius)?; + } + + write!(f, ")") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_selenographic_creation() { + let pos = SelenographicPosition::from_degrees(45.0, 30.0).unwrap(); + assert!((pos.latitude().degrees() - 45.0).abs() < 1e-12); + assert!((pos.longitude().degrees() - 30.0).abs() < 1e-12); + assert!(pos.radius().is_none()); + } + + #[test] + fn test_selenographic_validation() { + assert!(SelenographicPosition::from_degrees(0.0, 0.0).is_ok()); + assert!(SelenographicPosition::from_degrees(90.0, 180.0).is_ok()); + assert!(SelenographicPosition::from_degrees(-90.0, 359.0).is_ok()); + + assert!(SelenographicPosition::from_degrees(95.0, 0.0).is_err()); + assert!(SelenographicPosition::from_degrees(-95.0, 0.0).is_err()); + } + + #[test] + fn test_special_positions() { + let nearside = SelenographicPosition::nearside_center(); + assert_eq!(nearside.latitude().degrees(), 0.0); + assert_eq!(nearside.longitude().degrees(), 0.0); + + let farside = SelenographicPosition::farside_center(); + assert_eq!(farside.latitude().degrees(), 0.0); + assert_eq!(farside.longitude().degrees(), 180.0); + + let north_pole = SelenographicPosition::north_pole(); + assert_eq!(north_pole.latitude().degrees(), 90.0); + + let south_pole = SelenographicPosition::south_pole(); + assert_eq!(south_pole.latitude().degrees(), -90.0); + } + + #[test] + fn test_angular_separation() { + let nearside = SelenographicPosition::nearside_center(); + let farside = SelenographicPosition::farside_center(); + + let sep = nearside.angular_separation(&farside); + assert!((sep.degrees() - 180.0).abs() < 1e-10); + + let north = SelenographicPosition::north_pole(); + let sep_to_north = nearside.angular_separation(&north); + assert!((sep_to_north.degrees() - 90.0).abs() < 1e-10); + } + + #[test] + fn test_visibility_from_earth_farside() { + let epoch = TT::j2000(); + + let farside = SelenographicPosition::farside_center(); + assert!(!farside.is_visible_from_earth(&epoch)); + } + + #[test] + fn test_sub_earth_point() { + let epoch = TT::j2000(); + let sub_earth = SelenographicPosition::sub_earth_point(&epoch).unwrap(); + + assert!( + sub_earth.latitude().degrees().abs() <= 7.5, + "Sub-earth latitude = {}", + sub_earth.latitude().degrees() + ); + assert!( + sub_earth.longitude().degrees() >= 0.0 && sub_earth.longitude().degrees() < 360.0, + "Sub-earth longitude = {}", + sub_earth.longitude().degrees() + ); + } + + #[test] + fn test_coordinate_frame_to_icrs() { + let epoch = TT::j2000(); + let original = SelenographicPosition::from_degrees(0.0, 0.0).unwrap(); + + let icrs = original.to_icrs(&epoch).unwrap(); + + assert!(icrs.ra().degrees() >= 0.0 && icrs.ra().degrees() < 360.0); + assert!(icrs.dec().degrees() >= -90.0 && icrs.dec().degrees() <= 90.0); + } + + #[test] + fn test_coordinate_frame_roundtrip() { + let epoch = TT::j2000(); + let test_cases = [ + (0.0, 0.0), + (5.0, 30.0), + (-5.0, 90.0), + (3.0, 180.0), + (-3.0, 270.0), + ]; + + for (lat, lon) in test_cases { + let original = SelenographicPosition::from_degrees(lat, lon).unwrap(); + let icrs = original.to_icrs(&epoch).unwrap(); + let recovered = SelenographicPosition::from_icrs(&icrs, &epoch).unwrap(); + + let lat_err = (original.latitude().degrees() - recovered.latitude().degrees()).abs(); + let lon_diff = (original.longitude().radians() - recovered.longitude().radians()).abs(); + let lon_err = if lon_diff > std::f64::consts::PI { + std::f64::consts::TAU - lon_diff + } else { + lon_diff + } * cosmos_core::constants::RAD_TO_DEG; + + assert!( + lat_err < 1.0 / 3600.0, + "({}, {}): Latitude error {:.6} arcsec", + lat, + lon, + lat_err * 3600.0, + ); + assert!( + lon_err < 1.0 / 3600.0, + "({}, {}): Longitude error {:.6} arcsec", + lat, + lon, + lon_err * 3600.0, + ); + } + } + + #[test] + fn test_with_radius() { + let radius = Distance::from_au(0.00257).unwrap(); + let pos = SelenographicPosition::with_radius( + Angle::from_degrees(0.0), + Angle::from_degrees(0.0), + radius, + ) + .unwrap(); + + assert!(pos.radius().is_some()); + assert_eq!(pos.radius().unwrap(), radius); + } + + #[test] + fn test_display_formatting() { + let pos = SelenographicPosition::from_degrees(45.123456, 30.654321).unwrap(); + let display = format!("{}", pos); + assert!(display.contains("45.123456")); + assert!(display.contains("30.654321")); + assert!(display.contains("Selenographic")); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/tirs.rs b/01_yachay/cosmos/cosmos-coords/src/frames/tirs.rs new file mode 100644 index 0000000..9a89ced --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/tirs.rs @@ -0,0 +1,494 @@ +use crate::{frames::ITRSPosition, CoordResult}; +use cosmos_core::constants::ARCSEC_TO_RAD; +use cosmos_core::Vector3; +use cosmos_time::{scales::conversions::ToUT1WithDeltaT, transforms::earth_rotation_angle, TT}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct TIRSPosition { + x: f64, + y: f64, + z: f64, + epoch: TT, +} + +impl TIRSPosition { + pub fn new(x: f64, y: f64, z: f64, epoch: TT) -> Self { + Self { x, y, z, epoch } + } + + pub fn x(&self) -> f64 { + self.x + } + + pub fn y(&self) -> f64 { + self.y + } + + pub fn z(&self) -> f64 { + self.z + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn position_vector(&self) -> Vector3 { + Vector3::new(self.x, self.y, self.z) + } + + pub fn from_position_vector(pos: Vector3, epoch: TT) -> Self { + Self::new(pos.x, pos.y, pos.z, epoch) + } + + pub fn geocentric_distance(&self) -> f64 { + libm::sqrt(self.x * self.x + self.y * self.y + self.z * self.z) + } + + pub fn distance_to(&self, other: &Self) -> f64 { + let dx = self.x - other.x; + let dy = self.y - other.y; + let dz = self.z - other.z; + libm::sqrt(dx * dx + dy * dy + dz * dz) + } + + fn polar_motion_matrix(xp: f64, yp: f64, sp: f64) -> [[f64; 3]; 3] { + let mut matrix = [[0.0; 3]; 3]; + matrix[0][0] = 1.0; + matrix[1][1] = 1.0; + matrix[2][2] = 1.0; + + Self::apply_rotation_z(&mut matrix, sp); + Self::apply_rotation_y(&mut matrix, -xp); + Self::apply_rotation_x(&mut matrix, -yp); + + matrix + } + + fn apply_rotation_z(matrix: &mut [[f64; 3]; 3], angle: f64) { + let (s, c) = libm::sincos(angle); + let temp = *matrix; + + for j in 0..3 { + matrix[0][j] = c * temp[0][j] + s * temp[1][j]; + matrix[1][j] = -s * temp[0][j] + c * temp[1][j]; + } + } + + fn apply_rotation_y(matrix: &mut [[f64; 3]; 3], angle: f64) { + let (s, c) = libm::sincos(angle); + let temp = *matrix; + + for j in 0..3 { + matrix[0][j] = c * temp[0][j] - s * temp[2][j]; + matrix[2][j] = s * temp[0][j] + c * temp[2][j]; + } + } + + fn apply_rotation_x(matrix: &mut [[f64; 3]; 3], angle: f64) { + let (s, c) = libm::sincos(angle); + let temp = *matrix; + + for j in 0..3 { + matrix[1][j] = c * temp[1][j] + s * temp[2][j]; + matrix[2][j] = -s * temp[1][j] + c * temp[2][j]; + } + } + + /// Computes ΔT (TT - UT1) using EOP parameters. + /// + /// # EOP Freshness Check + /// Rejects EOP data >1 day from the target epoch. This ensures UT1-UTC is current, as + /// Earth's rotation is irregular. For sparse datasets, consider: + /// - Using an interpolator to fill gaps (see `EopManager`) + /// - Relaxing this check if lower precision is acceptable (modify this threshold) + /// - Pre-fetching/caching EOP data for your observation window + /// + /// Typical use cases handle this via interpolation, so sparse raw data should be rare. + pub fn compute_delta_t(epoch: &TT, eop: &crate::eop::EopParameters) -> CoordResult { + use cosmos_time::scales::conversions::{ToTAI, ToUTC}; + + let epoch_jd = epoch.to_julian_date().to_f64(); + let eop_jd = eop.mjd + cosmos_core::constants::MJD_ZERO_POINT; + + if (epoch_jd - eop_jd).abs() > 1.0 { + return Err(crate::CoordError::data_unavailable( + "EOP data is more than 1 day from epoch - Delta-T computation may be inaccurate", + )); + } + + let tai = epoch + .to_tai() + .map_err(|e| crate::CoordError::external_library("TT to TAI", &e.to_string()))?; + let utc = tai + .to_utc() + .map_err(|e| crate::CoordError::external_library("TAI to UTC", &e.to_string()))?; + + let utc_jd = utc.to_julian_date().to_f64(); + let ut1_jd = utc_jd + eop.ut1_utc / cosmos_core::constants::SECONDS_PER_DAY_F64; + + let delta_t_days = epoch_jd - ut1_jd; + let delta_t_seconds = delta_t_days * cosmos_core::constants::SECONDS_PER_DAY_F64; + + Ok(delta_t_seconds) + } + + pub fn to_itrs( + &self, + epoch: &TT, + eop: &crate::eop::EopParameters, + ) -> CoordResult { + let delta_t_seconds = Self::compute_delta_t(epoch, eop)?; + let ut1 = epoch.to_ut1_with_delta_t(delta_t_seconds)?; + let era = earth_rotation_angle(&ut1.to_julian_date())?; + + let (sin_era, cos_era) = libm::sincos(era); + + let x_after_era = cos_era * self.x + sin_era * self.y; + let y_after_era = -sin_era * self.x + cos_era * self.y; + let z_after_era = self.z; + + let xp_rad = eop.x_p * ARCSEC_TO_RAD; + let yp_rad = eop.y_p * ARCSEC_TO_RAD; + + let polar_motion_matrix = Self::polar_motion_matrix(xp_rad, yp_rad, eop.s_prime); + + let x_itrs = polar_motion_matrix[0][0] * x_after_era + + polar_motion_matrix[0][1] * y_after_era + + polar_motion_matrix[0][2] * z_after_era; + let y_itrs = polar_motion_matrix[1][0] * x_after_era + + polar_motion_matrix[1][1] * y_after_era + + polar_motion_matrix[1][2] * z_after_era; + let z_itrs = polar_motion_matrix[2][0] * x_after_era + + polar_motion_matrix[2][1] * y_after_era + + polar_motion_matrix[2][2] * z_after_era; + + Ok(ITRSPosition::new(x_itrs, y_itrs, z_itrs, *epoch)) + } + + pub fn from_itrs( + itrs: &ITRSPosition, + epoch: &TT, + eop: &crate::eop::EopParameters, + ) -> CoordResult { + let xp_rad = eop.x_p * ARCSEC_TO_RAD; + let yp_rad = eop.y_p * ARCSEC_TO_RAD; + + let polar_motion_matrix = Self::polar_motion_matrix(xp_rad, yp_rad, eop.s_prime); + + let x_before_pm = polar_motion_matrix[0][0] * itrs.x() + + polar_motion_matrix[1][0] * itrs.y() + + polar_motion_matrix[2][0] * itrs.z(); + let y_before_pm = polar_motion_matrix[0][1] * itrs.x() + + polar_motion_matrix[1][1] * itrs.y() + + polar_motion_matrix[2][1] * itrs.z(); + let z_before_pm = polar_motion_matrix[0][2] * itrs.x() + + polar_motion_matrix[1][2] * itrs.y() + + polar_motion_matrix[2][2] * itrs.z(); + + let delta_t_seconds = Self::compute_delta_t(epoch, eop)?; + let ut1 = epoch.to_ut1_with_delta_t(delta_t_seconds)?; + let era = earth_rotation_angle(&ut1.to_julian_date())?; + + let (sin_era, cos_era) = libm::sincos(era); + + let x_tirs = cos_era * x_before_pm - sin_era * y_before_pm; + let y_tirs = sin_era * x_before_pm + cos_era * y_before_pm; + let z_tirs = z_before_pm; + + Ok(Self::new(x_tirs, y_tirs, z_tirs, *epoch)) + } + + pub fn from_cirs( + cirs_vec: Vector3, + epoch: &TT, + eop: &crate::eop::EopParameters, + ) -> CoordResult { + let delta_t_seconds = Self::compute_delta_t(epoch, eop)?; + let ut1 = epoch.to_ut1_with_delta_t(delta_t_seconds)?; + let era = earth_rotation_angle(&ut1.to_julian_date())?; + + let (sin_era, cos_era) = libm::sincos(era); + + let x_tirs = cos_era * cirs_vec.x - sin_era * cirs_vec.y; + let y_tirs = sin_era * cirs_vec.x + cos_era * cirs_vec.y; + let z_tirs = cirs_vec.z; + + Ok(Self::new(x_tirs, y_tirs, z_tirs, *epoch)) + } + + pub fn to_cirs( + &self, + eop: &crate::eop::EopParameters, + ) -> CoordResult { + use crate::frames::CIRSPosition; + + let delta_t_seconds = Self::compute_delta_t(&self.epoch, eop)?; + let ut1 = self.epoch.to_ut1_with_delta_t(delta_t_seconds)?; + let era = earth_rotation_angle(&ut1.to_julian_date())?; + + let (sin_era, cos_era) = libm::sincos(era); + + let x_cirs = cos_era * self.x + sin_era * self.y; + let y_cirs = -sin_era * self.x + cos_era * self.y; + let z_cirs = self.z; + + let cirs_vec = Vector3::new(x_cirs, y_cirs, z_cirs); + CIRSPosition::from_unit_vector(cirs_vec, self.epoch) + } +} + +impl std::fmt::Display for TIRSPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "TIRS(X={:.3}m, Y={:.3}m, Z={:.3}m, epoch=J{:.1})", + self.x, + self.y, + self.z, + self.epoch.julian_year() + ) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_core::constants::TWOPI; + + #[test] + fn test_tirs_creation() { + let epoch = TT::j2000(); + let pos = TIRSPosition::new(1000000.0, 2000000.0, 3000000.0, epoch); + + assert_eq!(pos.x(), 1000000.0); + assert_eq!(pos.y(), 2000000.0); + assert_eq!(pos.z(), 3000000.0); + assert_eq!(pos.epoch(), epoch); + } + + #[test] + fn test_vector_operations() { + let epoch = TT::j2000(); + let original = TIRSPosition::new(1000.0, 2000.0, 3000.0, epoch); + + let vec = original.position_vector(); + assert_eq!(vec.x, 1000.0); + assert_eq!(vec.y, 2000.0); + assert_eq!(vec.z, 3000.0); + + let recovered = TIRSPosition::from_position_vector(vec, epoch); + assert_eq!(recovered.x(), original.x()); + assert_eq!(recovered.y(), original.y()); + assert_eq!(recovered.z(), original.z()); + } + + #[test] + fn test_distance_calculations() { + let epoch = TT::j2000(); + + let pos1 = TIRSPosition::new(1000.0, 0.0, 0.0, epoch); + let pos2 = TIRSPosition::new(2000.0, 0.0, 0.0, epoch); + + // Distance between positions + assert_eq!(pos1.distance_to(&pos2), 1000.0); + assert_eq!(pos2.distance_to(&pos1), 1000.0); + + // Distance from origin + assert_eq!(pos1.geocentric_distance(), 1000.0); + assert_eq!(pos2.geocentric_distance(), 2000.0); + } + + #[test] + fn test_itrs_transformation_roundtrip() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + let original_tirs = TIRSPosition::new(4000000.0, 3000000.0, 5000000.0, epoch); + + let eop = EopRecord::new(51544.5, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + // Transform to ITRS and back + let itrs = original_tirs.to_itrs(&epoch, &eop).unwrap(); + let recovered_tirs = TIRSPosition::from_itrs(&itrs, &epoch, &eop).unwrap(); + + // Should roundtrip with floating-point precision (rotation with EOP-based Delta-T) + // Allow 2 ULP due to additional operations in Delta-T calculation + cosmos_core::test_helpers::assert_ulp_le( + recovered_tirs.x(), + original_tirs.x(), + 2, + "X roundtrip", + ); + cosmos_core::test_helpers::assert_ulp_le( + recovered_tirs.y(), + original_tirs.y(), + 2, + "Y roundtrip", + ); + cosmos_core::test_helpers::assert_ulp_le( + recovered_tirs.z(), + original_tirs.z(), + 2, + "Z roundtrip", + ); + } + + #[test] + fn test_itrs_transformation_properties() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + let tirs = TIRSPosition::new(1000000.0, 0.0, 0.0, epoch); + + let eop = EopRecord::new(51544.5, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + let itrs = tirs.to_itrs(&epoch, &eop).unwrap(); + + // Z coordinate should be unchanged (rotation around Z-axis) + assert_eq!(itrs.z(), tirs.z()); + + // Distance from origin should be preserved + cosmos_core::test_helpers::assert_ulp_le( + itrs.geocentric_distance(), + tirs.geocentric_distance(), + 1, + "Distance preservation", + ); + + // X and Y should change due to Earth rotation (unless ERA = 0) + let delta_t_seconds = 69.184; + let ut1 = epoch.to_ut1_with_delta_t(delta_t_seconds).unwrap(); + let era = earth_rotation_angle(&ut1.to_julian_date()).unwrap(); + if era != 0.0 { + // Only test if ERA is non-zero (it should be for J2000) + assert!(itrs.x() != tirs.x() || itrs.y() != tirs.y()); + } + } + + #[test] + fn test_display_formatting() { + let epoch = TT::j2000(); + let pos = TIRSPosition::new(1234567.89, -987654.32, 555666.77, epoch); + + let display = format!("{}", pos); + assert!(display.contains("TIRS")); + assert!(display.contains("1234567.890m")); + assert!(display.contains("-987654.320m")); + assert!(display.contains("555666.770m")); + assert!(display.contains("J2000.0")); + } + + #[test] + fn test_itrs_consistency() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + let itrs_original = ITRSPosition::new(2000000.0, 1000000.0, 6000000.0, epoch); + + let eop = EopRecord::new(51544.5, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + // Transform ITRS -> TIRS -> ITRS + let tirs = TIRSPosition::from_itrs(&itrs_original, &epoch, &eop).unwrap(); + let itrs_recovered = tirs.to_itrs(&epoch, &eop).unwrap(); + + // Should roundtrip with floating-point precision + cosmos_core::test_helpers::assert_ulp_le( + itrs_recovered.x(), + itrs_original.x(), + 1, + "ITRS X roundtrip", + ); + cosmos_core::test_helpers::assert_ulp_le( + itrs_recovered.y(), + itrs_original.y(), + 1, + "ITRS Y roundtrip", + ); + cosmos_core::test_helpers::assert_ulp_le( + itrs_recovered.z(), + itrs_original.z(), + 1, + "ITRS Z roundtrip", + ); + } + + #[test] + fn test_earth_rotation_angle_usage() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + + let eop = EopRecord::new(51544.5, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + let delta_t_seconds = TIRSPosition::compute_delta_t(&epoch, &eop).unwrap(); + let ut1 = epoch.to_ut1_with_delta_t(delta_t_seconds).unwrap(); + let era = earth_rotation_angle(&ut1.to_julian_date()).unwrap(); + + assert!(era >= 0.0); + assert!(era < TWOPI); + + let tirs_x_axis = TIRSPosition::new(6378137.0, 0.0, 0.0, epoch); + let itrs = tirs_x_axis.to_itrs(&epoch, &eop).unwrap(); + + let expected_x = 6378137.0 * libm::cos(era); + let expected_y = -6378137.0 * libm::sin(era); + + cosmos_core::test_helpers::assert_ulp_le( + itrs.x(), + expected_x, + 1, + "ERA X transformation", + ); + cosmos_core::test_helpers::assert_ulp_le( + itrs.y(), + expected_y, + 1, + "ERA Y transformation", + ); + assert_eq!(itrs.z(), 0.0); + } + + #[test] + fn test_eop_timing_check() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + let eop_old = EopRecord::new(51542.0, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + let result = TIRSPosition::compute_delta_t(&epoch, &eop_old); + assert!(result.is_err()); + } + + #[test] + fn test_cirs_transformation() { + use crate::eop::EopRecord; + + let epoch = TT::j2000(); + let eop = EopRecord::new(51544.5, 0.0, 0.0, 0.3, 0.0) + .unwrap() + .to_parameters(); + + let tirs = TIRSPosition::new(6378137.0, 0.0, 0.0, epoch); + + let cirs = tirs.to_cirs(&eop).unwrap(); + + assert!(cirs.ra().degrees() >= 0.0); + assert!(cirs.ra().degrees() < 360.0); + assert!(cirs.dec().degrees() >= -90.0); + assert!(cirs.dec().degrees() <= 90.0); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/hour_angle.rs b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/hour_angle.rs new file mode 100644 index 0000000..f291112 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/hour_angle.rs @@ -0,0 +1,131 @@ +use super::*; + +impl HourAnglePosition { + pub fn new( + hour_angle: Angle, + declination: Angle, + observer: Location, + epoch: TT, + ) -> CoordResult { + let hour_angle = hour_angle.wrapped(); // [-180°, +180°] + let declination = declination.validate_declination(true)?; // beyond_pole for GEM pier-flips + + Ok(Self { + hour_angle, + declination, + observer, + epoch, + distance: None, + }) + } + + pub fn with_distance( + hour_angle: Angle, + declination: Angle, + observer: Location, + epoch: TT, + distance: Distance, + ) -> CoordResult { + let mut pos = Self::new(hour_angle, declination, observer, epoch)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn hour_angle(&self) -> Angle { + self.hour_angle + } + + pub fn declination(&self) -> Angle { + self.declination + } + + pub fn observer(&self) -> &Location { + &self.observer + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn to_topocentric(&self) -> CoordResult { + // Step 1: Pre-compute trigonometric functions + let (sin_ha, cos_ha) = self.hour_angle.sin_cos(); // sh, ch + let (sin_dec, cos_dec) = self.declination.sin_cos(); // sd, cd + let (sin_lat, cos_lat) = self.observer.latitude_angle().sin_cos(); // sp, cp + + // Step 2: Compute 3D unit vector in Az/El system + // This implements the rotation matrix transformation + let x = -cos_ha * cos_dec * sin_lat + sin_dec * cos_lat; // X component + let y = -sin_ha * cos_dec; // Y component + let z = cos_ha * cos_dec * cos_lat + sin_dec * sin_lat; // Z component + + // Step 3: Convert to spherical coordinates + let r = libm::sqrt(x * x + y * y); // Horizontal distance + + let raw_azimuth = if r != 0.0 { libm::atan2(y, x) } else { 0.0 }; // Raw azimuth angle + + let azimuth = if raw_azimuth < 0.0 { + // Normalize to [0, 2π] + raw_azimuth + TWOPI + } else { + raw_azimuth + }; + + let elevation = libm::atan2(z, r); // Elevation angle + + let mut topo = TopocentricPosition::new( + Angle::from_radians(azimuth), + Angle::from_radians(elevation), + self.observer, + self.epoch, + )?; + + if let Some(distance) = self.distance { + topo.set_distance(distance); + } + + Ok(topo) + } + + pub fn is_circumpolar(&self) -> bool { + let lat = self.observer.latitude_angle(); + self.declination.radians() > (Angle::HALF_PI - lat).radians() + } + + pub fn never_rises(&self) -> bool { + let lat = self.observer.latitude_angle(); + self.declination.radians() < -(Angle::HALF_PI - lat).radians() + } + + pub fn to_cirs(&self, delta_t: f64) -> CoordResult { + use cosmos_time::scales::conversions::ToUT1WithDeltaT; + use cosmos_time::sidereal::GAST; + + let ut1 = self.epoch.to_ut1_with_delta_t(delta_t)?; + let gast = GAST::from_ut1_and_tt(&ut1, &self.epoch)?; + let last = gast.to_last(&self.observer); + + let ra_rad = last.radians() - self.hour_angle.radians(); + let ra = cosmos_core::angle::wrap_0_2pi(ra_rad); + + let mut cirs = crate::frames::CIRSPosition::new( + Angle::from_radians(ra), + self.declination, + self.epoch, + )?; + + if let Some(distance) = self.distance { + cirs.set_distance(distance); + } + + Ok(cirs) + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/mod.rs b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/mod.rs new file mode 100644 index 0000000..5c70346 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/mod.rs @@ -0,0 +1,74 @@ +use crate::{CoordResult, Distance}; +use cosmos_core::constants::{HALF_PI, TWOPI}; +use cosmos_core::{Angle, Location}; +use cosmos_time::TT; + +const EARTH_RADIUS_AU: f64 = 4.2635e-5; // 6378.137 km + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct TopocentricPosition { + azimuth: Angle, + elevation: Angle, + observer: Location, + epoch: TT, + distance: Option, +} + +#[derive(Debug, Clone, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct HourAnglePosition { + hour_angle: Angle, + declination: Angle, + observer: Location, + epoch: TT, + distance: Option, +} + + +mod hour_angle; +mod position; +#[cfg(test)] +mod tests; + +// Note: Topocentric coordinates cannot implement CoordinateFrame directly +// because they require both time AND observer location for transformation. +// They need specialized transformation methods. + +impl std::fmt::Display for TopocentricPosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "Topocentric(Az={:.2}° {}, El={:.2}°", + self.azimuth.degrees(), + self.cardinal_direction(), + self.elevation.degrees() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} + +impl std::fmt::Display for HourAnglePosition { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "HourAngle(HA={:.4}h, Dec={:.4}°", + self.hour_angle.hours(), + self.declination.degrees() + )?; + + if let Some(distance) = self.distance { + write!(f, ", d={}", distance)?; + } + + write!(f, ")") + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/position.rs b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/position.rs new file mode 100644 index 0000000..5dab6d6 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/position.rs @@ -0,0 +1,404 @@ +use super::*; + +impl TopocentricPosition { + pub fn new( + azimuth: Angle, + elevation: Angle, + observer: Location, + epoch: TT, + ) -> CoordResult { + let azimuth = azimuth.validate_longitude(true)?; + let elevation = elevation.validate_latitude()?; + + Ok(Self { + azimuth, + elevation, + observer, + epoch, + distance: None, + }) + } + + pub fn with_distance( + azimuth: Angle, + elevation: Angle, + observer: Location, + epoch: TT, + distance: Distance, + ) -> CoordResult { + let mut pos = Self::new(azimuth, elevation, observer, epoch)?; + pos.distance = Some(distance); + Ok(pos) + } + + pub fn from_degrees( + az_deg: f64, + el_deg: f64, + observer: Location, + epoch: TT, + ) -> CoordResult { + Self::new( + Angle::from_degrees(az_deg), + Angle::from_degrees(el_deg), + observer, + epoch, + ) + } + + pub fn azimuth(&self) -> Angle { + self.azimuth + } + + pub fn elevation(&self) -> Angle { + self.elevation + } + + pub fn observer(&self) -> &Location { + &self.observer + } + + pub fn epoch(&self) -> TT { + self.epoch + } + + pub fn distance(&self) -> Option { + self.distance + } + + pub fn set_distance(&mut self, distance: Distance) { + self.distance = Some(distance); + } + + pub fn zenith_angle(&self) -> Angle { + Angle::HALF_PI - self.elevation + } + + pub fn air_mass(&self) -> f64 { + self.air_mass_rozenberg() + } + + pub fn air_mass_rozenberg(&self) -> f64 { + let zenith = self.zenith_angle(); + if zenith.degrees() >= 90.0 { + return 40.0; + } + let cos_z = libm::cos(zenith.radians()); + let term = cos_z + 0.025 * libm::exp(-11.0 * cos_z); + 1.0 / term + } + + /// Computes airmass using Pickering's (2002) empirical formula. + /// + /// # Valid Range + /// - Returns `f64::INFINITY` for elevations ≤ -2° (below horizon) + /// - Accurate for elevations > -2° (including astronomical twilight) + /// - Values become increasingly unreliable as elevation approaches -2° + /// + /// # Numerical Stability + /// Near the horizon (0° to 5°), results can be very large but remain finite. + /// Use this method only if observations extend below the horizon; otherwise + /// prefer `air_mass_hardie()` or `air_mass_kasten_young()`. + /// + /// Reference: Pickering, K. A. (2002). "The Southern Limits of the Ancient Star + /// Catalog". DIO 12, 3-27. + pub fn air_mass_pickering(&self) -> f64 { + let h = self.elevation.degrees(); + if h <= -2.0 { + return f64::INFINITY; + } + let h_term = 244.0 / (165.0 + 47.0 * h.abs().powf(1.1)); + let sin_arg = h + h_term; + 1.0 / libm::sin(sin_arg * cosmos_core::constants::DEG_TO_RAD) + } + + pub fn air_mass_kasten_young(&self) -> f64 { + let zenith_deg = self.zenith_angle().degrees(); + if zenith_deg >= 90.0 { + return 38.0; + } + let cos_z = libm::cos(self.zenith_angle().radians()); + let term = (96.07995 - zenith_deg).powf(-1.6364); + 1.0 / (cos_z + 0.50572 * term) + } + + pub fn atmospheric_refraction( + &self, + pressure_hpa: f64, + temp_celsius: f64, + rel_humidity: f64, + wavelength_um: f64, + ) -> Angle { + let (refa, refb) = + self.refraction_coefficients(pressure_hpa, temp_celsius, rel_humidity, wavelength_um); + + // Apply refraction formula: dZ = A tan(Z) + B tan³(Z) + let z_obs = self.zenith_angle().radians(); + let tan_z = libm::tan(z_obs); + let refraction_rad = refa * tan_z + refb * tan_z.powi(3); + + Angle::from_radians(refraction_rad) + } + + fn refraction_coefficients( + &self, + mut pressure_hpa: f64, + mut temp_celsius: f64, + mut rel_humidity: f64, + wavelength_um: f64, + ) -> (f64, f64) { + pressure_hpa = pressure_hpa.clamp(0.0, 10000.0); + temp_celsius = temp_celsius.clamp(-150.0, 200.0); + rel_humidity = rel_humidity.clamp(0.0, 1.0); + + // Zero pressure means no refraction + if pressure_hpa <= 0.0 { + return (0.0, 0.0); + } + + // Determine if optical/IR or radio + let is_optical = (0.0..100.0).contains(&wavelength_um); + + // Temperature in Kelvin + let temp_kelvin = temp_celsius + 273.15; + + let pw = if pressure_hpa > 0.0 { + // Saturation pressure (Gill 1982, with pressure correction) + let ps = 10.0_f64 + .powf((0.7859 + 0.03477 * temp_celsius) / (1.0 + 0.00412 * temp_celsius)) + * (1.0 + pressure_hpa * (4.5e-6 + 6e-10 * temp_celsius * temp_celsius)); + // Actual water vapor pressure (Crane 1976) + rel_humidity * ps / (1.0 - (1.0 - rel_humidity) * ps / pressure_hpa) + } else { + 0.0 + }; + + if is_optical { + // Optical/IR refraction (Hohenkerk & Sinclair 1985, IAG 1999) + let wl_sq = wavelength_um * wavelength_um; + let gamma = ((77.53484e-6 + (4.39108e-7 + 3.666e-9 / wl_sq) / wl_sq) * pressure_hpa + - 11.2684e-6 * pw) + / temp_kelvin; + + // Beta from Stone (1996) with empirical adjustments + let beta = 4.4474e-6 * temp_kelvin; + + // Green (1987) Equation 4.31 + let refa = gamma * (1.0 - beta); + let refb = -gamma * (beta - gamma / 2.0); + + (refa, refb) + } else { + // Radio refraction (Rueger 2002) + let gamma = (77.6890e-6 * pressure_hpa - (6.3938e-6 - 0.375463 / temp_kelvin) * pw) + / temp_kelvin; + + // Beta with humidity correction for radio + let mut beta = 4.4474e-6 * temp_kelvin; + beta -= 0.0074 * pw * beta; + + // Green (1987) Equation 4.31 + let refa = gamma * (1.0 - beta); + let refb = -gamma * (beta - gamma / 2.0); + + (refa, refb) + } + } + + pub fn with_refraction( + &self, + pressure_hpa: f64, + temp_celsius: f64, + rel_humidity: f64, + wavelength_um: f64, + ) -> Self { + let refraction = + self.atmospheric_refraction(pressure_hpa, temp_celsius, rel_humidity, wavelength_um); + + // Refraction increases apparent elevation (decreases zenith distance) + let apparent_elevation = self.elevation + refraction; + + Self { + azimuth: self.azimuth, + elevation: apparent_elevation, + observer: self.observer, + epoch: self.epoch, + distance: self.distance, + } + } + + pub fn without_refraction( + &self, + pressure_hpa: f64, + temp_celsius: f64, + rel_humidity: f64, + wavelength_um: f64, + ) -> Self { + let refraction = + self.atmospheric_refraction(pressure_hpa, temp_celsius, rel_humidity, wavelength_um); + + // Remove refraction to get true elevation + let true_elevation = self.elevation - refraction; + + Self { + azimuth: self.azimuth, + elevation: true_elevation, + observer: self.observer, + epoch: self.epoch, + distance: self.distance, + } + } + + pub fn diurnal_parallax(&self) -> Option { + self.distance.map(|d| { + // Earth's equatorial radius in AU + let distance_au = d.au(); + let zenith_angle = self.zenith_angle(); + + // Parallax formula: p = arcsin((a/r) × sin(z)) + let ratio = EARTH_RADIUS_AU / distance_au; + let parallax_rad = if ratio < 1.0 { + libm::asin(ratio * zenith_angle.sin()) + } else { + // Object inside Earth - return maximum parallax + HALF_PI + }; + + Angle::from_radians(parallax_rad) + }) + } + + pub fn horizontal_parallax(&self) -> Option { + self.distance.map(|d| { + let distance_au = d.au(); + let ratio = EARTH_RADIUS_AU / distance_au; + + if ratio < 1.0 { + Angle::from_radians(libm::asin(ratio)) + } else { + Angle::from_radians(HALF_PI) + } + }) + } + + pub fn with_diurnal_parallax(&self) -> Self { + if let Some(parallax) = self.diurnal_parallax() { + // Parallax correction decreases elevation (object appears lower) + let corrected_elevation = self.elevation - parallax; + + Self { + azimuth: self.azimuth, + elevation: corrected_elevation, + observer: self.observer, + epoch: self.epoch, + distance: self.distance, + } + } else { + self.clone() + } + } + + pub fn without_diurnal_parallax(&self) -> Self { + if let Some(parallax) = self.diurnal_parallax() { + // Remove parallax correction (increases elevation) + let geocentric_elevation = self.elevation + parallax; + + Self { + azimuth: self.azimuth, + elevation: geocentric_elevation, + observer: self.observer, + epoch: self.epoch, + distance: self.distance, + } + } else { + self.clone() + } + } + + pub fn is_above_horizon(&self) -> bool { + self.elevation.degrees() > 0.0 + } + + pub fn is_near_zenith(&self) -> bool { + self.elevation.degrees() > 89.0 + } + + pub fn is_near_horizon(&self) -> bool { + self.elevation.degrees() < 10.0 && self.is_above_horizon() + } + + pub fn cardinal_direction(&self) -> &'static str { + let az_deg = self.azimuth.degrees(); + if !(22.5..337.5).contains(&az_deg) { + "N" + } else if az_deg < 67.5 { + "NE" + } else if az_deg < 112.5 { + "E" + } else if az_deg < 157.5 { + "SE" + } else if az_deg < 202.5 { + "S" + } else if az_deg < 247.5 { + "SW" + } else if az_deg < 292.5 { + "W" + } else { + "NW" + } + } + + pub fn parallactic_angle(&self, hour_angle: Angle, declination: Angle) -> Angle { + let lat = self.observer.latitude_angle(); + let (sin_ha, cos_ha) = hour_angle.sin_cos(); + let (sin_lat, cos_lat) = lat.sin_cos(); + let (sin_dec, cos_dec) = declination.sin_cos(); + + let numerator = sin_ha; + let denominator = cos_dec * sin_lat - sin_dec * cos_lat * cos_ha; + + Angle::from_radians(libm::atan2(numerator, denominator)) + } + + pub fn to_hour_angle(&self) -> CoordResult { + let (sin_az, cos_az) = self.azimuth.sin_cos(); + let (sin_el, cos_el) = self.elevation.sin_cos(); + let (sin_lat, cos_lat) = self.observer.latitude_angle().sin_cos(); + + let sin_dec = sin_el * sin_lat + cos_el * cos_lat * cos_az; + let dec = libm::asin(sin_dec); + + let cos_dec = libm::cos(dec); + + let cos_ha = if cos_dec.abs() < 1e-10 { + 0.0 + } else { + (sin_el - sin_dec * sin_lat) / (cos_dec * cos_lat) + }; + + let sin_ha = if cos_dec.abs() < 1e-10 { + 0.0 + } else { + -sin_az * cos_el / cos_dec + }; + + let ha = libm::atan2(sin_ha, cos_ha); + + let mut ha_pos = HourAnglePosition::new( + Angle::from_radians(ha), + Angle::from_radians(dec), + self.observer, + self.epoch, + )?; + + if let Some(distance) = self.distance { + ha_pos.set_distance(distance); + } + + Ok(ha_pos) + } + + pub fn to_cirs(&self, delta_t: f64) -> CoordResult { + let ha = self.to_hour_angle()?; + ha.to_cirs(delta_t) + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/tests.rs b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/tests.rs new file mode 100644 index 0000000..b30c51d --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/frames/topocentric/tests.rs @@ -0,0 +1,1034 @@ + use super::*; + + fn test_observer() -> Location { + // Keck Observatory, Mauna Kea (4145m per keckobservatory.org) + Location::from_degrees(19.8283, -155.4783, 4145.0).unwrap() + } + + #[test] + fn test_topocentric_creation() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + assert!((topo.azimuth().degrees() - 180.0).abs() < 1e-12); + assert!((topo.elevation().degrees() - 45.0).abs() < 1e-12); + assert_eq!( + topo.observer().latitude_degrees(), + observer.latitude_degrees() + ); + assert_eq!(topo.epoch(), epoch); + } + + #[test] + fn test_topocentric_validation() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Valid coordinates + assert!(TopocentricPosition::from_degrees(0.0, 0.0, observer, epoch).is_ok()); + assert!(TopocentricPosition::from_degrees(359.999, 89.999, observer, epoch).is_ok()); + + // Azimuth gets normalized + let topo = TopocentricPosition::from_degrees(380.0, 45.0, observer, epoch).unwrap(); + assert!((topo.azimuth().degrees() - 20.0).abs() < 1e-12); + + // Invalid elevation + assert!(TopocentricPosition::from_degrees(0.0, 95.0, observer, epoch).is_err()); + } + + #[test] + fn test_zenith_and_air_mass() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Object at zenith - Rozenberg formula + let zenith = TopocentricPosition::from_degrees(0.0, 90.0, observer, epoch).unwrap(); + assert!((zenith.zenith_angle().degrees() - 0.0).abs() < 1e-12); + assert!((zenith.air_mass() - 1.0).abs() < 0.001); + + // Object at 60° elevation (zenith angle = 30°) - Rozenberg + let high = TopocentricPosition::from_degrees(0.0, 60.0, observer, epoch).unwrap(); + assert!((high.zenith_angle().degrees() - 30.0).abs() < 1e-12); + // Rozenberg gives slightly different value than simple sec(z) + assert!((high.air_mass() - 1.154).abs() < 0.01); + + // Object at horizon - Rozenberg + let horizon = TopocentricPosition::from_degrees(0.0, 0.0, observer, epoch).unwrap(); + assert!((horizon.air_mass() - 40.0).abs() < 0.1); + + // Object below horizon + let below = TopocentricPosition::from_degrees(0.0, -10.0, observer, epoch).unwrap(); + assert_eq!(below.air_mass(), 40.0); + } + + #[test] + fn test_position_classification() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let above = TopocentricPosition::from_degrees(0.0, 45.0, observer, epoch).unwrap(); + assert!(above.is_above_horizon()); + assert!(!above.is_near_zenith()); + assert!(!above.is_near_horizon()); + + let below = TopocentricPosition::from_degrees(0.0, -5.0, observer, epoch).unwrap(); + assert!(!below.is_above_horizon()); + + let zenith = TopocentricPosition::from_degrees(0.0, 89.5, observer, epoch).unwrap(); + assert!(zenith.is_near_zenith()); + + let horizon = TopocentricPosition::from_degrees(0.0, 5.0, observer, epoch).unwrap(); + assert!(horizon.is_near_horizon()); + } + + #[test] + fn test_cardinal_directions() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let north = TopocentricPosition::from_degrees(0.0, 45.0, observer, epoch).unwrap(); + assert_eq!(north.cardinal_direction(), "N"); + + let east = TopocentricPosition::from_degrees(90.0, 45.0, observer, epoch).unwrap(); + assert_eq!(east.cardinal_direction(), "E"); + + let south = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + assert_eq!(south.cardinal_direction(), "S"); + + let west = TopocentricPosition::from_degrees(270.0, 45.0, observer, epoch).unwrap(); + assert_eq!(west.cardinal_direction(), "W"); + + let northeast = TopocentricPosition::from_degrees(45.0, 45.0, observer, epoch).unwrap(); + assert_eq!(northeast.cardinal_direction(), "NE"); + } + + #[test] + fn test_hour_angle_creation() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let ha_pos = HourAnglePosition::new( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + + assert!((ha_pos.hour_angle().hours() - 2.0).abs() < 1e-12); + assert!((ha_pos.declination().degrees() - 45.0).abs() < 1e-12); + } + + #[test] + fn test_hour_angle_to_topocentric() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Object on meridian at 45° declination + let ha_pos = HourAnglePosition::new( + Angle::ZERO, // On meridian + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + + let topo = ha_pos.to_topocentric().unwrap(); + + // On meridian should be due south (or north depending on observer latitude) + // and elevation should be related to observer latitude and declination + assert!(topo.is_above_horizon()); + } + + #[test] + fn test_circumpolar() { + let observer = test_observer(); // Latitude ~20°N + let epoch = TT::j2000(); + + // Very high declination object (near north pole) + let high_dec = + HourAnglePosition::new(Angle::ZERO, Angle::from_degrees(85.0), observer, epoch) + .unwrap(); + assert!(high_dec.is_circumpolar()); + + // Low declination object + let low_dec = + HourAnglePosition::new(Angle::ZERO, Angle::from_degrees(0.0), observer, epoch).unwrap(); + assert!(!low_dec.is_circumpolar()); + + // Very negative declination + let neg_dec = + HourAnglePosition::new(Angle::ZERO, Angle::from_degrees(-85.0), observer, epoch) + .unwrap(); + assert!(neg_dec.never_rises()); + } + + #[test] + fn test_with_distance() { + let observer = test_observer(); + let epoch = TT::j2000(); + let distance = Distance::from_kilometers(384400.0).unwrap(); // Moon distance + + let topo = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(45.0), + observer, + epoch, + distance, + ) + .unwrap(); + + assert_eq!(topo.distance().unwrap().kilometers(), distance.kilometers()); + + let ha_pos = HourAnglePosition::with_distance( + Angle::from_hours(1.0), + Angle::from_degrees(30.0), + observer, + epoch, + distance, + ) + .unwrap(); + + assert_eq!( + ha_pos.distance().unwrap().kilometers(), + distance.kilometers() + ); + } + + #[test] + fn test_topocentric_set_distance() { + let observer = test_observer(); + let epoch = TT::j2000(); + let mut topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + + assert!(topo.distance().is_none()); + + let distance = Distance::from_kilometers(1000.0).unwrap(); + topo.set_distance(distance); + + assert!((topo.distance().unwrap().kilometers() - 1000.0).abs() < 1e-6); + } + + #[test] + fn test_cardinal_directions_all() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test all 8 cardinal directions + let directions = [ + (0.0, "N"), + (45.0, "NE"), + (90.0, "E"), + (135.0, "SE"), + (180.0, "S"), + (225.0, "SW"), + (270.0, "W"), + (315.0, "NW"), + ]; + + for (az, expected) in directions { + let topo = TopocentricPosition::from_degrees(az, 45.0, observer, epoch).unwrap(); + assert_eq!( + topo.cardinal_direction(), + expected, + "Failed for azimuth {}°", + az + ); + } + } + + #[test] + fn test_parallactic_angle() { + let observer = test_observer(); + let epoch = TT::j2000(); + let topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + + // Test parallactic angle calculation + let ha = Angle::from_hours(1.0); + let dec = Angle::from_degrees(45.0); + let pa = topo.parallactic_angle(ha, dec); + + // Should return a valid angle + assert!(pa.radians().is_finite()); + } + + #[test] + fn test_hour_angle_getters() { + let observer = test_observer(); + let epoch = TT::j2000(); + let ha_pos = HourAnglePosition::new( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + + assert_eq!( + ha_pos.observer().latitude_degrees(), + observer.latitude_degrees() + ); + assert_eq!(ha_pos.epoch(), epoch); + assert!(ha_pos.distance().is_none()); + } + + #[test] + fn test_hour_angle_set_distance() { + let observer = test_observer(); + let epoch = TT::j2000(); + let mut ha_pos = HourAnglePosition::new( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + + let distance = Distance::from_kilometers(500.0).unwrap(); + ha_pos.set_distance(distance); + assert!((ha_pos.distance().unwrap().kilometers() - 500.0).abs() < 1e-6); + } + + #[test] + fn test_hour_angle_with_distance_to_topocentric() { + let observer = test_observer(); + let epoch = TT::j2000(); + let distance = Distance::from_kilometers(1000.0).unwrap(); + + let ha_pos = HourAnglePosition::with_distance( + Angle::ZERO, + Angle::from_degrees(45.0), + observer, + epoch, + distance, + ) + .unwrap(); + + let topo = ha_pos.to_topocentric().unwrap(); + assert!((topo.distance().unwrap().kilometers() - 1000.0).abs() < 1e-6); + } + + #[test] + fn test_display_formatting() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test TopocentricPosition display + let topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + let display = format!("{}", topo); + assert!(display.contains("Topocentric")); + assert!(display.contains("180.00°")); + assert!(display.contains("45.00°")); + assert!(display.contains("S")); // Cardinal direction + + // Test with distance + let distance = Distance::from_kilometers(1000.0).unwrap(); + let topo_dist = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(45.0), + observer, + epoch, + distance, + ) + .unwrap(); + let display_dist = format!("{}", topo_dist); + assert!(display_dist.contains("AU") || display_dist.contains("pc")); // Distance shown + + // Test HourAnglePosition display + let ha = HourAnglePosition::new( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + let ha_display = format!("{}", ha); + assert!(ha_display.contains("HourAngle")); + assert!(ha_display.contains("2.")); + assert!(ha_display.contains("45.")); + + // Test HourAngle with distance + let ha_dist = HourAnglePosition::with_distance( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + distance, + ) + .unwrap(); + let ha_display_dist = format!("{}", ha_dist); + assert!(ha_display_dist.contains("AU") || ha_display_dist.contains("pc")); + // Distance shown + } + + #[test] + fn test_air_mass_formulas_at_zenith() { + let observer = test_observer(); + let epoch = TT::j2000(); + let zenith = TopocentricPosition::from_degrees(0.0, 90.0, observer, epoch).unwrap(); + + let rozenberg = zenith.air_mass_rozenberg(); + let pickering = zenith.air_mass_pickering(); + let kasten = zenith.air_mass_kasten_young(); + + // All formulas should give ~1.0 at zenith + assert!((rozenberg - 1.0).abs() < 0.001); + assert!((pickering - 1.0).abs() < 0.001); + assert!((kasten - 1.0).abs() < 0.001); + } + + #[test] + fn test_air_mass_formulas_moderate_angles() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test at 30° zenith angle (60° elevation) + let pos_30 = TopocentricPosition::from_degrees(0.0, 60.0, observer, epoch).unwrap(); + let roz_30 = pos_30.air_mass_rozenberg(); + let pick_30 = pos_30.air_mass_pickering(); + let ky_30 = pos_30.air_mass_kasten_young(); + + // Simple sec(30°) = 1.1547 + // All formulas should be within 1% of each other at moderate angles + assert!((roz_30 - 1.155).abs() < 0.01); + assert!((pick_30 - 1.155).abs() < 0.01); + assert!((ky_30 - 1.155).abs() < 0.01); + assert!((roz_30 - pick_30).abs() < 0.02); + assert!((roz_30 - ky_30).abs() < 0.02); + + // Test at 60° zenith angle (30° elevation) + let pos_60 = TopocentricPosition::from_degrees(0.0, 30.0, observer, epoch).unwrap(); + let roz_60 = pos_60.air_mass_rozenberg(); + let pick_60 = pos_60.air_mass_pickering(); + let ky_60 = pos_60.air_mass_kasten_young(); + + // Simple sec(60°) = 2.0 + assert!((roz_60 - 2.0).abs() < 0.05); + assert!((pick_60 - 2.0).abs() < 0.05); + assert!((ky_60 - 2.0).abs() < 0.05); + assert!((roz_60 - pick_60).abs() < 0.1); + } + + #[test] + fn test_air_mass_formulas_high_zenith_angles() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test at 75° zenith angle (15° elevation) + let pos_75 = TopocentricPosition::from_degrees(0.0, 15.0, observer, epoch).unwrap(); + let roz_75 = pos_75.air_mass_rozenberg(); + let pick_75 = pos_75.air_mass_pickering(); + let ky_75 = pos_75.air_mass_kasten_young(); + + // Simple sec(75°) = 3.864 + // Formulas may diverge more at high angles + assert!(roz_75 > 3.5 && roz_75 < 4.5); + assert!(pick_75 > 3.5 && pick_75 < 4.5); + assert!(ky_75 > 3.5 && ky_75 < 4.5); + + // Test at 85° zenith angle (5° elevation) + let pos_85 = TopocentricPosition::from_degrees(0.0, 5.0, observer, epoch).unwrap(); + let roz_85 = pos_85.air_mass_rozenberg(); + let pick_85 = pos_85.air_mass_pickering(); + let ky_85 = pos_85.air_mass_kasten_young(); + + // Simple sec(85°) = 11.47 + // All formulas valid to horizon + assert!(roz_85 > 10.0 && roz_85 < 15.0); + assert!(pick_85 > 10.0 && pick_85 < 15.0); + assert!(ky_85 > 10.0 && ky_85 < 15.0); + } + + #[test] + fn test_air_mass_formulas_near_horizon() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test at horizon (0° elevation, 90° zenith) + let horizon = TopocentricPosition::from_degrees(0.0, 0.0, observer, epoch).unwrap(); + let roz_hor = horizon.air_mass_rozenberg(); + let pick_hor = horizon.air_mass_pickering(); + let ky_hor = horizon.air_mass_kasten_young(); + + // Rozenberg: horizon air mass = 40 + assert!((roz_hor - 40.0).abs() < 0.1); + + // Kasten-Young: horizon air mass ~38 + assert!((ky_hor - 38.0).abs() < 1.0); + + // Pickering: should also be reasonable at horizon + assert!(pick_hor > 30.0 && pick_hor < 50.0); + + // Test slightly below horizon + let below = TopocentricPosition::from_degrees(0.0, -1.0, observer, epoch).unwrap(); + let roz_below = below.air_mass_rozenberg(); + let pick_below = below.air_mass_pickering(); + + assert_eq!(roz_below, 40.0); + assert!(pick_below > 40.0); + } + + #[test] + fn test_air_mass_formula_comparison() { + // Verify that all three formulas produce reasonable and consistent results + // across the full range of zenith angles + let observer = test_observer(); + let epoch = TT::j2000(); + + let test_elevations = vec![ + 90.0, 80.0, 70.0, 60.0, 50.0, 40.0, 30.0, 20.0, 10.0, 5.0, 2.0, 0.0, + ]; + + for elev in test_elevations { + let pos = TopocentricPosition::from_degrees(0.0, elev, observer, epoch).unwrap(); + let roz = pos.air_mass_rozenberg(); + let pick = pos.air_mass_pickering(); + let ky = pos.air_mass_kasten_young(); + + // All values should be >= 1.0 (with tolerance for formula approximations at zenith) + assert!( + roz >= 0.999, + "Rozenberg air mass < 0.999 at elevation {}", + elev + ); + assert!( + pick >= 0.999, + "Pickering air mass < 0.999 at elevation {}", + elev + ); + assert!( + ky >= 0.999, + "Kasten-Young air mass < 0.999 at elevation {}", + elev + ); + + // Air mass should increase as elevation decreases + // (this is implicitly tested by the monotonic nature of the formulas) + + // For high elevations (> 30°), all formulas should agree within 5% + if elev > 30.0 { + let avg = (roz + pick + ky) / 3.0; + assert!( + (roz - avg).abs() / avg < 0.05, + "Rozenberg deviates >5% at elevation {}", + elev + ); + assert!( + (pick - avg).abs() / avg < 0.05, + "Pickering deviates >5% at elevation {}", + elev + ); + assert!( + (ky - avg).abs() / avg < 0.05, + "Kasten-Young deviates >5% at elevation {}", + elev + ); + } + } + } + + #[test] + fn test_atmospheric_refraction_standard_conditions() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Standard conditions: sea level, 15°C, 50% humidity, optical (0.574 μm) + let pressure = 1013.25; + let temp = 15.0; + let humidity = 0.5; + let wavelength = 0.574; + + // Test at zenith (no refraction) + let zenith = TopocentricPosition::from_degrees(0.0, 90.0, observer, epoch).unwrap(); + let ref_zenith = zenith.atmospheric_refraction(pressure, temp, humidity, wavelength); + assert!(ref_zenith.arcseconds().abs() < 0.1); + + // Test at 45° elevation + let pos_45 = TopocentricPosition::from_degrees(0.0, 45.0, observer, epoch).unwrap(); + let ref_45 = pos_45.atmospheric_refraction(pressure, temp, humidity, wavelength); + // Typical refraction at 45° elevation ~60 arcsec + assert!(ref_45.arcseconds() > 50.0 && ref_45.arcseconds() < 70.0); + + // Test near horizon (10° elevation) + let pos_10 = TopocentricPosition::from_degrees(0.0, 10.0, observer, epoch).unwrap(); + let ref_10 = pos_10.atmospheric_refraction(pressure, temp, humidity, wavelength); + // Refraction increases dramatically near horizon, ~5-6 arcmin + assert!(ref_10.arcminutes() > 4.0 && ref_10.arcminutes() < 7.0); + } + + #[test] + fn test_atmospheric_refraction_with_without() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let pressure = 1013.25; + let temp = 15.0; + let humidity = 0.5; + let wavelength = 0.574; + + // Start with true position at 45° + let true_pos = TopocentricPosition::from_degrees(0.0, 45.0, observer, epoch).unwrap(); + + // Apply refraction to get apparent position + let apparent = true_pos.with_refraction(pressure, temp, humidity, wavelength); + + // Apparent elevation should be higher than true + assert!(apparent.elevation().degrees() > true_pos.elevation().degrees()); + + // Remove refraction to get back to true + let back_to_true = apparent.without_refraction(pressure, temp, humidity, wavelength); + + // Should be close to original (within numerical precision) + assert!( + (back_to_true.elevation().degrees() - true_pos.elevation().degrees()).abs() < 0.001 + ); + } + + #[test] + fn test_atmospheric_refraction_zero_pressure() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Zero pressure = no atmosphere = no refraction + let pos = TopocentricPosition::from_degrees(0.0, 30.0, observer, epoch).unwrap(); + let refraction = pos.atmospheric_refraction(0.0, 15.0, 0.5, 0.574); + + assert_eq!(refraction.radians(), 0.0); + } + + #[test] + fn test_atmospheric_refraction_radio_vs_optical() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let pressure = 1013.25; + let temp = 15.0; + let humidity = 0.5; + + let pos = TopocentricPosition::from_degrees(0.0, 30.0, observer, epoch).unwrap(); + + // Optical wavelength (0.574 μm) + let optical = pos.atmospheric_refraction(pressure, temp, humidity, 0.574); + + // Radio wavelength (>100 μm) + let radio = pos.atmospheric_refraction(pressure, temp, humidity, 200.0); + + // Both should give positive refraction + assert!(optical.arcseconds() > 0.0); + assert!(radio.arcseconds() > 0.0); + + // Radio refraction should be less affected by humidity (simplified model) + assert!(optical.arcseconds() > 0.0); + } + + #[test] + fn test_diurnal_parallax_moon() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Moon at mean distance: 384,400 km ≈ 0.00257 AU + let moon_distance = Distance::from_kilometers(384400.0).unwrap(); + + // Moon at horizon (maximum parallax) + let moon_horizon = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(0.0), + observer, + epoch, + moon_distance, + ) + .unwrap(); + + // Horizontal parallax for Moon: ~57 arcmin = 0.95° + let h_parallax = moon_horizon.horizontal_parallax().unwrap(); + assert!(h_parallax.degrees() > 0.9 && h_parallax.degrees() < 1.0); + assert!(h_parallax.arcminutes() > 55.0 && h_parallax.arcminutes() < 59.0); + + // At horizon, diurnal parallax = horizontal parallax + let diurnal = moon_horizon.diurnal_parallax().unwrap(); + assert!((diurnal.degrees() - h_parallax.degrees()).abs() < 0.001); + + // Moon at zenith (zero parallax) + let moon_zenith = TopocentricPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(90.0), + observer, + epoch, + moon_distance, + ) + .unwrap(); + + let zenith_parallax = moon_zenith.diurnal_parallax().unwrap(); + assert!(zenith_parallax.arcseconds().abs() < 1.0); // Should be nearly zero + } + + #[test] + fn test_diurnal_parallax_sun() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Sun at 1 AU + let sun_distance = Distance::from_au(1.0).unwrap(); + let sun_horizon = TopocentricPosition::with_distance( + Angle::from_degrees(90.0), + Angle::from_degrees(0.0), + observer, + epoch, + sun_distance, + ) + .unwrap(); + + // Solar horizontal parallax: ~8.794 arcsec + let h_parallax = sun_horizon.horizontal_parallax().unwrap(); + assert!(h_parallax.arcseconds() > 8.7 && h_parallax.arcseconds() < 8.9); + } + + #[test] + fn test_diurnal_parallax_mars_opposition() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Mars at closest approach: ~0.38 AU + let mars_distance = Distance::from_au(0.38).unwrap(); + let mars_horizon = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(0.0), + observer, + epoch, + mars_distance, + ) + .unwrap(); + + // Mars horizontal parallax at opposition: ~23 arcsec + let h_parallax = mars_horizon.horizontal_parallax().unwrap(); + assert!(h_parallax.arcseconds() > 22.0 && h_parallax.arcseconds() < 24.0); + } + + #[test] + fn test_diurnal_parallax_at_various_elevations() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Moon at mean distance + let moon_distance = Distance::from_kilometers(384400.0).unwrap(); + + // Test at different elevations + let elevations = vec![0.0, 30.0, 45.0, 60.0, 90.0]; + + for elev in elevations { + let pos = TopocentricPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(elev), + observer, + epoch, + moon_distance, + ) + .unwrap(); + + let parallax = pos.diurnal_parallax().unwrap(); + + // Parallax should decrease with increasing elevation + // At zenith (90°), it should be nearly zero + // At horizon (0°), it should equal horizontal parallax + if elev == 90.0 { + assert!(parallax.arcseconds().abs() < 1.0); + } else if elev == 0.0 { + let h_par = pos.horizontal_parallax().unwrap(); + assert!((parallax.degrees() - h_par.degrees()).abs() < 0.001); + } else { + // Parallax should be between 0 and horizontal parallax + let h_par = pos.horizontal_parallax().unwrap(); + assert!(parallax.degrees() > 0.0); + assert!(parallax.degrees() < h_par.degrees()); + } + } + } + + #[test] + fn test_diurnal_parallax_with_without() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Moon at 45° elevation + let moon_distance = Distance::from_kilometers(384400.0).unwrap(); + let geocentric = TopocentricPosition::with_distance( + Angle::from_degrees(180.0), + Angle::from_degrees(45.0), + observer, + epoch, + moon_distance, + ) + .unwrap(); + + // Apply parallax correction + let topocentric = geocentric.with_diurnal_parallax(); + + // Topocentric elevation should be LOWER than geocentric + assert!(topocentric.elevation().degrees() < geocentric.elevation().degrees()); + + // Remove parallax to get back to geocentric + let back_to_geocentric = topocentric.without_diurnal_parallax(); + + // Should match original within tolerance + // (not exact due to zenith angle changing during correction - this is correct physics) + // For Moon at 45° with ~0.9° parallax, expect ~0.01° roundtrip error + let diff = + (back_to_geocentric.elevation().degrees() - geocentric.elevation().degrees()).abs(); + assert!(diff < 0.01, "Roundtrip error: {} degrees", diff); + } + + #[test] + fn test_diurnal_parallax_without_distance() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Position without distance (star) + let star_pos = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + + assert_eq!(star_pos.diurnal_parallax(), None); + assert_eq!(star_pos.horizontal_parallax(), None); + + // with/without should return unchanged + let with_par = star_pos.with_diurnal_parallax(); + assert_eq!( + with_par.elevation().degrees(), + star_pos.elevation().degrees() + ); + + let without_par = star_pos.without_diurnal_parallax(); + assert_eq!( + without_par.elevation().degrees(), + star_pos.elevation().degrees() + ); + } + + #[test] + fn test_diurnal_parallax_formula_verification() { + // Verify the parallax formula: p = arcsin((R_Earth/r) × sin(z)) + let observer = test_observer(); + let epoch = TT::j2000(); + + // Moon at known distance and elevation + let distance_au = 0.00257; // Moon's distance + let elevation_deg = 30.0; + let zenith_deg = 90.0 - elevation_deg; + + let moon_distance = Distance::from_au(distance_au).unwrap(); + let moon_pos = TopocentricPosition::with_distance( + Angle::from_degrees(0.0), + Angle::from_degrees(elevation_deg), + observer, + epoch, + moon_distance, + ) + .unwrap(); + + // Calculate expected parallax + let ratio = EARTH_RADIUS_AU / distance_au; + let zenith_rad = zenith_deg.to_radians(); + let expected_parallax_rad = libm::asin(ratio * libm::sin(zenith_rad)); + + // Get calculated parallax + let calculated_parallax = moon_pos.diurnal_parallax().unwrap(); + + // Should match within numerical precision + assert!((calculated_parallax.radians() - expected_parallax_rad).abs() < 1e-10); + } + + #[test] + fn test_topocentric_to_hour_angle() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // Test object on meridian at 45° elevation + let topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + let ha = topo.to_hour_angle().unwrap(); + + // On meridian (Az=180°), hour angle should be ~0 + assert!(ha.hour_angle().hours().abs() < 0.001); + } + + #[test] + fn test_topocentric_hour_angle_roundtrip() { + let observer = test_observer(); + let epoch = TT::j2000(); + + let test_cases = [ + (Angle::from_hours(0.0), Angle::from_degrees(45.0)), + (Angle::from_hours(2.0), Angle::from_degrees(30.0)), + (Angle::from_hours(-3.0), Angle::from_degrees(60.0)), + (Angle::from_hours(6.0), Angle::from_degrees(0.0)), + ]; + + for (ha, dec) in test_cases { + let original = HourAnglePosition::new(ha, dec, observer, epoch).unwrap(); + + let topo = original.to_topocentric().unwrap(); + let recovered = topo.to_hour_angle().unwrap(); + + let ha_diff_sec = (original.hour_angle().radians() - recovered.hour_angle().radians()) + .abs() + * 206265.0; + let dec_diff_arcsec = + (original.declination().radians() - recovered.declination().radians()).abs() + * 206265.0; + + assert!( + ha_diff_sec < 0.001, + "Hour angle roundtrip failed for HA={:.2}h, Dec={:.1}°: diff={:.6} arcsec", + ha.hours(), + dec.degrees(), + ha_diff_sec + ); + assert!( + dec_diff_arcsec < 0.001, + "Declination roundtrip failed for HA={:.2}h, Dec={:.1}°: diff={:.6} arcsec", + ha.hours(), + dec.degrees(), + dec_diff_arcsec + ); + } + } + + #[test] + fn test_topocentric_to_hour_angle_distance_preservation() { + let observer = test_observer(); + let epoch = TT::j2000(); + let distance = Distance::from_kilometers(384400.0).unwrap(); + + let topo = TopocentricPosition::with_distance( + Angle::from_degrees(90.0), + Angle::from_degrees(30.0), + observer, + epoch, + distance, + ) + .unwrap(); + + let ha = topo.to_hour_angle().unwrap(); + assert_eq!(ha.distance().unwrap().kilometers(), distance.kilometers()); + } + + #[test] + fn test_topocentric_to_hour_angle_cardinal_points() { + let observer = test_observer(); + let epoch = TT::j2000(); + + // North (Az=0°): object in northern sky, HA=0 on meridian + // Actually Az=0° is north, but object crosses north meridian at HA=0 only for circumpolar + // Let's test east/west instead + + // Due east (Az=90°): object is rising, HA should be negative (before meridian) + let east = TopocentricPosition::from_degrees(90.0, 30.0, observer, epoch).unwrap(); + let ha_east = east.to_hour_angle().unwrap(); + assert!( + ha_east.hour_angle().hours() < 0.0 || ha_east.hour_angle().hours() > 12.0, + "East object should have negative or >12h hour angle, got {}h", + ha_east.hour_angle().hours() + ); + + // Due west (Az=270°): object is setting, HA should be positive + let west = TopocentricPosition::from_degrees(270.0, 30.0, observer, epoch).unwrap(); + let ha_west = west.to_hour_angle().unwrap(); + assert!( + ha_west.hour_angle().hours() > 0.0 && ha_west.hour_angle().hours() < 12.0, + "West object should have positive hour angle, got {}h", + ha_west.hour_angle().hours() + ); + } + + #[test] + fn test_hour_angle_to_cirs() { + let observer = test_observer(); + let epoch = TT::j2000(); + let delta_t = 64.0; + + let ha = HourAnglePosition::new( + Angle::from_hours(2.0), + Angle::from_degrees(45.0), + observer, + epoch, + ) + .unwrap(); + + let cirs = ha.to_cirs(delta_t).unwrap(); + + assert!(cirs.ra().degrees() >= 0.0 && cirs.ra().degrees() < 360.0); + assert_eq!(cirs.dec().degrees(), ha.declination().degrees()); + } + + #[test] + fn test_hour_angle_cirs_roundtrip() { + use crate::CIRSPosition; + + let observer = test_observer(); + let epoch = TT::j2000(); + let delta_t = 64.0; + + let original_cirs = CIRSPosition::from_degrees(120.0, 35.0, epoch).unwrap(); + + let ha = original_cirs.to_hour_angle(&observer, delta_t).unwrap(); + let recovered_cirs = ha.to_cirs(delta_t).unwrap(); + + let ra_diff_arcsec = + (original_cirs.ra().radians() - recovered_cirs.ra().radians()).abs() * 206265.0; + let dec_diff_arcsec = + (original_cirs.dec().radians() - recovered_cirs.dec().radians()).abs() * 206265.0; + + assert!( + ra_diff_arcsec < 0.001, + "RA roundtrip failed: diff={:.6} arcsec", + ra_diff_arcsec + ); + assert!( + dec_diff_arcsec < 0.001, + "Dec roundtrip failed: diff={:.6} arcsec", + dec_diff_arcsec + ); + } + + #[test] + fn test_topocentric_to_cirs() { + let observer = test_observer(); + let epoch = TT::j2000(); + let delta_t = 64.0; + + let topo = TopocentricPosition::from_degrees(180.0, 45.0, observer, epoch).unwrap(); + let cirs = topo.to_cirs(delta_t).unwrap(); + + assert!(cirs.ra().degrees() >= 0.0 && cirs.ra().degrees() < 360.0); + assert!(cirs.dec().degrees() >= -90.0 && cirs.dec().degrees() <= 90.0); + } + + #[test] + fn test_full_reverse_chain_roundtrip() { + use crate::CIRSPosition; + + let observer = test_observer(); + let epoch = TT::j2000(); + let delta_t = 64.0; + + let original_cirs = CIRSPosition::from_degrees(200.0, 40.0, epoch).unwrap(); + + let ha = original_cirs.to_hour_angle(&observer, delta_t).unwrap(); + let topo = ha.to_topocentric().unwrap(); + let recovered_ha = topo.to_hour_angle().unwrap(); + let recovered_cirs = recovered_ha.to_cirs(delta_t).unwrap(); + + let ra_diff_arcsec = + (original_cirs.ra().radians() - recovered_cirs.ra().radians()).abs() * 206265.0; + let dec_diff_arcsec = + (original_cirs.dec().radians() - recovered_cirs.dec().radians()).abs() * 206265.0; + + assert!( + ra_diff_arcsec < 0.01, + "Full chain RA roundtrip failed: diff={:.6} arcsec", + ra_diff_arcsec + ); + assert!( + dec_diff_arcsec < 0.01, + "Full chain Dec roundtrip failed: diff={:.6} arcsec", + dec_diff_arcsec + ); + } diff --git a/01_yachay/cosmos/cosmos-coords/src/lib.rs b/01_yachay/cosmos/cosmos-coords/src/lib.rs new file mode 100644 index 0000000..90ab98d --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/lib.rs @@ -0,0 +1,27 @@ +pub mod aberration; +pub(crate) mod constants; +pub mod distance; +pub mod eop; +pub mod errors; +pub mod frames; +pub mod lighttime; +pub mod lunar; +pub mod solar; +pub mod transforms; + +pub use cosmos_core::Angle; +pub use distance::Distance; +pub use eop::{EopParameters, EopProvider, EopRecord}; +pub use errors::{CoordError, CoordResult}; +pub use lighttime::LightTimeCorrection; + +pub use frames::{ + CIRSPosition, EclipticCartesian, EclipticPosition, GCRSPosition, GalacticPosition, + HeliographicCarrington, HeliographicStonyhurst, HourAnglePosition, ICRSPosition, ITRSPosition, + SelenographicPosition, TIRSPosition, TopocentricPosition, +}; + +pub use transforms::{CartesianFrame, CoordinateFrame}; + +pub use cosmos_core::{Location, Vector3}; +pub use cosmos_time::{TimeError, TimeResult, TAI, TT, UT1, UTC}; diff --git a/01_yachay/cosmos/cosmos-coords/src/lighttime.rs b/01_yachay/cosmos/cosmos-coords/src/lighttime.rs new file mode 100644 index 0000000..3e3b48a --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/lighttime.rs @@ -0,0 +1,254 @@ +use crate::Distance; +use cosmos_core::Vector3; + +const C_AU_PER_DAY: f64 = 173.1446326846693; + +pub struct LightTimeCorrection { + light_time_days: f64, +} + +impl LightTimeCorrection { + pub fn from_distance(distance: Distance) -> Self { + let distance_au = distance.au(); + let light_time_days = distance_au / C_AU_PER_DAY; + + Self { light_time_days } + } + + pub fn from_position_vector(pos: Vector3) -> Self { + let distance_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + let light_time_days = distance_au / C_AU_PER_DAY; + + Self { light_time_days } + } + + pub fn light_time_days(&self) -> f64 { + self.light_time_days + } + + pub fn light_time_seconds(&self) -> f64 { + self.light_time_days * cosmos_core::constants::SECONDS_PER_DAY_F64 + } + + pub fn apply_proper_motion( + &self, + pm_ra_mas_per_year: f64, + pm_dec_mas_per_year: f64, + ) -> (f64, f64) { + let years = self.light_time_days / 365.25; + + let delta_ra_mas = pm_ra_mas_per_year * years; + let delta_dec_mas = pm_dec_mas_per_year * years; + + (delta_ra_mas, delta_dec_mas) + } + + pub fn apply_radial_velocity(&self, radial_velocity_km_s: f64) -> f64 { + radial_velocity_km_s * self.light_time_seconds() + } + + /// Corrects a position vector for light-time delay. + /// + /// # Arguments + /// * `pos` - Position vector in AU + /// * `vel` - Velocity vector in AU/day + /// + /// # Returns + /// Corrected position vector in AU + pub fn correct_position_vector(pos: Vector3, vel: Vector3) -> Vector3 { + let lt = Self::from_position_vector(pos); + let t = lt.light_time_days(); + + Vector3::new(pos.x - vel.x * t, pos.y - vel.y * t, pos.z - vel.z * t) + } + + /// Iteratively corrects a position vector for light-time delay with convergence checking. + /// + /// # Arguments + /// * `pos` - Position vector in AU + /// * `vel` - Velocity vector in AU/day + /// * `max_iterations` - Maximum number of iterations + /// + /// # Returns + /// Converged position vector in AU + pub fn iterate_correction(pos: Vector3, vel: Vector3, max_iterations: usize) -> Vector3 { + let mut corrected = pos; + + for _ in 0..max_iterations { + let lt = Self::from_position_vector(corrected); + let t = lt.light_time_days(); + + let new_corrected = + Vector3::new(pos.x - vel.x * t, pos.y - vel.y * t, pos.z - vel.z * t); + + let delta = libm::sqrt( + (new_corrected.x - corrected.x).powi(2) + + (new_corrected.y - corrected.y).powi(2) + + (new_corrected.z - corrected.z).powi(2), + ); + + corrected = new_corrected; + + if delta < 1e-12 { + break; + } + } + + corrected + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_light_time_from_distance() { + let distance = Distance::from_au(1.0).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + assert!((lt.light_time_days() - 1.0 / C_AU_PER_DAY).abs() < 1e-12); + assert!((lt.light_time_seconds() - 499.00478).abs() < 1.0); + } + + #[test] + fn test_proper_motion_correction() { + let distance = Distance::from_parsecs(10.0).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + let (delta_ra, delta_dec) = lt.apply_proper_motion(100.0, 50.0); + + assert!(delta_ra > 0.0); + assert!(delta_dec > 0.0); + } + + #[test] + fn test_radial_velocity_correction() { + let distance = Distance::from_au(1.0).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + let distance_change_km = lt.apply_radial_velocity(30.0); + + assert!(distance_change_km > 0.0); + } + + #[test] + fn test_position_vector_correction() { + let pos = Vector3::new(1.0, 0.0, 0.0); + let vel = Vector3::new(0.1, 0.0, 0.0); + + let corrected = LightTimeCorrection::correct_position_vector(pos, vel); + + assert!(corrected.x < pos.x); + } + + #[test] + fn test_iterative_correction() { + let pos = Vector3::new(5.0, 0.0, 0.0); + let vel = Vector3::new(0.01, 0.0, 0.0); + + let corrected = LightTimeCorrection::iterate_correction(pos, vel, 10); + + assert!(corrected.x < pos.x); + } + + #[test] + fn test_jupiter_light_time() { + let jupiter_distance = Distance::from_au(5.2).unwrap(); + let lt = LightTimeCorrection::from_distance(jupiter_distance); + + let expected_minutes = 5.2 * 499.0 / 60.0; + let actual_minutes = lt.light_time_seconds() / 60.0; + + assert!((actual_minutes - expected_minutes).abs() < 1.0); + } + + #[test] + fn test_romer_jupiter_moons_1676() { + let near_opposition = Distance::from_au(5.2 - 1.0).unwrap(); + let far_opposition = Distance::from_au(5.2 + 1.0).unwrap(); + + let lt_near = LightTimeCorrection::from_distance(near_opposition); + let lt_far = LightTimeCorrection::from_distance(far_opposition); + + let delay_seconds = lt_far.light_time_seconds() - lt_near.light_time_seconds(); + let delay_minutes = delay_seconds / 60.0; + + assert!((delay_minutes - 16.6).abs() < 1.0); + } + + #[test] + fn test_barnards_star_proper_motion() { + let distance = Distance::from_parsecs(1.83).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + let pm_ra = -798.58; + let pm_dec = 10328.12; + + let (delta_ra, delta_dec) = lt.apply_proper_motion(pm_ra, pm_dec); + + let light_years = lt.light_time_days() / 365.25; + assert!((delta_ra - (pm_ra * light_years)).abs() < 0.01); + assert!((delta_dec - (pm_dec * light_years)).abs() < 0.01); + } + + #[test] + fn test_proxima_centauri_radial_velocity() { + let distance = Distance::from_parsecs(1.30).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + let rv_km_s = -22.2; + + let distance_change_km = lt.apply_radial_velocity(rv_km_s); + + let expected_km = rv_km_s * lt.light_time_seconds(); + assert!((distance_change_km - expected_km).abs() < 1e-6); + } + + #[test] + fn test_sun_earth_light_time() { + let earth_sun = Distance::from_au(1.0).unwrap(); + let lt = LightTimeCorrection::from_distance(earth_sun); + + assert!((lt.light_time_seconds() - 499.0).abs() < 1.0); + assert!((lt.light_time_days() - 0.00577).abs() < 0.0001); + } + + #[test] + fn test_mercury_transit_timing() { + let mercury_near = Distance::from_au(0.31).unwrap(); + let mercury_far = Distance::from_au(0.47).unwrap(); + + let lt_near = LightTimeCorrection::from_distance(mercury_near); + let lt_far = LightTimeCorrection::from_distance(mercury_far); + + let timing_difference = (lt_far.light_time_seconds() - lt_near.light_time_seconds()).abs(); + + assert!(timing_difference > 0.0); + assert!(timing_difference < 100.0); + } + + #[test] + fn test_convergence_high_velocity_object() { + let pos = Vector3::new(100.0, 0.0, 0.0); + let vel = Vector3::new(1.0, 0.0, 0.0); + + let single = LightTimeCorrection::correct_position_vector(pos, vel); + let iterated = LightTimeCorrection::iterate_correction(pos, vel, 10); + + let improvement = (iterated.x - single.x).abs(); + assert!(improvement > 0.0); + } + + #[test] + fn test_aberration_effect_simulation() { + let distance = Distance::from_au(1.0).unwrap(); + let lt = LightTimeCorrection::from_distance(distance); + + let earth_orbital_velocity = 29.78; + let distance_change_km = lt.apply_radial_velocity(earth_orbital_velocity); + + let distance_change_au = distance_change_km / 1.495978707e8; + assert!(distance_change_au.abs() < 0.1); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/lunar.rs b/01_yachay/cosmos/cosmos-coords/src/lunar.rs new file mode 100644 index 0000000..6cca7ea --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/lunar.rs @@ -0,0 +1,287 @@ +use crate::{CoordResult, ICRSPosition}; +use cosmos_core::constants::{DEG_TO_RAD, J2000_JD}; +use cosmos_core::utils::{normalize_angle_rad, normalize_angle_to_positive}; +use cosmos_core::Angle; +use cosmos_time::TT; + +const LUNAR_AXIAL_INCLINATION_DEG: f64 = 1.5424; +const LUNAR_AXIAL_INCLINATION_RAD: f64 = LUNAR_AXIAL_INCLINATION_DEG * DEG_TO_RAD; + +pub struct LunarLibration { + pub longitude: Angle, + pub latitude: Angle, +} + +pub struct LunarOrientation { + pub optical_libration: LunarLibration, + pub sub_earth_point: LunarLibration, + pub position_angle: Angle, +} + +pub fn compute_lunar_orientation(epoch: &TT) -> LunarOrientation { + let (lib_lon, lib_lat) = compute_optical_libration_internal(epoch); + let position_angle = compute_position_angle_internal(epoch); + + LunarOrientation { + optical_libration: LunarLibration { + longitude: Angle::from_radians(lib_lon), + latitude: Angle::from_radians(lib_lat), + }, + sub_earth_point: LunarLibration { + longitude: Angle::from_radians(lib_lon), + latitude: Angle::from_radians(lib_lat), + }, + position_angle: Angle::from_radians(position_angle), + } +} + +pub fn compute_optical_libration(epoch: &TT) -> (Angle, Angle) { + let (lon, lat) = compute_optical_libration_internal(epoch); + (Angle::from_radians(lon), Angle::from_radians(lat)) +} + +pub fn compute_sub_earth_point(epoch: &TT) -> (Angle, Angle) { + compute_optical_libration(epoch) +} + +fn compute_optical_libration_internal(epoch: &TT) -> (f64, f64) { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let _mean_anomaly = moon_mean_anomaly(t); + let mean_argument_latitude = moon_argument_latitude(t); + let mean_elongation = moon_mean_elongation(t); + let ascending_node = moon_ascending_node(t); + + let lib_lon = -0.02752 * libm::cos(ascending_node) + - 0.02245 * libm::sin(mean_argument_latitude) + + 0.00684 * libm::cos(mean_argument_latitude - 2.0 * mean_elongation) + - 0.00293 * libm::cos(2.0 * mean_argument_latitude) + - 0.00085 * libm::cos(2.0 * mean_argument_latitude - 2.0 * mean_elongation) + - 0.00054 * libm::sin(mean_argument_latitude - 2.0 * mean_elongation) + - 0.00020 * libm::sin(mean_argument_latitude + ascending_node) + - 0.00020 * libm::cos(2.0 * mean_argument_latitude - mean_elongation) + - 0.00020 * libm::sin(mean_argument_latitude - ascending_node); + + let argument = mean_argument_latitude - ascending_node; + + let lib_lat = -0.02816 * libm::sin(argument) + 0.02244 * libm::cos(ascending_node) + - 0.00682 * libm::sin(argument - 2.0 * mean_elongation) + - 0.00279 * libm::sin(2.0 * mean_argument_latitude - argument) + - 0.00083 * libm::sin(2.0 * mean_argument_latitude - argument - 2.0 * mean_elongation) + + 0.00069 * libm::sin(argument + 2.0 * mean_elongation) + + 0.00040 * libm::cos(2.0 * ascending_node); + + let lib_lon_rad = lib_lon * 10.0 * DEG_TO_RAD; + let lib_lat_rad = lib_lat * 10.0 * DEG_TO_RAD; + + ( + normalize_angle_rad(lib_lon_rad), + normalize_angle_rad(lib_lat_rad), + ) +} + +fn compute_position_angle_internal(epoch: &TT) -> f64 { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let ascending_node = moon_ascending_node(t); + let obliquity = mean_obliquity(t); + let i_prime = LUNAR_AXIAL_INCLINATION_RAD; + + let v = ascending_node; + let (vs, vc) = libm::sincos(v); + + let (is, ic) = libm::sincos(i_prime); + let (os, oc) = libm::sincos(obliquity); + + let x = is * vs; + let y = is * vc * oc - ic * os; + + libm::atan2(y, x) +} + +fn moon_mean_anomaly(t: f64) -> f64 { + let m_prime = 134.9633964 + 477198.8675055 * t + 0.0087414 * t * t + t * t * t / 69699.0 + - t * t * t * t / 14712000.0; + normalize_angle_to_positive(m_prime * DEG_TO_RAD) +} + +fn moon_argument_latitude(t: f64) -> f64 { + let f = 93.272095 + 483202.0175233 * t - 0.0036539 * t * t - t * t * t / 3526000.0 + + t * t * t * t / 863310000.0; + normalize_angle_to_positive(f * DEG_TO_RAD) +} + +fn moon_mean_elongation(t: f64) -> f64 { + let d = 297.8501921 + 445267.1114034 * t - 0.0018819 * t * t + t * t * t / 545868.0 + - t * t * t * t / 113065000.0; + normalize_angle_to_positive(d * DEG_TO_RAD) +} + +fn moon_ascending_node(t: f64) -> f64 { + let omega = 125.0445479 - 1934.1362891 * t + 0.0020754 * t * t + t * t * t / 467441.0 + - t * t * t * t / 60616000.0; + normalize_angle_to_positive(omega * DEG_TO_RAD) +} + +fn mean_obliquity(t: f64) -> f64 { + let eps0 = 23.439291 - 0.0130042 * t - 1.64e-7 * t * t + 5.04e-7 * t * t * t; + eps0 * DEG_TO_RAD +} + +pub(crate) fn get_moon_icrs(epoch: &TT) -> CoordResult { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let l_prime = 218.3164477 + 481267.88123421 * t; + let l_prime = normalize_angle_to_positive(l_prime * DEG_TO_RAD); + + let d_moon = 297.8501921 + 445267.1114034 * t; + let d_moon = normalize_angle_to_positive(d_moon * DEG_TO_RAD); + + let m = 357.5291092 + 35999.0502909 * t; + let m = normalize_angle_to_positive(m * DEG_TO_RAD); + + let m_prime = 134.9633964 + 477198.8675055 * t; + let m_prime = normalize_angle_to_positive(m_prime * DEG_TO_RAD); + + let f = 93.272095 + 483202.0175233 * t; + let f = normalize_angle_to_positive(f * DEG_TO_RAD); + + let moon_lon = l_prime + + 6.289 * DEG_TO_RAD * libm::sin(m_prime) + + 1.274 * DEG_TO_RAD * libm::sin(2.0 * d_moon - m_prime) + + 0.658 * DEG_TO_RAD * libm::sin(2.0 * d_moon) + + 0.214 * DEG_TO_RAD * libm::sin(2.0 * m_prime) + - 0.186 * DEG_TO_RAD * libm::sin(m) + - 0.114 * DEG_TO_RAD * libm::sin(2.0 * f); + + let moon_lat = 5.128 * DEG_TO_RAD * libm::sin(f) + + 0.281 * DEG_TO_RAD * libm::sin(m_prime + f) + + 0.278 * DEG_TO_RAD * libm::sin(m_prime - f); + + let eps = (23.439291 - 0.0130042 * t) * DEG_TO_RAD; + + let (sin_lon, cos_lon) = libm::sincos(moon_lon); + let (sin_lat, cos_lat) = libm::sincos(moon_lat); + let (sin_eps, cos_eps) = libm::sincos(eps); + + let part = sin_lon * cos_eps - libm::tan(moon_lat) * sin_eps; + let ra = libm::atan2(part, cos_lon); + let dec = libm::asin(sin_lat * cos_eps + cos_lat * sin_eps * sin_lon); + + ICRSPosition::new( + Angle::from_radians(normalize_angle_to_positive(ra)), + Angle::from_radians(dec), + ) +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_time::julian::JulianDate; + + #[test] + fn test_optical_libration_longitude_range() { + let epochs = [ + TT::j2000(), + TT::from_julian_date(JulianDate::new(J2000_JD + 7.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 14.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 21.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 28.0, 0.0)), + ]; + + for epoch in &epochs { + let (lon, _) = compute_optical_libration(epoch); + assert!( + lon.degrees().abs() <= 8.5, + "Libration longitude = {} degrees exceeds expected range ±7.9°", + lon.degrees() + ); + } + } + + #[test] + fn test_optical_libration_latitude_range() { + let epochs = [ + TT::j2000(), + TT::from_julian_date(JulianDate::new(J2000_JD + 7.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 14.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 21.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 28.0, 0.0)), + ]; + + for epoch in &epochs { + let (_, lat) = compute_optical_libration(epoch); + assert!( + lat.degrees().abs() <= 7.5, + "Libration latitude = {} degrees exceeds expected range ±6.7°", + lat.degrees() + ); + } + } + + #[test] + fn test_sub_earth_point_equals_optical_libration() { + let epoch = TT::j2000(); + let (lib_lon, lib_lat) = compute_optical_libration(&epoch); + let (sub_lon, sub_lat) = compute_sub_earth_point(&epoch); + + assert_eq!(lib_lon.radians(), sub_lon.radians()); + assert_eq!(lib_lat.radians(), sub_lat.radians()); + } + + #[test] + fn test_lunar_orientation_combined() { + let epoch = TT::j2000(); + let orientation = compute_lunar_orientation(&epoch); + + assert!( + orientation.optical_libration.longitude.degrees().abs() <= 8.5, + "lib_lon = {}", + orientation.optical_libration.longitude.degrees() + ); + assert!( + orientation.optical_libration.latitude.degrees().abs() <= 7.5, + "lib_lat = {}", + orientation.optical_libration.latitude.degrees() + ); + assert!( + orientation.sub_earth_point.longitude.degrees().abs() <= 8.5, + "sub_lon = {}", + orientation.sub_earth_point.longitude.degrees() + ); + assert!( + orientation.sub_earth_point.latitude.degrees().abs() <= 7.5, + "sub_lat = {}", + orientation.sub_earth_point.latitude.degrees() + ); + } + + #[test] + fn test_libration_variation_over_month() { + let start = TT::j2000(); + let end = TT::from_julian_date(JulianDate::new(J2000_JD + 27.3, 0.0)); + + let (lon_start, lat_start) = compute_optical_libration(&start); + let (lon_end, lat_end) = compute_optical_libration(&end); + + let lon_diff = (lon_end.degrees() - lon_start.degrees()).abs(); + let lat_diff = (lat_end.degrees() - lat_start.degrees()).abs(); + + assert!( + lon_diff < 16.0, + "Longitude libration change over one month should be < 16°, got {}", + lon_diff + ); + assert!( + lat_diff < 14.0, + "Latitude libration change over one month should be < 14°, got {}", + lat_diff + ); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/solar.rs b/01_yachay/cosmos/cosmos-coords/src/solar.rs new file mode 100644 index 0000000..fc2691d --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/solar.rs @@ -0,0 +1,251 @@ +use crate::{CoordResult, ICRSPosition}; +use cosmos_core::constants::{ARCSEC_TO_RAD, DEG_TO_RAD, J2000_JD, TWOPI}; +use cosmos_core::utils::{normalize_angle_rad, normalize_angle_to_positive}; +use cosmos_core::Angle; +use cosmos_time::TT; + +const SOLAR_EQUATOR_INCLINATION_DEG: f64 = 7.25; +const SOLAR_EQUATOR_INCLINATION_RAD: f64 = SOLAR_EQUATOR_INCLINATION_DEG * DEG_TO_RAD; + +const SOLAR_ASCENDING_NODE_J2000_DEG: f64 = 75.76; + +pub const CARRINGTON_EPOCH_JD: f64 = 2398220.0; +pub const CARRINGTON_SYNODIC_PERIOD: f64 = 27.2753; + +pub struct SolarOrientation { + pub b0: Angle, + pub l0: Angle, + pub p: Angle, +} + +pub fn compute_solar_orientation(epoch: &TT) -> SolarOrientation { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let (sun_lon, sun_lat, obliquity) = solar_ecliptic_coords(t); + let (b0, l0, p) = heliographic_coords(t, sun_lon, sun_lat, obliquity); + + SolarOrientation { + b0: Angle::from_radians(b0), + l0: Angle::from_radians(l0), + p: Angle::from_radians(p), + } +} + +pub fn compute_b0(epoch: &TT) -> Angle { + compute_solar_orientation(epoch).b0 +} + +pub fn compute_l0(epoch: &TT) -> Angle { + compute_solar_orientation(epoch).l0 +} + +pub fn compute_p(epoch: &TT) -> Angle { + compute_solar_orientation(epoch).p +} + +pub fn carrington_rotation_number(epoch: &TT) -> u32 { + let jd = epoch.to_julian_date(); + let jd_days = (jd.jd1() - CARRINGTON_EPOCH_JD) + jd.jd2(); + libm::floor(jd_days / CARRINGTON_SYNODIC_PERIOD) as u32 + 1 +} + +pub fn sun_earth_distance(epoch: &TT) -> f64 { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let m = (357.52911 + 35999.05029 * t - 0.0001537 * t * t) * DEG_TO_RAD; + let e = 0.016708634 - 0.000042037 * t - 0.0000001267 * t * t; + + let c_rad = (1.914602 - 0.004817 * t - 0.000014 * t * t) * DEG_TO_RAD * libm::sin(m) + + (0.019993 - 0.000101 * t) * DEG_TO_RAD * libm::sin(2.0 * m) + + 0.000289 * DEG_TO_RAD * libm::sin(3.0 * m); + + let true_anomaly = m + c_rad; + let a = 1.000001018; // semi-major axis in AU + + a * (1.0 - e * e) / (1.0 + e * libm::cos(true_anomaly)) +} + +fn heliographic_coords(t: f64, sun_lon: f64, _sun_lat: f64, obliquity: f64) -> (f64, f64, f64) { + let i = SOLAR_EQUATOR_INCLINATION_RAD; + let k = (SOLAR_ASCENDING_NODE_J2000_DEG + 1.3958333 * t) * DEG_TO_RAD; + + let lambda = sun_lon; + let theta = lambda - k; + let (sin_theta, cos_theta) = libm::sincos(theta); + let (sin_i, cos_i) = libm::sincos(i); + let (_sin_obl, cos_obl) = libm::sincos(obliquity); + + let b0 = libm::asin(sin_theta * sin_i); + + let eta = libm::atan2(sin_i * cos_theta, cos_i); + let jd_days = + t * cosmos_core::constants::DAYS_PER_JULIAN_CENTURY + J2000_JD - CARRINGTON_EPOCH_JD; + let l0_raw = 360.0 / CARRINGTON_SYNODIC_PERIOD * jd_days; + let l0 = normalize_angle_to_positive((l0_raw * DEG_TO_RAD - eta) % TWOPI); + + let rho = libm::atan(cos_theta * sin_i / cos_obl); + let sigma = libm::atan(sin_theta * cos_i); + let p = normalize_angle_rad(rho + sigma); + + (b0, l0, p) +} + +fn solar_ecliptic_coords(t: f64) -> (f64, f64, f64) { + let l0 = 280.46646 + 36000.76983 * t + 0.0003032 * t * t; + let m = 357.52911 + 35999.05029 * t - 0.0001537 * t * t; + let m_rad = m * DEG_TO_RAD; + + let c = (1.914602 - 0.004817 * t - 0.000014 * t * t) * libm::sin(m_rad) + + (0.019993 - 0.000101 * t) * libm::sin(2.0 * m_rad) + + 0.000289 * libm::sin(3.0 * m_rad); + + let sun_true_lon = l0 + c; + + let omega = 125.04 - 1934.136 * t; + let omega_rad = omega * DEG_TO_RAD; + let apparent_lon = sun_true_lon - 0.00569 - 0.00478 * libm::sin(omega_rad); + + let obliquity = mean_obliquity(t); + + ( + normalize_angle_to_positive(apparent_lon * DEG_TO_RAD), + 0.0, + obliquity, + ) +} + +fn mean_obliquity(t: f64) -> f64 { + let eps0_arcsec = 84381.448 - 46.8150 * t - 0.00059 * t * t + 0.001813 * t * t * t; + eps0_arcsec * ARCSEC_TO_RAD +} + +pub(crate) fn get_sun_icrs(epoch: &TT) -> CoordResult { + let jd = epoch.to_julian_date(); + let d = (jd.jd1() - J2000_JD) + jd.jd2(); + let t = d / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + let l0 = 280.46646 + 36000.76983 * t + 0.0003032 * t * t; + let m = 357.52911 + 35999.05029 * t - 0.0001537 * t * t; + let m_rad = m * DEG_TO_RAD; + + let c = (1.914602 - 0.004817 * t - 0.000014 * t * t) * libm::sin(m_rad) + + (0.019993 - 0.000101 * t) * libm::sin(2.0 * m_rad) + + 0.000289 * libm::sin(3.0 * m_rad); + + let sun_true_lon = l0 + c; + let omega = 125.04 - 1934.136 * t; + let omega_rad = omega * DEG_TO_RAD; + let apparent_lon = sun_true_lon - 0.00569 - 0.00478 * libm::sin(omega_rad); + + let lambda = apparent_lon * DEG_TO_RAD; + let eps = (23.439291 - 0.0130042 * t) * DEG_TO_RAD; + + let (sin_lambda, cos_lambda) = libm::sincos(lambda); + let (sin_eps, cos_eps) = libm::sincos(eps); + + let ra = libm::atan2(sin_lambda * cos_eps, cos_lambda); + let dec = libm::asin(sin_lambda * sin_eps); + + ICRSPosition::new( + Angle::from_radians(normalize_angle_to_positive(ra)), + Angle::from_radians(dec), + ) +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_time::julian::JulianDate; + + #[test] + fn test_b0_range() { + let epochs = [ + TT::j2000(), + TT::from_julian_date(JulianDate::new(J2000_JD + 91.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 182.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 273.0, 0.0)), + ]; + + for epoch in &epochs { + let b0 = compute_b0(epoch); + assert!( + b0.degrees().abs() <= 7.3, + "B0 = {} degrees exceeds expected range ±7.25°", + b0.degrees() + ); + } + } + + #[test] + fn test_l0_range() { + let epoch = TT::j2000(); + let l0 = compute_l0(&epoch); + assert!( + l0.degrees() >= 0.0 && l0.degrees() < 360.0, + "L0 = {} degrees outside [0, 360) range", + l0.degrees() + ); + } + + #[test] + fn test_p_range() { + let epochs = [ + TT::j2000(), + TT::from_julian_date(JulianDate::new(J2000_JD + 91.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 182.0, 0.0)), + TT::from_julian_date(JulianDate::new(J2000_JD + 273.0, 0.0)), + ]; + + for epoch in &epochs { + let p = compute_p(epoch); + assert!( + p.degrees().abs() <= 45.0, + "P = {} degrees exceeds expected range ±45°", + p.degrees() + ); + } + } + + #[test] + fn test_carrington_rotation_period() { + let epoch1 = TT::j2000(); + let l0_1 = compute_l0(&epoch1); + + let epoch2 = + TT::from_julian_date(JulianDate::new(J2000_JD + CARRINGTON_SYNODIC_PERIOD, 0.0)); + let l0_2 = compute_l0(&epoch2); + + let diff = (l0_2.degrees() - l0_1.degrees()).abs(); + assert!( + (diff - 360.0).abs() < 5.0 || diff < 5.0, + "L0 should change by ~360° in one Carrington rotation, got {} degrees", + diff + ); + } + + #[test] + fn test_solar_orientation_combined() { + let epoch = TT::j2000(); + let orientation = compute_solar_orientation(&epoch); + + assert!( + orientation.b0.degrees().abs() <= 7.3, + "B0 = {} out of range", + orientation.b0.degrees() + ); + assert!( + orientation.l0.degrees() >= 0.0 && orientation.l0.degrees() < 360.0, + "L0 = {} out of range", + orientation.l0.degrees() + ); + assert!( + orientation.p.degrees().abs() <= 30.0, + "P = {} out of range", + orientation.p.degrees() + ); + } +} diff --git a/01_yachay/cosmos/cosmos-coords/src/transforms/cartesian.rs b/01_yachay/cosmos/cosmos-coords/src/transforms/cartesian.rs new file mode 100644 index 0000000..c1947c2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/transforms/cartesian.rs @@ -0,0 +1,12 @@ +use cosmos_core::Vector3; + +/// Trait for Cartesian coordinate frame transformations. +/// Unlike `CoordinateFrame` which handles spherical sky positions, +/// this handles 3D Cartesian vectors (x, y, z). +pub trait CartesianFrame: Sized { + /// Transform to ICRS Cartesian coordinates + fn to_icrs(&self) -> Vector3; + + /// Create from ICRS Cartesian coordinates + fn from_icrs(icrs: &Vector3) -> Self; +} diff --git a/01_yachay/cosmos/cosmos-coords/src/transforms/mod.rs b/01_yachay/cosmos/cosmos-coords/src/transforms/mod.rs new file mode 100644 index 0000000..63315ad --- /dev/null +++ b/01_yachay/cosmos/cosmos-coords/src/transforms/mod.rs @@ -0,0 +1,12 @@ +pub mod cartesian; + +use crate::{frames::ICRSPosition, CoordResult}; +use cosmos_time::TT; + +pub use cartesian::CartesianFrame; + +pub trait CoordinateFrame: Sized { + fn to_icrs(&self, epoch: &TT) -> CoordResult; + + fn from_icrs(icrs: &ICRSPosition, epoch: &TT) -> CoordResult; +} diff --git a/01_yachay/cosmos/cosmos-core/Cargo.toml b/01_yachay/cosmos/cosmos-core/Cargo.toml new file mode 100644 index 0000000..b1a893b --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "cosmos-core" +version.workspace = true +authors.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true +description = "Core types and utilities for the Eternal astronomy library" +keywords = ["astronomy", "celestial", "astrometry", "science"] +categories = ["science"] + +[dependencies] +libm.workspace = true +once_cell.workspace = true +regex.workspace = true +serde = { workspace = true, optional = true } +thiserror.workspace = true + +[features] +default = [] +serde = ["dep:serde"] +# Internal feature for testing against ERFA reference implementation +erfa-tests = [] + +[dev-dependencies] +serde.workspace = true +serde_json.workspace = true diff --git a/01_yachay/cosmos/cosmos-core/README.md b/01_yachay/cosmos/cosmos-core/README.md new file mode 100644 index 0000000..4faa969 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/README.md @@ -0,0 +1,69 @@ +# cosmos-core + +Low-level astronomical calculations for coordinate transformations. + +[![Crates.io](https://img.shields.io/crates/v/cosmos-core)](https://crates.io/crates/cosmos-core) +[![Documentation](https://docs.rs/cosmos-core/badge.svg)](https://docs.rs/cosmos-core) +[![License: Apache 2.0](https://img.shields.io/crates/l/cosmos-core)](https://gitea.gioser.net/sergio/eternal) + +Pure Rust implementation of IAU 2000/2006 standards for celestial mechanics: rotation matrices, nutation/precession models, angle handling, and geodetic conversions. No runtime FFI. + +## Installation + +```toml +[dependencies] +cosmos-core = "0.1" +``` + +## Modules + +| Module | Purpose | +|---------------|-----------------------------------------------------------| +| `angle` | Angle types, parsing (HMS/DMS), normalization, validation | +| `matrix` | 3×3 rotation matrices and 3D vectors | +| `nutation` | IAU 2000A/2000B/2006A nutation models | +| `precession` | IAU 2000/2006 precession (Fukushima-Williams angles) | +| `cio` | CIO-based GCRS↔CIRS transformations | +| `obliquity` | Mean obliquity of the ecliptic (IAU 1980, 2006) | +| `location` | Observer geodetic coordinates, geocentric conversion | +| `constants` | Astronomical constants (J2000, WGS84, unit conversions) | + +## Example + +```rust +use eternal_core::nutation::NutationIAU2006A; +use eternal_core::constants::J2000_JD; + +// Compute nutation at J2000.0 +let nutation = NutationIAU2006A::new().compute(J2000_JD, 0.0).unwrap(); +println!("Δψ = {:.6}″", nutation.delta_psi * 206264.806); // radians to arcsec +println!("Δε = {:.6}″", nutation.delta_eps * 206264.806); +``` + +## Features + +- **`serde`** — Enables serialization for `Angle` and other types + +## Design Notes + +- **Two-part Julian Dates**: Functions accept `(jd1, jd2)` to preserve precision. Typically `jd1 = 2451545.0` (J2000.0) and `jd2` is days from epoch. +- **Radians internally**: All angular computations use radians. The `Angle` type provides conversion methods for degrees/HMS/DMS display. +- **Stateless models**: Nutation and precession calculators have no internal state. Call `compute(jd1, jd2)` with any epoch. + +## License + +Licensed under the Apache License, Version 2.0 +([LICENSE-APACHE](../LICENSE-APACHE) or +). +See [NOTICE](../NOTICE) for upstream attribution. + +## Acknowledgements + +Forked from [celestial](https://github.com/gaker/celestial) by **Greg Aker** +(originally dual-licensed under MIT OR Apache-2.0). This crate is derived +directly from that work and is maintained in this fork by Sergio Velásquez +Zeballos with Claude (Anthropic). + +## Contributing + +See the [repository](https://gitea.gioser.net/sergio/eternal) for contribution guidelines. diff --git a/01_yachay/cosmos/cosmos-core/src/angle/core.rs b/01_yachay/cosmos/cosmos-core/src/angle/core.rs new file mode 100644 index 0000000..2ee9599 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/core.rs @@ -0,0 +1,575 @@ +//! Core angle type for astronomical calculations. +//! +//! This module provides [`Angle`], the fundamental angular measurement type used throughout +//! the astronomy library. Angles are stored internally as radians (f64) but can be constructed +//! from and converted to degrees, hours, arcminutes, and arcseconds. +//! +//! # Design Rationale +//! +//! **Why radians internally?** All trigonometric functions in Rust (and most languages) operate +//! on radians. Storing radians avoids repeated conversions during calculations. The degree-based +//! constructors and accessors provide ergonomic APIs for human-readable values. +//! +//! **Why associated constants?** [`Angle::PI`], [`Angle::HALF_PI`], and [`Angle::ZERO`] exist +//! because angles are not just numbers. While `std::f64::consts::PI` gives you a raw float, +//! `Angle::PI` gives you a typed angle. This prevents accidentally mixing raw radians with +//! Angles and catches unit errors at compile time. +//! +//! # Quick Start +//! +//! ``` +//! use cosmos_core::Angle; +//! +//! // Construction - pick the unit that matches your data +//! let from_deg = Angle::from_degrees(45.0); +//! let from_rad = Angle::from_radians(0.785398); +//! let from_hrs = Angle::from_hours(3.0); // 3h = 45 degrees +//! let from_arcsec = Angle::from_arcseconds(162000.0); // 45 degrees +//! +//! // Conversion - get any unit you need +//! assert!((from_deg.radians() - 0.785398).abs() < 1e-5); +//! assert!((from_deg.hours() - 3.0).abs() < 1e-10); +//! +//! // Trigonometry - no conversion needed +//! let (sin, cos) = from_deg.sin_cos(); +//! ``` +//! +//! # Hour Angles +//! +//! Astronomy uses hours (0-24h) for right ascension. One hour equals 15 degrees: +//! +//! ``` +//! use cosmos_core::Angle; +//! +//! let ra = Angle::from_hours(6.0); // 6h RA +//! assert!((ra.degrees() - 90.0).abs() < 1e-10); +//! ``` +//! +//! # Validation +//! +//! Angles can be validated for specific astronomical contexts: +//! +//! ``` +//! use cosmos_core::Angle; +//! +//! let dec = Angle::from_degrees(45.0); +//! assert!(dec.validate_declination(false).is_ok()); // -90 to +90 +//! +//! let bad_dec = Angle::from_degrees(100.0); +//! assert!(bad_dec.validate_declination(false).is_err()); // Out of range +//! +//! // Right ascension auto-normalizes to [0, 360) +//! let ra = Angle::from_degrees(400.0); +//! let normalized = ra.validate_right_ascension().unwrap(); +//! assert!((normalized.degrees() - 40.0).abs() < 1e-10); +//! ``` +//! +//! # Convenience Functions +//! +//! For terser code, use the free functions [`deg`], [`rad`], [`hours`], [`arcsec`], [`arcmin`]: +//! +//! ``` +//! use cosmos_core::angle::{deg, hours, arcsec}; +//! +//! let a = deg(45.0); +//! let b = hours(3.0); +//! let c = arcsec(162000.0); +//! +//! assert!((a.degrees() - b.degrees()).abs() < 1e-10); +//! ``` +//! +//! # Arithmetic +//! +//! Angles support addition, subtraction, negation, and scalar multiplication/division: +//! +//! ``` +//! use cosmos_core::Angle; +//! +//! let a = Angle::from_degrees(30.0); +//! let b = Angle::from_degrees(15.0); +//! +//! let sum = a + b; // 45 degrees +//! let diff = a - b; // 15 degrees +//! let scaled = a * 2.0; // 60 degrees +//! let neg = -a; // -30 degrees +//! ``` + +use crate::constants::{HALF_PI, PI}; + +/// An angular measurement stored as radians. +/// +/// `Angle` is the primary type for representing angles throughout this library. +/// It stores the angle as a 64-bit float in radians and provides conversions to/from +/// other angular units commonly used in astronomy. +/// +/// # Internal Representation +/// +/// Angles are stored as radians (`f64`). This choice optimizes for: +/// - Direct use with trigonometric functions +/// - Precision in intermediate calculations +/// - Consistency with mathematical conventions +/// +/// # Derives +/// +/// - `Copy`, `Clone`: Angles are small (8 bytes) and cheap to copy +/// - `Debug`: Shows internal radian value +/// - `PartialEq`, `PartialOrd`: Compare angles directly (compares radian values) +/// +/// Note: `Eq` and `Ord` are not implemented because f64 can be NaN. +#[derive(Copy, Clone, Debug, PartialEq, PartialOrd)] +pub struct Angle { + rad: f64, +} + +impl Angle { + /// Zero angle (0 radians). + pub const ZERO: Self = Self { rad: 0.0 }; + + /// Pi radians (180 degrees). Useful for half-circle operations. + pub const PI: Self = Self { rad: PI }; + + /// Pi/2 radians (90 degrees). Useful for right angles and pole declinations. + pub const HALF_PI: Self = Self { rad: HALF_PI }; + + /// Creates an angle from radians. + /// + /// This is the only `const` constructor because radians are the internal representation. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// use std::f64::consts::FRAC_PI_4; + /// + /// let angle = Angle::from_radians(FRAC_PI_4); + /// assert!((angle.degrees() - 45.0).abs() < 1e-10); + /// ``` + #[inline] + pub const fn from_radians(rad: f64) -> Self { + Self { rad } + } + + /// Creates an angle from degrees. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_degrees(180.0); + /// assert!((angle.radians() - cosmos_core::constants::PI).abs() < 1e-10); + /// ``` + #[inline] + pub fn from_degrees(deg: f64) -> Self { + Self { + rad: deg * crate::constants::DEG_TO_RAD, + } + } + + /// Creates an angle from hours. + /// + /// In astronomy, right ascension is measured in hours where 24h = 360 degrees. + /// Each hour equals 15 degrees. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let ra = Angle::from_hours(6.0); // 6h = 90 degrees + /// assert!((ra.degrees() - 90.0).abs() < 1e-10); + /// + /// let ra_24h = Angle::from_hours(24.0); // Full circle + /// assert!((ra_24h.degrees() - 360.0).abs() < 1e-10); + /// ``` + #[inline] + pub fn from_hours(h: f64) -> Self { + Self { + rad: h * 15.0 * crate::constants::DEG_TO_RAD, + } + } + + /// Creates an angle from arcseconds. + /// + /// One arcsecond = 1/3600 of a degree. Commonly used for: + /// - Parallax measurements + /// - Proper motion + /// - Small angular separations + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_arcseconds(3600.0); // 1 degree + /// assert!((angle.degrees() - 1.0).abs() < 1e-10); + /// + /// // Proxima Centauri's parallax is about 0.77 arcseconds + /// let parallax = Angle::from_arcseconds(0.77); + /// ``` + #[inline] + pub fn from_arcseconds(arcsec: f64) -> Self { + Self { + rad: arcsec * crate::constants::ARCSEC_TO_RAD, + } + } + + /// Creates an angle from arcminutes. + /// + /// One arcminute = 1/60 of a degree. Commonly used for: + /// - Field of view specifications + /// - Object sizes (e.g., the Moon is about 31 arcminutes) + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_arcminutes(60.0); // 1 degree + /// assert!((angle.degrees() - 1.0).abs() < 1e-10); + /// + /// // Full Moon's apparent diameter + /// let moon_diameter = Angle::from_arcminutes(31.0); + /// ``` + #[inline] + pub fn from_arcminutes(arcmin: f64) -> Self { + Self { + rad: arcmin * crate::constants::ARCMIN_TO_RAD, + } + } + + /// Returns the angle in radians. + /// + /// This is the internal representation, so no conversion occurs. + #[inline] + pub fn radians(self) -> f64 { + self.rad + } + + /// Returns the angle in degrees. + #[inline] + pub fn degrees(self) -> f64 { + self.rad * crate::constants::RAD_TO_DEG + } + + /// Returns the angle in hours. + /// + /// Useful for right ascension where 24h = 360 degrees. + #[inline] + pub fn hours(self) -> f64 { + self.degrees() / 15.0 + } + + /// Returns the angle in arcseconds. + #[inline] + pub fn arcseconds(self) -> f64 { + self.degrees() * 3600.0 + } + + /// Returns the angle in arcminutes. + #[inline] + pub fn arcminutes(self) -> f64 { + self.degrees() * 60.0 + } + + /// Returns the sine of the angle. + #[inline] + pub fn sin(self) -> f64 { + libm::sin(self.rad) + } + + /// Returns the cosine of the angle. + #[inline] + pub fn cos(self) -> f64 { + libm::cos(self.rad) + } + + /// Returns both sine and cosine of the angle. + /// + /// Convenience method when you need both values. + /// + /// # Returns + /// + /// A tuple `(sin, cos)`. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_degrees(30.0); + /// let (sin, cos) = angle.sin_cos(); + /// assert!((sin - 0.5).abs() < 1e-10); + /// assert!((cos - 0.866025).abs() < 1e-5); + /// ``` + #[inline] + pub fn sin_cos(self) -> (f64, f64) { + libm::sincos(self.rad) + } + + /// Returns the tangent of the angle. + #[inline] + pub fn tan(self) -> f64 { + libm::tan(self.rad) + } + + /// Returns the absolute value of the angle. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let negative = Angle::from_degrees(-45.0); + /// let absolute = negative.abs(); + /// assert!((absolute.degrees() - 45.0).abs() < 1e-10); + /// ``` + #[inline] + pub fn abs(self) -> Self { + Self { + rad: self.rad.abs(), + } + } + + /// Wraps the angle to the range [-pi, +pi) (i.e., [-180, +180) degrees). + /// + /// Use this for longitude-like quantities or angular differences where + /// you want the shortest arc representation. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_degrees(270.0); + /// let wrapped = angle.wrapped(); + /// assert!((wrapped.degrees() - (-90.0)).abs() < 1e-10); + /// + /// let angle2 = Angle::from_degrees(-270.0); + /// let wrapped2 = angle2.wrapped(); + /// assert!((wrapped2.degrees() - 90.0).abs() < 1e-10); + /// ``` + #[inline] + pub fn wrapped(self) -> Self { + use super::normalize::wrap_pm_pi; + Self { + rad: wrap_pm_pi(self.rad), + } + } + + /// Normalizes the angle to the range [0, 2*pi) (i.e., [0, 360) degrees). + /// + /// Use this for right ascension or any angle that should be non-negative. + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Angle; + /// + /// let angle = Angle::from_degrees(-90.0); + /// let normalized = angle.normalized(); + /// assert!((normalized.degrees() - 270.0).abs() < 1e-10); + /// + /// let angle2 = Angle::from_degrees(450.0); + /// let normalized2 = angle2.normalized(); + /// assert!((normalized2.degrees() - 90.0).abs() < 1e-10); + /// ``` + #[inline] + pub fn normalized(self) -> Self { + Self { + rad: super::normalize::wrap_0_2pi(self.rad), + } + } + + /// Validates the angle as a longitude. + /// + /// If `normalize` is true, wraps to [0, 2*pi) and returns Ok. + /// If `normalize` is false, requires the angle to be in [-pi, +pi] or returns Err. + /// + /// # Errors + /// + /// Returns [`AstroError`](crate::AstroError) if: + /// - The angle is not finite (NaN or infinity) + /// - `normalize` is false and the angle is outside [-180, +180] degrees + #[inline] + pub fn validate_longitude(self, normalize: bool) -> Result { + super::validate::validate_longitude(self, normalize) + } + + /// Validates the angle as a geographic latitude. + /// + /// Latitude must be in [-90, +90] degrees ([-pi/2, +pi/2] radians). + /// + /// # Errors + /// + /// Returns [`AstroError`](crate::AstroError) if: + /// - The angle is not finite (NaN or infinity) + /// - The angle is outside [-90, +90] degrees + #[inline] + pub fn validate_latitude(self) -> Result { + super::validate::validate_latitude(self) + } + + /// Validates the angle as a declination. + /// + /// - `beyond_pole = false`: standard range [-90°, +90°] + /// - `beyond_pole = true`: extended range [-180°, +180°] for GEM pier-flipped observations + /// + /// # Errors + /// + /// Returns [`AstroError`](crate::AstroError) if: + /// - The angle is not finite (NaN or infinity) + /// - The angle is outside the valid range + #[inline] + pub fn validate_declination(self, beyond_pole: bool) -> Result { + super::validate::validate_declination(self, beyond_pole) + } + + /// Validates the angle as a right ascension, normalizing to [0, 360) degrees. + /// + /// Unlike declination, right ascension is cyclic. This method accepts any finite angle + /// and normalizes it to [0, 2*pi). + /// + /// # Errors + /// + /// Returns [`AstroError`](crate::AstroError) if the angle is not finite (NaN or infinity). + #[inline] + pub fn validate_right_ascension(self) -> Result { + super::validate::validate_right_ascension(self) + } +} + +/// Creates an angle from radians. Shorthand for [`Angle::from_radians`]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::rad; +/// use std::f64::consts::PI; +/// +/// let angle = rad(PI); +/// assert!((angle.degrees() - 180.0).abs() < 1e-10); +/// ``` +#[inline] +pub fn rad(v: f64) -> Angle { + Angle::from_radians(v) +} + +/// Creates an angle from degrees. Shorthand for [`Angle::from_degrees`]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::deg; +/// +/// let angle = deg(45.0); +/// assert!((angle.radians() - std::f64::consts::FRAC_PI_4).abs() < 1e-10); +/// ``` +#[inline] +pub fn deg(v: f64) -> Angle { + Angle::from_degrees(v) +} + +/// Creates an angle from hours. Shorthand for [`Angle::from_hours`]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::hours; +/// +/// let ra = hours(6.0); // 6h = 90 degrees +/// assert!((ra.degrees() - 90.0).abs() < 1e-10); +/// ``` +#[inline] +pub fn hours(v: f64) -> Angle { + Angle::from_hours(v) +} + +/// Creates an angle from arcseconds. Shorthand for [`Angle::from_arcseconds`]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::arcsec; +/// +/// let angle = arcsec(3600.0); // 1 degree +/// assert!((angle.degrees() - 1.0).abs() < 1e-10); +/// ``` +#[inline] +pub fn arcsec(v: f64) -> Angle { + Angle::from_degrees(v / 3600.0) +} + +/// Creates an angle from arcminutes. Shorthand for [`Angle::from_arcminutes`]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::arcmin; +/// +/// let angle = arcmin(60.0); // 1 degree +/// assert!((angle.degrees() - 1.0).abs() < 1e-10); +/// ``` +#[inline] +pub fn arcmin(v: f64) -> Angle { + Angle::from_degrees(v / 60.0) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_from_arcseconds() { + let angle = Angle::from_arcseconds(3600.0); + assert!((angle.degrees() - 1.0).abs() < 1e-20); + } + + #[test] + fn test_from_arcminutes() { + let angle = Angle::from_arcminutes(60.0); + assert!((angle.degrees() - 1.0).abs() < 1e-20); + } + + #[test] + fn test_arcseconds_getter() { + let angle = Angle::from_degrees(1.0); + assert!((angle.arcseconds() - 3600.0).abs() < 1e-20); + } + + #[test] + fn test_arcminutes_getter() { + let angle = Angle::from_degrees(1.0); + assert!((angle.arcminutes() - 60.0).abs() < 1e-20); + } + + #[test] + fn test_sin() { + let angle = Angle::from_degrees(30.0); + assert!((angle.sin() - 0.5).abs() < 1e-10); + } + + #[test] + fn test_tan() { + let angle = Angle::from_degrees(45.0); + assert!((angle.tan() - 1.0).abs() < 1e-15); + } + + #[test] + fn test_helper_functions() { + let a = rad(crate::constants::PI); + assert!((a.degrees() - 180.0).abs() < 1e-20); + + let b = deg(90.0); + assert!((b.radians() - crate::constants::HALF_PI).abs() < 1e-20); + + let c = hours(12.0); + assert!((c.degrees() - 180.0).abs() < 1e-20); + + let d = arcsec(3600.0); + assert!((d.degrees() - 1.0).abs() < 1e-20); + + let e = arcmin(60.0); + assert!((e.degrees() - 1.0).abs() < 1e-20); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/format.rs b/01_yachay/cosmos/cosmos-core/src/angle/format.rs new file mode 100644 index 0000000..f2c0007 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/format.rs @@ -0,0 +1,683 @@ +//! Angle formatting and lightweight parsing for astronomical coordinates. +//! +//! This module provides formatters for displaying angles in astronomical notation +//! and a simple parser for common angle formats. For more flexible parsing with support +//! for verbose formats like "12 hours 30 minutes", see the [`parse`](super::parse) module. +//! +//! # Formatting Conventions +//! +//! Astronomy uses two primary sexagesimal (base-60) notations: +//! +//! ## Degrees-Minutes-Seconds (DMS) +//! +//! Used for declination, latitude, altitude, and general angular measurements. +//! - Format: `+DD° MM' SS.ss"` +//! - Sign is always shown (+ or -) +//! - 1 degree = 60 arcminutes = 3600 arcseconds +//! +//! ## Hours-Minutes-Seconds (HMS) +//! +//! Used for right ascension and hour angles. +//! - Format: `HHʰ MMᵐ SS.ssˢ` +//! - Always positive; negative angles wrap to [0, 24h) +//! - 24 hours = 360 degrees, so 1 hour = 15 degrees +//! +//! # Formatting Examples +//! +//! ``` +//! use cosmos_core::Angle; +//! use cosmos_core::angle::{DmsFmt, HmsFmt}; +//! +//! // Declination of Vega: +38° 47' 01" +//! let dec = Angle::from_degrees(38.783611); +//! let dms = DmsFmt { frac_digits: 0 }; +//! assert_eq!(dms.fmt(dec), "+38° 47' 1\""); +//! +//! // Right ascension of Vega: 18h 36m 56s +//! let ra = Angle::from_hours(18.615556); +//! let hms = HmsFmt { frac_digits: 0 }; +//! assert_eq!(hms.fmt(ra), "18ʰ 36ᵐ 56ˢ"); +//! +//! // With fractional seconds +//! let hms_precise = HmsFmt { frac_digits: 2 }; +//! assert_eq!(hms_precise.fmt(ra), "18ʰ 36ᵐ 56.00ˢ"); +//! ``` +//! +//! # Parsing Examples +//! +//! The [`parse_angle`] function handles common formats: +//! +//! ``` +//! use cosmos_core::angle::parse_angle; +//! +//! // HMS formats (tries HMS first, then DMS) +//! let ra = parse_angle("12h30m15s").unwrap(); +//! assert!((ra.angle.hours() - 12.504166666666666).abs() < 1e-10); +//! +//! // Also accepts Unicode superscript notation +//! let ra2 = parse_angle("12ʰ30ᵐ15ˢ").unwrap(); +//! +//! // Colon-separated (interpreted as HMS by default) +//! let ra3 = parse_angle("12:30:15").unwrap(); +//! +//! // DMS formats +//! let dec = parse_angle("45°30'15\"").unwrap(); +//! assert!((dec.angle.degrees() - 45.504166666666666).abs() < 1e-10); +//! ``` +//! +//! # Default Display +//! +//! The `Display` trait formats angles as decimal degrees with 6 decimal places: +//! +//! ``` +//! use cosmos_core::Angle; +//! +//! let a = Angle::from_degrees(45.123456789); +//! assert_eq!(format!("{}", a), "45.123457°"); +//! ``` +use super::Angle; +use core::fmt; + +/// Formatter for degrees-minutes-seconds (DMS) notation. +/// +/// DMS is the standard format for declination, latitude, altitude, and general +/// angular measurements in astronomy. The sign is always explicit. +/// +/// # Fields +/// +/// * `frac_digits` - Number of decimal places for the arcseconds component. +/// Use 0 for whole arcseconds, 2-3 for sub-arcsecond precision. +/// +/// # Output Format +/// +/// `±DD° MM' SS.ss"` where: +/// - Sign is always shown (+ or -) +/// - Degrees, arcminutes are whole numbers +/// - Arcseconds include decimals per `frac_digits` +/// +/// # Example +/// +/// ``` +/// use cosmos_core::Angle; +/// use cosmos_core::angle::DmsFmt; +/// +/// let dec = Angle::from_degrees(-23.4392); +/// +/// // Whole arcseconds +/// let fmt0 = DmsFmt { frac_digits: 0 }; +/// assert_eq!(fmt0.fmt(dec), "-23° 26' 21\""); +/// +/// // Sub-arcsecond precision (typical for catalogs) +/// let fmt2 = DmsFmt { frac_digits: 2 }; +/// assert_eq!(fmt2.fmt(dec), "-23° 26' 21.12\""); +/// ``` +pub struct DmsFmt { + pub frac_digits: u8, +} + +/// Formatter for hours-minutes-seconds (HMS) notation. +/// +/// HMS is the standard format for right ascension and hour angles in astronomy. +/// The output is always positive; negative angles are wrapped to [0, 24h). +/// +/// # Fields +/// +/// * `frac_digits` - Number of decimal places for the seconds component. +/// Use 0 for whole seconds, 2-3 for sub-second precision. +/// +/// # Output Format +/// +/// `HHʰ MMᵐ SS.ssˢ` where: +/// - Uses Unicode superscript characters (ʰ, ᵐ, ˢ) +/// - Hours, minutes are whole numbers +/// - Seconds include decimals per `frac_digits` +/// - Negative angles wrap: -1.5h becomes 22h 30m +/// +/// # Example +/// +/// ``` +/// use cosmos_core::Angle; +/// use cosmos_core::angle::HmsFmt; +/// +/// let ra = Angle::from_hours(14.5); // 14h 30m 00s +/// +/// let fmt = HmsFmt { frac_digits: 1 }; +/// assert_eq!(fmt.fmt(ra), "14ʰ 30ᵐ 0.0ˢ"); +/// +/// // Negative angles wrap to positive +/// let neg = Angle::from_hours(-1.5); +/// assert_eq!(fmt.fmt(neg), "22ʰ 30ᵐ 0.0ˢ"); +/// ``` +pub struct HmsFmt { + pub frac_digits: u8, +} + +impl DmsFmt { + /// Formats an angle as degrees-minutes-seconds. + /// + /// Decomposes the angle into integer degrees and arcminutes, with arcseconds + /// shown to the precision specified by `frac_digits`. + /// + /// # Arguments + /// + /// * `a` - The angle to format + /// + /// # Returns + /// + /// A string in the format `±DD° MM' SS.ss"`. + #[inline] + pub fn fmt(&self, a: Angle) -> String { + let sign = if a.degrees() < 0.0 { '-' } else { '+' }; + let mut d = a.degrees().abs(); + let deg = libm::trunc(d); + d = (d - deg) * 60.0; + let min = libm::trunc(d); + let sec = (d - min) * 60.0; + format!( + "{sign}{deg:.0}° {min:.0}' {sec:.*}\"", + self.frac_digits as usize + ) + } +} + +impl HmsFmt { + /// Formats an angle as hours-minutes-seconds. + /// + /// Decomposes the angle into integer hours and minutes, with seconds + /// shown to the precision specified by `frac_digits`. Negative angles + /// are wrapped to the range [0, 24h) using Euclidean remainder. + /// + /// # Arguments + /// + /// * `a` - The angle to format + /// + /// # Returns + /// + /// A string in the format `HHʰ MMᵐ SS.ssˢ` using Unicode superscript markers. + #[inline] + pub fn fmt(&self, a: Angle) -> String { + let mut h = a.hours(); + h = h.rem_euclid(24.0); + let hh = libm::trunc(h); + h = (h - hh) * 60.0; + let mm = libm::trunc(h); + let ss = (h - mm) * 60.0; + format!("{hh:.0}ʰ {mm:.0}ᵐ {ss:.*}ˢ", self.frac_digits as usize) + } +} + +impl fmt::Display for Angle { + /// Formats the angle as decimal degrees with 6 decimal places. + /// + /// This provides a simple, unambiguous representation suitable for debugging + /// and data export. For astronomical notation, use [`DmsFmt`] or [`HmsFmt`]. + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:.6}°", self.degrees()) + } +} + +/// Result of parsing an angle string. +/// +/// This struct wraps the parsed [`Angle`] and may be extended in the future +/// to include metadata about the parse (detected unit, original sign, etc.). +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::parse_angle; +/// +/// let parsed = parse_angle("12h30m15s").unwrap(); +/// let angle = parsed.angle; // Extract the Angle +/// ``` +pub struct ParsedAngle { + /// The parsed angle value. + pub angle: Angle, +} + +/// Parses an angle string, trying HMS format first, then DMS. +/// +/// This is a lightweight parser for angle formats. +/// For more flexible parsing including verbose formats ("12 hours 30 minutes"), +/// see [`super::parse::parse_hms`] and [`super::parse::parse_dms`]. +/// +/// # Supported Formats +/// +/// **HMS (hours-minutes-seconds):** +/// - `12h30m15s` or `12h30m15.5s` +/// - `12ʰ30ᵐ15ˢ` (Unicode superscripts) +/// - `12:30:15` (colon-separated) +/// - `12h` (hours only) +/// - `-12h30m15s` (negative) +/// +/// **DMS (degrees-minutes-seconds):** +/// - `45°30'15"` or `45°30'15.5"` +/// - `45d30m15s` +/// - `45:30:15` (colon-separated, tried if HMS fails) +/// - `45°` (degrees only) +/// - `-45°30'15"` (negative) +/// +/// # Ambiguity +/// +/// Colon-separated values like `12:30:15` are tried as HMS first. If you need +/// to parse this as DMS explicitly, use [`parse_dms`](super::parse::parse_dms). +/// +/// # Errors +/// +/// Returns [`AstroError`](crate::AstroError) if: +/// - The string is empty or contains no valid components +/// - Minutes or seconds are outside [0, 60) +/// - Fractional hours/degrees are mixed with minutes/seconds (e.g., "12.5h30m") +/// - The string cannot be parsed as either HMS or DMS +/// +/// # Example +/// +/// ``` +/// use cosmos_core::angle::parse_angle; +/// +/// // Right ascension +/// let ra = parse_angle("05h14m32.27s").unwrap(); +/// assert!((ra.angle.hours() - 5.242297).abs() < 1e-5); +/// +/// // Declination +/// let dec = parse_angle("-08°12'05.9\"").unwrap(); +/// assert!((dec.angle.degrees() - (-8.201639)).abs() < 1e-5); +/// ``` +pub fn parse_angle(s: &str) -> Result { + parse_hms(s).or_else(|_| parse_dms(s)) +} + +/// Parses an HMS (hours-minutes-seconds) string into an angle. +/// +/// Accepts formats like: `12h30m15s`, `12ʰ30ᵐ15ˢ`, `12:30:15`, `12h`, `-12h30m15s` +fn parse_hms(s: &str) -> Result { + let s = s.trim(); + let sign = if s.starts_with('-') { -1.0 } else { 1.0 }; + let s = s.trim_start_matches(['+', '-']); + + let parts: Vec<&str> = s + .split(['h', 'ʰ', 'm', 'ᵐ', 's', 'ˢ', ':']) + .map(|p| p.trim()) + .filter(|p| !p.is_empty()) + .collect(); + + if parts.is_empty() { + return Err(crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Empty string", + )); + } + + if parts.len() > 3 { + return Err(crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Too many components (max 3: hours, minutes, seconds)", + )); + } + + let h = parts[0].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid hours", + ) + })?; + + let m = if parts.len() > 1 { + parts[1].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid minutes", + ) + })? + } else { + 0.0 + }; + + let sec = if parts.len() > 2 { + parts[2].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid seconds", + ) + })? + } else { + 0.0 + }; + + if parts.len() > 1 && h - libm::trunc(h) != 0.0 { + return Err(crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Cannot mix fractional hours with minutes/seconds", + )); + } + + if !(0.0..60.0).contains(&m) { + return Err(crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Minutes must be in range [0, 60)", + )); + } + + if !(0.0..60.0).contains(&sec) { + return Err(crate::AstroError::math_error( + "parse_hms", + crate::errors::MathErrorKind::InvalidInput, + "Seconds must be in range [0, 60)", + )); + } + + Ok(ParsedAngle { + angle: Angle::from_hours(sign * (h.abs() + m / 60.0 + sec / 3600.0)), + }) +} + +/// Parses a DMS (degrees-minutes-seconds) string into an angle. +/// +/// Accepts formats like: `45°30'15"`, `45d30m15s`, `45:30:15`, `45°`, `-45°30'15"` +fn parse_dms(s: &str) -> Result { + let s = s.trim(); + let sign = if s.starts_with('-') { -1.0 } else { 1.0 }; + let s = s.trim_start_matches(['+', '-']); + + let parts: Vec<&str> = s + .split(['°', '\'', '"', ':', 'd', 'm', 's']) + .map(|p| p.trim()) + .filter(|p| !p.is_empty()) + .collect(); + + if parts.is_empty() { + return Err(crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Empty string", + )); + } + + if parts.len() > 3 { + return Err(crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Too many components (max 3: degrees, arcminutes, arcseconds)", + )); + } + + let deg = parts[0].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid degrees", + ) + })?; + + let min = if parts.len() > 1 { + parts[1].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid arcminutes", + ) + })? + } else { + 0.0 + }; + + let sec = if parts.len() > 2 { + parts[2].parse::().map_err(|_| { + crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Invalid arcseconds", + ) + })? + } else { + 0.0 + }; + + if parts.len() > 1 && deg - libm::trunc(deg) != 0.0 { + return Err(crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Cannot mix fractional degrees with arcminutes/arcseconds", + )); + } + + if !(0.0..60.0).contains(&min) { + return Err(crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Arcminutes must be in range [0, 60)", + )); + } + + if !(0.0..60.0).contains(&sec) { + return Err(crate::AstroError::math_error( + "parse_dms", + crate::errors::MathErrorKind::InvalidInput, + "Arcseconds must be in range [0, 60)", + )); + } + + Ok(ParsedAngle { + angle: Angle::from_degrees(sign * (deg.abs() + min / 60.0 + sec / 3600.0)), + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_hms_format_normal() { + let a = Angle::from_hours(12.5); + let fmt = HmsFmt { frac_digits: 2 }; + let result = fmt.fmt(a); + assert!(result.contains("12ʰ")); + assert!(result.contains("30ᵐ")); + } + + #[test] + fn test_hms_format_extreme_positive() { + let a = Angle::from_degrees(720.0); + let fmt = HmsFmt { frac_digits: 0 }; + let result = fmt.fmt(a); + assert!(result.contains("0ʰ")); + } + + #[test] + fn test_hms_format_extreme_negative() { + let a = Angle::from_degrees(-750.0); + let fmt = HmsFmt { frac_digits: 0 }; + let result = fmt.fmt(a); + assert!(result.contains("22ʰ")); + } + + #[test] + fn test_dms_format_negative_with_precision() { + let a = Angle::from_degrees(-12.345678); + let fmt = DmsFmt { frac_digits: 2 }; + let result = fmt.fmt(a); + assert_eq!(result, "-12° 20' 44.44\""); + } + + #[test] + fn test_hms_format_wraps_negative_angle() { + let a = Angle::from_hours(-1.5); + let fmt = HmsFmt { frac_digits: 1 }; + let result = fmt.fmt(a); + assert_eq!(result, "22ʰ 30ᵐ 0.0ˢ"); + } + + #[test] + fn test_angle_display_precision() { + let a = Angle::from_degrees(1.23456789); + assert_eq!(format!("{a}"), "1.234568°"); + } + + #[test] + fn test_parse_hms() { + let result = parse_hms("12h30m15s").unwrap(); + assert!((result.angle.hours() - 12.504166666666666).abs() < 1e-10); + } + + #[test] + fn test_parse_hms_unicode() { + let result = parse_hms("12ʰ30ᵐ15ˢ").unwrap(); + assert!((result.angle.hours() - 12.504166666666666).abs() < 1e-10); + } + + #[test] + fn test_parse_hms_colon() { + let result = parse_hms("12:30:15").unwrap(); + assert!((result.angle.hours() - 12.504166666666666).abs() < 1e-10); + } + + #[test] + fn test_parse_hms_partial() { + let result = parse_hms("12h").unwrap(); + assert_eq!(result.angle.hours(), 12.0); + } + + #[test] + fn test_parse_dms_positive() { + let result = parse_dms("45°30'15\"").unwrap(); + assert!((result.angle.degrees() - 45.50416666666667).abs() < 1e-10); + } + + #[test] + fn test_parse_dms_negative() { + let result = parse_dms("-45°30'15\"").unwrap(); + assert!((result.angle.degrees() + 45.50416666666667).abs() < 1e-10); + } + + #[test] + fn test_parse_dms_colon() { + let result = parse_dms("45:30:15").unwrap(); + assert!((result.angle.degrees() - 45.50416666666667).abs() < 1e-10); + } + + #[test] + fn test_parse_dms_partial() { + let result = parse_dms("45°").unwrap(); + assert_eq!(result.angle.degrees(), 45.0); + } + + #[test] + fn test_parse_angle_dispatch_hms() { + let result = parse_angle("12h30m15s").unwrap(); + assert!((result.angle.hours() - 12.504166666666666).abs() < 1e-10); + } + + #[test] + fn test_parse_angle_dispatch_dms() { + let result = parse_angle("45°30'15\"").unwrap(); + assert!((result.angle.degrees() - 45.50416666666667).abs() < 1e-10); + } + + #[test] + fn test_parse_hms_negative() { + let result = parse_hms("-01:30:00").unwrap(); + assert_eq!(result.angle.hours(), -1.5); + } + + #[test] + fn test_parse_hms_negative_with_seconds() { + let result = parse_hms("-12h30m45s").unwrap(); + assert_eq!(result.angle.hours(), -12.5125); + } + + #[test] + fn test_parse_hms_invalid_minutes() { + let result = parse_hms("12h99m00s"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_hms_invalid_seconds() { + let result = parse_hms("12h30m80s"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_invalid_arcminutes() { + let result = parse_dms("45°80'00\""); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_invalid_arcseconds() { + let result = parse_dms("45°30'99\""); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_negative_with_minutes_seconds() { + let result = parse_dms("-45°30'15\"").unwrap(); + assert_eq!(result.angle.degrees(), -45.50416666666667); + } + + #[test] + fn test_parse_hms_rejects_fractional_hours_with_minutes() { + let result = parse_hms("12.5h30m"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_hms_rejects_empty_string() { + let result = parse_hms(""); + assert!(result.is_err()); + } + + #[test] + fn test_parse_hms_rejects_too_many_components() { + let result = parse_hms("12:30:15:99"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_hms_accepts_fractional_hours_alone() { + let result = parse_hms("12.5h").unwrap(); + assert_eq!(result.angle.hours(), 12.5); + } + + #[test] + fn test_parse_dms_rejects_fractional_degrees_with_arcminutes() { + let result = parse_dms("45.5°30'"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_rejects_empty_string() { + let result = parse_dms(" "); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_rejects_too_many_components() { + let result = parse_dms("45:30:15:99"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_dms_accepts_fractional_degrees_alone() { + let result = parse_dms("45.5°").unwrap(); + assert_eq!(result.angle.degrees(), 45.5); + } + + #[test] + fn test_parse_dms_invalid_degrees() { + let result = parse_dms("abc°"); + assert!(result.is_err()); + } + + #[test] + fn test_parse_angle_fails_for_unknown_format() { + let result = parse_angle("not an angle"); + assert!(result.is_err()); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/mod.rs b/01_yachay/cosmos/cosmos-core/src/angle/mod.rs new file mode 100644 index 0000000..f0b1af6 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/mod.rs @@ -0,0 +1,18 @@ +mod core; +mod format; +mod normalize; +mod ops; +mod parse; +#[cfg(feature = "serde")] +mod serde_; +mod validate; + +pub use core::Angle; +pub use format::{parse_angle, DmsFmt, HmsFmt, ParsedAngle}; +pub use normalize::{clamp_dec, wrap_0_2pi, wrap_pm_pi, NormalizeMode}; +pub use parse::{parse_dms, parse_hms, AngleUnits, ParseAngle}; +pub use validate::{ + validate_declination, validate_latitude, validate_longitude, validate_right_ascension, +}; + +pub use core::{arcmin, arcsec, deg, hours, rad}; diff --git a/01_yachay/cosmos/cosmos-core/src/angle/normalize.rs b/01_yachay/cosmos/cosmos-core/src/angle/normalize.rs new file mode 100644 index 0000000..45ed78b --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/normalize.rs @@ -0,0 +1,286 @@ +//! Angle normalization for astronomical coordinate systems. +//! +//! Different astronomical quantities require different angular ranges: +//! +//! | Quantity | Range | Function | +//! |----------|-------|----------| +//! | Right Ascension | [0, 2pi) | [`wrap_0_2pi`] | +//! | Hour Angle | [-pi, +pi) | [`wrap_pm_pi`] | +//! | Longitude (celestial) | [-pi, +pi) | [`wrap_pm_pi`] | +//! | Declination | [-pi/2, +pi/2] | [`clamp_dec`] | +//! | Latitude | [-pi/2, +pi/2] | [`clamp_dec`] | +//! +//! # Wrapping vs Clamping +//! +//! **Wrapping** preserves the direction on the sphere. An angle of 370 degrees +//! represents the same direction as 10 degrees, so `wrap_0_2pi` returns 10 degrees. +//! +//! **Clamping** enforces physical limits. Declination cannot exceed +/-90 degrees +//! because you cannot go "past" the pole. [`clamp_dec`] enforces this by saturating +//! at the limits rather than wrapping. +//! +//! # Why Two Wrapping Functions? +//! +//! Right ascension and hour angle are both cyclic, but their conventions differ: +//! +//! - **Right Ascension** uses [0, 24h) or [0, 360 deg) because negative RA makes no sense. +//! Stars at RA = 23h 59m are close to RA = 0h 01m on the sky. +//! +//! - **Hour Angle** uses [-12h, +12h) because it represents "hours from meridian." +//! Negative means east of meridian (not yet crossed), positive means west (already crossed). +//! The discontinuity at +/-180 degrees is at the anti-meridian, far from the observing position. +//! +//! - **Celestial Longitude** (e.g., in galactic or ecliptic coordinates) typically uses +//! [-180, +180) to center the "interesting" region (galactic center, vernal equinox) +//! at zero, with the discontinuity 180 degrees away. +//! +//! # Example +//! +//! ``` +//! use cosmos_core::angle::{wrap_0_2pi, wrap_pm_pi, clamp_dec}; +//! use std::f64::consts::PI; +//! +//! // Right ascension: always positive +//! let ra = wrap_0_2pi(-0.5); // -0.5 rad -> ~5.78 rad +//! assert!(ra > 0.0 && ra < 2.0 * PI); +//! +//! // Hour angle: centered on zero +//! let ha = wrap_pm_pi(3.5); // 3.5 rad -> ~-2.78 rad (wrapped) +//! assert!(ha >= -PI && ha < PI); +//! +//! // Declination: cannot exceed poles +//! let dec = clamp_dec(2.0); // 2.0 rad -> pi/2 (clamped to +90 deg) +//! assert!((dec - PI / 2.0).abs() < 1e-10); +//! ``` +//! +//! # Algorithm Notes +//! +//! The wrapping functions use `libm::fmod` (via [`crate::math::fmod`]) rather than +//! the `%` operator because Rust's `%` is a remainder, not a modulo. For negative +//! numbers, remainder and modulo differ: +//! +//! - `-1.0 % 360.0` = `-1.0` (remainder, keeps sign of dividend) +//! - `fmod(-1.0, 360.0)` = `-1.0` (same as %, but well-defined for floats) +//! +//! After `fmod`, we adjust for the desired range. + +use crate::constants::{HALF_PI, PI, TWOPI}; +use crate::math::fmod; + +/// Specifies which normalization convention to apply. +/// +/// Used when a function needs to normalize angles but the appropriate range +/// depends on what the angle represents. +#[derive(Copy, Clone, Debug)] +pub enum NormalizeMode { + /// Right ascension: wrap to [0, 2pi). + Ra0To2Pi, + /// Longitude or hour angle: wrap to [-pi, +pi). + LonMinusPiToPi, + /// Declination or latitude: clamp to [-pi/2, +pi/2]. + DecClamped, +} + +/// Wraps an angle to [-pi, +pi) radians. +/// +/// Use for quantities where the discontinuity should be at +/-180 degrees +/// (the "back" of the circle), not at 0/360 degrees. +/// +/// # Arguments +/// +/// * `x` - Angle in radians (any value, including negative or > 2pi) +/// +/// # Returns +/// +/// The equivalent angle in [-pi, +pi). +/// +/// # When to Use +/// +/// - **Hour angle**: hours from meridian, negative = east, positive = west +/// - **Longitude differences**: shortest arc between two longitudes +/// - **Galactic/ecliptic longitude**: if you want galactic center at l=0 +/// - **Position angle differences**: relative rotation between two frames +/// +/// # Examples +/// +/// ``` +/// use cosmos_core::angle::wrap_pm_pi; +/// use std::f64::consts::PI; +/// +/// // 270 degrees -> -90 degrees +/// let x = wrap_pm_pi(3.0 * PI / 2.0); +/// assert!((x - (-PI / 2.0)).abs() < 1e-10); +/// +/// // -270 degrees -> +90 degrees +/// let y = wrap_pm_pi(-3.0 * PI / 2.0); +/// assert!((y - (PI / 2.0)).abs() < 1e-10); +/// +/// // Already in range: unchanged +/// let z = wrap_pm_pi(1.0); +/// assert!((z - 1.0).abs() < 1e-10); +/// ``` +/// +/// # Algorithm +/// +/// 1. Reduce to [-2pi, +2pi) via `fmod(x, 2pi)` +/// 2. If result is >= pi or <= -pi, subtract/add 2pi to bring into range +#[inline] +pub fn wrap_pm_pi(x: f64) -> f64 { + let w = fmod(x, TWOPI); + if w.abs() >= PI { + return w - libm::copysign(TWOPI, x); + } + + w +} + +/// Wraps an angle to [0, 2pi) radians. +/// +/// Use for quantities that are conventionally non-negative, with the +/// discontinuity at 0/360 degrees (midnight/noon for time-like quantities). +/// +/// # Arguments +/// +/// * `x` - Angle in radians (any value, including negative or > 2pi) +/// +/// # Returns +/// +/// The equivalent angle in [0, 2pi). +/// +/// # When to Use +/// +/// - **Right ascension**: 0h to 24h, never negative +/// - **Azimuth**: 0 to 360 degrees, measured from north through east +/// - **Sidereal time**: 0h to 24h +/// - **Mean anomaly, true anomaly**: orbital angles +/// +/// # Examples +/// +/// ``` +/// use cosmos_core::angle::wrap_0_2pi; +/// use std::f64::consts::PI; +/// +/// // Negative angle -> positive equivalent +/// let x = wrap_0_2pi(-PI / 2.0); // -90 deg -> 270 deg +/// assert!((x - 3.0 * PI / 2.0).abs() < 1e-10); +/// +/// // Angle > 2pi -> reduced +/// let y = wrap_0_2pi(5.0 * PI); // 900 deg -> 180 deg +/// assert!((y - PI).abs() < 1e-10); +/// +/// // Already in range: unchanged +/// let z = wrap_0_2pi(1.0); +/// assert!((z - 1.0).abs() < 1e-10); +/// ``` +/// +/// # Algorithm +/// +/// 1. Reduce to (-2pi, +2pi) via `fmod(x, 2pi)` +/// 2. If result is negative, add 2pi to make it positive +#[inline] +pub fn wrap_0_2pi(x: f64) -> f64 { + let w = fmod(x, TWOPI); + if w < 0.0 { + w + TWOPI + } else { + w + } +} + +/// Clamps an angle to [-pi/2, +pi/2] radians (i.e., [-90, +90] degrees). +/// +/// Unlike wrapping, clamping saturates at the limits. This is appropriate for +/// quantities that have physical bounds you cannot exceed. +/// +/// # Arguments +/// +/// * `x` - Angle in radians +/// +/// # Returns +/// +/// The angle clamped to [-pi/2, +pi/2]. +/// +/// # When to Use +/// +/// - **Declination**: celestial latitude, poles are at +/-90 degrees +/// - **Geographic latitude**: -90 (south pole) to +90 (north pole) +/// - **Altitude**: horizon at 0, zenith at +90 (though altitude can be negative) +/// +/// # Why Clamp Instead of Wrap? +/// +/// You cannot go "past" the north pole by walking north. If you try, you end up +/// walking south on the other side. This is fundamentally different from longitude, +/// where walking east forever eventually brings you back to where you started. +/// +/// Clamping is a safety mechanism. If your calculation produces declination = 100 degrees, +/// something is wrong upstream. Clamping to 90 degrees prevents downstream code from +/// breaking, but you should investigate why the input was out of range. +/// +/// # Examples +/// +/// ``` +/// use cosmos_core::angle::clamp_dec; +/// use std::f64::consts::FRAC_PI_2; +/// +/// // Within range: unchanged +/// let x = clamp_dec(0.5); +/// assert!((x - 0.5).abs() < 1e-10); +/// +/// // Above +90 degrees: clamped to +90 +/// let y = clamp_dec(2.0); +/// assert!((y - FRAC_PI_2).abs() < 1e-10); +/// +/// // Below -90 degrees: clamped to -90 +/// let z = clamp_dec(-2.0); +/// assert!((z - (-FRAC_PI_2)).abs() < 1e-10); +/// ``` +/// +/// # See Also +/// +/// For declinations that might legitimately exceed +/-90 degrees (e.g., pier-flipped +/// telescope positions), see the validation functions in the [`validate`](super::validate) +/// module which offer extended range options. +#[inline] +pub fn clamp_dec(x: f64) -> f64 { + x.clamp(-HALF_PI, HALF_PI) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_wrap_pm_pi() { + // In range: unchanged + assert_eq!(wrap_pm_pi(1.0), 1.0); + // Positive overflow: 270° -> -90° + assert!((wrap_pm_pi(3.0 * PI / 2.0) - (-PI / 2.0)).abs() < 1e-15); + // Negative overflow: -270° -> +90° + assert!((wrap_pm_pi(-3.0 * PI / 2.0) - (PI / 2.0)).abs() < 1e-15); + // At boundary: ±π both wrap (abs >= PI triggers adjustment) + assert!((wrap_pm_pi(PI) - (-PI)).abs() < 1e-15); + } + + #[test] + fn test_wrap_0_2pi() { + // In range: unchanged + assert_eq!(wrap_0_2pi(1.0), 1.0); + // Negative becomes positive: -90° -> 270° + assert!((wrap_0_2pi(-PI / 2.0) - (3.0 * PI / 2.0)).abs() < 1e-15); + // Overflow: 3π -> π + assert!((wrap_0_2pi(3.0 * PI) - PI).abs() < 1e-15); + // At 2π: wraps to 0 + assert!(wrap_0_2pi(TWOPI).abs() < 1e-15); + } + + #[test] + fn test_clamp_dec() { + // In range: unchanged + assert_eq!(clamp_dec(0.5), 0.5); + // At boundary: unchanged + assert_eq!(clamp_dec(HALF_PI), HALF_PI); + // Overflow: clamped to ±π/2 + assert_eq!(clamp_dec(2.0), HALF_PI); + assert_eq!(clamp_dec(-2.0), -HALF_PI); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/ops.rs b/01_yachay/cosmos/cosmos-core/src/angle/ops.rs new file mode 100644 index 0000000..9771192 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/ops.rs @@ -0,0 +1,78 @@ +//! Arithmetic operators for [`Angle`]. +//! +//! Implements standard math ops: `+`, `-`, `*`, `/`, and unary `-`. + +use super::core::Angle; +use core::ops::*; + +/// Angle + Angle → Angle +impl Add for Angle { + type Output = Angle; + #[inline] + fn add(self, rhs: Self) -> Self { + Angle::from_radians(self.radians() + rhs.radians()) + } +} + +/// Angle - Angle → Angle +impl Sub for Angle { + type Output = Angle; + #[inline] + fn sub(self, rhs: Self) -> Self { + Angle::from_radians(self.radians() - rhs.radians()) + } +} + +/// Angle * scalar → Angle +impl Mul for Angle { + type Output = Angle; + #[inline] + fn mul(self, k: f64) -> Self { + Angle::from_radians(self.radians() * k) + } +} + +/// Angle / scalar → Angle +impl Div for Angle { + type Output = Angle; + #[inline] + fn div(self, k: f64) -> Self { + Angle::from_radians(self.radians() / k) + } +} + +/// -Angle → Angle +impl Neg for Angle { + type Output = Angle; + #[inline] + fn neg(self) -> Self { + Angle::from_radians(-self.radians()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_add_sub() { + let a = Angle::from_radians(1.0); + let b = Angle::from_radians(0.5); + assert_eq!((a + b).radians(), 1.5); + assert_eq!((a - b).radians(), 0.5); + } + + #[test] + fn test_mul_div() { + let a = Angle::from_radians(1.0); + assert_eq!((a * 2.0).radians(), 2.0); + assert_eq!((a / 2.0).radians(), 0.5); + } + + #[test] + fn test_neg() { + let a = Angle::from_radians(1.0); + assert_eq!((-a).radians(), -1.0); + assert_eq!((-(-a)).radians(), 1.0); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/parse.rs b/01_yachay/cosmos/cosmos-core/src/angle/parse.rs new file mode 100644 index 0000000..8ea2477 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/parse.rs @@ -0,0 +1,489 @@ +//! Angle parsing from string representations. +//! +//! This module provides flexible parsing for angles in formats commonly used in astronomy: +//! +//! - **HMS (Hours-Minutes-Seconds)**: Used for Right Ascension. 1 hour = 15 degrees. +//! - **DMS (Degrees-Minutes-Seconds)**: Used for Declination, altitude, and general angles. +//! - **Decimal**: Plain numeric values with explicit unit conversion. +//! +//! # Format Support +//! +//! Both HMS and DMS accept multiple notations: +//! +//! ```text +//! Colon-separated: 12:34:56.789 +//! Letter markers: 12h34m56.789s or 45d30m15s +//! Verbose: 12 hours 34 minutes 56 seconds +//! Symbol notation: 45d 30' 15" or 45d 30' 15'' +//! ``` +//! +//! Signs are only valid at the beginning: `-12:34:56` works, `12:-34:56` does not. +//! +//! # Usage Patterns +//! +//! Two traits provide parsing: +//! +//! - [`AngleUnits`]: Explicit unit conversion via methods like `.deg()`, `.hms()` +//! - [`ParseAngle`]: Auto-detection via `.to_angle()` (tries HMS, then DMS, then decimal degrees) +//! +//! ``` +//! use cosmos_core::angle::{AngleUnits, ParseAngle}; +//! +//! // Explicit unit - you know what format you have +//! let ra = "12:34:56".hms().unwrap(); // Right ascension +//! let dec = "-45:30:15".dms().unwrap(); // Declination +//! let alt = "30.5".deg().unwrap(); // Altitude in degrees +//! +//! // Auto-detection - useful for user input +//! let angle = "12:34:56".to_angle().unwrap(); // Parsed as HMS (tries first) +//! let angle = "45d30m15s".to_angle().unwrap(); // Parsed as DMS +//! let angle = "45.5".to_angle().unwrap(); // Parsed as decimal degrees +//! ``` +//! +//! # HMS vs DMS Ambiguity +//! +//! The colon format `12:34:56` is ambiguous - it could be HMS or DMS. When using +//! auto-detection (`.to_angle()`), HMS is tried first. If you know the intended +//! interpretation, use `.hms()` or `.dms()` explicitly. +//! +//! For Right Ascension, always use `.hms()`. For Declination, always use `.dms()`. + +use super::Angle; +use crate::AstroError; +use once_cell::sync::Lazy; +use regex::Regex; + +/// Parse strings as angles with explicit unit specification. +/// +/// Implemented for `str`. Each method interprets the string value in its respective unit. +/// +/// # Decimal Methods +/// +/// - `deg()` - Parse as decimal degrees +/// - `rad()` - Parse as radians +/// - `hours()` - Parse as decimal hours (1h = 15 deg) +/// - `arcmin()` - Parse as arcminutes (60' = 1 deg) +/// - `arcsec()` - Parse as arcseconds (3600" = 1 deg) +/// +/// # Sexagesimal Methods +/// +/// - `hms()` - Parse hours:minutes:seconds format +/// - `dms()` - Parse degrees:minutes:seconds format +pub trait AngleUnits { + /// Parse as decimal degrees. + fn deg(&self) -> Result; + /// Parse as radians. + fn rad(&self) -> Result; + /// Parse as decimal hours (1 hour = 15 degrees). + fn hours(&self) -> Result; + /// Parse as arcminutes (60 arcmin = 1 degree). + fn arcmin(&self) -> Result; + /// Parse as arcseconds (3600 arcsec = 1 degree). + fn arcsec(&self) -> Result; + /// Parse degrees-minutes-seconds format. See module docs for accepted formats. + fn dms(&self) -> Result; + /// Parse hours-minutes-seconds format. See module docs for accepted formats. + fn hms(&self) -> Result; +} + +impl AngleUnits for str { + #[inline] + fn deg(&self) -> Result { + parse_decimal(self).map(Angle::from_degrees) + } + + #[inline] + fn rad(&self) -> Result { + parse_decimal(self).map(Angle::from_radians) + } + + #[inline] + fn hours(&self) -> Result { + parse_decimal(self).map(Angle::from_hours) + } + + #[inline] + fn arcmin(&self) -> Result { + parse_decimal(self).map(|v| Angle::from_degrees(v / 60.0)) + } + + #[inline] + fn arcsec(&self) -> Result { + parse_decimal(self).map(|v| Angle::from_degrees(v / 3600.0)) + } + + #[inline] + fn dms(&self) -> Result { + parse_dms(self) + } + + #[inline] + fn hms(&self) -> Result { + parse_hms(self) + } +} + +/// Auto-detect and parse angle format. +/// +/// Tries formats in order: HMS, then DMS, then decimal degrees. +/// Use this for user input where format is unknown. +/// +/// For coordinates with known semantics (RA vs Dec), prefer explicit +/// `.hms()` or `.dms()` via [`AngleUnits`]. +pub trait ParseAngle { + /// Parse angle, auto-detecting format. + /// + /// Detection order: HMS -> DMS -> decimal degrees. + fn to_angle(&self) -> Result; +} + +impl ParseAngle for str { + fn to_angle(&self) -> Result { + parse_hms(self) + .or_else(|_| parse_dms(self)) + .or_else(|_| parse_decimal(self).map(Angle::from_degrees)) + } +} + +fn parse_decimal(s: &str) -> Result { + s.trim().parse::().map_err(|_| { + AstroError::calculation_error("parse_decimal", &format!("Cannot parse '{}' as number", s)) + }) +} + +static HMS_REGEX: Lazy = Lazy::new(|| { + Regex::new( + r#"(?xi) + ^\s* + ([+-])? # optional sign + (\d{1,3}) # hours (1-3 digits) + (?: # separator group + [:hH\s]+| # colons, h/H, spaces + h(?:ou)?r?s?\s* # hour/hours variants + ) + (\d{1,2}) # minutes (1-2 digits) + (?: # separator group + [:mM\s']+| # colons, m/M, spaces, apostrophes + m(?:in(?:ute)?s?)?\s* # min/minute variants + ) + (\d{1,2}(?:\.\d+)?) # seconds with optional decimal + (?: # optional trailing markers + [sS\s"']+| # s/S, spaces, quotes + s(?:ec(?:ond)?s?)? # sec/second variants + )? + \s*$ + "#, + ) + .unwrap() +}); + +static DMS_REGEX: Lazy = Lazy::new(|| { + Regex::new( + r#"(?xi) + ^\s* + ([+-])? # optional sign + (\d{1,3}) # degrees (1-3 digits) + (?: # separator group + [dD\s:*]+| # d/D, colon, asterisk, spaces + d(?:eg(?:ree)?s?)?\s* # deg/degree variants + ) + (\d{1,2}) # minutes (1-2 digits) + (?: # separator group + ['mM\s:]+| # apostrophes, m/M, spaces, colon + m(?:in(?:ute)?s?)?\s*| # min/minute variants + arc\s?m(?:in(?:ute)?s?)?\s* # arcmin/arcminute + ) + (\d{1,2}(?:\.\d+)?) # seconds with optional decimal + (?: # optional trailing markers + ["'sS\s]+| # quotes, s/S, spaces + s(?:ec(?:ond)?s?)?| # sec/second variants + arc\s?s(?:ec(?:ond)?s?)? # arcsec/arcsecond + )? + \s*$ + "#, + ) + .unwrap() +}); + +static COLON_REGEX: Lazy = + Lazy::new(|| Regex::new(r#"^\s*([+-])?(\d{1,4}):(\d{1,3}):(\d{1,3}(?:\.\d+)?)\s*$"#).unwrap()); + +/// Parse a string as hours-minutes-seconds. +/// +/// Accepts formats like `12:34:56`, `12h34m56s`, `12 hours 34 min 56 sec`. +/// Returns the angle with the value interpreted as hours (1h = 15 degrees). +/// +/// Use this for Right Ascension values. The result can exceed 24h if the input does. +pub fn parse_hms(s: &str) -> Result { + let s = normalize_input(s); + + if let Some(caps) = COLON_REGEX.captures(&s) { + return parse_hms_captures(caps, &s); + } + + if let Some(caps) = HMS_REGEX.captures(&s) { + return parse_hms_captures(caps, &s); + } + + Err(AstroError::calculation_error( + "parse_hms", + &format!("Cannot parse '{}' as HMS format", s), + )) +} + +/// Parse a string as degrees-minutes-seconds. +/// +/// Accepts formats like `45:30:15`, `45d30m15s`, `45* 30' 15"`, `45 deg 30 arcmin 15 arcsec`. +/// Returns the angle with the value interpreted as degrees. +/// +/// Use this for Declination, altitude, azimuth, or general angular measurements. +pub fn parse_dms(s: &str) -> Result { + let s = normalize_input(s); + + if let Some(caps) = COLON_REGEX.captures(&s) { + return parse_dms_captures(caps, &s); + } + + if let Some(caps) = DMS_REGEX.captures(&s) { + return parse_dms_captures(caps, &s); + } + + Err(AstroError::calculation_error( + "parse_dms", + &format!("Cannot parse '{}' as DMS format", s), + )) +} + +fn parse_hms_captures(caps: regex::Captures, _original: &str) -> Result { + let sign = caps + .get(1) + .map_or(1.0, |m| if m.as_str() == "-" { -1.0 } else { 1.0 }); + let hours: f64 = caps[2].parse().unwrap(); + let minutes: f64 = caps[3].parse().unwrap(); + let seconds: f64 = caps[4].parse().unwrap(); + + let total_hours = sign * (hours + minutes / 60.0 + seconds / 3600.0); + Ok(Angle::from_hours(total_hours)) +} + +fn parse_dms_captures(caps: regex::Captures, _original: &str) -> Result { + let sign = caps + .get(1) + .map_or(1.0, |m| if m.as_str() == "-" { -1.0 } else { 1.0 }); + let degrees: f64 = caps[2].parse().unwrap(); + let minutes: f64 = caps[3].parse().unwrap(); + let seconds: f64 = caps[4].parse().unwrap(); + + let total_degrees = sign * (degrees + minutes / 60.0 + seconds / 3600.0); + Ok(Angle::from_degrees(total_degrees)) +} + +fn normalize_input(s: &str) -> String { + let mut result = s.trim().to_string(); + + result = result.replace("degrees", "d"); + result = result.replace("degree", "d"); + result = result.replace("deg", "d"); + result = result.replace('*', "d"); + + result = result.replace("arcminutes", "m"); + result = result.replace("arcminute", "m"); + result = result.replace("arcmin", "m"); + result = result.replace("minutes", "m"); + result = result.replace("minute", "m"); + result = result.replace("min", "m"); + + result = result.replace("arcseconds", "s"); + result = result.replace("arcsecond", "s"); + result = result.replace("arcsec", "s"); + result = result.replace("seconds", "s"); + result = result.replace("second", "s"); + result = result.replace("sec", "s"); + result = result.replace("''", "\""); + + result = result.replace("hours", "h"); + result = result.replace("hour", "h"); + result = result.replace("hrs", "h"); + result = result.replace("hr", "h"); + + result +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::constants::PI; + + const EPSILON: f64 = 1e-10; + + #[test] + fn test_decimal_parsing() { + assert_eq!("45.5".deg().unwrap().degrees(), 45.5); + assert_eq!(format!("{:?}", PI).rad().unwrap().radians(), PI); + assert_eq!("12.5".hours().unwrap().hours(), 12.5); + + assert!(("60.0".arcmin().unwrap().degrees() - 1.0).abs() < EPSILON); + assert!(("3600.0".arcsec().unwrap().degrees() - 1.0).abs() < EPSILON); + + assert_eq!("-45.5".deg().unwrap().degrees(), -45.5); + assert_eq!("-12.5".hours().unwrap().hours(), -12.5); + + assert_eq!(" 45.5 ".deg().unwrap().degrees(), 45.5); + assert_eq!(format!("\t{:?}\n", PI).rad().unwrap().radians(), PI); + } + + #[test] + fn test_hms_colon_format() { + let angle = "12:34:56".hms().unwrap(); + let expected_hours = 12.0 + 34.0 / 60.0 + 56.0 / 3600.0; + assert!((angle.hours() - expected_hours).abs() < EPSILON); + + let angle = "12:34:56.789".hms().unwrap(); + let expected = 12.0 + 34.0 / 60.0 + 56.789 / 3600.0; + assert!((angle.hours() - expected).abs() < EPSILON); + + let angle = "-5:30:45".hms().unwrap(); + let expected = -(5.0 + 30.0 / 60.0 + 45.0 / 3600.0); + assert!((angle.hours() - expected).abs() < EPSILON); + + assert!("0:0:0".hms().unwrap().hours() < EPSILON); + assert!("23:59:59.999".hms().is_ok()); + } + + #[test] + fn test_dms_colon_format() { + let angle = "45:30:15".dms().unwrap(); + let expected_deg = 45.0 + 30.0 / 60.0 + 15.0 / 3600.0; + assert!((angle.degrees() - expected_deg).abs() < EPSILON); + + let angle = "+45:30:15.5".dms().unwrap(); + let expected = 45.0 + 30.0 / 60.0 + 15.5 / 3600.0; + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "-90:30:0".dms().unwrap(); + let expected = -(90.0 + 30.0 / 60.0); + assert!((angle.degrees() - expected).abs() < EPSILON); + } + + #[test] + fn test_hms_verbose_formats() { + let angle = "12h34m56s".hms().unwrap(); + let expected = 12.0 + 34.0 / 60.0 + 56.0 / 3600.0; + assert!((angle.hours() - expected).abs() < EPSILON); + + let angle = "12H34M56S".hms().unwrap(); + assert!((angle.hours() - expected).abs() < EPSILON); + + let angle = "12h 34m 56s".hms().unwrap(); + assert!((angle.hours() - expected).abs() < EPSILON); + + let angle = "12 hours 34 minutes 56 seconds".hms().unwrap(); + assert!((angle.hours() - expected).abs() < EPSILON); + + let angle = "12hr 34min 56sec".hms().unwrap(); + assert!((angle.hours() - expected).abs() < EPSILON); + } + + #[test] + fn test_dms_verbose_formats() { + let angle = "45d30m15s".dms().unwrap(); + let expected = 45.0 + 30.0 / 60.0 + 15.0 / 3600.0; + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "45*30m15s".dms().unwrap(); + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "45 degrees 30 minutes 15 seconds".dms().unwrap(); + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "45deg 30min 15sec".dms().unwrap(); + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "45d 30 arcmin 15 arcsec".dms().unwrap(); + assert!((angle.degrees() - expected).abs() < EPSILON); + } + + #[test] + fn test_quote_formats() { + let angle = "45d 30' 15\"".dms().unwrap(); + let expected = 45.0 + 30.0 / 60.0 + 15.0 / 3600.0; + assert!((angle.degrees() - expected).abs() < EPSILON); + + let angle = "45d 30' 15''".dms().unwrap(); + assert!((angle.degrees() - expected).abs() < EPSILON); + } + + #[test] + fn test_auto_detection() { + let angle = "12:34:56".to_angle().unwrap(); + let expected_hours = 12.0 + 34.0 / 60.0 + 56.0 / 3600.0; + assert!((angle.hours() - expected_hours).abs() < EPSILON); + + let angle = "45d30m15s".to_angle().unwrap(); + let expected_deg = 45.0 + 30.0 / 60.0 + 15.0 / 3600.0; + assert!((angle.degrees() - expected_deg).abs() < EPSILON); + + let angle = "45.5".to_angle().unwrap(); + assert_eq!(angle.degrees(), 45.5); + } + + #[test] + fn test_edge_cases() { + assert!("0:0:0".hms().unwrap().radians().abs() < EPSILON); + assert!("0:0:0".dms().unwrap().radians().abs() < EPSILON); + assert!("0".deg().unwrap().radians().abs() < EPSILON); + + assert!("359:59:59".dms().is_ok()); + assert!("999:59:59".hms().is_ok()); + + let angle = "12:34:56.123456789".hms().unwrap(); + assert!(angle.hours() > 12.0); + + assert!("01:02:03".hms().is_ok()); + assert!("001:02:03".dms().is_ok()); + } + + #[test] + fn test_error_cases() { + assert!("not_a_number".deg().is_err()); + assert!("12:34".hms().is_err()); + assert!("12:34:".hms().is_err()); + assert!(":12:34".hms().is_err()); + + assert!("".deg().is_err()); + assert!(" ".deg().is_err()); + } + + #[test] + fn test_sign_handling() { + assert!("+45:30:15".dms().unwrap().degrees() > 0.0); + assert!("+12:34:56".hms().unwrap().hours() > 0.0); + + assert!("-45:30:15".dms().unwrap().degrees() < 0.0); + assert!("-12:34:56".hms().unwrap().hours() < 0.0); + + assert!("45:-30:15".dms().is_err()); + assert!("12:34:-56".hms().is_err()); + } + + #[test] + fn test_whitespace_tolerance() { + assert!(" 45:30:15 ".dms().is_ok()); + assert!("\t12:34:56\n".hms().is_ok()); + + assert!("45 : 30 : 15".dms().is_ok()); + assert!("12 h 34 m 56 s".hms().is_ok()); + } + + #[test] + fn test_precision_preservation() { + let input_deg = 123.456789012345; + let angle = format!("{}", input_deg).deg().unwrap(); + assert!((angle.degrees() - input_deg).abs() < 1e-12); + + let angle = "12:34:56.123456".hms().unwrap(); + let back_to_hms = angle.hours(); + let expected = 12.0 + 34.0 / 60.0 + 56.123456 / 3600.0; + assert!((back_to_hms - expected).abs() < 1e-9); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/serde_.rs b/01_yachay/cosmos/cosmos-core/src/angle/serde_.rs new file mode 100644 index 0000000..8295c58 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/serde_.rs @@ -0,0 +1,15 @@ +use super::Angle; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; + +impl Serialize for Angle { + fn serialize(&self, s: S) -> Result { + s.serialize_f64(self.radians()) + } +} + +impl<'de> Deserialize<'de> for Angle { + fn deserialize>(d: D) -> Result { + let r = f64::deserialize(d)?; + Ok(Angle::from_radians(r)) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/angle/validate.rs b/01_yachay/cosmos/cosmos-core/src/angle/validate.rs new file mode 100644 index 0000000..b600488 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/angle/validate.rs @@ -0,0 +1,183 @@ +use super::core::Angle; +use crate::constants::{HALF_PI, PI}; +use crate::{AstroError, MathErrorKind}; + +pub fn validate_right_ascension(angle: Angle) -> Result { + let rad = angle.radians(); + if rad.is_finite() { + let normalized = super::normalize::wrap_0_2pi(rad); + return Ok(Angle::from_radians(normalized)); + } + + Err(AstroError::math_error( + "validate_right_ascension", + MathErrorKind::NotFinite, + "RA Not Finite", + )) +} + +/// Validates declination angle. +/// +/// - `beyond_pole = false`: standard range [-90°, +90°] +/// - `beyond_pole = true`: extended range [-180°, +180°] for GEM pier-flipped observations +/// +/// The extended range supports the TPOINT beyond-the-pole convention where German Equatorial +/// Mounts use Dec values from 90° to 180° for pier-flipped observations. +pub fn validate_declination(angle: Angle, beyond_pole: bool) -> Result { + let rad = angle.radians(); + if !rad.is_finite() { + return Err(AstroError::math_error( + "validate_declination", + MathErrorKind::NotFinite, + "Dec not Finite", + )); + } + + let (limit, range_desc) = if beyond_pole { + (PI, "[-180°, +180°]") + } else { + (HALF_PI, "[-90°, +90°]") + }; + + if (-limit..=limit).contains(&rad) { + return Ok(angle); + } + + Err(AstroError::math_error( + "validate_declination", + MathErrorKind::OutOfRange, + &format!("Dec {:.2}° out of range {}", angle.degrees(), range_desc), + )) +} + +pub fn validate_latitude(angle: Angle) -> Result { + validate_declination(angle, false) +} + +pub fn validate_longitude(angle: Angle, normalize: bool) -> Result { + let rad = angle.radians(); + if !rad.is_finite() { + return Err(AstroError::math_error( + "validate_longitude", + MathErrorKind::NotFinite, + "Lon not finite", + )); + } + + if normalize { + let normalized = super::normalize::wrap_0_2pi(rad); + return Ok(Angle::from_radians(normalized)); + } + + if (-PI..=PI).contains(&rad) { + return Ok(angle); + } + + Err(AstroError::math_error( + "validate_longitude", + MathErrorKind::OutOfRange, + "Lon out of range", + )) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::constants::TWOPI; + + #[test] + fn test_validate_right_ascension_valid() { + let angle = Angle::from_degrees(45.0); + let result = validate_right_ascension(angle); + assert!(result.is_ok()); + } + + #[test] + fn test_validate_right_ascension_not_finite() { + let angle = Angle::from_radians(f64::NAN); + let result = validate_right_ascension(angle); + assert!(result.is_err()); + if let Err(AstroError::MathError { kind, .. }) = result { + assert_eq!(kind, MathErrorKind::NotFinite); + } else { + panic!("Expected MathError with NotFinite"); + } + } + + #[test] + fn test_validate_right_ascension_infinite() { + let angle = Angle::from_radians(f64::INFINITY); + let result = validate_right_ascension(angle); + assert!(result.is_err()); + if let Err(AstroError::MathError { kind, .. }) = result { + assert_eq!(kind, MathErrorKind::NotFinite); + } else { + panic!("Expected MathError with NotFinite"); + } + } + + #[test] + fn test_validate_declination() { + // Valid standard range + assert!(validate_declination(Angle::from_degrees(45.0), false).is_ok()); + assert!(validate_declination(Angle::from_degrees(-90.0), false).is_ok()); + + // Out of standard range + assert!(validate_declination(Angle::from_degrees(95.0), false).is_err()); + + // Valid with beyond_pole + assert!(validate_declination(Angle::from_degrees(120.0), true).is_ok()); + + // Not finite + assert!(validate_declination(Angle::from_radians(f64::NAN), false).is_err()); + } + + #[test] + fn test_validate_latitude_delegates_to_declination() { + let valid = Angle::from_degrees(45.0); + assert!(validate_latitude(valid).is_ok()); + + let invalid = Angle::from_degrees(95.0); + assert!(validate_latitude(invalid).is_err()); + } + + #[test] + fn test_validate_longitude_valid() { + let angle = Angle::from_degrees(45.0); + let result = validate_longitude(angle, false); + assert!(result.is_ok()); + } + + #[test] + fn test_validate_longitude_not_finite() { + let angle = Angle::from_radians(f64::NAN); + let result = validate_longitude(angle, false); + assert!(result.is_err()); + if let Err(AstroError::MathError { kind, .. }) = result { + assert_eq!(kind, MathErrorKind::NotFinite); + } else { + panic!("Expected MathError with NotFinite"); + } + } + + #[test] + fn test_validate_longitude_normalized() { + let angle = Angle::from_degrees(370.0); + let result = validate_longitude(angle, true); + assert!(result.is_ok()); + let normalized = result.unwrap(); + assert!(normalized.radians() >= 0.0 && normalized.radians() < TWOPI); + } + + #[test] + fn test_validate_longitude_out_of_range() { + let angle = Angle::from_degrees(190.0); + let result = validate_longitude(angle, false); + assert!(result.is_err()); + if let Err(AstroError::MathError { kind, .. }) = result { + assert_eq!(kind, MathErrorKind::OutOfRange); + } else { + panic!("Expected MathError with OutOfRange"); + } + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/cio/coordinates.rs b/01_yachay/cosmos/cosmos-core/src/cio/coordinates.rs new file mode 100644 index 0000000..0bb7e88 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/cio/coordinates.rs @@ -0,0 +1,181 @@ +//! CIP (Celestial Intermediate Pole) coordinates for the IAU 2000/2006 precession-nutation model. +//! +//! The Celestial Intermediate Pole defines the axis around which Earth rotates in the +//! Celestial Intermediate Reference System (CIRS). Its position relative to the GCRS +//! is described by two small angles X and Y, which encode the combined effects of +//! precession and nutation. +//! +//! # When to use this +//! +//! CIP coordinates are needed when: +//! - Converting between GCRS (geocentric celestial) and CIRS (intermediate) frames +//! - Computing Earth Rotation Angle for sidereal time +//! - Implementing the full IAU 2000/2006 transformation chain +//! +//! For most high-precision applications, you'll extract CIP coordinates from a +//! precession-nutation matrix rather than computing them directly. +//! +//! # Coordinate ranges +//! +//! X and Y are stored in radians. Current values are on the order of 10^-7 radians +//! (~0.02 arcseconds). The validation threshold of 0.2 radians (~11 degrees) catches +//! obviously invalid matrices while allowing for long-term secular drift. + +use crate::errors::{AstroError, AstroResult}; +use crate::matrix::RotationMatrix3; + +/// Position of the Celestial Intermediate Pole in the GCRS. +/// +/// X and Y are the direction cosines of the CIP unit vector projected onto +/// the GCRS equatorial plane. They're extracted from elements [2][0] and [2][1] +/// of the NPB (nutation-precession-bias) matrix. +/// +/// Units are radians internally. Use [`to_arcseconds`](Self::to_arcseconds) for display. +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct CipCoordinates { + pub x: f64, + pub y: f64, +} + +impl CipCoordinates { + /// Creates CIP coordinates from X and Y values in radians. + /// + /// No validation is performed. For coordinates extracted from a real + /// precession-nutation matrix, use [`from_npb_matrix`](Self::from_npb_matrix). + pub fn new(x: f64, y: f64) -> Self { + Self { x, y } + } + + /// Extracts CIP coordinates from a nutation-precession-bias matrix. + /// + /// The NPB matrix transforms GCRS to mean-of-date coordinates. X and Y + /// are taken from the third row (elements [2][0] and [2][1]), which + /// represents the CIP direction in GCRS. + /// + /// # Errors + /// + /// Returns an error if X or Y exceeds 0.2 radians, indicating the matrix + /// doesn't represent a valid Earth orientation. + pub fn from_npb_matrix(npb_matrix: &RotationMatrix3) -> AstroResult { + let matrix = npb_matrix.elements(); + + let x = matrix[2][0]; + let y = matrix[2][1]; + + if x.abs() > 0.2 || y.abs() > 0.2 { + return Err(AstroError::math_error( + "CIP coordinate extraction", + crate::errors::MathErrorKind::InvalidInput, + &format!( + "CIP coordinates out of reasonable range: X={:.6}, Y={:.6}", + x, y + ), + )); + } + + Ok(Self { x, y }) + } + + /// Distance of the CIP from the GCRS pole, in radians. + /// + /// This is sqrt(X^2 + Y^2), useful for gauging the total pole offset. + pub fn magnitude(&self) -> f64 { + libm::sqrt(self.x * self.x + self.y * self.y) + } + + /// Returns (X, Y) converted to degrees. + pub fn to_degrees(&self) -> (f64, f64) { + ( + self.x * crate::constants::RAD_TO_DEG, + self.y * crate::constants::RAD_TO_DEG, + ) + } + + /// Returns (X, Y) converted to arcseconds. + /// + /// Arcseconds are the conventional unit for reporting CIP coordinates + /// in publications and IERS bulletins. + pub fn to_arcseconds(&self) -> (f64, f64) { + ( + self.x * crate::constants::RAD_TO_DEG * 3600.0, + self.y * crate::constants::RAD_TO_DEG * 3600.0, + ) + } +} + +impl std::fmt::Display for CipCoordinates { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let (x_as, y_as) = self.to_arcseconds(); + write!(f, "CIP(X={:.3}\", Y={:.3}\")", x_as, y_as) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::matrix::RotationMatrix3; + + #[test] + fn test_cip_coordinates_creation() { + let cip = CipCoordinates::new(1e-6, -2e-6); + assert_eq!(cip.x, 1e-6); + assert_eq!(cip.y, -2e-6); + } + + #[test] + fn test_cip_magnitude() { + let cip = CipCoordinates::new(3e-6, 4e-6); + assert!((cip.magnitude() - 5e-6).abs() < 1e-12); + } + + #[test] + fn test_cip_display() { + let cip = CipCoordinates::new(1e-6, -1e-6); + let display = format!("{}", cip); + assert!(display.contains("CIP")); + assert!(display.contains("0.206")); // ~1e-6 radians in arcseconds + } + + #[test] + fn test_cip_from_identity_matrix() { + // Identity matrix should give CIP coordinates of exactly zero + let identity = RotationMatrix3::identity(); + let cip = CipCoordinates::from_npb_matrix(&identity).unwrap(); + + // For identity matrix, third column is [0, 0, 1] + // So X = 0, Y = 0 exactly + assert_eq!(cip.x, 0.0); + assert_eq!(cip.y, 0.0); + } + + #[test] + fn test_cip_validation_error() { + // Create a matrix with unreasonably large CIP coordinates in third row + // CIP X,Y are extracted from matrix[2][0] and matrix[2][1] + // This should trigger the validation error (threshold is 0.2 radians ~= 11.5 degrees) + let invalid_matrix = RotationMatrix3::from_array([ + [1.0, 0.0, 0.0], + [0.0, 1.0, 0.0], + [0.25, 0.05, 1.0], // X = 0.25 (too large - exceeds 0.2 rad threshold) + ]); + + let result = CipCoordinates::from_npb_matrix(&invalid_matrix); + + // Should return an error due to coordinates being out of reasonable range + assert!(result.is_err()); + + let error_message = format!("{}", result.unwrap_err()); + assert!(error_message.contains("CIP coordinates out of reasonable range")); + } + + #[test] + fn test_cip_reasonable_values() { + // Test that reasonable CIP coordinate values work correctly + let reasonable_cip = CipCoordinates::new(1e-6, 1e-6); + + // These are the exact computed values for our test case + assert_eq!(reasonable_cip.x, 1e-6); + assert_eq!(reasonable_cip.y, 1e-6); + assert_eq!(reasonable_cip.magnitude(), libm::sqrt(2e-12_f64)); // sqrt(x² + y²) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/cio/locator.rs b/01_yachay/cosmos/cosmos-core/src/cio/locator.rs new file mode 100644 index 0000000..ee4c0b3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/cio/locator.rs @@ -0,0 +1,647 @@ +//! CIO locator (s) for the IAU 2006/2000A precession-nutation model. +//! +//! The CIO locator `s` positions the Celestial Intermediate Origin on the CIP equator. +//! It's the arc length from the GCRS x-axis intersection to the CIO, measured along +//! the CIP equator. This small angle (microarcseconds) completes the transformation +//! from GCRS to CIRS coordinates. +//! +//! # The transformation chain +//! +//! GCRS -> CIRS requires three pieces: +//! 1. CIP coordinates (X, Y) - where the pole is +//! 2. CIO locator (s) - where the origin is +//! 3. Earth Rotation Angle - how much Earth has rotated +//! +//! This module provides piece #2. +//! +//! # When to use this +//! +//! You need the CIO locator when: +//! - Building the GCRS-to-CIRS rotation matrix via `gcrs_to_cirs_matrix(x, y, s)` +//! - Computing equation of the origins (difference between CEO-based and equinox-based sidereal time) +//! - Implementing IAU 2000/2006 compliant coordinate transformations +//! +//! For most uses, [`CioSolution::calculate`](super::CioSolution::calculate) handles this automatically. +//! +//! # Algorithm +//! +//! Uses the IAU 2006/2000A series expansion with 66 periodic terms across 5 polynomial +//! orders, plus a polynomial part. The full expression is: +//! +//! ```text +//! s = series(t) - X*Y/2 +//! ``` +//! +//! where `t` is TT centuries from J2000.0. The `-X*Y/2` term accounts for the +//! frame rotation induced by the CIP motion. +//! +//! # References +//! +//! - Capitaine et al. (2003), A&A 400, 1145-1154 +//! - IERS Conventions (2010), Chapter 5 +//! - SOFA library: `iauS06` function + +use crate::constants::{ARCSEC_TO_RAD, TWOPI}; +use crate::errors::{AstroError, AstroResult}; + +/// Computes the CIO locator angle `s` for a given epoch. +/// +/// The locator is model-dependent. Currently only IAU 2006A is implemented, +/// which uses the IAU 2006 precession with IAU 2000A nutation. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::cio::CioLocator; +/// +/// // Compute s for J2000.0 + 0.5 centuries (year ~2050) +/// let locator = CioLocator::iau2006a(0.5); +/// +/// // X, Y from CIP coordinates (typically from precession-nutation matrix) +/// let x = 1.0e-7; // radians +/// let y = 2.0e-7; // radians +/// +/// let s = locator.calculate(x, y).unwrap(); +/// // s is in radians, typically on the order of 10^-8 +/// ``` +#[derive(Debug, Clone)] +pub struct CioLocator { + tt_centuries: f64, + model: CioModel, +} + +#[derive(Clone, Copy)] +struct SeriesTerm { + coeffs: [i8; 8], + sine: f64, + cosine: f64, +} + +#[allow(clippy::excessive_precision)] +const SP: [f64; 6] = [ + 94.00e-6, + 3808.65e-6, + -122.68e-6, + -72574.11e-6, + 27.98e-6, + 15.62e-6, +]; + +#[allow(clippy::excessive_precision)] +const S0: [SeriesTerm; 33] = [ + SeriesTerm { + coeffs: [0, 0, 0, 0, 1, 0, 0, 0], + sine: -2640.73e-6, + cosine: 0.39e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 2, 0, 0, 0], + sine: -63.53e-6, + cosine: 0.02e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 3, 0, 0, 0], + sine: -11.75e-6, + cosine: -0.01e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 1, 0, 0, 0], + sine: -11.21e-6, + cosine: -0.01e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 2, 0, 0, 0], + sine: 4.57e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 3, 0, 0, 0], + sine: -2.02e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 1, 0, 0, 0], + sine: -1.98e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 3, 0, 0, 0], + sine: 1.72e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, 0, 0, 1, 0, 0, 0], + sine: 1.41e-6, + cosine: 0.01e-6, + }, + SeriesTerm { + coeffs: [0, 1, 0, 0, -1, 0, 0, 0], + sine: 1.26e-6, + cosine: 0.01e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, 0, -1, 0, 0, 0], + sine: 0.63e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, 0, 1, 0, 0, 0], + sine: 0.63e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, 2, -2, 3, 0, 0, 0], + sine: -0.46e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, 2, -2, 1, 0, 0, 0], + sine: -0.45e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 4, -4, 4, 0, 0, 0], + sine: -0.36e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 1, -1, 1, -8, 12, 0], + sine: 0.24e-6, + cosine: 0.12e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 0, 0, 0, 0], + sine: -0.32e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 2, 0, 0, 0], + sine: -0.28e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 2, 0, 3, 0, 0, 0], + sine: -0.27e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 2, 0, 1, 0, 0, 0], + sine: -0.26e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 0, 0, 0, 0], + sine: 0.21e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, -2, 2, -3, 0, 0, 0], + sine: -0.19e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, -2, 2, -1, 0, 0, 0], + sine: -0.18e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 0, 8, -13, -1], + sine: 0.10e-6, + cosine: -0.05e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 2, 0, 0, 0, 0], + sine: -0.15e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [2, 0, -2, 0, -1, 0, 0, 0], + sine: 0.14e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, 2, -2, 2, 0, 0, 0], + sine: 0.14e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, -2, 1, 0, 0, 0], + sine: -0.14e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, -2, -1, 0, 0, 0], + sine: -0.14e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 4, -2, 4, 0, 0, 0], + sine: -0.13e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 4, 0, 0, 0], + sine: 0.11e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, -2, 0, -3, 0, 0, 0], + sine: -0.11e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, -2, 0, -1, 0, 0, 0], + sine: -0.11e-6, + cosine: 0.00e-6, + }, +]; + +#[allow(clippy::excessive_precision)] +const S1: [SeriesTerm; 3] = [ + SeriesTerm { + coeffs: [0, 0, 0, 0, 2, 0, 0, 0], + sine: -0.07e-6, + cosine: 3.57e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 1, 0, 0, 0], + sine: 1.73e-6, + cosine: -0.03e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 3, 0, 0, 0], + sine: 0.00e-6, + cosine: 0.48e-6, + }, +]; + +#[allow(clippy::excessive_precision)] +const S2: [SeriesTerm; 25] = [ + SeriesTerm { + coeffs: [0, 0, 0, 0, 1, 0, 0, 0], + sine: 743.52e-6, + cosine: -0.17e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 2, 0, 0, 0], + sine: 56.91e-6, + cosine: 0.06e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 2, 0, 0, 0], + sine: 9.84e-6, + cosine: -0.01e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 2, 0, 0, 0], + sine: -8.85e-6, + cosine: 0.01e-6, + }, + SeriesTerm { + coeffs: [0, 1, 0, 0, 0, 0, 0, 0], + sine: -6.38e-6, + cosine: -0.05e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, 0, 0, 0, 0, 0], + sine: -3.07e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, 2, -2, 2, 0, 0, 0], + sine: 2.23e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 1, 0, 0, 0], + sine: 1.67e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 2, 0, 2, 0, 0, 0], + sine: 1.30e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 1, -2, 2, -2, 0, 0, 0], + sine: 0.93e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, -2, 0, 0, 0, 0], + sine: 0.68e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 1, 0, 0, 0], + sine: -0.55e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, -2, 0, -2, 0, 0, 0], + sine: 0.53e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 2, 0, 0, 0, 0], + sine: -0.27e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, 0, 1, 0, 0, 0], + sine: -0.27e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, -2, -2, -2, 0, 0, 0], + sine: -0.26e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 0, 0, -1, 0, 0, 0], + sine: -0.25e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 2, 0, 1, 0, 0, 0], + sine: 0.22e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [2, 0, 0, -2, 0, 0, 0, 0], + sine: -0.21e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [2, 0, -2, 0, -1, 0, 0, 0], + sine: 0.20e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 2, 2, 0, 0, 0], + sine: 0.17e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [2, 0, 2, 0, 2, 0, 0, 0], + sine: 0.13e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [2, 0, 0, 0, 0, 0, 0, 0], + sine: -0.13e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [1, 0, 2, -2, 2, 0, 0, 0], + sine: -0.12e-6, + cosine: 0.00e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 0, 0, 0, 0], + sine: -0.11e-6, + cosine: 0.00e-6, + }, +]; + +#[allow(clippy::excessive_precision)] +const S3: [SeriesTerm; 4] = [ + SeriesTerm { + coeffs: [0, 0, 0, 0, 1, 0, 0, 0], + sine: 0.30e-6, + cosine: -23.42e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, -2, 2, 0, 0, 0], + sine: -0.03e-6, + cosine: -1.46e-6, + }, + SeriesTerm { + coeffs: [0, 0, 2, 0, 2, 0, 0, 0], + sine: -0.01e-6, + cosine: -0.25e-6, + }, + SeriesTerm { + coeffs: [0, 0, 0, 0, 2, 0, 0, 0], + sine: 0.00e-6, + cosine: 0.23e-6, + }, +]; + +#[allow(clippy::excessive_precision)] +const S4: [SeriesTerm; 1] = [SeriesTerm { + coeffs: [0, 0, 0, 0, 1, 0, 0, 0], + sine: -0.26e-6, + cosine: -0.01e-6, +}]; + +#[inline] +fn sum_terms(w: &mut f64, terms: &[SeriesTerm], fa: &[f64; 8]) { + for term in terms.iter().rev() { + let mut arg = 0.0; + for (i, item) in fa.iter().enumerate() { + arg += f64::from(term.coeffs[i]) * item; + } + *w += term.sine * libm::sin(arg) + term.cosine * libm::cos(arg); + } +} + +fn cio_series_s_plus_xy_half(t: f64) -> f64 { + let fa = fundamental_arguments(t); + + let mut w0 = SP[0]; + sum_terms(&mut w0, &S0, &fa); + + let mut w1 = SP[1]; + sum_terms(&mut w1, &S1, &fa); + + let mut w2 = SP[2]; + sum_terms(&mut w2, &S2, &fa); + + let mut w3 = SP[3]; + sum_terms(&mut w3, &S3, &fa); + + let mut w4 = SP[4]; + sum_terms(&mut w4, &S4, &fa); + + let w5 = SP[5]; + + let series_arcsec = w0 + (w1 + (w2 + (w3 + (w4 + w5 * t) * t) * t) * t) * t; + series_arcsec * ARCSEC_TO_RAD +} + +fn fundamental_arguments(t: f64) -> [f64; 8] { + [ + mean_anomaly_moon(t), + mean_anomaly_sun(t), + mean_longitude_moon_minus_node(t), + mean_elongation_moon_sun(t), + mean_longitude_ascending_node_moon(t), + mean_longitude_venus(t), + mean_longitude_earth(t), + general_precession_longitude(t), + ] +} + +#[allow(clippy::excessive_precision)] +fn mean_anomaly_moon(t: f64) -> f64 { + (485868.249036 + t * (1717915923.2178 + t * (31.8792 + t * (0.051635 + t * (-0.00024470))))) + % crate::constants::CIRCULAR_ARCSECONDS + * ARCSEC_TO_RAD +} + +#[allow(clippy::excessive_precision)] +fn mean_anomaly_sun(t: f64) -> f64 { + (1287104.793048 + t * (129596581.0481 + t * (-0.5532 + t * (0.000136 + t * (-0.00001149))))) + % crate::constants::CIRCULAR_ARCSECONDS + * ARCSEC_TO_RAD +} + +#[allow(clippy::excessive_precision)] +fn mean_longitude_moon_minus_node(t: f64) -> f64 { + (335779.526232 + t * (1739527262.8478 + t * (-12.7512 + t * (-0.001037 + t * (0.00000417))))) + % crate::constants::CIRCULAR_ARCSECONDS + * ARCSEC_TO_RAD +} + +#[allow(clippy::excessive_precision)] +fn mean_elongation_moon_sun(t: f64) -> f64 { + (1072260.703692 + t * (1602961601.2090 + t * (-6.3706 + t * (0.006593 + t * (-0.00003169))))) + % crate::constants::CIRCULAR_ARCSECONDS + * ARCSEC_TO_RAD +} + +#[allow(clippy::excessive_precision)] +fn mean_longitude_ascending_node_moon(t: f64) -> f64 { + (450160.398036 + t * (-6962890.5431 + t * (7.4722 + t * (0.007702 + t * (-0.00005939))))) + % crate::constants::CIRCULAR_ARCSECONDS + * ARCSEC_TO_RAD +} + +#[allow(clippy::excessive_precision)] +fn mean_longitude_venus(t: f64) -> f64 { + (3.176146697 + 1021.3285546211 * t) % TWOPI +} + +#[allow(clippy::excessive_precision)] +fn mean_longitude_earth(t: f64) -> f64 { + (1.753470314 + 628.3075849991 * t) % TWOPI +} + +#[allow(clippy::excessive_precision)] +fn general_precession_longitude(t: f64) -> f64 { + (0.024381750 + 0.00000538691 * t) * t +} + +/// The precession-nutation model used for CIO locator computation. +#[derive(Debug, Clone, Copy, PartialEq)] +enum CioModel { + /// IAU 2006 precession with IAU 2000A nutation (66 terms). + IAU2006A, +} + +impl CioLocator { + /// Creates a CIO locator using the IAU 2006/2000A model. + /// + /// # Parameters + /// + /// * `tt_centuries` - TT (Terrestrial Time) as Julian centuries from J2000.0. + /// Computed as `(JD_TT - 2451545.0) / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY`. + pub fn iau2006a(tt_centuries: f64) -> Self { + Self { + tt_centuries, + model: CioModel::IAU2006A, + } + } + + /// Computes the CIO locator `s` given the CIP coordinates. + /// + /// # Parameters + /// + /// * `x` - CIP X coordinate in radians (from NPB matrix element [2][0]) + /// * `y` - CIP Y coordinate in radians (from NPB matrix element [2][1]) + /// + /// # Returns + /// + /// The CIO locator `s` in radians. + /// + /// # Errors + /// + /// Returns an error if the epoch is more than 20 centuries from J2000.0, + /// where the series expansion becomes unreliable. + pub fn calculate(&self, x: f64, y: f64) -> AstroResult { + match self.model { + CioModel::IAU2006A => self.calculate_iau2006a(x, y), + } + } + + fn calculate_iau2006a(&self, x: f64, y: f64) -> AstroResult { + let t = self.tt_centuries; + + if t.abs() > 20.0 { + return Err(AstroError::math_error( + "CIO locator calculation", + crate::errors::MathErrorKind::InvalidInput, + &format!( + "Time too far from J2000.0 for CIO locator: {:.1} centuries", + t + ), + )); + } + + let s_series = cio_series_s_plus_xy_half(t); + let s = s_series - 0.5 * x * y; + + Ok(s) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_cio_locator_at_j2000() { + let locator = CioLocator::iau2006a(0.0); + let s = locator.calculate(0.0, 0.0).unwrap(); + + assert!( + s.abs() < 1e-6, + "CIO locator at J2000.0 should be small: {}", + s + ); + } + + #[test] + fn test_cio_locator_time_dependency() { + let locator_past = CioLocator::iau2006a(-1.0); + let locator_future = CioLocator::iau2006a(1.0); + + let s_past = locator_past.calculate(0.0, 0.0).unwrap(); + let s_future = locator_future.calculate(0.0, 0.0).unwrap(); + + assert_ne!(s_past, s_future); + assert!( + (s_future - s_past).abs() > 1e-8, + "CIO locator should show time dependence" + ); + } + + #[test] + fn test_cio_locator_cip_dependency() { + let locator = CioLocator::iau2006a(0.0); + + let s_zero = locator.calculate(0.0, 0.0).unwrap(); + let s_offset = locator.calculate(1e-6, 1e-6).unwrap(); + + assert_ne!(s_zero, s_offset); + } + + #[test] + fn test_extreme_time_validation() { + let locator = CioLocator::iau2006a(25.0); + let result = locator.calculate(0.0, 0.0); + + assert!(result.is_err()); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/cio/mod.rs b/01_yachay/cosmos/cosmos-core/src/cio/mod.rs new file mode 100644 index 0000000..42bdaad --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/cio/mod.rs @@ -0,0 +1,123 @@ +//! Celestial Intermediate Origin (CIO) based eternal-to-terrestrial transformations. +//! +//! This module implements the IAU 2000/2006 CIO-based transformation from GCRS (Geocentric +//! Celestial Reference System) to CIRS (Celestial Intermediate Reference System). The CIO +//! approach is the modern replacement for the classical equinox-based method. +//! +//! # Components +//! +//! - [`CipCoordinates`]: X/Y coordinates of the Celestial Intermediate Pole +//! - [`CioLocator`]: The CIO locator `s`, positioning the origin on the CIP equator +//! - [`EquationOfOrigins`]: Relates CIO-based and equinox-based right ascension +//! - [`CioSolution`]: Bundles all CIO quantities for a given epoch +//! +//! # Usage +//! +//! For most use cases, compute a [`CioSolution`] from the NPB (nutation-precession-bias) matrix: +//! +//! ```ignore +//! let solution = CioSolution::calculate(&npb_matrix, tt_centuries)?; +//! let cirs_matrix = gcrs_to_cirs_matrix(solution.cip.x, solution.cip.y, solution.s); +//! ``` + +pub mod coordinates; +pub mod locator; +pub mod origins; + +pub use coordinates::CipCoordinates; +pub use locator::CioLocator; +pub use origins::EquationOfOrigins; + +use crate::errors::AstroResult; +use crate::matrix::RotationMatrix3; + +/// Builds the GCRS-to-CIRS rotation matrix from CIP coordinates and CIO locator. +/// +/// This implements the IAU 2006 CIO-based transformation using three rotations: +/// R₃(E) · R₂(d) · R₃(-(E+s)) where E = atan2(Y, X) and d = atan(sqrt(X²+Y²/(1-X²-Y²))). +pub fn gcrs_to_cirs_matrix(x: f64, y: f64, s: f64) -> RotationMatrix3 { + let r2 = x * x + y * y; + let e = if r2 > 0.0 { libm::atan2(y, x) } else { 0.0 }; + let d = libm::atan(libm::sqrt(r2 / (1.0 - r2))); + + let mut matrix = RotationMatrix3::identity(); + matrix.rotate_z(e); + matrix.rotate_y(d); + matrix.rotate_z(-(e + s)); + + matrix +} + +/// All CIO-based quantities for a given epoch. +/// +/// Bundles CIP coordinates, CIO locator, and equation of origins — everything needed +/// for the GCRS↔CIRS transformation. +#[derive(Debug, Clone, PartialEq)] +pub struct CioSolution { + /// CIP X/Y coordinates (radians) + pub cip: CipCoordinates, + /// CIO locator s (radians) + pub s: f64, + /// Equation of origins (radians) — difference between CIO-based and equinox-based RA + pub equation_of_origins: f64, +} + +impl CioSolution { + /// Computes all CIO quantities from an NPB matrix and TT centuries since J2000. + pub fn calculate( + npb_matrix: &crate::matrix::RotationMatrix3, + tt_centuries: f64, + ) -> AstroResult { + let cip = CipCoordinates::from_npb_matrix(npb_matrix)?; + + let locator = CioLocator::iau2006a(tt_centuries); + let s = locator.calculate(cip.x, cip.y)?; + + let equation_of_origins = EquationOfOrigins::from_npb_and_locator(npb_matrix, s)?; + + Ok(Self { + cip, + s, + equation_of_origins, + }) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn cio_identity_matrix_returns_zero_components() { + let identity = crate::matrix::RotationMatrix3::identity(); + let solution = CioSolution::calculate(&identity, 0.0).unwrap(); + + assert!(solution.cip.x.abs() < 1e-15); + assert!(solution.cip.y.abs() < 1e-15); + assert!(solution.s.abs() < 1e-8); + assert!(solution.equation_of_origins.abs() < 1e-8); + } + + #[test] + fn gcrs_to_cirs_matrix_with_zero_inputs_returns_identity() { + let matrix = gcrs_to_cirs_matrix(0.0, 0.0, 0.0); + let identity = RotationMatrix3::identity(); + assert!(matrix.max_difference(&identity) < 1e-15); + } + + #[test] + fn gcrs_to_cirs_matrix_is_rotation_matrix() { + let matrix = gcrs_to_cirs_matrix(1e-6, 2e-6, 5e-9); + assert!(matrix.is_rotation_matrix(1e-14)); + } + + #[test] + fn gcrs_to_cirs_matrix_small_cip_produces_near_identity() { + let x = 1e-6; + let y = 1e-6; + let s = 1e-9; + let matrix = gcrs_to_cirs_matrix(x, y, s); + let identity = RotationMatrix3::identity(); + assert!(matrix.max_difference(&identity) < 1e-5); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/cio/origins.rs b/01_yachay/cosmos/cosmos-core/src/cio/origins.rs new file mode 100644 index 0000000..c18cfd2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/cio/origins.rs @@ -0,0 +1,172 @@ +//! Equation of Origins computation. +//! +//! The Equation of Origins (EO) is the arc on the CIP equator between the Celestial +//! Intermediate Origin (CIO) and the equinox. It connects the modern CIO-based system +//! to the classical equinox-based system. +//! +//! In practice, EO is the difference between ERA (Earth Rotation Angle, measured from +//! the CIO) and GAST (Greenwich Apparent Sidereal Time, measured from the equinox): +//! +//! ```text +//! GAST = ERA - EO +//! ``` +//! +//! Typical values are a few arcseconds, slowly drifting due to precession. +//! +//! # When to use this +//! +//! - Converting between CIO-based and equinox-based right ascension +//! - Relating ERA to sidereal time +//! - Legacy interoperability with equinox-based catalogs and software +//! +//! For purely CIO-based work (GCRS to CIRS), you don't need EO directly — use +//! [`CioSolution`](crate::cio::CioSolution) instead. + +use crate::errors::AstroResult; +use crate::matrix::RotationMatrix3; + +/// Computes the Equation of Origins from precession-nutation quantities. +/// +/// This is a stateless utility type — all methods are associated functions. +pub struct EquationOfOrigins; + +impl EquationOfOrigins { + /// Computes EO from the NPB (nutation-precession-bias) matrix and CIO locator. + /// + /// This is the rigorous method. It extracts the equinox position from + /// the NPB matrix and computes the arc to the CIO. + /// + /// # Arguments + /// + /// * `npb_matrix` - Combined frame bias, precession, and nutation rotation matrix + /// * `s` - CIO locator in radians (from [`CioLocator::calculate`](crate::cio::CioLocator::calculate)) + /// + /// # Returns + /// + /// Equation of Origins in radians. Positive when the equinox is west of the CIO. + pub fn from_npb_and_locator(npb_matrix: &RotationMatrix3, s: f64) -> AstroResult { + let matrix = npb_matrix.elements(); + + let x = matrix[2][0]; + let ax = x / (1.0 + matrix[2][2]); + let xs = 1.0 - ax * x; + let ys = -ax * matrix[2][1]; + let zs = -x; + + let p = matrix[0][0] * xs + matrix[0][1] * ys + matrix[0][2] * zs; + let q = matrix[1][0] * xs + matrix[1][1] * ys + matrix[1][2] * zs; + + let eo = if p != 0.0 || q != 0.0 { + s - libm::atan2(q, p) + } else { + s + }; + + Ok(eo) + } + + /// Approximates EO from the equation of equinoxes and CIO locator. + /// + /// A simpler but less accurate method: `EO ≈ EE - s`, where EE is the equation + /// of equinoxes (nutation in right ascension). Useful when you already have EE + /// but not the full NPB matrix. + /// + /// For sub-milliarcsecond accuracy, use [`from_npb_and_locator`](Self::from_npb_and_locator). + /// + /// # Arguments + /// + /// * `equation_of_equinoxes` - Nutation in right ascension (radians) + /// * `s` - CIO locator (radians) + pub fn from_equation_of_equinoxes_approximation( + equation_of_equinoxes: f64, + s: f64, + ) -> AstroResult { + let eo_approx = equation_of_equinoxes - s; + + Ok(eo_approx) + } + + /// Converts EO from radians to arcseconds. + pub fn to_arcseconds(eo_radians: f64) -> f64 { + eo_radians * crate::constants::RAD_TO_DEG * 3600.0 + } + + /// Converts EO from radians to milliarcseconds. + pub fn to_milliarcseconds(eo_radians: f64) -> f64 { + eo_radians * crate::constants::RAD_TO_DEG * 3600.0 * 1000.0 + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::matrix::RotationMatrix3; + + #[test] + fn test_equation_of_origins_identity_matrix() { + let identity = RotationMatrix3::identity(); + let s = 0.0; + + let eo = EquationOfOrigins::from_npb_and_locator(&identity, s).unwrap(); + + assert!( + eo.abs() < 1e-15, + "EO should be zero for identity matrix: {}", + eo + ); + } + + #[test] + fn test_equation_of_origins_small_rotation() { + let mut small_rotation = RotationMatrix3::identity(); + small_rotation.rotate_z(1e-6); + let s = 1e-7; + + let eo = EquationOfOrigins::from_npb_and_locator(&small_rotation, s).unwrap(); + + assert!(eo.abs() < 1e-3, "EO should be small: {}", eo); + assert!( + eo.abs() > 1e-12, + "EO should be non-zero for rotation: {}", + eo + ); + } + + #[test] + fn test_equation_of_origins_approximation() { + let equation_of_equinoxes = 1e-6; + let s = 5e-7; + + let eo = + EquationOfOrigins::from_equation_of_equinoxes_approximation(equation_of_equinoxes, s) + .unwrap(); + + let expected = equation_of_equinoxes - s; + assert!( + (eo - expected).abs() < 1e-15, + "Approximation should match expected value" + ); + } + + #[test] + fn test_unit_conversions() { + let eo_rad = 1e-6; + + let eo_arcsec = EquationOfOrigins::to_arcseconds(eo_rad); + let eo_mas = EquationOfOrigins::to_milliarcseconds(eo_rad); + + assert!((eo_arcsec * 1000.0 - eo_mas).abs() < 1e-10); + assert!(eo_arcsec > 0.0 && eo_arcsec < 1.0); + } + + #[test] + fn test_large_eo_validation() { + let mut normal_matrix = RotationMatrix3::identity(); + normal_matrix.rotate_z(1e-6); + let normal_s = 1e-7; + + let eo = EquationOfOrigins::from_npb_and_locator(&normal_matrix, normal_s).unwrap(); + + assert!(eo.abs() < 1e-3); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/constants.rs b/01_yachay/cosmos/cosmos-core/src/constants.rs new file mode 100644 index 0000000..b1a0deb --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/constants.rs @@ -0,0 +1,96 @@ +pub const J2000_JD: f64 = 2451545.0; + +pub const DAYS_PER_JULIAN_CENTURY: f64 = 36525.0; + +pub const DAYS_PER_JULIAN_MILLENNIUM: f64 = 365250.0; + +pub const CIRCULAR_ARCSECONDS: f64 = 1296000.0; + +/// WGS84 semi-major axis in kilometers. +pub const WGS84_SEMI_MAJOR_AXIS_KM: f64 = 6378.137; + +/// WGS84 first eccentricity squared: e² = (a² - b²) / a². +pub const WGS84_ECCENTRICITY_SQUARED: f64 = 6.6943799901413165e-3; + +pub const NANOSECONDS_PER_SECOND: u32 = 1_000_000_000; + +pub const NANOSECONDS_PER_SECOND_F64: f64 = 1_000_000_000.0; + +pub const SECONDS_PER_DAY: i64 = 86_400; + +pub const SECONDS_PER_DAY_F64: f64 = 86_400.0; + +pub const HOURS_PER_DAY: f64 = 24.0; + +pub const MINUTES_PER_DAY: f64 = 1440.0; + +#[allow(clippy::excessive_precision)] +pub const ARCMIN_TO_RAD: f64 = 2.908882086657215961539535e-4; + +#[allow(clippy::excessive_precision)] +pub const ARCSEC_TO_RAD: f64 = 4.848136811095359935899141e-6; + +#[allow(clippy::excessive_precision)] +pub const MILLIARCSEC_TO_RAD: f64 = 4.848136811095359935899141e-9; + +#[allow(clippy::excessive_precision)] +pub const MICROARCSEC_TO_RAD: f64 = 4.848136811095359935899141e-13; + +pub const MJD_ZERO_POINT: f64 = 2_400_000.5; + +#[allow(clippy::excessive_precision)] +#[allow(clippy::approx_constant)] +pub const PI: f64 = 3.141592653589793238462643; + +#[allow(clippy::excessive_precision)] +#[allow(clippy::approx_constant)] +pub const HALF_PI: f64 = 1.5707963267948966192313216; + +#[allow(clippy::excessive_precision)] +#[allow(clippy::approx_constant)] +pub const QUARTER_PI: f64 = 0.7853981633974483096156608; + +#[allow(clippy::excessive_precision)] +#[allow(clippy::approx_constant)] +pub const TWOPI: f64 = 6.283185307179586476925287; + +#[allow(clippy::excessive_precision)] +pub const DEG_TO_RAD: f64 = 1.745329251994329576923691e-2; + +#[allow(clippy::excessive_precision)] +pub const RAD_TO_DEG: f64 = 57.29577951308232087679815; + +#[allow(clippy::excessive_precision)] +pub const ARCSEC_PER_RAD: f64 = 206264.8062470963551564734; + +pub const WGS84_SEMI_MAJOR_AXIS: f64 = 6_378_137.0; + +pub const WGS84_FLATTENING: f64 = 0.0033528106647474805; + +#[allow(clippy::excessive_precision)] +#[allow(clippy::approx_constant)] +pub const SQRT2: f64 = 1.4142135623730950488; + +/// Astronomical Unit in meters (IAU 2012 definition, exact) +pub const AU_M: f64 = 149_597_870_700.0; + +/// Astronomical Unit in kilometers (derived from IAU 2012 definition) +pub const AU_KM: f64 = 149_597_870.7; + +pub const DAYS_PER_JULIAN_YEAR: f64 = 365.25; + +pub const SPEED_OF_LIGHT_AU_PER_DAY: f64 = 173.1446326846693; + +#[allow(clippy::excessive_precision)] +pub const J2000_OBLIQUITY_RAD: f64 = (23.0 + 26.0 / 60.0 + 21.41136 / 3600.0) * PI / 180.0; + +#[allow(clippy::excessive_precision)] +pub const FRAME_BIAS_PHI_RAD: f64 = -0.05188 / 3600.0 * PI / 180.0; + +#[allow(clippy::excessive_precision)] +pub const GM_EARTH_KM3S2: f64 = 398600.435507; + +#[allow(clippy::excessive_precision)] +pub const GM_MOON_KM3S2: f64 = 4902.800118; + +pub const MOON_EARTH_MASS_RATIO: f64 = GM_MOON_KM3S2 / (GM_EARTH_KM3S2 + GM_MOON_KM3S2); diff --git a/01_yachay/cosmos/cosmos-core/src/errors.rs b/01_yachay/cosmos/cosmos-core/src/errors.rs new file mode 100644 index 0000000..4c9373d --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/errors.rs @@ -0,0 +1,244 @@ +//! Error types for astronomical calculations. +//! +//! This module provides a unified error type [`AstroError`] that covers the failure +//! modes encountered in astronomical computations: invalid dates, numerical issues, +//! external library failures, data access problems, and calculation failures. +//! +//! # Error Categories +//! +//! | Variant | Use Case | Recoverable? | +//! |---------|----------|--------------| +//! | [`InvalidDate`](AstroError::InvalidDate) | Calendar validation failures | No | +//! | [`MathError`](AstroError::MathError) | Overflow, precision loss, division by zero | No | +//! | [`ExternalLibraryError`](AstroError::ExternalLibraryError) | FFI or driver failures | No | +//! | [`DataError`](AstroError::DataError) | File I/O, network, parsing | Yes | +//! | [`CalculationError`](AstroError::CalculationError) | Algorithm failures | No | +//! +//! # Usage +//! +//! Most functions return [`AstroResult`], which is `Result`. +//! Use the constructor methods for consistent error creation: +//! +//! ``` +//! use cosmos_core::{AstroError, MathErrorKind}; +//! +//! fn safe_divide(a: f64, b: f64) -> Result { +//! if b == 0.0 { +//! return Err(AstroError::math_error( +//! "safe_divide", +//! MathErrorKind::DivisionByZero, +//! "divisor is zero", +//! )); +//! } +//! Ok(a / b) +//! } +//! ``` + +use thiserror::Error; + +/// Classification of mathematical errors. +/// +/// Used with [`AstroError::MathError`] to distinguish between different +/// numerical failure modes. +#[derive(Debug, Clone, PartialEq)] +pub enum MathErrorKind { + /// Result exceeds representable range (too large). + Overflow, + /// Result below representable range (too small/negative). + Underflow, + /// Accumulated floating-point error exceeds acceptable threshold. + PrecisionLoss, + /// Attempted division by zero or near-zero value. + DivisionByZero, + /// Input value is invalid for the operation. + InvalidInput, + /// Result is NaN or infinity. + NotFinite, + /// Value outside valid domain (e.g., latitude > 90°). + OutOfRange, +} + +/// Unified error type for astronomical calculations. +/// +/// Covers calendar validation, numerical issues, external dependencies, +/// data access, and algorithmic failures. Use the constructor methods +/// ([`invalid_date`](Self::invalid_date), [`math_error`](Self::math_error), etc.) +/// for consistent error creation. +#[derive(Error, Debug)] +pub enum AstroError { + /// Invalid calendar date (e.g., February 30, month 13). + #[error("Invalid date {year}-{month:02}-{day:02}: {message}")] + InvalidDate { + year: i32, + month: i32, + day: i32, + message: String, + }, + + /// Numerical computation failure. + #[error("Math error in {operation} ({kind:?}): {message}")] + MathError { + operation: String, + kind: MathErrorKind, + message: String, + }, + + /// Failure in external library or hardware driver. + #[error("External library error in {function}: status {status_code} - {message}")] + ExternalLibraryError { + function: String, + status_code: i32, + message: String, + }, + + /// Data access failure (file I/O, network, parsing). + /// + /// This is the only recoverable error variant — retry or fallback may succeed. + #[error("Data error ({file_type} - {operation}): {message}")] + DataError { + file_type: String, + operation: String, + message: String, + }, + + /// Algorithm or calculation failure. + #[error("Calculation error in {context}: {message}")] + CalculationError { context: String, message: String }, +} + +/// Convenience alias for `Result`. +pub type AstroResult = Result; + +impl AstroError { + /// Creates an [`InvalidDate`](Self::InvalidDate) error. + pub fn invalid_date(year: i32, month: i32, day: i32, reason: &str) -> Self { + Self::InvalidDate { + year, + month, + day, + message: reason.to_string(), + } + } + + /// Creates a [`MathError`](Self::MathError) with the given kind. + pub fn math_error(operation: &str, kind: MathErrorKind, reason: &str) -> Self { + Self::MathError { + operation: operation.to_string(), + kind, + message: reason.to_string(), + } + } + + /// Creates an [`ExternalLibraryError`](Self::ExternalLibraryError). + pub fn external_library_error(function: &str, status_code: i32, message: &str) -> Self { + Self::ExternalLibraryError { + function: function.to_string(), + status_code, + message: message.to_string(), + } + } + + /// Creates a [`DataError`](Self::DataError) (the only recoverable variant). + pub fn data_error(file_type: &str, operation: &str, reason: &str) -> Self { + Self::DataError { + file_type: file_type.to_string(), + operation: operation.to_string(), + message: reason.to_string(), + } + } + + /// Creates a [`CalculationError`](Self::CalculationError). + pub fn calculation_error(context: &str, reason: &str) -> Self { + Self::CalculationError { + context: context.to_string(), + message: reason.to_string(), + } + } + + /// Returns `true` if retrying or using a fallback might succeed. + /// + /// Only [`DataError`](Self::DataError) is recoverable (network retry, alternate source). + pub fn is_recoverable(&self) -> bool { + match self { + Self::DataError { .. } => true, + Self::InvalidDate { .. } => false, + _ => false, + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_invalid_date_error() { + let err = AstroError::invalid_date(2000, 13, 1, "month out of range"); + assert_eq!( + err.to_string(), + "Invalid date 2000-13-01: month out of range" + ); + } + + #[test] + fn test_math_error_with_kind() { + let err = AstroError::math_error( + "nanosecond addition", + MathErrorKind::Overflow, + "value too large", + ); + assert!(err.to_string().contains("Math error")); + assert!(err.to_string().contains("Overflow")); + } + + #[test] + fn test_external_library_error() { + let err = AstroError::external_library_error("telescope_driver", -2, "mount error"); + assert!(err.to_string().contains("mount error")); + assert!(err.to_string().contains("telescope_driver")); + assert!(err.to_string().contains("status -2")); + } + + #[test] + fn test_data_error() { + let err = AstroError::data_error("IERS Bulletin A", "download", "network timeout"); + assert!(err + .to_string() + .contains("Data error (IERS Bulletin A - download)")); + } + + #[test] + fn test_calculation_error() { + let err = AstroError::calculation_error("orbit propagation", "insufficient data"); + assert!(err + .to_string() + .contains("Calculation error in orbit propagation")); + } + + #[test] + fn test_recoverable_errors() { + assert!(AstroError::data_error("catalog", "download", "timeout").is_recoverable()); + assert!(!AstroError::invalid_date(2000, 13, 1, "bad month").is_recoverable()); + } + + #[test] + fn test_send_sync() { + fn _assert_send() {} + fn _assert_sync() {} + _assert_send::(); + _assert_sync::(); + } + + #[test] + fn test_non_recoverable_errors() { + let math_err = + AstroError::math_error("calculation", MathErrorKind::Overflow, "value too large"); + assert!(!math_err.is_recoverable()); + + let lib_err = AstroError::external_library_error("telescope_driver", -1, "mount error"); + assert!(!lib_err.is_recoverable()); + + let calc_err = AstroError::calculation_error("orbit_propagation", "insufficient data"); + assert!(!calc_err.is_recoverable()); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/lib.rs b/01_yachay/cosmos/cosmos-core/src/lib.rs new file mode 100644 index 0000000..241a6de --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/lib.rs @@ -0,0 +1,76 @@ +//! Low-level astronomical calculations for coordinate transformations. +//! +//! `eternal-core` provides the mathematical building blocks for celestial mechanics: +//! rotation matrices, nutation/precession models, angle handling, and geodetic conversions. +//! It implements IAU 2000/2006 standards in pure Rust with no runtime FFI. +//! +//! # Modules +//! +//! | Module | Purpose | +//! |--------|---------| +//! | [`angle`] | Angle types, parsing (HMS/DMS), normalization, validation | +//! | [`matrix`] | 3×3 rotation matrices and 3D vectors | +//! | [`nutation`] | IAU 2000A/2000B/2006A nutation models | +//! | [`precession`] | IAU 2000/2006 precession (Fukushima-Williams angles) | +//! | [`cio`] | CIO-based GCRS↔CIRS transformations | +//! | [`obliquity`] | Mean obliquity of the ecliptic (IAU 1980, 2006) | +//! | [`location`] | Observer geodetic coordinates, geocentric conversion | +//! | [`constants`] | Astronomical constants (J2000, WGS84, unit conversions) | +//! | [`errors`] | [`AstroError`] and [`AstroResult`] | +//! +//! # Coordinate Transformation Pipeline +//! +//! GCRS → CIRS transformation (CIO-based): +//! +//! ```ignore +//! // 1. Compute precession-nutation-bias matrix +//! let fw = FukushimaWilliamsAngles::iau2006a(tt_centuries); +//! let nutation = NutationIAU2006A::new().compute(jd1, jd2)?; +//! let npb = fw.build_npb_matrix(nutation.delta_psi, nutation.delta_eps); +//! +//! // 2. Extract CIO quantities +//! let cio = CioSolution::calculate(&npb, tt_centuries)?; +//! +//! // 3. Build GCRS→CIRS matrix +//! let matrix = gcrs_to_cirs_matrix(cio.cip.x, cio.cip.y, cio.s); +//! ``` +//! +//! # Re-exports +//! +//! Common types are re-exported at the crate root for convenience: +//! +//! ``` +//! use cosmos_core::{Angle, Vector3, RotationMatrix3, Location}; +//! use cosmos_core::{AstroError, AstroResult, MathErrorKind}; +//! ``` +//! +//! # Design Notes +//! +//! - **Two-part Julian Dates**: Functions accepting `(jd1, jd2)` preserve precision by +//! splitting the date. Typically `jd1 = 2451545.0` (J2000.0) and `jd2` is days from epoch. +//! +//! - **Radians internally**: All angular computations use radians. The [`Angle`] type +//! provides conversion methods for degrees/HMS/DMS display. +//! +//! - **No implicit state**: Models like [`NutationIAU2006A`](nutation::NutationIAU2006A) +//! are stateless calculators. Call `compute(jd1, jd2)` with any epoch. + +pub mod angle; +pub mod cio; +pub mod constants; +pub mod errors; +pub mod location; +pub mod math; +pub mod matrix; +pub mod nutation; +pub mod obliquity; +pub mod precession; +pub mod utils; + +pub use angle::Angle; +pub use cio::{gcrs_to_cirs_matrix, CioLocator, CioSolution, CipCoordinates, EquationOfOrigins}; +pub use errors::{AstroError, AstroResult, MathErrorKind}; +pub use location::Location; +pub use matrix::{RotationMatrix3, Vector3}; + +pub mod test_helpers; diff --git a/01_yachay/cosmos/cosmos-core/src/location/core.rs b/01_yachay/cosmos/cosmos-core/src/location/core.rs new file mode 100644 index 0000000..dcef746 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/location/core.rs @@ -0,0 +1,377 @@ +//! Observer location on Earth using WGS84 geodetic coordinates. +//! +//! This module provides the [`Location`] type for representing geographic positions. +//! Coordinates are geodetic (latitude/longitude relative to the WGS84 ellipsoid), +//! not geocentric (relative to Earth's center of mass). +//! +//! The distinction matters for precision astronomy: geodetic latitude differs from +//! geocentric latitude by up to ~11 arcminutes at mid-latitudes due to Earth's +//! equatorial bulge. +//! +//! # Coordinate conventions +//! +//! - **Latitude**: North positive, stored in radians, range [-pi/2, pi/2] +//! - **Longitude**: East positive, stored in radians, range [-pi, pi] +//! - **Height**: Meters above the WGS84 ellipsoid (not sea level) +//! +//! # Example +//! +//! ``` +//! use cosmos_core::Location; +//! +//! // Mauna Kea summit +//! let obs = Location::from_degrees(19.8207, -155.4681, 4205.0)?; +//! +//! // Access coordinates +//! assert!((obs.latitude_degrees() - 19.8207).abs() < 1e-10); +//! # Ok::<(), cosmos_core::AstroError>(()) +//! ``` + +use crate::errors::{AstroError, AstroResult, MathErrorKind}; + +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + +/// A geographic location on Earth in WGS84 geodetic coordinates. +/// +/// All angular values are stored internally in radians. Use [`Location::from_degrees`] +/// for convenience when working with degree-based coordinates. +#[derive(Debug, Clone, Copy, PartialEq)] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] +pub struct Location { + /// Geodetic latitude in radians. North is positive. + pub latitude: f64, + /// Geodetic longitude in radians. East is positive. + pub longitude: f64, + /// Height above WGS84 ellipsoid in meters. + pub height: f64, +} + +impl Location { + /// Creates a new location from coordinates in radians. + /// + /// # Arguments + /// + /// * `latitude` - Geodetic latitude in radians, must be in [-pi/2, pi/2] + /// * `longitude` - Geodetic longitude in radians, must be in [-pi, pi] + /// * `height` - Height above WGS84 ellipsoid in meters, must be in [-12000, 100000] + /// + /// # Errors + /// + /// Returns an error if any coordinate is non-finite or outside its valid range. + /// The height range covers the Mariana Trench floor to well above aircraft altitude. + pub fn new(latitude: f64, longitude: f64, height: f64) -> AstroResult { + if !latitude.is_finite() { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Latitude must be finite", + )); + } + if !longitude.is_finite() { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Longitude must be finite", + )); + } + if !height.is_finite() { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Height must be finite", + )); + } + + if latitude.abs() > crate::constants::HALF_PI { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Latitude outside valid range [-π/2, π/2]", + )); + } + if longitude.abs() > crate::constants::PI { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Longitude outside valid range [-π, π]", + )); + } + if !(-12000.0..=100000.0).contains(&height) { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Height outside reasonable range [-12000, 100000] meters", + )); + } + + Ok(Self { + latitude, + longitude, + height, + }) + } + + /// Creates a new location from coordinates in degrees. + /// + /// This is the typical way to create a Location, since most sources + /// provide coordinates in degrees. + /// + /// # Arguments + /// + /// * `lat_deg` - Geodetic latitude in degrees, must be in [-90, 90] + /// * `lon_deg` - Geodetic longitude in degrees, must be in [-180, 180] + /// * `height_m` - Height above WGS84 ellipsoid in meters + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Location; + /// + /// // La Silla Observatory, Chile + /// let la_silla = Location::from_degrees(-29.2563, -70.7380, 2400.0)?; + /// # Ok::<(), cosmos_core::AstroError>(()) + /// ``` + pub fn from_degrees(lat_deg: f64, lon_deg: f64, height_m: f64) -> AstroResult { + if !lat_deg.is_finite() { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Latitude degrees must be finite", + )); + } + if !lon_deg.is_finite() { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Longitude degrees must be finite", + )); + } + if lat_deg.abs() > 90.0 { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Latitude outside valid range [-90, 90] degrees", + )); + } + if lon_deg.abs() > 180.0 { + return Err(AstroError::math_error( + "location_validation", + MathErrorKind::InvalidInput, + "Longitude outside valid range [-180, 180] degrees", + )); + } + + Self::new( + lat_deg * crate::constants::DEG_TO_RAD, + lon_deg * crate::constants::DEG_TO_RAD, + height_m, + ) + } + + /// Returns the latitude in degrees. + pub fn latitude_degrees(&self) -> f64 { + self.latitude * crate::constants::RAD_TO_DEG + } + + /// Returns the longitude in degrees. + pub fn longitude_degrees(&self) -> f64 { + self.longitude * crate::constants::RAD_TO_DEG + } + + /// Returns the latitude as an [`Angle`](crate::Angle). + pub fn latitude_angle(&self) -> crate::Angle { + crate::Angle::from_radians(self.latitude) + } + + /// Returns the longitude as an [`Angle`](crate::Angle). + pub fn longitude_angle(&self) -> crate::Angle { + crate::Angle::from_radians(self.longitude) + } + + /// Returns the Royal Observatory, Greenwich (0, 0, 0). + /// + /// Useful as a default or reference location. + pub fn greenwich() -> Self { + Self::from_degrees(0.0, 0.0, 0.0).expect("Greenwich coordinates should always be valid") + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_location_creation() { + let loc = Location::new(0.5, 1.0, 100.0).unwrap(); + assert_eq!(loc.latitude, 0.5); + assert_eq!(loc.longitude, 1.0); + assert_eq!(loc.height, 100.0); + } + + #[test] + fn test_from_degrees() { + let loc = Location::from_degrees(45.0, 90.0, 1000.0).unwrap(); + assert!((loc.latitude - 45.0_f64.to_radians()).abs() < 1e-15); + assert!((loc.longitude - 90.0_f64.to_radians()).abs() < 1e-15); + assert_eq!(loc.height, 1000.0); + } + + #[test] + fn test_longitude_degrees_conversion_returns_degrees() { + let loc = Location::from_degrees(0.0, 180.0, 0.0).unwrap(); + assert_eq!(loc.longitude_degrees(), 180.0); + } + + #[test] + fn test_longitude_degrees_conversion_handles_negative() { + let loc = Location::from_degrees(0.0, -90.0, 0.0).unwrap(); + assert_eq!(loc.longitude_degrees(), -90.0); + } + + #[test] + fn test_longitude_angle_returns_angle_object() { + let loc = Location::from_degrees(0.0, 45.0, 0.0).unwrap(); + let angle = loc.longitude_angle(); + crate::test_helpers::assert_float_eq(angle.degrees(), 45.0, 1); + } + + #[test] + fn test_longitude_angle_handles_wraparound() { + let loc = Location::from_degrees(0.0, -180.0, 0.0).unwrap(); + let angle = loc.longitude_angle(); + crate::test_helpers::assert_float_eq(angle.degrees(), -180.0, 1); + } + + #[test] + fn test_location_validation_errors() { + let result = Location::new(f64::NAN, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Latitude must be finite")); + + let result = Location::new(0.0, f64::NAN, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Longitude must be finite")); + + let result = Location::new(0.0, 0.0, f64::NAN); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Height must be finite")); + + let result = Location::new(f64::INFINITY, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Latitude must be finite")); + + let result = Location::new(0.0, f64::INFINITY, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Longitude must be finite")); + + let result = Location::new(0.0, 0.0, f64::INFINITY); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Height must be finite")); + + let result = Location::new(crate::constants::PI, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range")); + + let result = Location::new(-crate::constants::PI, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range")); + + let result = Location::new(0.0, crate::constants::TWOPI, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range")); + + let result = Location::new(0.0, -crate::constants::TWOPI, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range")); + + let result = Location::new(0.0, 0.0, 200000.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside reasonable range")); + + let result = Location::new(0.0, 0.0, -20000.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside reasonable range")); + } + + #[test] + fn test_from_degrees_validation_errors() { + let result = Location::from_degrees(f64::NAN, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Latitude degrees must be finite")); + + let result = Location::from_degrees(0.0, f64::NAN, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("Longitude degrees must be finite")); + + let result = Location::from_degrees(95.0, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range [-90, 90]")); + + let result = Location::from_degrees(-95.0, 0.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range [-90, 90]")); + + let result = Location::from_degrees(0.0, 185.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range [-180, 180]")); + + let result = Location::from_degrees(0.0, -185.0, 0.0); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .contains("outside valid range [-180, 180]")); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/location/geodesy.rs b/01_yachay/cosmos/cosmos-core/src/location/geodesy.rs new file mode 100644 index 0000000..0618cb0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/location/geodesy.rs @@ -0,0 +1,301 @@ +//! Geodetic to geocentric coordinate conversions for Earth-based observers. +//! +//! # Geodetic vs Geocentric Coordinates +//! +//! **Geodetic coordinates** (what GPS gives you) define position relative to the WGS84 +//! reference ellipsoid: +//! - Latitude: angle between the equatorial plane and the ellipsoid surface normal +//! - Longitude: angle from the prime meridian +//! - Height: distance above the ellipsoid surface +//! +//! **Geocentric coordinates** define position relative to Earth's center of mass: +//! - The Earth is modeled as an oblate spheroid (equatorial bulge) +//! - At mid-latitudes, geodetic and geocentric latitude differ by up to ~11 arcminutes +//! +//! Topocentric corrections (parallax, aberration, refraction) require knowing the +//! observer's true position in space, not their position on the reference ellipsoid. +//! The geocentric coordinates returned here are the cylindrical components needed for: +//! +//! - **Diurnal parallax**: Moon position shifts by up to 1° depending on observer +//! - **Stellar parallax**: precise baseline for nearby star distances +//! - **Satellite tracking**: ground station positions in Earth-centered frame +//! +//! # WGS84 Ellipsoid Parameters +//! +//! This module uses the WGS84 reference ellipsoid: +//! - Semi-major axis (equatorial radius): 6,378,137.0 m (or 6378.137 km) +//! - Flattening: 1/298.257223563 +//! - First eccentricity squared: ~0.00669438 +//! +//! # Output Format +//! +//! Both conversion methods return `(u, v)` where: +//! - `u`: distance from Earth's rotation axis (equatorial component) +//! - `v`: distance from equatorial plane (polar component) +//! +//! These are cylindrical coordinates centered on Earth's center of mass. +//! To get Cartesian XYZ, you'd combine with longitude: `x = u*cos(lon)`, `y = u*sin(lon)`, `z = v`. + +use crate::constants::{ + WGS84_ECCENTRICITY_SQUARED, WGS84_SEMI_MAJOR_AXIS, WGS84_SEMI_MAJOR_AXIS_KM, +}; +use crate::errors::{AstroError, AstroResult, MathErrorKind}; + +use super::Location; + +impl Location { + /// Converts geodetic coordinates to geocentric cylindrical coordinates in kilometers. + /// + /// Uses the WGS84 ellipsoid to compute the observer's position relative to + /// Earth's center of mass. The result accounts for Earth's equatorial bulge. + /// + /// # Returns + /// + /// `(u, v)` in kilometers where: + /// - `u`: perpendicular distance from Earth's rotation axis + /// - `v`: distance from the equatorial plane (positive north) + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Location; + /// + /// let obs = Location::from_degrees(45.0, 0.0, 0.0)?; + /// let (u, v) = obs.to_geocentric_km()?; + /// + /// // At 45 degrees, u and v are similar but u > v due to Earth's shape + /// assert!(u > 4500.0 && u < 4600.0); + /// assert!(v > 4400.0 && v < 4500.0); + /// # Ok::<(), cosmos_core::AstroError>(()) + /// ``` + /// + /// # Errors + /// + /// Returns an error for degenerate latitude values that would cause division by zero. + /// In practice, this is unlikely with validated `Location` values. + pub fn to_geocentric_km(&self) -> AstroResult<(f64, f64)> { + let lat = self.latitude; + let height_km = self.height / 1000.0; + + let (sin_lat, cos_lat) = libm::sincos(lat); + + let denominator = 1.0 - WGS84_ECCENTRICITY_SQUARED * sin_lat * sin_lat; + if denominator <= f64::EPSILON { + return Err(AstroError::math_error( + "geocentric_conversion", + MathErrorKind::DivisionByZero, + "Latitude too close to critical value causing division by zero", + )); + } + + let n = WGS84_SEMI_MAJOR_AXIS_KM / libm::sqrt(denominator); + + let u = (n + height_km) * cos_lat; + + let v = (n * (1.0 - WGS84_ECCENTRICITY_SQUARED) + height_km) * sin_lat; + + Ok((u, v)) + } + + /// Converts geodetic coordinates to geocentric cylindrical coordinates in meters. + /// + /// Same algorithm as [`to_geocentric_km`](Self::to_geocentric_km) but returns + /// results in meters for applications requiring higher precision or SI units. + /// + /// This method uses a slightly different formulation internally (computing the + /// flattening ratio explicitly) but produces equivalent results to the km version. + /// + /// # Returns + /// + /// `(u, v)` in meters where: + /// - `u`: perpendicular distance from Earth's rotation axis + /// - `v`: distance from the equatorial plane (positive north) + /// + /// # Example + /// + /// ``` + /// use cosmos_core::Location; + /// + /// // Equator at sea level + /// let equator = Location::from_degrees(0.0, 0.0, 0.0)?; + /// let (u, v) = equator.to_geocentric_meters()?; + /// + /// // At equator: u equals semi-major axis, v is zero + /// assert!((u - 6_378_137.0).abs() < 1.0); + /// assert!(v.abs() < 1e-9); + /// # Ok::<(), cosmos_core::AstroError>(()) + /// ``` + pub fn to_geocentric_meters(&self) -> AstroResult<(f64, f64)> { + let height_m = self.height; + + let (phi_sin, phi_cos) = libm::sincos(self.latitude); + + let wgs_flattened = 1.0 / 298.257223563; + let axis_ratio = 1.0 - wgs_flattened; + let axis_ratio_sq = axis_ratio * axis_ratio; + + let norm_sq = phi_cos * phi_cos + axis_ratio_sq * phi_sin * phi_sin; + if norm_sq <= f64::EPSILON { + return Err(AstroError::math_error( + "geocentric_conversion", + MathErrorKind::DivisionByZero, + "Latitude too close to critical value causing division by zero", + )); + } + + let prime_vertical_radius = WGS84_SEMI_MAJOR_AXIS / libm::sqrt(norm_sq); + let as_val = axis_ratio_sq * prime_vertical_radius; + + let equatorial_radius = (prime_vertical_radius + height_m) * phi_cos; + let z_coordinate = (as_val + height_m) * phi_sin; + + Ok((equatorial_radius, z_coordinate)) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_geocentric_at_equator() { + let loc = Location::from_degrees(0.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_km().unwrap(); + + assert_eq!( + u, + crate::constants::WGS84_SEMI_MAJOR_AXIS_KM, + "u = {} km, expected ~6378.137 km", + u + ); + assert_eq!(v, 0.0, "v = {} km, expected ~0 km", v); + } + + #[test] + fn test_geocentric_at_north_pole() { + let loc = Location::from_degrees(90.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_km().unwrap(); + + assert!(u.abs() < 1e-10, "u = {} km, expected very close to 0 km", u); + let expected_polar_radius = + crate::constants::WGS84_SEMI_MAJOR_AXIS_KM * (1.0 - 1.0 / 298.257223563); + assert_eq!( + v, expected_polar_radius, + "v = {} km, expected ~{} km", + v, expected_polar_radius + ); + } + + #[test] + fn test_geocentric_km_rejects_degenerate_latitude() { + use crate::constants::{HALF_PI, PI}; + let critical_lat = HALF_PI - 1e-10; + let critical_lat_deg = critical_lat * 180.0 / PI; + + let mut test_lat = critical_lat_deg; + while test_lat < 90.0 { + let loc = Location::from_degrees(test_lat, 0.0, 0.0).unwrap(); + if loc.to_geocentric_km().is_err() { + return; + } + test_lat += 1e-12; + } + } + + #[test] + fn test_geocentric_meters_rejects_degenerate_latitude() { + use crate::constants::{HALF_PI, PI}; + let critical_lat = HALF_PI - 1e-10; + let critical_lat_deg = critical_lat * 180.0 / PI; + + let mut test_lat = critical_lat_deg; + while test_lat < 90.0 { + let loc = Location::from_degrees(test_lat, 0.0, 0.0).unwrap(); + if loc.to_geocentric_meters().is_err() { + return; + } + test_lat += 1e-12; + } + } + + #[test] + fn test_geocentric_meters_handles_equator() { + let loc = Location::from_degrees(0.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_meters().unwrap(); + crate::test_helpers::assert_float_eq(u, WGS84_SEMI_MAJOR_AXIS, 1); + crate::test_helpers::assert_float_eq(v, 0.0, 1); + } + + #[test] + fn test_geocentric_meters_handles_north_pole() { + let loc = Location::from_degrees(90.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_meters().unwrap(); + assert!(u.abs() < 1e-9); + crate::test_helpers::assert_ulp_le(v, 6356752.314245179, 1, "v at pole"); + } + + #[test] + fn test_geocentric_at_45_degrees() { + let loc = Location::from_degrees(45.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_km().unwrap(); + + assert!(u > 4000.0 && u < 5000.0, "u = {} km, expected ~4500 km", u); + assert!(v > 4000.0 && v < 5000.0, "v = {} km, expected ~4500 km", v); + + assert!( + u > v, + "u should be larger than v due to Earth's oblate shape: u={}, v={}", + u, + v + ); + assert!( + (u - v).abs() < 100.0, + "At 45°, u and v should be similar: u={}, v={}", + u, + v + ); + } + + #[test] + fn test_geocentric_with_height() { + let loc_sea_level = Location::from_degrees(0.0, 0.0, 0.0).unwrap(); + let loc_elevated = Location::from_degrees(0.0, 0.0, 1000.0).unwrap(); + + let (u1, v1) = loc_sea_level.to_geocentric_km().unwrap(); + let (u2, v2) = loc_elevated.to_geocentric_km().unwrap(); + + assert!( + (u2 - u1 - 1.0).abs() < 0.001, + "1km elevation should increase u by ~1km" + ); + assert!( + (v2 - v1).abs() < 0.001, + "At equator, elevation shouldn't affect v much" + ); + } + + #[test] + fn test_negative_latitude() { + let loc = Location::from_degrees(-45.0, 0.0, 0.0).unwrap(); + let (u, v) = loc.to_geocentric_km().unwrap(); + + assert!(u > 0.0, "u should be positive: {}", u); + assert!( + v < 0.0, + "v should be negative in southern hemisphere: {}", + v + ); + } + + #[test] + fn test_geocentric_division_by_zero() { + let north_pole = Location { + latitude: crate::constants::HALF_PI, + longitude: 0.0, + height: 0.0, + }; + + let result = north_pole.to_geocentric_km(); + assert!(result.is_ok()); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/location/mod.rs b/01_yachay/cosmos/cosmos-core/src/location/mod.rs new file mode 100644 index 0000000..d3144da --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/location/mod.rs @@ -0,0 +1,9 @@ +//! Observer location on Earth. +//! +//! - [`Location`]: WGS84 geodetic coordinates (latitude, longitude, height) +//! - [`geodesy`]: geodetic-to-geocentric conversions for parallax corrections + +pub mod core; +pub mod geodesy; + +pub use core::Location; diff --git a/01_yachay/cosmos/cosmos-core/src/math.rs b/01_yachay/cosmos/cosmos-core/src/math.rs new file mode 100644 index 0000000..e91fbba --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/math.rs @@ -0,0 +1,23 @@ +#[inline] +pub fn fmod(x: f64, y: f64) -> f64 { + libm::fmod(x, y) +} + +#[inline] +pub fn vincenty_angular_separation( + sin_lat1: f64, + cos_lat1: f64, + sin_lat2: f64, + cos_lat2: f64, + delta_lon: f64, +) -> f64 { + let (sin_delta_lon, cos_delta_lon) = libm::sincos(delta_lon); + + let num = libm::sqrt( + (cos_lat2 * sin_delta_lon).powi(2) + + (cos_lat1 * sin_lat2 - sin_lat1 * cos_lat2 * cos_delta_lon).powi(2), + ); + let den = sin_lat1 * sin_lat2 + cos_lat1 * cos_lat2 * cos_delta_lon; + + libm::atan2(num, den) +} diff --git a/01_yachay/cosmos/cosmos-core/src/matrix/mod.rs b/01_yachay/cosmos/cosmos-core/src/matrix/mod.rs new file mode 100644 index 0000000..7087f32 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/matrix/mod.rs @@ -0,0 +1,10 @@ +//! 3D rotation matrices and vectors for coordinate transformations. +//! +//! - [`RotationMatrix3`]: 3×3 orthogonal matrix for frame rotations +//! - [`Vector3`]: 3D Cartesian vector + +mod rotation_matrix; +mod vector3; + +pub use rotation_matrix::RotationMatrix3; +pub use vector3::Vector3; diff --git a/01_yachay/cosmos/cosmos-core/src/matrix/rotation_matrix.rs b/01_yachay/cosmos/cosmos-core/src/matrix/rotation_matrix.rs new file mode 100644 index 0000000..3061c44 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/matrix/rotation_matrix.rs @@ -0,0 +1,843 @@ +//! 3x3 rotation matrices for astronomical coordinate transformations. +//! +//! Rotation matrices are the fundamental tool for transforming coordinates between +//! reference frames in astronomy. When you convert a star's position from ICRS to +//! galactic coordinates, or account for Earth's precession over centuries, or rotate +//! from equatorial to horizon coordinates for telescope pointing -- you're applying +//! rotation matrices. +//! +//! # The Role of Rotation Matrices in Astronomy +//! +//! A rotation matrix is a 3x3 orthogonal matrix with determinant +1. When applied to +//! a position vector, it rotates that vector while preserving its length. In astronomy, +//! we use rotation matrices for: +//! +//! - **Frame bias**: The small rotation between the FK5 catalog frame and ICRS +//! - **Precession**: Earth's axis traces a cone over ~26,000 years, requiring frame updates +//! - **Nutation**: Short-period oscillations of Earth's axis (18.6-year cycle and harmonics) +//! - **Earth rotation**: Converting between celestial and terrestrial reference frames +//! - **Coordinate system changes**: ICRS to galactic, equatorial to ecliptic, etc. +//! +//! # Composing Transformations +//! +//! Rotation matrices compose by multiplication. To apply rotation A, then rotation B, +//! you compute `B * A` (note the order -- the rightmost matrix acts first on the vector). +//! +//! ``` +//! use cosmos_core::RotationMatrix3; +//! +//! // Build up a combined precession-nutation-bias transformation +//! let mut bias = RotationMatrix3::identity(); +//! bias.rotate_x(-0.0068192); // Frame bias around X +//! bias.rotate_z(0.041775); // Frame bias around Z +//! +//! let mut precession = RotationMatrix3::identity(); +//! precession.rotate_z(0.00385); // Example precession angles +//! precession.rotate_y(-0.00205); +//! +//! // Combined transformation: precession * bias +//! let combined = precession * bias; +//! ``` +//! +//! For the full eternal-to-terrestrial transformation, the IAU defines the +//! complete chain as: `W * R * NPB` where NPB is the frame bias-precession-nutation +//! matrix, R is Earth rotation, and W is polar motion. +//! +//! # Rotation Conventions (ERFA-Compatible) +//! +//! This implementation follows the ERFA (Essential Routines for Fundamental Astronomy) +//! conventions. Rotations are defined as positive when counterclockwise when looking +//! from the positive axis toward the origin: +//! +//! - `rotate_x(phi)`: Rotation about the X-axis by angle phi (radians) +//! - `rotate_y(theta)`: Rotation about the Y-axis by angle theta (radians) +//! - `rotate_z(psi)`: Rotation about the Z-axis by angle psi (radians) +//! +//! This is the "passive" or "alias" convention where we rotate the coordinate frame +//! rather than the vector. A positive rotation of 90 degrees about Z takes the +//! vector `[1, 0, 0]` to `[0, -1, 0]`. +//! +//! # Storage Layout +//! +//! Elements are stored in row-major order as `[[f64; 3]; 3]`. The element at row `i`, +//! column `j` is accessed as `matrix[(i, j)]` or `matrix.get(i, j)`. When the matrix +//! multiplies a column vector, the result is the standard matrix-vector product: +//! +//! ```text +//! | r00 r01 r02 | | x | | r00*x + r01*y + r02*z | +//! | r10 r11 r12 | * | y | = | r10*x + r11*y + r12*z | +//! | r20 r21 r22 | | z | | r20*x + r21*y + r22*z | +//! ``` +//! +//! # Inverting Rotations +//! +//! For a proper rotation matrix, the inverse equals the transpose. This is much cheaper +//! to compute than a general matrix inverse and is numerically stable: +//! +//! ``` +//! use cosmos_core::RotationMatrix3; +//! +//! let mut m = RotationMatrix3::identity(); +//! m.rotate_z(0.5); +//! +//! let m_inverse = m.transpose(); +//! +//! // Verify: m * m_inverse should be identity +//! let product = m * m_inverse; +//! assert!((product.get(0, 0) - 1.0).abs() < 1e-15); +//! ``` +//! +//! # Spherical Coordinate Transformations +//! +//! For the common case of transforming right ascension and declination (or longitude +//! and latitude), use [`transform_spherical`](RotationMatrix3::transform_spherical): +//! +//! ``` +//! use cosmos_core::RotationMatrix3; +//! use std::f64::consts::PI; +//! +//! let mut frame_rotation = RotationMatrix3::identity(); +//! frame_rotation.rotate_z(PI / 6.0); // 30 degree rotation +//! +//! let (ra, dec) = (0.0, 0.0); // On the celestial equator at RA=0 +//! let (new_ra, new_dec) = frame_rotation.transform_spherical(ra, dec); +//! ``` + +use std::fmt; + +/// A 3x3 rotation matrix for coordinate frame transformations. +/// +/// This type represents proper rotation matrices (orthogonal with determinant +1). +/// All angles are in radians. The matrix uses row-major storage. +/// +/// # Construction +/// +/// ``` +/// use cosmos_core::RotationMatrix3; +/// +/// // Start with identity and build up rotations +/// let mut m = RotationMatrix3::identity(); +/// m.rotate_z(0.1); // Rotate 0.1 radians about Z +/// m.rotate_x(0.05); // Then rotate 0.05 radians about X +/// +/// // Or construct directly from elements +/// let m = RotationMatrix3::from_array([ +/// [1.0, 0.0, 0.0], +/// [0.0, 1.0, 0.0], +/// [0.0, 0.0, 1.0], +/// ]); +/// ``` +#[derive(Debug, Clone, Copy, PartialEq)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub struct RotationMatrix3 { + elements: [[f64; 3]; 3], +} + +impl RotationMatrix3 { + /// Creates the 3x3 identity matrix. + /// + /// The identity matrix leaves any vector unchanged when applied. It serves as + /// the starting point for building up rotation sequences. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let m = RotationMatrix3::identity(); + /// let v = [1.0, 2.0, 3.0]; + /// let result = m.apply_to_vector(v); + /// assert_eq!(result, v); + /// ``` + pub fn identity() -> Self { + Self { + elements: [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]], + } + } + + /// Creates a rotation matrix from a 3x3 array of elements. + /// + /// The array is interpreted as row-major: `elements[i][j]` is row `i`, column `j`. + /// + /// This does not validate that the matrix is a proper rotation. Use + /// [`is_rotation_matrix`](Self::is_rotation_matrix) to check if needed. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// // A rotation by 90 degrees about Z + /// let m = RotationMatrix3::from_array([ + /// [0.0, 1.0, 0.0], + /// [-1.0, 0.0, 0.0], + /// [0.0, 0.0, 1.0], + /// ]); + /// ``` + pub fn from_array(elements: [[f64; 3]; 3]) -> Self { + Self { elements } + } + + /// Returns the element at the specified row and column. + /// + /// Indices are 0-based. Panics if `row >= 3` or `col >= 3`. + /// + /// You can also use indexing syntax: `matrix[(row, col)]`. + pub fn get(&self, row: usize, col: usize) -> f64 { + self.elements[row][col] + } + + /// Sets the element at the specified row and column. + /// + /// Indices are 0-based. Panics if `row >= 3` or `col >= 3`. + /// + /// You can also use indexing syntax: `matrix[(row, col)] = value`. + pub fn set(&mut self, row: usize, col: usize, value: f64) { + self.elements[row][col] = value; + } + + /// Returns a reference to the underlying 3x3 array. + /// + /// Useful when you need direct access to all elements, for example when + /// passing to external APIs or serialization. + pub fn elements(&self) -> &[[f64; 3]; 3] { + &self.elements + } + + /// Applies a rotation about the X-axis to this matrix (in place). + /// + /// The rotation angle `phi` is in radians. Positive angles rotate counterclockwise + /// when looking from the positive X-axis toward the origin (ERFA convention). + /// + /// This modifies `self` to become `Rx(phi) * self`, where `Rx` is the standard + /// X-axis rotation matrix: + /// + /// ```text + /// Rx(phi) = | 1 0 0 | + /// | 0 cos(phi) sin(phi)| + /// | 0 -sin(phi) cos(phi)| + /// ``` + /// + /// In astronomy, X-axis rotations appear in frame bias corrections and some + /// nutation models. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// use std::f64::consts::FRAC_PI_2; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_x(FRAC_PI_2); // 90 degrees + /// + /// // [0, 1, 0] rotates to [0, 0, -1] + /// let v = m.apply_to_vector([0.0, 1.0, 0.0]); + /// assert!(v[0].abs() < 1e-15); + /// assert!(v[1].abs() < 1e-15); + /// assert!((v[2] + 1.0).abs() < 1e-15); + /// ``` + pub fn rotate_x(&mut self, phi: f64) { + let (s, c) = libm::sincos(phi); + + let a10 = c * self.elements[1][0] + s * self.elements[2][0]; + let a11 = c * self.elements[1][1] + s * self.elements[2][1]; + let a12 = c * self.elements[1][2] + s * self.elements[2][2]; + let a20 = -s * self.elements[1][0] + c * self.elements[2][0]; + let a21 = -s * self.elements[1][1] + c * self.elements[2][1]; + let a22 = -s * self.elements[1][2] + c * self.elements[2][2]; + + self.elements[1][0] = a10; + self.elements[1][1] = a11; + self.elements[1][2] = a12; + self.elements[2][0] = a20; + self.elements[2][1] = a21; + self.elements[2][2] = a22; + } + + /// Applies a rotation about the Z-axis to this matrix (in place). + /// + /// The rotation angle `psi` is in radians. Positive angles rotate counterclockwise + /// when looking from the positive Z-axis toward the origin (ERFA convention). + /// + /// This modifies `self` to become `Rz(psi) * self`, where `Rz` is the standard + /// Z-axis rotation matrix: + /// + /// ```text + /// Rz(psi) = | cos(psi) sin(psi) 0 | + /// |-sin(psi) cos(psi) 0 | + /// | 0 0 1 | + /// ``` + /// + /// Z-axis rotations are ubiquitous in astronomy. Earth rotation about its axis, + /// precession in right ascension, and rotations in longitude all use Rz. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// use std::f64::consts::FRAC_PI_2; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_z(FRAC_PI_2); // 90 degrees + /// + /// // [1, 0, 0] rotates to [0, -1, 0] + /// let v = m.apply_to_vector([1.0, 0.0, 0.0]); + /// assert!(v[0].abs() < 1e-15); + /// assert!((v[1] + 1.0).abs() < 1e-15); + /// assert!(v[2].abs() < 1e-15); + /// ``` + pub fn rotate_z(&mut self, psi: f64) { + let (s, c) = libm::sincos(psi); + + let a00 = c * self.elements[0][0] + s * self.elements[1][0]; + let a01 = c * self.elements[0][1] + s * self.elements[1][1]; + let a02 = c * self.elements[0][2] + s * self.elements[1][2]; + let a10 = -s * self.elements[0][0] + c * self.elements[1][0]; + let a11 = -s * self.elements[0][1] + c * self.elements[1][1]; + let a12 = -s * self.elements[0][2] + c * self.elements[1][2]; + + self.elements[0][0] = a00; + self.elements[0][1] = a01; + self.elements[0][2] = a02; + self.elements[1][0] = a10; + self.elements[1][1] = a11; + self.elements[1][2] = a12; + } + + /// Applies a rotation about the Y-axis to this matrix (in place). + /// + /// The rotation angle `theta` is in radians. Positive angles rotate counterclockwise + /// when looking from the positive Y-axis toward the origin (ERFA convention). + /// + /// This modifies `self` to become `Ry(theta) * self`, where `Ry` is the standard + /// Y-axis rotation matrix: + /// + /// ```text + /// Ry(theta) = | cos(theta) 0 -sin(theta) | + /// | 0 1 0 | + /// | sin(theta) 0 cos(theta) | + /// ``` + /// + /// Y-axis rotations appear in obliquity of the ecliptic and some precession models. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// use std::f64::consts::FRAC_PI_2; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_y(FRAC_PI_2); // 90 degrees + /// + /// // [0, 0, 1] rotates to [-1, 0, 0] + /// let v = m.apply_to_vector([0.0, 0.0, 1.0]); + /// assert!((v[0] + 1.0).abs() < 1e-15); + /// assert!(v[1].abs() < 1e-15); + /// assert!(v[2].abs() < 1e-15); + /// ``` + pub fn rotate_y(&mut self, theta: f64) { + let (s, c) = libm::sincos(theta); + + let a00 = c * self.elements[0][0] - s * self.elements[2][0]; + let a01 = c * self.elements[0][1] - s * self.elements[2][1]; + let a02 = c * self.elements[0][2] - s * self.elements[2][2]; + let a20 = s * self.elements[0][0] + c * self.elements[2][0]; + let a21 = s * self.elements[0][1] + c * self.elements[2][1]; + let a22 = s * self.elements[0][2] + c * self.elements[2][2]; + + self.elements[0][0] = a00; + self.elements[0][1] = a01; + self.elements[0][2] = a02; + self.elements[2][0] = a20; + self.elements[2][1] = a21; + self.elements[2][2] = a22; + } + + /// Multiplies this matrix by another, returning the product. + /// + /// Matrix multiplication is not commutative: `A * B` is generally different + /// from `B * A`. The result represents the composition of two rotations where + /// `other` is applied first, then `self`. + /// + /// You can also use the `*` operator: `a * b` or `&a * &b`. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let mut rx = RotationMatrix3::identity(); + /// rx.rotate_x(0.1); + /// + /// let mut rz = RotationMatrix3::identity(); + /// rz.rotate_z(0.2); + /// + /// // First rotate by X, then by Z + /// let combined = rz.multiply(&rx); + /// // Equivalent using operator: + /// let combined_op = rz * rx; + /// ``` + pub fn multiply(&self, other: &Self) -> Self { + let mut result = [[0.0; 3]; 3]; + + for (i, row) in result.iter_mut().enumerate() { + for (j, cell) in row.iter_mut().enumerate() { + for k in 0..3 { + *cell += self.elements[i][k] * other.elements[k][j]; + } + } + } + + Self::from_array(result) + } + + /// Applies this rotation matrix to a 3D vector. + /// + /// Computes the standard matrix-vector product `M * v`. For coordinate + /// transformations, this rotates the position vector from one frame to another. + /// + /// You can also use the `*` operator with [`Vector3`](super::Vector3): + /// `matrix * vector`. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_z(std::f64::consts::FRAC_PI_2); // 90 degrees + /// + /// let v = [1.0, 0.0, 0.0]; + /// let rotated = m.apply_to_vector(v); + /// // Result is approximately [0, -1, 0] + /// ``` + pub fn apply_to_vector(&self, vector: [f64; 3]) -> [f64; 3] { + [ + self.elements[0][0] * vector[0] + + self.elements[0][1] * vector[1] + + self.elements[0][2] * vector[2], + self.elements[1][0] * vector[0] + + self.elements[1][1] * vector[1] + + self.elements[1][2] * vector[2], + self.elements[2][0] * vector[0] + + self.elements[2][1] * vector[1] + + self.elements[2][2] * vector[2], + ] + } + + /// Computes the determinant of this matrix. + /// + /// For a proper rotation matrix, the determinant is always +1. A determinant + /// of -1 indicates a reflection (improper rotation). Values far from +/-1 + /// indicate the matrix is not orthogonal. + /// + /// Used internally by [`is_rotation_matrix`](Self::is_rotation_matrix). + pub fn determinant(&self) -> f64 { + let m = &self.elements; + + m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) + - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) + + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]) + } + + /// Returns the transpose of this matrix. + /// + /// For a rotation matrix, the transpose equals the inverse. This provides + /// a numerically stable way to compute the reverse transformation without + /// general matrix inversion. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_z(0.5); + /// m.rotate_x(0.3); + /// + /// let m_inv = m.transpose(); + /// + /// // Applying m then m_inv returns to the original + /// let v = [1.0, 2.0, 3.0]; + /// let rotated = m.apply_to_vector(v); + /// let restored = m_inv.apply_to_vector(rotated); + /// + /// assert!((restored[0] - v[0]).abs() < 1e-14); + /// assert!((restored[1] - v[1]).abs() < 1e-14); + /// assert!((restored[2] - v[2]).abs() < 1e-14); + /// ``` + pub fn transpose(&self) -> Self { + Self::from_array([ + [ + self.elements[0][0], + self.elements[1][0], + self.elements[2][0], + ], + [ + self.elements[0][1], + self.elements[1][1], + self.elements[2][1], + ], + [ + self.elements[0][2], + self.elements[1][2], + self.elements[2][2], + ], + ]) + } + + /// Checks whether this matrix is a valid rotation matrix within a tolerance. + /// + /// A proper rotation matrix must satisfy two conditions: + /// 1. Determinant equals +1 (not -1, which would be a reflection) + /// 2. The matrix is orthogonal: `M * M^T = I` + /// + /// Due to floating-point arithmetic, these conditions are checked within + /// the specified tolerance. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_z(0.5); + /// m.rotate_x(0.3); + /// assert!(m.is_rotation_matrix(1e-14)); + /// + /// // A scaling matrix is not a rotation + /// let scaled = RotationMatrix3::from_array([ + /// [2.0, 0.0, 0.0], + /// [0.0, 1.0, 0.0], + /// [0.0, 0.0, 1.0], + /// ]); + /// assert!(!scaled.is_rotation_matrix(1e-14)); + /// ``` + pub fn is_rotation_matrix(&self, tolerance: f64) -> bool { + let det = self.determinant(); + if (det - 1.0).abs() > tolerance { + return false; + } + + let rt = self.transpose(); + let product = self.multiply(&rt); + let identity = Self::identity(); + + for i in 0..3 { + for j in 0..3 { + if (product.elements[i][j] - identity.elements[i][j]).abs() > tolerance { + return false; + } + } + } + + true + } + + /// Returns the maximum absolute difference between corresponding elements. + /// + /// Useful for comparing matrices, especially when testing against reference + /// implementations like ERFA. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// + /// let a = RotationMatrix3::identity(); + /// let b = RotationMatrix3::from_array([ + /// [1.0, 0.001, 0.0], + /// [0.0, 1.0, 0.0], + /// [0.0, 0.0, 1.0], + /// ]); + /// + /// let diff = a.max_difference(&b); + /// assert!((diff - 0.001).abs() < 1e-15); + /// ``` + pub fn max_difference(&self, other: &Self) -> f64 { + let mut max_diff: f64 = 0.0; + + for i in 0..3 { + for j in 0..3 { + let diff = (self.elements[i][j] - other.elements[i][j]).abs(); + max_diff = max_diff.max(diff); + } + } + + max_diff + } + + /// Transforms spherical coordinates (RA, Dec or longitude, latitude) through + /// this rotation matrix. + /// + /// This is the common operation for coordinate frame transformations in astronomy. + /// The input angles are in radians: + /// - `ra`: Right ascension or longitude (azimuthal angle from X toward Y) + /// - `dec`: Declination or latitude (elevation from the XY plane) + /// + /// Internally, this converts to a unit Cartesian vector, applies the rotation, + /// and converts back to spherical coordinates. + /// + /// The output RA is in the range `(-pi, pi]`. The output Dec is in `[-pi/2, pi/2]`. + /// + /// ``` + /// use cosmos_core::RotationMatrix3; + /// use std::f64::consts::FRAC_PI_4; + /// + /// // Rotate the equatorial coordinate system by 45 degrees in RA + /// let mut m = RotationMatrix3::identity(); + /// m.rotate_z(FRAC_PI_4); + /// + /// let (ra, dec) = (0.0, 0.0); // Point on equator at RA=0 + /// let (new_ra, new_dec) = m.transform_spherical(ra, dec); + /// + /// // RA shifted by -45 degrees (rotation convention), Dec unchanged + /// assert!((new_ra + FRAC_PI_4).abs() < 1e-14); + /// assert!(new_dec.abs() < 1e-14); + /// ``` + pub fn transform_spherical(&self, ra: f64, dec: f64) -> (f64, f64) { + let (sin_ra, cos_ra) = libm::sincos(ra); + let (sin_dec, cos_dec) = libm::sincos(dec); + let vector = [cos_dec * cos_ra, cos_dec * sin_ra, sin_dec]; + + let transformed = self.apply_to_vector(vector); + + let new_ra = libm::atan2(transformed[1], transformed[0]); + let norm = libm::sqrt( + transformed[0] * transformed[0] + + transformed[1] * transformed[1] + + transformed[2] * transformed[2], + ); + let z = if norm == 0.0 { + 0.0 + } else { + (transformed[2] / norm).clamp(-1.0, 1.0) + }; + let new_dec = libm::asin(z); + + (new_ra, new_dec) + } +} + +impl std::ops::Mul for RotationMatrix3 { + type Output = Self; + + fn mul(self, rhs: Self) -> Self { + self.multiply(&rhs) + } +} + +impl std::ops::Mul<&RotationMatrix3> for RotationMatrix3 { + type Output = RotationMatrix3; + + fn mul(self, rhs: &RotationMatrix3) -> RotationMatrix3 { + self.multiply(rhs) + } +} + +impl std::ops::Mul for &RotationMatrix3 { + type Output = RotationMatrix3; + + fn mul(self, rhs: RotationMatrix3) -> RotationMatrix3 { + self.multiply(&rhs) + } +} + +impl std::ops::Mul<&RotationMatrix3> for &RotationMatrix3 { + type Output = RotationMatrix3; + + fn mul(self, rhs: &RotationMatrix3) -> RotationMatrix3 { + self.multiply(rhs) + } +} + +impl std::ops::Index<(usize, usize)> for RotationMatrix3 { + type Output = f64; + + fn index(&self, (row, col): (usize, usize)) -> &f64 { + &self.elements[row][col] + } +} + +impl std::ops::IndexMut<(usize, usize)> for RotationMatrix3 { + fn index_mut(&mut self, (row, col): (usize, usize)) -> &mut f64 { + &mut self.elements[row][col] + } +} + +impl std::ops::Mul for RotationMatrix3 { + type Output = super::Vector3; + + fn mul(self, vec: super::Vector3) -> super::Vector3 { + let result = self.apply_to_vector([vec.x, vec.y, vec.z]); + super::Vector3::from_array(result) + } +} + +impl std::ops::Mul for &RotationMatrix3 { + type Output = super::Vector3; + + fn mul(self, vec: super::Vector3) -> super::Vector3 { + let result = self.apply_to_vector([vec.x, vec.y, vec.z]); + super::Vector3::from_array(result) + } +} + +impl fmt::Display for RotationMatrix3 { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + writeln!(f, "RotationMatrix3:")?; + for row in &self.elements { + writeln!(f, " [{:12.9} {:12.9} {:12.9}]", row[0], row[1], row[2])?; + } + Ok(()) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::constants::HALF_PI; + + #[test] + fn test_identity_and_get() { + let m = RotationMatrix3::identity(); + assert_eq!(m.get(0, 0), 1.0); + assert_eq!(m.get(1, 1), 1.0); + assert_eq!(m.get(2, 2), 1.0); + assert_eq!(m.get(0, 1), 0.0); + } + + #[test] + fn test_set() { + let mut m = RotationMatrix3::identity(); + m.set(0, 1, 0.5); + assert_eq!(m.get(0, 1), 0.5); + } + + #[test] + fn test_rotate_z() { + // ERFA convention: Rz(+psi) rotates anticlockwise looking from +z toward origin + // This means [1,0,0] -> [cos(psi), -sin(psi), 0] + // At 90°: [1,0,0] -> [0, -1, 0] + let mut m = RotationMatrix3::identity(); + m.rotate_z(HALF_PI); + let result = m.apply_to_vector([1.0, 0.0, 0.0]); + assert!(result[0].abs() < 1e-15); + assert!((result[1] + 1.0).abs() < 1e-15); + assert!(result[2].abs() < 1e-15); + } + + #[test] + fn test_rotate_x() { + // ERFA convention: Rx(+phi) rotates anticlockwise looking from +x toward origin + // This means [0,1,0] -> [0, cos(phi), -sin(phi)] + // At 90°: [0,1,0] -> [0, 0, -1] + let mut m = RotationMatrix3::identity(); + m.rotate_x(HALF_PI); + let result = m.apply_to_vector([0.0, 1.0, 0.0]); + assert!(result[0].abs() < 1e-15); + assert!(result[1].abs() < 1e-15); + assert!((result[2] + 1.0).abs() < 1e-15); + } + + #[test] + fn test_rotate_y() { + // ERFA convention: Ry(+theta) rotates anticlockwise looking from +y toward origin + // This means [0,0,1] -> [-sin(theta), 0, cos(theta)] + // At 90°: [0,0,1] -> [-1, 0, 0] + let mut m = RotationMatrix3::identity(); + m.rotate_y(HALF_PI); + let result = m.apply_to_vector([0.0, 0.0, 1.0]); + assert!((result[0] + 1.0).abs() < 1e-15); + assert!(result[1].abs() < 1e-15); + assert!(result[2].abs() < 1e-15); + } + + #[test] + fn test_is_rotation_matrix_valid() { + let mut m = RotationMatrix3::identity(); + m.rotate_z(0.5); + assert!(m.is_rotation_matrix(1e-14)); + } + + #[test] + fn test_is_rotation_matrix_bad_determinant() { + let m = RotationMatrix3::from_array([[2.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]); + assert!(!m.is_rotation_matrix(1e-15)); + } + + #[test] + fn test_is_rotation_matrix_not_orthogonal() { + let m = RotationMatrix3::from_array([[1.0, 0.1, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]); + assert!(!m.is_rotation_matrix(1e-15)); + } + + #[test] + fn test_transform_spherical_identity() { + let m = RotationMatrix3::identity(); + let (ra, dec) = (1.0, 0.5); + let (new_ra, new_dec) = m.transform_spherical(ra, dec); + assert!((new_ra - ra).abs() < 1e-14); + assert!((new_dec - dec).abs() < 1e-14); + } + + #[test] + fn test_transform_spherical_rotation() { + // ERFA Rz rotates in opposite direction to naive expectation + // Rz(+90°) takes RA=0 to RA=-90° (or equivalently RA=270°=-HALF_PI) + let mut m = RotationMatrix3::identity(); + m.rotate_z(HALF_PI); + let (new_ra, new_dec) = m.transform_spherical(0.0, 0.0); + assert!((new_ra + HALF_PI).abs() < 1e-14); + assert!(new_dec.abs() < 1e-14); + } + + #[test] + fn test_transform_spherical_zero_norm() { + let zero_matrix = + RotationMatrix3::from_array([[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]); + let (_, dec) = zero_matrix.transform_spherical(0.0, 0.0); + assert!(dec.is_finite()); + } + + #[test] + fn test_mul_matrix_matrix() { + let mut a = RotationMatrix3::identity(); + a.rotate_x(0.1); + let mut b = RotationMatrix3::identity(); + b.rotate_y(0.2); + + let r1 = a * b; + let r2 = a * &b; + let r3 = &a * b; + let r4 = &a * &b; + + assert_eq!(r1.get(0, 0), r2.get(0, 0)); + assert_eq!(r2.get(0, 0), r3.get(0, 0)); + assert_eq!(r3.get(0, 0), r4.get(0, 0)); + } + + #[test] + fn test_index_operators() { + let mut m = RotationMatrix3::identity(); + assert_eq!(m[(0, 0)], 1.0); + assert_eq!(m[(0, 1)], 0.0); + m[(0, 1)] = 0.5; + assert_eq!(m[(0, 1)], 0.5); + } + + #[test] + fn test_mul_matrix_vector() { + use crate::Vector3; + let m = RotationMatrix3::identity(); + let v = Vector3::new(1.0, 2.0, 3.0); + let r1 = m * v; + let r2 = &m * v; + assert_eq!(r1, v); + assert_eq!(r2, v); + } + + #[test] + fn test_display() { + let mut m = RotationMatrix3::identity(); + m.rotate_z(0.1); + let s = format!("{}", m); + assert!(s.contains("RotationMatrix3:")); + assert!(s.contains("[")); + } + + #[test] + fn test_max_difference() { + let a = RotationMatrix3::identity(); + let b = RotationMatrix3::from_array([[1.0, 0.1, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]); + assert!((a.max_difference(&b) - 0.1).abs() < 1e-15); + } + + #[test] + fn test_elements() { + let m = RotationMatrix3::identity(); + let e = m.elements(); + assert_eq!(e[0][0], 1.0); + assert_eq!(e[1][1], 1.0); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/matrix/vector3.rs b/01_yachay/cosmos/cosmos-core/src/matrix/vector3.rs new file mode 100644 index 0000000..b5a0172 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/matrix/vector3.rs @@ -0,0 +1,712 @@ +//! 3D Cartesian vectors for astronomical coordinate calculations. +//! +//! Vectors are the workhorses of celestial coordinate math. When you transform a star's +//! position between reference frames, compute the angle between two objects, or calculate +//! parallax corrections, you're working with 3D vectors under the hood. +//! +//! # Cartesian vs Spherical +//! +//! Astronomical positions are usually given as spherical coordinates (RA/Dec, Az/Alt, +//! longitude/latitude), but transformations are cleanest in Cartesian form. The typical +//! workflow is: +//! +//! 1. Convert spherical → Cartesian with [`from_spherical`](Vector3::from_spherical) +//! 2. Apply rotation matrices for frame transformations +//! 3. Convert back with [`to_spherical`](Vector3::to_spherical) +//! +//! ``` +//! use cosmos_core::Vector3; +//! use std::f64::consts::FRAC_PI_4; +//! +//! // A star at RA=45°, Dec=30° (in radians) +//! let ra = FRAC_PI_4; +//! let dec = FRAC_PI_4 / 1.5; // ~30° +//! +//! let cartesian = Vector3::from_spherical(ra, dec); +//! // Now apply rotations, then convert back: +//! let (new_ra, new_dec) = cartesian.to_spherical(); +//! ``` +//! +//! # Unit Vectors and Direction +//! +//! For celestial positions on the unit sphere (where distance doesn't matter), vectors +//! are normalized to unit length. The [`normalize`](Vector3::normalize) method returns +//! a unit vector pointing in the same direction: +//! +//! ``` +//! use cosmos_core::Vector3; +//! +//! let v = Vector3::new(3.0, 4.0, 0.0); +//! let unit = v.normalize(); +//! assert!((unit.magnitude() - 1.0).abs() < 1e-15); +//! ``` +//! +//! # Dot and Cross Products +//! +//! These operations have direct astronomical applications: +//! +//! - **Dot product**: Compute the cosine of the angle between two directions. +//! For unit vectors, `a.dot(&b)` equals `cos(θ)` where θ is the separation angle. +//! +//! - **Cross product**: Find the axis perpendicular to two directions. +//! Useful for computing rotation axes and angular momentum vectors. +//! +//! ``` +//! use cosmos_core::Vector3; +//! +//! let a = Vector3::x_axis(); // Points along +X +//! let b = Vector3::y_axis(); // Points along +Y +//! +//! // Perpendicular: dot product is zero +//! assert_eq!(a.dot(&b), 0.0); +//! +//! // Cross product gives +Z axis (right-hand rule) +//! let c = a.cross(&b); +//! assert_eq!(c, Vector3::z_axis()); +//! ``` +//! +//! # Coordinate Conventions +//! +//! The spherical coordinate convention used here matches standard astronomical practice: +//! - **θ (theta)**: Azimuthal angle from +X axis toward +Y axis (like right ascension) +//! - **φ (phi)**: Elevation angle from XY plane (like declination) +//! +//! This differs from the physics convention where φ is the azimuthal angle and θ is +//! the polar angle from +Z. +use crate::{AstroError, AstroResult, MathErrorKind}; +use std::fmt; + +/// A 3D Cartesian vector for coordinate calculations. +/// +/// Used throughout the library for position vectors, direction vectors, and as +/// intermediate representations during coordinate transformations. +/// +/// # Fields +/// +/// Components are public for direct access when performance matters: +/// - `x`: First component (toward vernal equinox in equatorial coordinates) +/// - `y`: Second component (90° east in equatorial coordinates) +/// - `z`: Third component (toward celestial pole in equatorial coordinates) +/// +/// # Construction +/// +/// ``` +/// use cosmos_core::Vector3; +/// +/// // Direct construction +/// let v = Vector3::new(1.0, 2.0, 3.0); +/// +/// // Unit vectors along axes +/// let x = Vector3::x_axis(); +/// let y = Vector3::y_axis(); +/// let z = Vector3::z_axis(); +/// +/// // From spherical coordinates (RA, Dec in radians) +/// let star = Vector3::from_spherical(0.5, 0.3); +/// +/// // From an array +/// let v = Vector3::from_array([1.0, 2.0, 3.0]); +/// ``` +#[derive(Debug, Clone, Copy, PartialEq)] +#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] +pub struct Vector3 { + pub x: f64, + pub y: f64, + pub z: f64, +} + +impl Vector3 { + /// Creates a new vector from x, y, z components. + #[inline] + pub fn new(x: f64, y: f64, z: f64) -> Self { + Self { x, y, z } + } + + /// Returns the zero vector `[0, 0, 0]`. + #[inline] + pub fn zeros() -> Self { + Self::new(0.0, 0.0, 0.0) + } + + /// Returns the unit vector along the X axis `[1, 0, 0]`. + /// + /// In equatorial coordinates, this points toward the vernal equinox. + #[inline] + pub fn x_axis() -> Self { + Self::new(1.0, 0.0, 0.0) + } + + /// Returns the unit vector along the Y axis `[0, 1, 0]`. + /// + /// In equatorial coordinates, this is 90° east of the vernal equinox on the equator. + #[inline] + pub fn y_axis() -> Self { + Self::new(0.0, 1.0, 0.0) + } + + /// Returns the unit vector along the Z axis `[0, 0, 1]`. + /// + /// In equatorial coordinates, this points toward the north celestial pole. + #[inline] + pub fn z_axis() -> Self { + Self::new(0.0, 0.0, 1.0) + } + + /// Returns the component at the given index (0=x, 1=y, 2=z). + /// + /// Returns an error for indices outside 0-2. For unchecked access, use + /// indexing syntax `v[i]` or the public fields directly. + pub fn get(&self, index: usize) -> AstroResult { + match index { + 0 => Ok(self.x), + 1 => Ok(self.y), + 2 => Ok(self.z), + _ => Err(AstroError::math_error( + "Vector3::get", + MathErrorKind::InvalidInput, + &format!("index {} out of bounds (valid range: 0-2)", index), + )), + } + } + + /// Sets the component at the given index (0=x, 1=y, 2=z). + /// + /// Returns an error for indices outside 0-2. For unchecked access, use + /// indexing syntax `v[i] = value` or the public fields directly. + pub fn set(&mut self, index: usize, value: f64) -> AstroResult<()> { + match index { + 0 => { + self.x = value; + Ok(()) + } + 1 => { + self.y = value; + Ok(()) + } + 2 => { + self.z = value; + Ok(()) + } + _ => Err(AstroError::math_error( + "Vector3::set", + MathErrorKind::InvalidInput, + &format!("index {} out of bounds (valid range: 0-2)", index), + )), + } + } + + /// Returns the Euclidean length (L2 norm) of the vector. + /// + /// For a unit vector, this returns 1.0. For the zero vector, returns 0.0. + #[inline] + pub fn magnitude(&self) -> f64 { + libm::sqrt(self.x * self.x + self.y * self.y + self.z * self.z) + } + + /// Returns the squared magnitude. + /// + /// Faster than [`magnitude`](Self::magnitude) when you only need to compare + /// lengths or don't need the actual distance. + #[inline] + pub fn magnitude_squared(&self) -> f64 { + self.x * self.x + self.y * self.y + self.z * self.z + } + + /// Returns a unit vector pointing in the same direction. + /// + /// If the vector has zero length, returns the zero vector unchanged (avoids NaN). + /// + /// ``` + /// use cosmos_core::Vector3; + /// + /// let v = Vector3::new(3.0, 4.0, 0.0); + /// let unit = v.normalize(); + /// assert!((unit.magnitude() - 1.0).abs() < 1e-15); + /// assert_eq!(unit, Vector3::new(0.6, 0.8, 0.0)); + /// ``` + pub fn normalize(&self) -> Self { + let mag = self.magnitude(); + if mag == 0.0 { + *self + } else { + Self::new(self.x / mag, self.y / mag, self.z / mag) + } + } + + /// Computes the dot product (inner product) with another vector. + /// + /// For unit vectors, this equals the cosine of the angle between them: + /// `a.dot(&b) = cos(θ)`. Use this to compute angular separation between + /// celestial positions. + /// + /// ``` + /// use cosmos_core::Vector3; + /// + /// let a = Vector3::x_axis(); + /// let b = Vector3::y_axis(); + /// assert_eq!(a.dot(&b), 0.0); // Perpendicular + /// + /// let c = Vector3::new(1.0, 2.0, 3.0); + /// let d = Vector3::new(4.0, 5.0, 6.0); + /// assert_eq!(c.dot(&d), 32.0); // 1*4 + 2*5 + 3*6 + /// ``` + #[inline] + pub fn dot(&self, other: &Self) -> f64 { + self.x * other.x + self.y * other.y + self.z * other.z + } + + /// Computes the cross product with another vector. + /// + /// The result is perpendicular to both input vectors, with direction given + /// by the right-hand rule. The magnitude equals `|a||b|sin(θ)`. + /// + /// ``` + /// use cosmos_core::Vector3; + /// + /// let x = Vector3::x_axis(); + /// let y = Vector3::y_axis(); + /// let z = x.cross(&y); + /// assert_eq!(z, Vector3::z_axis()); // X × Y = Z + /// ``` + pub fn cross(&self, other: &Self) -> Self { + Self::new( + self.y * other.z - self.z * other.y, + self.z * other.x - self.x * other.z, + self.x * other.y - self.y * other.x, + ) + } + + /// Returns the components as a `[f64; 3]` array. + #[inline] + pub fn to_array(&self) -> [f64; 3] { + [self.x, self.y, self.z] + } + + /// Creates a vector from a `[f64; 3]` array. + #[inline] + pub fn from_array(arr: [f64; 3]) -> Self { + Self::new(arr[0], arr[1], arr[2]) + } + + /// Creates a unit vector from spherical coordinates. + /// + /// - `ra`: Azimuthal angle from +X toward +Y (right ascension), in radians + /// - `dec`: Elevation from XY plane (declination), in radians + /// + /// The result is always a unit vector (magnitude = 1). + /// + /// ``` + /// use cosmos_core::Vector3; + /// use std::f64::consts::FRAC_PI_2; + /// + /// // RA=0, Dec=0 → points along +X + /// let v = Vector3::from_spherical(0.0, 0.0); + /// assert!((v.x - 1.0).abs() < 1e-15); + /// + /// // RA=90°, Dec=0 → points along +Y + /// let v = Vector3::from_spherical(FRAC_PI_2, 0.0); + /// assert!((v.y - 1.0).abs() < 1e-15); + /// + /// // RA=0, Dec=90° → points along +Z (north pole) + /// let v = Vector3::from_spherical(0.0, FRAC_PI_2); + /// assert!((v.z - 1.0).abs() < 1e-15); + /// ``` + pub fn from_spherical(ra: f64, dec: f64) -> Self { + let (sin_ra, cos_ra) = libm::sincos(ra); + let (sin_dec, cos_dec) = libm::sincos(dec); + Self::new(cos_dec * cos_ra, cos_dec * sin_ra, sin_dec) + } + + /// Converts the vector to spherical coordinates (θ, φ). + /// + /// Returns `(theta, phi)` where: + /// - `theta`: Azimuthal angle from +X toward +Y (like RA), in radians `(-π, π]` + /// - `phi`: Elevation from XY plane (like Dec), in radians `[-π/2, π/2]` + /// + /// The vector does not need to be normalized; direction is preserved regardless + /// of magnitude. For the zero vector, returns `(0.0, 0.0)`. + /// + /// ``` + /// use cosmos_core::Vector3; + /// use std::f64::consts::FRAC_PI_2; + /// + /// let v = Vector3::new(0.0, 0.0, 1.0); // North pole + /// let (theta, phi) = v.to_spherical(); + /// assert_eq!(theta, 0.0); + /// assert_eq!(phi, FRAC_PI_2); + /// ``` + pub fn to_spherical(&self) -> (f64, f64) { + let d2 = self.x * self.x + self.y * self.y; + + let theta = if d2 == 0.0 { + 0.0 + } else { + libm::atan2(self.y, self.x) + }; + let phi = if self.z == 0.0 { + 0.0 + } else { + libm::atan2(self.z, libm::sqrt(d2)) + }; + + (theta, phi) + } +} + +/// Vector + Vector +impl std::ops::Add for Vector3 { + type Output = Self; + + fn add(self, rhs: Self) -> Self { + Self::new(self.x + rhs.x, self.y + rhs.y, self.z + rhs.z) + } +} + +/// Vector - Vector +impl std::ops::Sub for Vector3 { + type Output = Self; + + fn sub(self, rhs: Self) -> Self { + Self::new(self.x - rhs.x, self.y - rhs.y, self.z - rhs.z) + } +} + +/// Vector * scalar +impl std::ops::Mul for Vector3 { + type Output = Self; + + fn mul(self, scalar: f64) -> Self { + Self::new(self.x * scalar, self.y * scalar, self.z * scalar) + } +} + +/// scalar * Vector +impl std::ops::Mul for f64 { + type Output = Vector3; + + fn mul(self, vec: Vector3) -> Vector3 { + vec * self + } +} + +/// Vector / scalar +impl std::ops::Div for Vector3 { + type Output = Self; + + fn div(self, scalar: f64) -> Self { + Self::new(self.x / scalar, self.y / scalar, self.z / scalar) + } +} + +/// Vector /= scalar +impl std::ops::DivAssign for Vector3 { + fn div_assign(&mut self, scalar: f64) { + self.x /= scalar; + self.y /= scalar; + self.z /= scalar; + } +} + +/// -Vector +impl std::ops::Neg for Vector3 { + type Output = Self; + + fn neg(self) -> Self { + Self::new(-self.x, -self.y, -self.z) + } +} + +/// v[i] indexing (panics if i > 2) +impl std::ops::Index for Vector3 { + type Output = f64; + + fn index(&self, index: usize) -> &f64 { + match index { + 0 => &self.x, + 1 => &self.y, + 2 => &self.z, + _ => panic!("Vector3 index out of bounds: {}", index), + } + } +} + +/// v[i] = value mutable indexing (panics if i > 2) +impl std::ops::IndexMut for Vector3 { + fn index_mut(&mut self, index: usize) -> &mut f64 { + match index { + 0 => &mut self.x, + 1 => &mut self.y, + 2 => &mut self.z, + _ => panic!("Vector3 index out of bounds: {}", index), + } + } +} + +impl fmt::Display for Vector3 { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "Vector3({:.9}, {:.9}, {:.9})", self.x, self.y, self.z) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_vector3_construction() { + let v = Vector3::new(1.0, 2.0, 3.0); + assert_eq!(v.x, 1.0); + assert_eq!(v.y, 2.0); + assert_eq!(v.z, 3.0); + + let zeros = Vector3::zeros(); + assert_eq!(zeros.x, 0.0); + assert_eq!(zeros.y, 0.0); + assert_eq!(zeros.z, 0.0); + + let x_axis = Vector3::x_axis(); + assert_eq!(x_axis, Vector3::new(1.0, 0.0, 0.0)); + + let from_array = Vector3::from_array([4.0, 5.0, 6.0]); + assert_eq!(from_array, Vector3::new(4.0, 5.0, 6.0)); + } + + #[test] + fn test_vector3_magnitude() { + let v = Vector3::new(3.0, 4.0, 0.0); + assert_eq!(v.magnitude(), 5.0); + assert_eq!(v.magnitude_squared(), 25.0); + + let unit = v.normalize(); + assert!((unit.magnitude() - 1.0).abs() < 1e-15); + assert_eq!(unit, Vector3::new(0.6, 0.8, 0.0)); + } + + #[test] + fn test_vector3_arithmetic() { + let a = Vector3::new(1.0, 2.0, 3.0); + let b = Vector3::new(4.0, 5.0, 6.0); + + let sum = a + b; + assert_eq!(sum, Vector3::new(5.0, 7.0, 9.0)); + + let diff = b - a; + assert_eq!(diff, Vector3::new(3.0, 3.0, 3.0)); + + let scaled = a * 2.0; + assert_eq!(scaled, Vector3::new(2.0, 4.0, 6.0)); + + let scaled2 = 3.0 * a; + assert_eq!(scaled2, Vector3::new(3.0, 6.0, 9.0)); + + let divided = a / 2.0; + assert_eq!(divided, Vector3::new(0.5, 1.0, 1.5)); + + let negated = -a; + assert_eq!(negated, Vector3::new(-1.0, -2.0, -3.0)); + } + + #[test] + fn test_vector3_dot_cross() { + let a = Vector3::new(1.0, 0.0, 0.0); + let b = Vector3::new(0.0, 1.0, 0.0); + + assert_eq!(a.dot(&b), 0.0); + + let c = a.cross(&b); + assert_eq!(c, Vector3::new(0.0, 0.0, 1.0)); + + let d = Vector3::new(1.0, 2.0, 3.0); + let e = Vector3::new(4.0, 5.0, 6.0); + assert_eq!(d.dot(&e), 32.0); + } + + #[test] + fn test_vector3_spherical_conversion() { + let v1 = Vector3::from_spherical(0.0, 0.0); + assert!((v1.x - 1.0).abs() < 1e-15); + assert!(v1.y.abs() < 1e-15); + assert!(v1.z.abs() < 1e-15); + + let (ra, dec) = v1.to_spherical(); + assert!(ra.abs() < 1e-15); + assert!(dec.abs() < 1e-15); + + let v2 = Vector3::from_spherical(crate::constants::HALF_PI, 0.0); + assert!(v2.x.abs() < 1e-15); + assert!((v2.y - 1.0).abs() < 1e-15); + assert!(v2.z.abs() < 1e-15); + + let v3 = Vector3::from_spherical(0.0, crate::constants::HALF_PI); + assert!(v3.x.abs() < 1e-15); + assert!(v3.y.abs() < 1e-15); + assert!((v3.z - 1.0).abs() < 1e-15); + } + + #[test] + fn test_axis_constructors() { + // Test y_axis and z_axis constructors + let y_axis = Vector3::y_axis(); + assert_eq!(y_axis, Vector3::new(0.0, 1.0, 0.0)); + + let z_axis = Vector3::z_axis(); + assert_eq!(z_axis, Vector3::new(0.0, 0.0, 1.0)); + } + + #[test] + fn test_get_set_methods() { + let mut v = Vector3::new(1.0, 2.0, 3.0); + + // Test get method + assert_eq!(v.get(0).unwrap(), 1.0); + assert_eq!(v.get(1).unwrap(), 2.0); + assert_eq!(v.get(2).unwrap(), 3.0); + + // Test set method + v.set(0, 10.0).unwrap(); + v.set(1, 20.0).unwrap(); + v.set(2, 30.0).unwrap(); + assert_eq!(v, Vector3::new(10.0, 20.0, 30.0)); + } + + #[test] + fn test_get_error() { + let v = Vector3::new(1.0, 2.0, 3.0); + let result = v.get(3); + assert!(result.is_err()); + + if let Err(err) = result { + assert!(err.to_string().contains("index 3 out of bounds")); + } + } + + #[test] + fn test_set_error() { + let mut v = Vector3::new(1.0, 2.0, 3.0); + let result = v.set(5, 42.0); + assert!(result.is_err()); + + if let Err(err) = result { + assert!(err.to_string().contains("index 5 out of bounds")); + } + } + + #[test] + fn test_normalize_zero_vector() { + let zero = Vector3::zeros(); + let normalized = zero.normalize(); + assert_eq!(normalized, zero); // Zero vector normalizes to itself + } + + #[test] + fn test_to_array() { + let v = Vector3::new(1.5, 2.5, 3.5); + let arr = v.to_array(); + assert_eq!(arr, [1.5, 2.5, 3.5]); + } + + #[test] + fn test_div_assign_operator() { + let mut v = Vector3::new(10.0, 20.0, 30.0); + v /= 2.0; + assert_eq!(v, Vector3::new(5.0, 10.0, 15.0)); + } + + #[test] + fn test_indexing_operators() { + let mut v = Vector3::new(1.0, 2.0, 3.0); + + // Test read indexing + assert_eq!(v[0], 1.0); + assert_eq!(v[1], 2.0); + assert_eq!(v[2], 3.0); + + // Test write indexing + v[0] = 10.0; + v[1] = 20.0; + v[2] = 30.0; + assert_eq!(v, Vector3::new(10.0, 20.0, 30.0)); + } + + #[test] + #[should_panic(expected = "Vector3 index out of bounds: 4")] + fn test_index_panic() { + let v = Vector3::new(1.0, 2.0, 3.0); + let _ = v[4]; + } + + #[test] + #[should_panic(expected = "Vector3 index out of bounds: 7")] + fn test_index_mut_panic() { + let mut v = Vector3::new(1.0, 2.0, 3.0); + v[7] = 42.0; + } + + #[test] + fn test_display_formatting() { + let v = Vector3::new(1.234567890, -2.345678901, 3.456789012); + let display_output = format!("{}", v); + + // Check that it contains expected parts + assert!(display_output.contains("Vector3(")); + assert!(display_output.contains("1.234567890")); + assert!(display_output.contains("-2.345678901")); + assert!(display_output.contains("3.456789012")); + assert!(display_output.ends_with(")")); + } + + #[test] + fn test_to_spherical_north_pole() { + let north_pole = Vector3::new(0.0, 0.0, 1.0); + let (theta, phi) = north_pole.to_spherical(); + + assert_eq!(theta, 0.0); + assert_eq!(phi, crate::constants::HALF_PI); + } + + #[test] + fn test_to_spherical_south_pole() { + let south_pole = Vector3::new(0.0, 0.0, -1.0); + let (theta, phi) = south_pole.to_spherical(); + + assert_eq!(theta, 0.0); + assert_eq!(phi, -crate::constants::HALF_PI); + } + + #[test] + fn test_to_spherical_zero_z() { + let on_equator = Vector3::new(1.0, 0.0, 0.0); + let (theta, phi) = on_equator.to_spherical(); + + assert_eq!(theta, 0.0); + assert_eq!(phi, 0.0); + } + + #[test] + fn test_to_spherical_zero_vector() { + let zero = Vector3::zeros(); + let (theta, phi) = zero.to_spherical(); + + assert_eq!(theta, 0.0); + assert_eq!(phi, 0.0); + } + + #[test] + fn test_spherical_roundtrip_at_poles() { + let north_pole = Vector3::new(0.0, 0.0, 1.0); + let (theta, phi) = north_pole.to_spherical(); + let roundtrip = Vector3::from_spherical(theta, phi); + + assert_eq!(roundtrip.z, north_pole.z); + assert!(roundtrip.x.abs() < 1e-15, "x component: {}", roundtrip.x); + assert!(roundtrip.y.abs() < 1e-15, "y component: {}", roundtrip.y); + + let south_pole = Vector3::new(0.0, 0.0, -1.0); + let (theta, phi) = south_pole.to_spherical(); + let roundtrip = Vector3::from_spherical(theta, phi); + + assert_eq!(roundtrip.z, south_pole.z); + assert!(roundtrip.x.abs() < 1e-15, "x component: {}", roundtrip.x); + assert!(roundtrip.y.abs() < 1e-15, "y component: {}", roundtrip.y); + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/fundamental_args.rs b/01_yachay/cosmos/cosmos-core/src/nutation/fundamental_args.rs new file mode 100644 index 0000000..cdd7c4c --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/fundamental_args.rs @@ -0,0 +1,200 @@ +//! Fundamental arguments for nutation and precession models. +//! +//! Fundamental arguments are periodic angular quantities derived from the orbital +//! mechanics of the Earth-Moon-Sun system and planetary motions. They form the +//! basis for computing nutation, precession, and other Earth orientation effects. +//! +//! This module provides two trait-based interfaces: +//! +//! - [`IERS2010FundamentalArgs`]: Arguments from IERS Conventions (2010), including +//! planetary longitudes, lunar arguments, and the general precession. +//! +//! - [`MHB2000FundamentalArgs`]: Additional arguments from the Mathews-Herring-Buffett +//! 2000 nutation model (MHB2000), used in IAU 2000A nutation. +//! +//! All methods are implemented on `f64` representing time in Julian centuries (TDB) +//! from J2000.0. Results are in radians, normalized to [0, 2π) where applicable. +//! +//! # References +//! +//! - IERS Conventions (2010), Chapter 5 +//! - Mathews, Herring, & Buffett 2002, J. Geophys. Res. 107(B4) + +use crate::constants::{ARCSEC_TO_RAD, CIRCULAR_ARCSECONDS, TWOPI}; +use crate::math::fmod; + +/// Fundamental arguments from IERS Conventions (2010). +/// +/// These arguments are functions of TDB Julian centuries from J2000.0. +/// They include mean planetary longitudes and lunar orbital elements +/// required for computing nutation and precession. +/// +/// # Usage +/// +/// ``` +/// use cosmos_core::nutation::IERS2010FundamentalArgs; +/// +/// let t: f64 = 0.1; // Julian centuries from J2000.0 +/// let l = t.moon_mean_anomaly(); +/// let f = t.mean_argument_of_latitude(); +/// ``` +pub trait IERS2010FundamentalArgs { + /// Mean longitude of Mercury (radians). + fn mercury_lng(&self) -> f64; + + /// Mean longitude of Venus (radians). + fn venus_lng(&self) -> f64; + + /// Mean longitude of Earth (radians). + fn earth_lng(&self) -> f64; + + /// Mean longitude of Mars (radians). + fn mars_lng(&self) -> f64; + + /// Mean longitude of Jupiter (radians). + fn jupiter_lng(&self) -> f64; + + /// Mean longitude of Saturn (radians). + fn saturn_lng(&self) -> f64; + + /// Mean longitude of Uranus (radians). + fn uranus_lng(&self) -> f64; + + /// General accumulated precession in longitude (radians). + /// + /// This is the precession of the ecliptic along the equator, not normalized + /// to [0, 2π). + fn precession(&self) -> f64; + + /// Mean anomaly of the Moon (radians), denoted l. + /// + /// Computed using a 4th-order polynomial in arcseconds, then converted + /// to radians and normalized. + fn moon_mean_anomaly(&self) -> f64; + + /// Mean argument of latitude of the Moon (radians), denoted F. + /// + /// The angular distance from the ascending node to the Moon, measured + /// along the lunar orbit. + fn mean_argument_of_latitude(&self) -> f64; + + /// Mean longitude of the Moon's ascending node (radians), denoted Ω. + /// + /// The point where the Moon's orbit crosses the ecliptic from south to + /// north. + fn moon_ascending_node_longitude(&self) -> f64; +} + +impl IERS2010FundamentalArgs for f64 { + #[inline] + fn mercury_lng(&self) -> f64 { + fmod(4.402608842 + 2608.7903141574 * self, TWOPI) + } + + #[inline] + fn venus_lng(&self) -> f64 { + fmod(3.176146697 + 1021.3285546211 * self, TWOPI) + } + + #[inline] + fn earth_lng(&self) -> f64 { + fmod(1.753470314 + 628.3075849991 * self, TWOPI) + } + + #[inline] + fn mars_lng(&self) -> f64 { + fmod(6.203480913 + 334.0612426700 * self, TWOPI) + } + + #[inline] + fn jupiter_lng(&self) -> f64 { + fmod(0.599546497 + 52.9690962641 * self, TWOPI) + } + + #[inline] + fn saturn_lng(&self) -> f64 { + fmod(0.874016757 + 21.3299104960 * self, TWOPI) + } + + #[inline] + fn uranus_lng(&self) -> f64 { + fmod(5.481293872 + 7.4781598567 * self, TWOPI) + } + + #[inline] + fn precession(&self) -> f64 { + 0.024381750 * self + 0.00000538691 * self * self + } + + #[inline] + fn moon_mean_anomaly(&self) -> f64 { + let l = 485868.249036 + + self * (1717915923.2178 + self * (31.8792 + self * (0.051635 - self * 0.00024470))); + fmod(l, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD + } + + #[inline] + fn mean_argument_of_latitude(&self) -> f64 { + let f = 335779.526232 + + self * (1739527262.8478 + self * (-12.7512 + self * (-0.001037 + self * 0.00000417))); + fmod(f, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD + } + + #[inline] + fn moon_ascending_node_longitude(&self) -> f64 { + let om = 450160.398036 + + self * (-6962890.5431 + self * (7.4722 + self * (0.007702 - self * 0.00005939))); + fmod(om, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD + } +} + +/// Additional fundamental arguments from the MHB2000 nutation model. +/// +/// These arguments supplement [`IERS2010FundamentalArgs`] with expressions +/// specific to the Mathews-Herring-Buffett 2000 nutation series. The `_mhb` +/// suffix distinguishes these from IERS 2010 versions where expressions differ. +/// +/// # Usage +/// +/// ``` +/// use cosmos_core::nutation::MHB2000FundamentalArgs; +/// +/// let t: f64 = 0.1; // Julian centuries from J2000.0 +/// let lp = t.sun_mean_anomaly_mhb(); +/// let d = t.mean_elongation_mhb(); +/// ``` +pub trait MHB2000FundamentalArgs { + /// Mean anomaly of the Sun (radians), denoted l'. + /// + /// Uses the MHB2000 polynomial coefficients. + fn sun_mean_anomaly_mhb(&self) -> f64; + + /// Mean elongation of the Moon from the Sun (radians), denoted D. + /// + /// The angular separation between the Moon and Sun as seen from Earth. + fn mean_elongation_mhb(&self) -> f64; + + /// Mean longitude of Neptune (radians). + fn neptune_longitude_mhb(&self) -> f64; +} + +impl MHB2000FundamentalArgs for f64 { + #[inline] + fn sun_mean_anomaly_mhb(&self) -> f64 { + let lp = 1287104.79305 + + self * (129596581.0481 + self * (-0.5532 + self * (0.000136 - self * 0.00001149))); + fmod(lp, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD + } + + #[inline] + fn mean_elongation_mhb(&self) -> f64 { + let d = 1072260.70369 + + self * (1602961601.2090 + self * (-6.3706 + self * (0.006593 - self * 0.00003169))); + fmod(d, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD + } + + #[inline] + fn neptune_longitude_mhb(&self) -> f64 { + fmod(5.321159000 + 3.8127774000 * self, TWOPI) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/iau2000a.rs b/01_yachay/cosmos/cosmos-core/src/nutation/iau2000a.rs new file mode 100644 index 0000000..b22ddd3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/iau2000a.rs @@ -0,0 +1,227 @@ +//! IAU 2000A nutation model. +//! +//! Implements the IAU 2000A nutation model as defined by the International +//! Astronomical Union. This model computes the nutation in longitude (delta_psi) +//! and nutation in obliquity (delta_eps) for a given epoch. +//! +//! ## Model Specification +//! +//! IAU 2000A is a nutation model based on the MHB2000 (Mathews, +//! Herring, Buffett 2002) rigid-Earth series with: +//! +//! - **678 lunisolar terms**: Trigonometric series based on 5 fundamental arguments +//! (Moon's mean anomaly, Sun's mean anomaly, Moon's argument of latitude, +//! mean elongation of Moon from Sun, longitude of Moon's ascending node) +//! - **687 planetary terms**: Additional terms involving planetary mean longitudes +//! (Mercury through Neptune) and general precession in longitude +//! +//! ## Precision +//! +//! - Formal precision: ~0.1 microarcsecond (μas) for epochs near J2000.0 +//! - Accuracy degrades for epochs far from J2000.0 due to polynomial approximations +//! - Suitable for applications requiring sub-milliarcsecond precision +//! +//! ## Reference +//! +//! - IERS Conventions (2010), Chapter 5 +//! - Mathews, Herring & Buffett (2002), J. Geophys. Res. 107, B4 + +use super::fundamental_args::{IERS2010FundamentalArgs, MHB2000FundamentalArgs}; +use super::lunisolar_terms::LUNISOLAR_TERMS; +use super::planetary_terms::PLANETARY_TERMS; +use super::types::NutationResult; +use crate::constants::{MICROARCSEC_TO_RAD, TWOPI}; +use crate::errors::AstroResult; +use crate::math::fmod; + +/// IAU 2000A nutation calculator. +/// +/// Computes nutation angles using the full IAU 2000A model with 678 lunisolar +/// terms and 687 planetary terms. The computation follows the MHB2000 formulation +/// with coefficients expressed in microarcseconds. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::nutation::iau2000a::NutationIAU2000A; +/// +/// let nut = NutationIAU2000A::new(); +/// +/// // J2000.0 epoch (two-part JD for precision) +/// let jd1 = 2451545.0; +/// let jd2 = 0.0; +/// +/// let result = nut.compute(jd1, jd2).unwrap(); +/// // result.delta_psi: nutation in longitude (radians) +/// // result.delta_eps: nutation in obliquity (radians) +/// ``` +#[derive(Debug, Clone, Copy)] +pub struct NutationIAU2000A; + +impl Default for NutationIAU2000A { + fn default() -> Self { + Self::new() + } +} + +impl NutationIAU2000A { + /// Creates a new IAU 2000A nutation calculator. + pub fn new() -> Self { + Self + } + + /// Computes nutation for the given epoch. + /// + /// Evaluates both lunisolar and planetary nutation series at the specified + /// Julian Date, returning nutation in longitude (delta_psi) and obliquity + /// (delta_eps) in radians. + /// + /// # Arguments + /// + /// * `jd1` - First part of two-part Julian Date (typically the integer day) + /// * `jd2` - Second part of two-part Julian Date (typically the fractional day) + /// + /// The epoch is computed as `jd1 + jd2`. The two-part representation preserves + /// precision when the epoch is far from J2000.0. + /// + /// # Returns + /// + /// [`NutationResult`] containing: + /// - `delta_psi`: Nutation in longitude (radians) + /// - `delta_eps`: Nutation in obliquity (radians) + pub fn compute(&self, jd1: f64, jd2: f64) -> AstroResult { + let t = crate::utils::jd_to_centuries(jd1, jd2); + + let lunisolar_args = [ + t.moon_mean_anomaly(), + t.sun_mean_anomaly_mhb(), + t.mean_argument_of_latitude(), + t.mean_elongation_mhb(), + t.moon_ascending_node_longitude(), + ]; + let (delta_psi_ls, delta_eps_ls) = self.compute_lunisolar(&lunisolar_args, t); + + let (delta_psi_planetary, delta_eps_planetary) = self.compute_planetary(t); + + Ok(NutationResult { + delta_psi: delta_psi_planetary + delta_psi_ls, + delta_eps: delta_eps_planetary + delta_eps_ls, + }) + } + + /// Computes the lunisolar nutation contribution. + /// + /// Evaluates 678 terms of the lunisolar nutation series. Each term is a + /// trigonometric function of a linear combination of the five fundamental + /// arguments of lunisolar motion. + /// + /// The series has the form: + /// ```text + /// delta_psi = sum_i (A_i + A'_i * t) * sin(arg_i) + A''_i * cos(arg_i) + /// delta_eps = sum_i (B_i + B'_i * t) * cos(arg_i) + B''_i * sin(arg_i) + /// ``` + /// + /// where `arg_i = n_l * l + n_lp * l' + n_F * F + n_D * D + n_Om * Om` and + /// coefficients are in microarcseconds. + /// + /// # Arguments + /// + /// * `args` - Five fundamental arguments in radians: \[l, l', F, D, Om\] + /// - l: Moon's mean anomaly + /// - l': Sun's mean anomaly + /// - F: Moon's argument of latitude + /// - D: Mean elongation of Moon from Sun + /// - Om: Longitude of Moon's ascending node + /// * `t` - Julian centuries from J2000.0 (TT) + /// + /// # Returns + /// + /// Tuple of (delta_psi, delta_eps) in radians. + pub fn compute_lunisolar(&self, args: &[f64; 5], t: f64) -> (f64, f64) { + let mut dpsi = 0.0; + let mut deps = 0.0; + + for term in LUNISOLAR_TERMS.iter().rev() { + let arg = fmod( + (term.0 as f64) * args[0] + + (term.1 as f64) * args[1] + + (term.2 as f64) * args[2] + + (term.3 as f64) * args[3] + + (term.4 as f64) * args[4], + TWOPI, + ); + + let (sarg, carg) = libm::sincos(arg); + + dpsi += (term.5 + term.6 * t) * sarg + term.7 * carg; + deps += (term.8 + term.9 * t) * carg + term.10 * sarg; + } + + (dpsi * MICROARCSEC_TO_RAD, deps * MICROARCSEC_TO_RAD) + } + + /// Computes the planetary nutation contribution. + /// + /// Evaluates 687 terms of the planetary nutation series. Each term depends on + /// the mean longitudes of the planets (Mercury through Neptune) plus the + /// general precession in longitude. + /// + /// The planetary series is smaller in amplitude than the lunisolar series + /// but essential for sub-milliarcsecond accuracy. The largest planetary terms + /// arise from resonances between planetary and lunar orbital periods. + /// + /// # Arguments + /// + /// * `t` - Julian centuries from J2000.0 (TT) + /// + /// # Returns + /// + /// Tuple of (delta_psi, delta_eps) in radians. + pub fn compute_planetary(&self, t: f64) -> (f64, f64) { + let al = fmod(2.35555598 + 8328.6914269554 * t, TWOPI); + let af = fmod(1.627905234 + 8433.466158131 * t, TWOPI); + let ad = fmod(5.198466741 + 7771.3771468121 * t, TWOPI); + let aom = fmod(2.18243920 - 33.757045 * t, TWOPI); + let apa = t.precession(); + + let alme = t.mercury_lng(); + let alve = t.venus_lng(); + let alea = t.earth_lng(); + let alma = t.mars_lng(); + let alju = t.jupiter_lng(); + let alsa = t.saturn_lng(); + let alur = t.uranus_lng(); + let alne = t.neptune_longitude_mhb(); + + let mut dpsi = 0.0; + let mut deps = 0.0; + + for &(nl, nf, nd, nom, nme, nve, nea, nma, nju, nsa, nur, nne, npa, sp, cp, se, ce) in + PLANETARY_TERMS.iter().rev() + { + let arg = fmod( + (nl as f64) * al + + (nf as f64) * af + + (nd as f64) * ad + + (nom as f64) * aom + + (nme as f64) * alme + + (nve as f64) * alve + + (nea as f64) * alea + + (nma as f64) * alma + + (nju as f64) * alju + + (nsa as f64) * alsa + + (nur as f64) * alur + + (nne as f64) * alne + + (npa as f64) * apa, + TWOPI, + ); + + let (sarg, carg) = libm::sincos(arg); + + dpsi += (sp as f64) * sarg + (cp as f64) * carg; + deps += (se as f64) * sarg + (ce as f64) * carg; + } + + (dpsi * MICROARCSEC_TO_RAD, deps * MICROARCSEC_TO_RAD) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/iau2000b.rs b/01_yachay/cosmos/cosmos-core/src/nutation/iau2000b.rs new file mode 100644 index 0000000..2785f8b --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/iau2000b.rs @@ -0,0 +1,168 @@ +//! IAU 2000B Nutation Model +//! +//! This module implements the IAU 2000B nutation model, a truncated version of the full +//! IAU 2000A model designed for applications where sub-milliarcsecond precision is not required. +//! +//! # Model Description +//! +//! IAU 2000B reduces computational cost by: +//! - Using only the first 77 lunisolar terms (out of 678 in IAU 2000A) +//! - Omitting the 687 planetary terms entirely +//! - Applying fixed bias corrections to approximate the omitted planetary effects +//! +//! The planetary bias corrections are: +//! - Longitude (Δψ): -0.135 milliarcseconds +//! - Obliquity (Δε): +0.388 milliarcseconds +//! +//! # Accuracy +//! +//! The IAU 2000B model achieves accuracy of approximately 1 milliarcsecond over the +//! period 1995-2050. This is sufficient for many practical applications including +//! amateur telescope pointing and general ephemeris work, but insufficient for +//! high-precision astrometry, VLBI, or pulsar timing. +//! +//! # Fundamental Arguments +//! +//! The model uses five Delaunay arguments computed from polynomial expressions +//! in Julian centuries from J2000.0 (TDB): +//! +//! - `l` (mean anomaly of the Moon) +//! - `l'` (mean anomaly of the Sun) +//! - `F` (mean argument of latitude of the Moon) +//! - `D` (mean elongation of the Moon from the Sun) +//! - `Ω` (mean longitude of the Moon's ascending node) +//! +//! # References +//! +//! - McCarthy, D. D. & Luzum, B. J., "An Abridged Model of the Precession-Nutation +//! of the Celestial Pole", Celestial Mechanics and Dynamical Astronomy, 2003 +//! - IERS Conventions (2003), Chapter 5 +//! - SOFA Library: `iauNut00b` + +use super::lunisolar_terms::LUNISOLAR_TERMS; +use super::types::NutationResult; +use crate::constants::{ + ARCSEC_TO_RAD, CIRCULAR_ARCSECONDS, MICROARCSEC_TO_RAD, MILLIARCSEC_TO_RAD, TWOPI, +}; +use crate::errors::AstroResult; +use crate::math::fmod; + +/// IAU 2000B nutation calculator. +/// +/// A simplified nutation model using 77 lunisolar terms plus fixed planetary bias +/// corrections. Provides ~1 mas accuracy, suitable for applications not requiring +/// the full precision of [`NutationIAU2000A`](super::NutationIAU2000A). +/// +/// # Example +/// +/// ``` +/// use cosmos_core::nutation::NutationIAU2000B; +/// +/// let nut = NutationIAU2000B::new(); +/// // Compute nutation for J2000.0 (two-part JD: 2451545.0 + 0.0) +/// let result = nut.compute(2451545.0, 0.0).unwrap(); +/// +/// // delta_psi and delta_eps are in radians +/// println!("Δψ = {} rad", result.delta_psi); +/// println!("Δε = {} rad", result.delta_eps); +/// ``` +pub struct NutationIAU2000B; + +impl Default for NutationIAU2000B { + fn default() -> Self { + Self::new() + } +} + +impl NutationIAU2000B { + /// Creates a new IAU 2000B nutation calculator. + pub fn new() -> Self { + Self + } + + /// Computes nutation angles for a given Julian Date. + /// + /// # Arguments + /// + /// * `jd1` - First part of two-part Julian Date (TDB). Typically the integer part + /// or J2000 epoch (2451545.0). + /// * `jd2` - Second part of two-part Julian Date (TDB). Typically the fractional + /// part or offset from `jd1`. + /// + /// The two-part representation preserves precision. The split is arbitrary; + /// `jd1 + jd2` must equal the desired Julian Date. + /// + /// # Returns + /// + /// Returns a [`NutationResult`] containing: + /// - `delta_psi`: Nutation in longitude (radians) + /// - `delta_eps`: Nutation in obliquity (radians) + /// + /// Both values are IAU 2000B approximations with ~1 mas accuracy. + pub fn compute(&self, jd1: f64, jd2: f64) -> AstroResult { + let t = crate::utils::jd_to_centuries(jd1, jd2); + + let (delta_psi_ls, delta_eps_ls) = self.compute_lunisolar(t); + + const PLANETARY_BIAS_LONGITUDE: f64 = -0.135 * MILLIARCSEC_TO_RAD; + const PLANETARY_BIAS_OBLIQUITY: f64 = 0.388 * MILLIARCSEC_TO_RAD; + + let delta_psi = delta_psi_ls + PLANETARY_BIAS_LONGITUDE; + let delta_eps = delta_eps_ls + PLANETARY_BIAS_OBLIQUITY; + Ok(NutationResult { + delta_psi, + delta_eps, + }) + } + + /// Computes the lunisolar nutation contribution. + /// + /// Evaluates the first 77 terms of the lunisolar nutation series using + /// the five Delaunay fundamental arguments. Each term contributes + /// sine and cosine components to both longitude and obliquity. + /// + /// # Arguments + /// + /// * `t` - Julian centuries from J2000.0 (TDB) + /// + /// # Returns + /// + /// Tuple of (Δψ, Δε) in radians representing the lunisolar contribution + /// to nutation in longitude and obliquity. + fn compute_lunisolar(&self, t: f64) -> (f64, f64) { + // Delaunay arguments (arcseconds, then converted to radians) + // l: Mean anomaly of the Moon + let el = fmod(485868.249036 + 1717915923.2178 * t, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD; + // l': Mean anomaly of the Sun + let elp = fmod(1287104.79305 + 129596581.0481 * t, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD; + // F: Mean argument of latitude of the Moon + let f = fmod(335779.526232 + 1739527262.8478 * t, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD; + // D: Mean elongation of the Moon from the Sun + let d = fmod(1072260.70369 + 1602961601.2090 * t, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD; + // Ω: Mean longitude of the Moon's ascending node + let om = fmod(450160.398036 + -6962890.5431 * t, CIRCULAR_ARCSECONDS) * ARCSEC_TO_RAD; + + let mut dpsi = 0.0; + let mut deps = 0.0; + + for &(nl, nlp, nf, nd, nom, sp, spt, cp, ce, cet, se) in + LUNISOLAR_TERMS.iter().take(77).rev() + { + let arg = fmod( + (nl as f64) * el + + (nlp as f64) * elp + + (nf as f64) * f + + (nd as f64) * d + + (nom as f64) * om, + TWOPI, + ); + + let (sarg, carg) = libm::sincos(arg); + + dpsi += (sp + spt * t) * sarg + cp * carg; + deps += (ce + cet * t) * carg + se * sarg; + } + + (dpsi * MICROARCSEC_TO_RAD, deps * MICROARCSEC_TO_RAD) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/iau2006a.rs b/01_yachay/cosmos/cosmos-core/src/nutation/iau2006a.rs new file mode 100644 index 0000000..cf18923 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/iau2006a.rs @@ -0,0 +1,113 @@ +//! IAU 2006A nutation model. +//! +//! This module implements the IAU 2006A nutation model, which combines the +//! IAU 2000A nutation series with corrections for compatibility with the +//! IAU 2006 precession model. +//! +//! The IAU 2000A nutation was originally developed alongside the IAU 2000 +//! precession model. When the IAU adopted the improved IAU 2006 precession +//! in 2006 (Capitaine et al. 2003), small adjustments to the nutation +//! angles became necessary to maintain consistency. The IAU 2006A model +//! applies these adjustments via the frame bias correction factor J2. +//! +//! The correction is applied as: +//! +//! ```text +//! Δψ_2006A = Δψ_2000A × (1 + 0.4697×10⁻⁶ + fJ2) +//! Δε_2006A = Δε_2000A × (1 + fJ2) +//! +//! where fJ2 = -2.7774×10⁻⁶ × t +//! and t is Julian centuries from J2000.0 TT +//! ``` +//! +//! The 0.4697 µas factor corrects for the change in the dynamical ellipticity +//! of the Earth between the IAU 2000 and IAU 2006 precession models. +//! +//! Reference: IERS Conventions (2010), Chapter 5, Section 5.5.4 + +use super::iau2000a::NutationIAU2000A; +use super::types::NutationResult; +use crate::errors::AstroResult; + +/// IAU 2006A nutation calculator. +/// +/// Wraps [`NutationIAU2000A`] and applies the J2 frame bias corrections +/// required for use with IAU 2006 precession. This is the recommended +/// nutation model for high-accuracy applications using IAU 2006 precession. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::nutation::NutationIAU2006A; +/// +/// let nutation = NutationIAU2006A::new(); +/// +/// // Compute nutation at J2000.0 +/// let result = nutation.compute(2451545.0, 0.0).unwrap(); +/// +/// // delta_psi and delta_eps are in radians +/// println!("Δψ = {} rad", result.delta_psi); +/// println!("Δε = {} rad", result.delta_eps); +/// ``` +pub struct NutationIAU2006A { + iau2000a: NutationIAU2000A, +} + +impl Default for NutationIAU2006A { + fn default() -> Self { + Self::new() + } +} + +impl NutationIAU2006A { + /// Creates a new IAU 2006A nutation calculator. + pub fn new() -> Self { + Self { + iau2000a: NutationIAU2000A::new(), + } + } + + /// Computes nutation angles Δψ (nutation in longitude) and Δε (nutation in obliquity). + /// + /// The computation follows IERS Conventions (2010): + /// 1. Compute IAU 2000A nutation angles (lunisolar + planetary terms) + /// 2. Apply the J2 frame bias correction for IAU 2006 precession compatibility + /// + /// # Arguments + /// + /// * `jd1` - First part of two-part Julian Date (TT scale) + /// * `jd2` - Second part of two-part Julian Date (TT scale) + /// + /// The two-part JD should satisfy `jd1 + jd2 = JD`. For best precision, + /// set `jd1` to 2451545.0 (J2000.0) and `jd2` to the offset from J2000. + /// + /// # Returns + /// + /// [`NutationResult`] containing: + /// - `delta_psi`: Nutation in longitude (radians) + /// - `delta_eps`: Nutation in obliquity (radians) + /// + /// # Accuracy + /// + /// The IAU 2000A series includes 1365 terms (678 lunisolar + 687 planetary) + /// providing sub-milliarcsecond accuracy. The J2 correction is at the + /// microarcsecond level. + pub fn compute(&self, jd1: f64, jd2: f64) -> AstroResult { + let t = + ((jd1 - crate::constants::J2000_JD) + jd2) / crate::constants::DAYS_PER_JULIAN_CENTURY; + + // J2 frame bias correction factor + let fj2 = -2.7774e-6 * t; + + let res = self.iau2000a.compute(jd1, jd2)?; + let dp = res.delta_psi; + let de = res.delta_eps; + + // Apply corrections: 0.4697e-6 is the fixed J2 rate correction, + // fj2 is the time-dependent part + Ok(NutationResult { + delta_psi: dp + dp * (0.4697e-6 + fj2), + delta_eps: de + de * fj2, + }) + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/lunisolar_terms.rs b/01_yachay/cosmos/cosmos-core/src/nutation/lunisolar_terms.rs new file mode 100644 index 0000000..4c04315 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/lunisolar_terms.rs @@ -0,0 +1,720 @@ +pub type LuniSolarTerm = (i32, i32, i32, i32, i32, f64, f64, f64, f64, f64, f64); + +pub const LUNISOLAR_TERMS: &[LuniSolarTerm] = &[ + ( + 0, + 0, + 0, + 0, + 1, + -172064161.0, + -174666.0, + 33386.0, + 92052331.0, + 9086.0, + 15377.0, + ), + ( + 0, + 0, + 2, + -2, + 2, + -13170906.0, + -1675.0, + -13696.0, + 5730336.0, + -3015.0, + -4587.0, + ), + ( + 0, 0, 2, 0, 2, -2276413.0, -234.0, 2796.0, 978459.0, -485.0, 1374.0, + ), + ( + 0, 0, 0, 0, 2, 2074554.0, 207.0, -698.0, -897492.0, 470.0, -291.0, + ), + ( + 0, 1, 0, 0, 0, 1475877.0, -3633.0, 11817.0, 73871.0, -184.0, -1924.0, + ), + ( + 0, 1, 2, -2, 2, -516821.0, 1226.0, -524.0, 224386.0, -677.0, -174.0, + ), + (1, 0, 0, 0, 0, 711159.0, 73.0, -872.0, -6750.0, 0.0, 358.0), + ( + 0, 0, 2, 0, 1, -387298.0, -367.0, 380.0, 200728.0, 18.0, 318.0, + ), + ( + 1, 0, 2, 0, 2, -301461.0, -36.0, 816.0, 129025.0, -63.0, 367.0, + ), + ( + 0, -1, 2, -2, 2, 215829.0, -494.0, 111.0, -95929.0, 299.0, 132.0, + ), + (0, 0, 2, -2, 1, 128227.0, 137.0, 181.0, -68982.0, -9.0, 39.0), + (-1, 0, 2, 0, 2, 123457.0, 11.0, 19.0, -53311.0, 32.0, -4.0), + (-1, 0, 0, 2, 0, 156994.0, 10.0, -168.0, -1235.0, 0.0, 82.0), + (1, 0, 0, 0, 1, 63110.0, 63.0, 27.0, -33228.0, 0.0, -9.0), + (-1, 0, 0, 0, 1, -57976.0, -63.0, -189.0, 31429.0, 0.0, -75.0), + (-1, 0, 2, 2, 2, -59641.0, -11.0, 149.0, 25543.0, -11.0, 66.0), + (1, 0, 2, 0, 1, -51613.0, -42.0, 129.0, 26366.0, 0.0, 78.0), + (-2, 0, 2, 0, 1, 45893.0, 50.0, 31.0, -24236.0, -10.0, 20.0), + (0, 0, 0, 2, 0, 63384.0, 11.0, -150.0, -1220.0, 0.0, 29.0), + (0, 0, 2, 2, 2, -38571.0, -1.0, 158.0, 16452.0, -11.0, 68.0), + (0, -2, 2, -2, 2, 32481.0, 0.0, 0.0, -13870.0, 0.0, 0.0), + (-2, 0, 0, 2, 0, -47722.0, 0.0, -18.0, 477.0, 0.0, -25.0), + (2, 0, 2, 0, 2, -31046.0, -1.0, 131.0, 13238.0, -11.0, 59.0), + (1, 0, 2, -2, 2, 28593.0, 0.0, -1.0, -12338.0, 10.0, -3.0), + (-1, 0, 2, 0, 1, 20441.0, 21.0, 10.0, -10758.0, 0.0, -3.0), + (2, 0, 0, 0, 0, 29243.0, 0.0, -74.0, -609.0, 0.0, 13.0), + (0, 0, 2, 0, 0, 25887.0, 0.0, -66.0, -550.0, 0.0, 11.0), + (0, 1, 0, 0, 1, -14053.0, -25.0, 79.0, 8551.0, -2.0, -45.0), + (-1, 0, 0, 2, 1, 15164.0, 10.0, 11.0, -8001.0, 0.0, -1.0), + (0, 2, 2, -2, 2, -15794.0, 72.0, -16.0, 6850.0, -42.0, -5.0), + (0, 0, -2, 2, 0, 21783.0, 0.0, 13.0, -167.0, 0.0, 13.0), + (1, 0, 0, -2, 1, -12873.0, -10.0, -37.0, 6953.0, 0.0, -14.0), + (0, -1, 0, 0, 1, -12654.0, 11.0, 63.0, 6415.0, 0.0, 26.0), + (-1, 0, 2, 2, 1, -10204.0, 0.0, 25.0, 5222.0, 0.0, 15.0), + (0, 2, 0, 0, 0, 16707.0, -85.0, -10.0, 168.0, -1.0, 10.0), + (1, 0, 2, 2, 2, -7691.0, 0.0, 44.0, 3268.0, 0.0, 19.0), + (-2, 0, 2, 0, 0, -11024.0, 0.0, -14.0, 104.0, 0.0, 2.0), + (0, 1, 2, 0, 2, 7566.0, -21.0, -11.0, -3250.0, 0.0, -5.0), + (0, 0, 2, 2, 1, -6637.0, -11.0, 25.0, 3353.0, 0.0, 14.0), + (0, -1, 2, 0, 2, -7141.0, 21.0, 8.0, 3070.0, 0.0, 4.0), + (0, 0, 0, 2, 1, -6302.0, -11.0, 2.0, 3272.0, 0.0, 4.0), + (1, 0, 2, -2, 1, 5800.0, 10.0, 2.0, -3045.0, 0.0, -1.0), + (2, 0, 2, -2, 2, 6443.0, 0.0, -7.0, -2768.0, 0.0, -4.0), + (-2, 0, 0, 2, 1, -5774.0, -11.0, -15.0, 3041.0, 0.0, -5.0), + (2, 0, 2, 0, 1, -5350.0, 0.0, 21.0, 2695.0, 0.0, 12.0), + (0, -1, 2, -2, 1, -4752.0, -11.0, -3.0, 2719.0, 0.0, -3.0), + (0, 0, 0, -2, 1, -4940.0, -11.0, -21.0, 2720.0, 0.0, -9.0), + (-1, -1, 0, 2, 0, 7350.0, 0.0, -8.0, -51.0, 0.0, 4.0), + (2, 0, 0, -2, 1, 4065.0, 0.0, 6.0, -2206.0, 0.0, 1.0), + (1, 0, 0, 2, 0, 6579.0, 0.0, -24.0, -199.0, 0.0, 2.0), + (0, 1, 2, -2, 1, 3579.0, 0.0, 5.0, -1900.0, 0.0, 1.0), + (1, -1, 0, 0, 0, 4725.0, 0.0, -6.0, -41.0, 0.0, 3.0), + (-2, 0, 2, 0, 2, -3075.0, 0.0, -2.0, 1313.0, 0.0, -1.0), + (3, 0, 2, 0, 2, -2904.0, 0.0, 15.0, 1233.0, 0.0, 7.0), + (0, -1, 0, 2, 0, 4348.0, 0.0, -10.0, -81.0, 0.0, 2.0), + (1, -1, 2, 0, 2, -2878.0, 0.0, 8.0, 1232.0, 0.0, 4.0), + (0, 0, 0, 1, 0, -4230.0, 0.0, 5.0, -20.0, 0.0, -2.0), + (-1, -1, 2, 2, 2, -2819.0, 0.0, 7.0, 1207.0, 0.0, 3.0), + (-1, 0, 2, 0, 0, -4056.0, 0.0, 5.0, 40.0, 0.0, -2.0), + (0, -1, 2, 2, 2, -2647.0, 0.0, 11.0, 1129.0, 0.0, 5.0), + (-2, 0, 0, 0, 1, -2294.0, 0.0, -10.0, 1266.0, 0.0, -4.0), + (1, 1, 2, 0, 2, 2481.0, 0.0, -7.0, -1062.0, 0.0, -3.0), + (2, 0, 0, 0, 1, 2179.0, 0.0, -2.0, -1129.0, 0.0, -2.0), + (-1, 1, 0, 1, 0, 3276.0, 0.0, 1.0, -9.0, 0.0, 0.0), + (1, 1, 0, 0, 0, -3389.0, 0.0, 5.0, 35.0, 0.0, -2.0), + (1, 0, 2, 0, 0, 3339.0, 0.0, -13.0, -107.0, 0.0, 1.0), + (-1, 0, 2, -2, 1, -1987.0, 0.0, -6.0, 1073.0, 0.0, -2.0), + (1, 0, 0, 0, 2, -1981.0, 0.0, 0.0, 854.0, 0.0, 0.0), + (-1, 0, 0, 1, 0, 4026.0, 0.0, -353.0, -553.0, 0.0, -139.0), + (0, 0, 2, 1, 2, 1660.0, 0.0, -5.0, -710.0, 0.0, -2.0), + (-1, 0, 2, 4, 2, -1521.0, 0.0, 9.0, 647.0, 0.0, 4.0), + (-1, 1, 0, 1, 1, 1314.0, 0.0, 0.0, -700.0, 0.0, 0.0), + (0, -2, 2, -2, 1, -1283.0, 0.0, 0.0, 672.0, 0.0, 0.0), + (1, 0, 2, 2, 1, -1331.0, 0.0, 8.0, 663.0, 0.0, 4.0), + (-2, 0, 2, 2, 2, 1383.0, 0.0, -2.0, -594.0, 0.0, -2.0), + (-1, 0, 0, 0, 2, 1405.0, 0.0, 4.0, -610.0, 0.0, 2.0), + (1, 1, 2, -2, 2, 1290.0, 0.0, 0.0, -556.0, 0.0, 0.0), + (-2, 0, 2, 4, 2, -1214.0, 0.0, 5.0, 518.0, 0.0, 2.0), + (-1, 0, 4, 0, 2, 1146.0, 0.0, -3.0, -490.0, 0.0, -1.0), + (2, 0, 2, -2, 1, 1019.0, 0.0, -1.0, -527.0, 0.0, -1.0), + (2, 0, 2, 2, 2, -1100.0, 0.0, 9.0, 465.0, 0.0, 4.0), + (1, 0, 0, 2, 1, -970.0, 0.0, 2.0, 496.0, 0.0, 1.0), + (3, 0, 0, 0, 0, 1575.0, 0.0, -6.0, -50.0, 0.0, 0.0), + (3, 0, 2, -2, 2, 934.0, 0.0, -3.0, -399.0, 0.0, -1.0), + (0, 0, 4, -2, 2, 922.0, 0.0, -1.0, -395.0, 0.0, -1.0), + (0, 1, 2, 0, 1, 815.0, 0.0, -1.0, -422.0, 0.0, -1.0), + (0, 0, -2, 2, 1, 834.0, 0.0, 2.0, -440.0, 0.0, 1.0), + (0, 0, 2, -2, 3, 1248.0, 0.0, 0.0, -170.0, 0.0, 1.0), + (-1, 0, 0, 4, 0, 1338.0, 0.0, -5.0, -39.0, 0.0, 0.0), + (2, 0, -2, 0, 1, 716.0, 0.0, -2.0, -389.0, 0.0, -1.0), + (-2, 0, 0, 4, 0, 1282.0, 0.0, -3.0, -23.0, 0.0, 1.0), + (-1, -1, 0, 2, 1, 742.0, 0.0, 1.0, -391.0, 0.0, 0.0), + (-1, 0, 0, 1, 1, 1020.0, 0.0, -25.0, -495.0, 0.0, -10.0), + (0, 1, 0, 0, 2, 715.0, 0.0, -4.0, -326.0, 0.0, 2.0), + (0, 0, -2, 0, 1, -666.0, 0.0, -3.0, 369.0, 0.0, -1.0), + (0, -1, 2, 0, 1, -667.0, 0.0, 1.0, 346.0, 0.0, 1.0), + (0, 0, 2, -1, 2, -704.0, 0.0, 0.0, 304.0, 0.0, 0.0), + (0, 0, 2, 4, 2, -694.0, 0.0, 5.0, 294.0, 0.0, 2.0), + (-2, -1, 0, 2, 0, -1014.0, 0.0, -1.0, 4.0, 0.0, -1.0), + (1, 1, 0, -2, 1, -585.0, 0.0, -2.0, 316.0, 0.0, -1.0), + (-1, 1, 0, 2, 0, -949.0, 0.0, 1.0, 8.0, 0.0, -1.0), + (-1, 1, 0, 1, 2, -595.0, 0.0, 0.0, 258.0, 0.0, 0.0), + (1, -1, 0, 0, 1, 528.0, 0.0, 0.0, -279.0, 0.0, 0.0), + (1, -1, 2, 2, 2, -590.0, 0.0, 4.0, 252.0, 0.0, 2.0), + (-1, 1, 2, 2, 2, 570.0, 0.0, -2.0, -244.0, 0.0, -1.0), + (3, 0, 2, 0, 1, -502.0, 0.0, 3.0, 250.0, 0.0, 2.0), + (0, 1, -2, 2, 0, -875.0, 0.0, 1.0, 29.0, 0.0, 0.0), + (-1, 0, 0, -2, 1, -492.0, 0.0, -3.0, 275.0, 0.0, -1.0), + (0, 1, 2, 2, 2, 535.0, 0.0, -2.0, -228.0, 0.0, -1.0), + (-1, -1, 2, 2, 1, -467.0, 0.0, 1.0, 240.0, 0.0, 1.0), + (0, -1, 0, 0, 2, 591.0, 0.0, 0.0, -253.0, 0.0, 0.0), + (1, 0, 2, -4, 1, -453.0, 0.0, -1.0, 244.0, 0.0, -1.0), + (-1, 0, -2, 2, 0, 766.0, 0.0, 1.0, 9.0, 0.0, 0.0), + (0, -1, 2, 2, 1, -446.0, 0.0, 2.0, 225.0, 0.0, 1.0), + (2, -1, 2, 0, 2, -488.0, 0.0, 2.0, 207.0, 0.0, 1.0), + (0, 0, 0, 2, 2, -468.0, 0.0, 0.0, 201.0, 0.0, 0.0), + (1, -1, 2, 0, 1, -421.0, 0.0, 1.0, 216.0, 0.0, 1.0), + (-1, 1, 2, 0, 2, 463.0, 0.0, 0.0, -200.0, 0.0, 0.0), + (0, 1, 0, 2, 0, -673.0, 0.0, 2.0, 14.0, 0.0, 0.0), + (0, -1, -2, 2, 0, 658.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 3, 2, -2, 2, -438.0, 0.0, 0.0, 188.0, 0.0, 0.0), + (0, 0, 0, 1, 1, -390.0, 0.0, 0.0, 205.0, 0.0, 0.0), + (-1, 0, 2, 2, 0, 639.0, -11.0, -2.0, -19.0, 0.0, 0.0), + (2, 1, 2, 0, 2, 412.0, 0.0, -2.0, -176.0, 0.0, -1.0), + (1, 1, 0, 0, 1, -361.0, 0.0, 0.0, 189.0, 0.0, 0.0), + (1, 1, 2, 0, 1, 360.0, 0.0, -1.0, -185.0, 0.0, -1.0), + (2, 0, 0, 2, 0, 588.0, 0.0, -3.0, -24.0, 0.0, 0.0), + (1, 0, -2, 2, 0, -578.0, 0.0, 1.0, 5.0, 0.0, 0.0), + (-1, 0, 0, 2, 2, -396.0, 0.0, 0.0, 171.0, 0.0, 0.0), + (0, 1, 0, 1, 0, 565.0, 0.0, -1.0, -6.0, 0.0, 0.0), + (0, 1, 0, -2, 1, -335.0, 0.0, -1.0, 184.0, 0.0, -1.0), + (-1, 0, 2, -2, 2, 357.0, 0.0, 1.0, -154.0, 0.0, 0.0), + (0, 0, 0, -1, 1, 321.0, 0.0, 1.0, -174.0, 0.0, 0.0), + (-1, 1, 0, 0, 1, -301.0, 0.0, -1.0, 162.0, 0.0, 0.0), + (1, 0, 2, -1, 2, -334.0, 0.0, 0.0, 144.0, 0.0, 0.0), + (1, -1, 0, 2, 0, 493.0, 0.0, -2.0, -15.0, 0.0, 0.0), + (0, 0, 0, 4, 0, 494.0, 0.0, -2.0, -19.0, 0.0, 0.0), + (1, 0, 2, 1, 2, 337.0, 0.0, -1.0, -143.0, 0.0, -1.0), + (0, 0, 2, 1, 1, 280.0, 0.0, -1.0, -144.0, 0.0, 0.0), + (1, 0, 0, -2, 2, 309.0, 0.0, 1.0, -134.0, 0.0, 0.0), + (-1, 0, 2, 4, 1, -263.0, 0.0, 2.0, 131.0, 0.0, 1.0), + (1, 0, -2, 0, 1, 253.0, 0.0, 1.0, -138.0, 0.0, 0.0), + (1, 1, 2, -2, 1, 245.0, 0.0, 0.0, -128.0, 0.0, 0.0), + (0, 0, 2, 2, 0, 416.0, 0.0, -2.0, -17.0, 0.0, 0.0), + (-1, 0, 2, -1, 1, -229.0, 0.0, 0.0, 128.0, 0.0, 0.0), + (-2, 0, 2, 2, 1, 231.0, 0.0, 0.0, -120.0, 0.0, 0.0), + (4, 0, 2, 0, 2, -259.0, 0.0, 2.0, 109.0, 0.0, 1.0), + (2, -1, 0, 0, 0, 375.0, 0.0, -1.0, -8.0, 0.0, 0.0), + (2, 1, 2, -2, 2, 252.0, 0.0, 0.0, -108.0, 0.0, 0.0), + (0, 1, 2, 1, 2, -245.0, 0.0, 1.0, 104.0, 0.0, 0.0), + (1, 0, 4, -2, 2, 243.0, 0.0, -1.0, -104.0, 0.0, 0.0), + (-1, -1, 0, 0, 1, 208.0, 0.0, 1.0, -112.0, 0.0, 0.0), + (0, 1, 0, 2, 1, 199.0, 0.0, 0.0, -102.0, 0.0, 0.0), + (-2, 0, 2, 4, 1, -208.0, 0.0, 1.0, 105.0, 0.0, 0.0), + (2, 0, 2, 0, 0, 335.0, 0.0, -2.0, -14.0, 0.0, 0.0), + (1, 0, 0, 1, 0, -325.0, 0.0, 1.0, 7.0, 0.0, 0.0), + (-1, 0, 0, 4, 1, -187.0, 0.0, 0.0, 96.0, 0.0, 0.0), + (-1, 0, 4, 0, 1, 197.0, 0.0, -1.0, -100.0, 0.0, 0.0), + (2, 0, 2, 2, 1, -192.0, 0.0, 2.0, 94.0, 0.0, 1.0), + (0, 0, 2, -3, 2, -188.0, 0.0, 0.0, 83.0, 0.0, 0.0), + (-1, -2, 0, 2, 0, 276.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 1, 0, 0, 0, -286.0, 0.0, 1.0, 6.0, 0.0, 0.0), + (0, 0, 4, 0, 2, 186.0, 0.0, -1.0, -79.0, 0.0, 0.0), + (0, 0, 0, 0, 3, -219.0, 0.0, 0.0, 43.0, 0.0, 0.0), + (0, 3, 0, 0, 0, 276.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 2, -4, 1, -153.0, 0.0, -1.0, 84.0, 0.0, 0.0), + (0, -1, 0, 2, 1, -156.0, 0.0, 0.0, 81.0, 0.0, 0.0), + (0, 0, 0, 4, 1, -154.0, 0.0, 1.0, 78.0, 0.0, 0.0), + (-1, -1, 2, 4, 2, -174.0, 0.0, 1.0, 75.0, 0.0, 0.0), + (1, 0, 2, 4, 2, -163.0, 0.0, 2.0, 69.0, 0.0, 1.0), + (-2, 2, 0, 2, 0, -228.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-2, -1, 2, 0, 1, 91.0, 0.0, -4.0, -54.0, 0.0, -2.0), + (-2, 0, 0, 2, 2, 175.0, 0.0, 0.0, -75.0, 0.0, 0.0), + (-1, -1, 2, 0, 2, -159.0, 0.0, 0.0, 69.0, 0.0, 0.0), + (0, 0, 4, -2, 1, 141.0, 0.0, 0.0, -72.0, 0.0, 0.0), + (3, 0, 2, -2, 1, 147.0, 0.0, 0.0, -75.0, 0.0, 0.0), + (-2, -1, 0, 2, 1, -132.0, 0.0, 0.0, 69.0, 0.0, 0.0), + (1, 0, 0, -1, 1, 159.0, 0.0, -28.0, -54.0, 0.0, 11.0), + (0, -2, 0, 2, 0, 213.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (-2, 0, 0, 4, 1, 123.0, 0.0, 0.0, -64.0, 0.0, 0.0), + (-3, 0, 0, 0, 1, -118.0, 0.0, -1.0, 66.0, 0.0, 0.0), + (1, 1, 2, 2, 2, 144.0, 0.0, -1.0, -61.0, 0.0, 0.0), + (0, 0, 2, 4, 1, -121.0, 0.0, 1.0, 60.0, 0.0, 0.0), + (3, 0, 2, 2, 2, -134.0, 0.0, 1.0, 56.0, 0.0, 1.0), + (-1, 1, 2, -2, 1, -105.0, 0.0, 0.0, 57.0, 0.0, 0.0), + (2, 0, 0, -4, 1, -102.0, 0.0, 0.0, 56.0, 0.0, 0.0), + (0, 0, 0, -2, 2, 120.0, 0.0, 0.0, -52.0, 0.0, 0.0), + (2, 0, 2, -4, 1, 101.0, 0.0, 0.0, -54.0, 0.0, 0.0), + (-1, 1, 0, 2, 1, -113.0, 0.0, 0.0, 59.0, 0.0, 0.0), + (0, 0, 2, -1, 1, -106.0, 0.0, 0.0, 61.0, 0.0, 0.0), + (0, -2, 2, 2, 2, -129.0, 0.0, 1.0, 55.0, 0.0, 0.0), + (2, 0, 0, 2, 1, -114.0, 0.0, 0.0, 57.0, 0.0, 0.0), + (4, 0, 2, -2, 2, 113.0, 0.0, -1.0, -49.0, 0.0, 0.0), + (2, 0, 0, -2, 2, -102.0, 0.0, 0.0, 44.0, 0.0, 0.0), + (0, 2, 0, 0, 1, -94.0, 0.0, 0.0, 51.0, 0.0, 0.0), + (1, 0, 0, -4, 1, -100.0, 0.0, -1.0, 56.0, 0.0, 0.0), + (0, 2, 2, -2, 1, 87.0, 0.0, 0.0, -47.0, 0.0, 0.0), + (-3, 0, 0, 4, 0, 161.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-1, 1, 2, 0, 1, 96.0, 0.0, 0.0, -50.0, 0.0, 0.0), + (-1, -1, 0, 4, 0, 151.0, 0.0, -1.0, -5.0, 0.0, 0.0), + (-1, -2, 2, 2, 2, -104.0, 0.0, 0.0, 44.0, 0.0, 0.0), + (-2, -1, 2, 4, 2, -110.0, 0.0, 0.0, 48.0, 0.0, 0.0), + (1, -1, 2, 2, 1, -100.0, 0.0, 1.0, 50.0, 0.0, 0.0), + (-2, 1, 0, 2, 0, 92.0, 0.0, -5.0, 12.0, 0.0, -2.0), + (-2, 1, 2, 0, 1, 82.0, 0.0, 0.0, -45.0, 0.0, 0.0), + (2, 1, 0, -2, 1, 82.0, 0.0, 0.0, -45.0, 0.0, 0.0), + (-3, 0, 2, 0, 1, -78.0, 0.0, 0.0, 41.0, 0.0, 0.0), + (-2, 0, 2, -2, 1, -77.0, 0.0, 0.0, 43.0, 0.0, 0.0), + (-1, 1, 0, 2, 2, 2.0, 0.0, 0.0, 54.0, 0.0, 0.0), + (0, -1, 2, -1, 2, 94.0, 0.0, 0.0, -40.0, 0.0, 0.0), + (-1, 0, 4, -2, 2, -93.0, 0.0, 0.0, 40.0, 0.0, 0.0), + (0, -2, 2, 0, 2, -83.0, 0.0, 10.0, 40.0, 0.0, -2.0), + (-1, 0, 2, 1, 2, 83.0, 0.0, 0.0, -36.0, 0.0, 0.0), + (2, 0, 0, 0, 2, -91.0, 0.0, 0.0, 39.0, 0.0, 0.0), + (0, 0, 2, 0, 3, 128.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-2, 0, 4, 0, 2, -79.0, 0.0, 0.0, 34.0, 0.0, 0.0), + (-1, 0, -2, 0, 1, -83.0, 0.0, 0.0, 47.0, 0.0, 0.0), + (-1, 1, 2, 2, 1, 84.0, 0.0, 0.0, -44.0, 0.0, 0.0), + (3, 0, 0, 0, 1, 83.0, 0.0, 0.0, -43.0, 0.0, 0.0), + (-1, 0, 2, 3, 2, 91.0, 0.0, 0.0, -39.0, 0.0, 0.0), + (2, -1, 2, 0, 1, -77.0, 0.0, 0.0, 39.0, 0.0, 0.0), + (0, 1, 2, 2, 1, 84.0, 0.0, 0.0, -43.0, 0.0, 0.0), + (0, -1, 2, 4, 2, -92.0, 0.0, 1.0, 39.0, 0.0, 0.0), + (2, -1, 2, 2, 2, -92.0, 0.0, 1.0, 39.0, 0.0, 0.0), + (0, 2, -2, 2, 0, -94.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 2, -1, 1, 68.0, 0.0, 0.0, -36.0, 0.0, 0.0), + (0, -2, 0, 0, 1, -61.0, 0.0, 0.0, 32.0, 0.0, 0.0), + (1, 0, 2, -4, 2, 71.0, 0.0, 0.0, -31.0, 0.0, 0.0), + (1, -1, 0, -2, 1, 62.0, 0.0, 0.0, -34.0, 0.0, 0.0), + (-1, -1, 2, 0, 1, -63.0, 0.0, 0.0, 33.0, 0.0, 0.0), + (1, -1, 2, -2, 2, -73.0, 0.0, 0.0, 32.0, 0.0, 0.0), + (-2, -1, 0, 4, 0, 115.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 0, 0, 3, 0, -103.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, -1, 2, 2, 2, 63.0, 0.0, 0.0, -28.0, 0.0, 0.0), + (0, 2, 2, 0, 2, 74.0, 0.0, 0.0, -32.0, 0.0, 0.0), + (1, 1, 0, 2, 0, -103.0, 0.0, -3.0, 3.0, 0.0, -1.0), + (2, 0, 2, -1, 2, -69.0, 0.0, 0.0, 30.0, 0.0, 0.0), + (1, 0, 2, 1, 1, 57.0, 0.0, 0.0, -29.0, 0.0, 0.0), + (4, 0, 0, 0, 0, 94.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (2, 1, 2, 0, 1, 64.0, 0.0, 0.0, -33.0, 0.0, 0.0), + (3, -1, 2, 0, 2, -63.0, 0.0, 0.0, 26.0, 0.0, 0.0), + (-2, 2, 0, 2, 1, -38.0, 0.0, 0.0, 20.0, 0.0, 0.0), + (1, 0, 2, -3, 1, -43.0, 0.0, 0.0, 24.0, 0.0, 0.0), + (1, 1, 2, -4, 1, -45.0, 0.0, 0.0, 23.0, 0.0, 0.0), + (-1, -1, 2, -2, 1, 47.0, 0.0, 0.0, -24.0, 0.0, 0.0), + (0, -1, 0, -1, 1, -48.0, 0.0, 0.0, 25.0, 0.0, 0.0), + (0, -1, 0, -2, 1, 45.0, 0.0, 0.0, -26.0, 0.0, 0.0), + (-2, 0, 0, 0, 2, 56.0, 0.0, 0.0, -25.0, 0.0, 0.0), + (-2, 0, -2, 2, 0, 88.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 0, -2, 4, 0, -75.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -2, 0, 0, 0, 85.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 0, 1, 1, 49.0, 0.0, 0.0, -26.0, 0.0, 0.0), + (-1, 2, 0, 2, 0, -74.0, 0.0, -3.0, -1.0, 0.0, -1.0), + (1, -1, 2, -2, 1, -39.0, 0.0, 0.0, 21.0, 0.0, 0.0), + (1, 2, 2, -2, 2, 45.0, 0.0, 0.0, -20.0, 0.0, 0.0), + (2, -1, 2, -2, 2, 51.0, 0.0, 0.0, -22.0, 0.0, 0.0), + (1, 0, 2, -1, 1, -40.0, 0.0, 0.0, 21.0, 0.0, 0.0), + (2, 1, 2, -2, 1, 41.0, 0.0, 0.0, -21.0, 0.0, 0.0), + (-2, 0, 0, -2, 1, -42.0, 0.0, 0.0, 24.0, 0.0, 0.0), + (1, -2, 2, 0, 2, -51.0, 0.0, 0.0, 22.0, 0.0, 0.0), + (0, 1, 2, 1, 1, -42.0, 0.0, 0.0, 22.0, 0.0, 0.0), + (1, 0, 4, -2, 1, 39.0, 0.0, 0.0, -21.0, 0.0, 0.0), + (-2, 0, 4, 2, 2, 46.0, 0.0, 0.0, -18.0, 0.0, 0.0), + (1, 1, 2, 1, 2, -53.0, 0.0, 0.0, 22.0, 0.0, 0.0), + (1, 0, 0, 4, 0, 82.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (1, 0, 2, 2, 0, 81.0, 0.0, -1.0, -4.0, 0.0, 0.0), + (2, 0, 2, 1, 2, 47.0, 0.0, 0.0, -19.0, 0.0, 0.0), + (3, 1, 2, 0, 2, 53.0, 0.0, 0.0, -23.0, 0.0, 0.0), + (4, 0, 2, 0, 1, -45.0, 0.0, 0.0, 22.0, 0.0, 0.0), + (-2, -1, 2, 0, 0, -44.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 1, -2, 2, 1, -33.0, 0.0, 0.0, 16.0, 0.0, 0.0), + (1, 0, -2, 1, 0, -61.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (0, -1, -2, 2, 1, 28.0, 0.0, 0.0, -15.0, 0.0, 0.0), + (2, -1, 0, -2, 1, -38.0, 0.0, 0.0, 19.0, 0.0, 0.0), + (-1, 0, 2, -1, 2, -33.0, 0.0, 0.0, 21.0, 0.0, 0.0), + (1, 0, 2, -3, 2, -60.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 2, -2, 3, 48.0, 0.0, 0.0, -10.0, 0.0, 0.0), + (0, 0, 2, -3, 1, 27.0, 0.0, 0.0, -14.0, 0.0, 0.0), + (-1, 0, -2, 2, 1, 38.0, 0.0, 0.0, -20.0, 0.0, 0.0), + (0, 0, 2, -4, 2, 31.0, 0.0, 0.0, -13.0, 0.0, 0.0), + (-2, 1, 0, 0, 1, -29.0, 0.0, 0.0, 15.0, 0.0, 0.0), + (-1, 0, 0, -1, 1, 28.0, 0.0, 0.0, -15.0, 0.0, 0.0), + (2, 0, 2, -4, 2, -32.0, 0.0, 0.0, 15.0, 0.0, 0.0), + (0, 0, 4, -4, 4, 45.0, 0.0, 0.0, -8.0, 0.0, 0.0), + (0, 0, 4, -4, 2, -44.0, 0.0, 0.0, 19.0, 0.0, 0.0), + (-1, -2, 0, 2, 1, 28.0, 0.0, 0.0, -15.0, 0.0, 0.0), + (-2, 0, 0, 3, 0, -51.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, -2, 2, 1, -36.0, 0.0, 0.0, 20.0, 0.0, 0.0), + (-3, 0, 2, 2, 2, 44.0, 0.0, 0.0, -19.0, 0.0, 0.0), + (-3, 0, 2, 2, 1, 26.0, 0.0, 0.0, -14.0, 0.0, 0.0), + (-2, 0, 2, 2, 0, -60.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, -1, 0, 0, 1, 35.0, 0.0, 0.0, -18.0, 0.0, 0.0), + (-2, 1, 2, 2, 2, -27.0, 0.0, 0.0, 11.0, 0.0, 0.0), + (1, 1, 0, 1, 0, 47.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, 1, 4, -2, 2, 36.0, 0.0, 0.0, -15.0, 0.0, 0.0), + (-1, 1, 0, -2, 1, -36.0, 0.0, 0.0, 20.0, 0.0, 0.0), + (0, 0, 0, -4, 1, -35.0, 0.0, 0.0, 19.0, 0.0, 0.0), + (1, -1, 0, 2, 1, -37.0, 0.0, 0.0, 19.0, 0.0, 0.0), + (1, 1, 0, 2, 1, 32.0, 0.0, 0.0, -16.0, 0.0, 0.0), + (-1, 2, 2, 2, 2, 35.0, 0.0, 0.0, -14.0, 0.0, 0.0), + (3, 1, 2, -2, 2, 32.0, 0.0, 0.0, -13.0, 0.0, 0.0), + (0, -1, 0, 4, 0, 65.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, -1, 0, 2, 0, 47.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, 0, 4, 0, 1, 32.0, 0.0, 0.0, -16.0, 0.0, 0.0), + (2, 0, 4, -2, 2, 37.0, 0.0, 0.0, -16.0, 0.0, 0.0), + (-1, -1, 2, 4, 1, -30.0, 0.0, 0.0, 15.0, 0.0, 0.0), + (1, 0, 0, 4, 1, -32.0, 0.0, 0.0, 16.0, 0.0, 0.0), + (1, -2, 2, 2, 2, -31.0, 0.0, 0.0, 13.0, 0.0, 0.0), + (0, 0, 2, 3, 2, 37.0, 0.0, 0.0, -16.0, 0.0, 0.0), + (-1, 1, 2, 4, 2, 31.0, 0.0, 0.0, -13.0, 0.0, 0.0), + (3, 0, 0, 2, 0, 49.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 0, 4, 2, 2, 32.0, 0.0, 0.0, -13.0, 0.0, 0.0), + (1, 1, 2, 2, 1, 23.0, 0.0, 0.0, -12.0, 0.0, 0.0), + (-2, 0, 2, 6, 2, -43.0, 0.0, 0.0, 18.0, 0.0, 0.0), + (2, 1, 2, 2, 2, 26.0, 0.0, 0.0, -11.0, 0.0, 0.0), + (-1, 0, 2, 6, 2, -32.0, 0.0, 0.0, 14.0, 0.0, 0.0), + (1, 0, 2, 4, 1, -29.0, 0.0, 0.0, 14.0, 0.0, 0.0), + (2, 0, 2, 4, 2, -27.0, 0.0, 0.0, 12.0, 0.0, 0.0), + (1, 1, -2, 1, 0, 30.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 1, 2, 1, 2, -11.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (2, 0, -2, 0, 2, -21.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (-1, 0, 0, 1, 2, -34.0, 0.0, 0.0, 15.0, 0.0, 0.0), + (-4, 0, 2, 2, 1, -10.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (-1, -1, 0, 1, 0, -36.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, -2, 2, 2, -9.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (1, 0, 0, -1, 2, -12.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (0, -1, 2, -2, 3, -21.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (-2, 1, 2, 0, 0, -29.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, 0, 2, -2, 4, -15.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-2, -2, 0, 2, 0, -20.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, -2, 4, 0, 28.0, 0.0, 0.0, 0.0, 0.0, -2.0), + (0, -2, -2, 2, 0, 17.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 2, 0, -2, 1, -22.0, 0.0, 0.0, 12.0, 0.0, 0.0), + (3, 0, 0, -4, 1, -14.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (-1, 1, 2, -2, 2, 24.0, 0.0, 0.0, -11.0, 0.0, 0.0), + (1, -1, 2, -4, 1, 11.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (1, 1, 0, -2, 2, 14.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (-3, 0, 2, 0, 0, 24.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 0, 2, 0, 2, 18.0, 0.0, 0.0, -8.0, 0.0, 0.0), + (-2, 0, 0, 1, 0, -38.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, -2, 1, 0, -31.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 0, 0, 2, 1, -16.0, 0.0, 0.0, 8.0, 0.0, 0.0), + (-1, -1, -2, 2, 0, 29.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 2, -4, 1, -18.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (2, 1, 0, -4, 1, -10.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (0, 2, 0, -2, 1, -17.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (1, 0, 0, -3, 1, 9.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (-2, 0, 2, -2, 2, 16.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (-2, -1, 0, 0, 1, 22.0, 0.0, 0.0, -12.0, 0.0, 0.0), + (-4, 0, 0, 2, 0, 20.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 1, 0, -4, 1, -13.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (-1, 0, 2, -4, 1, -17.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (0, 0, 4, -4, 1, -14.0, 0.0, 0.0, 8.0, 0.0, 0.0), + (0, 3, 2, -2, 2, 0.0, 0.0, 0.0, -7.0, 0.0, 0.0), + (-3, -1, 0, 4, 0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 0, 0, 4, 1, 19.0, 0.0, 0.0, -10.0, 0.0, 0.0), + (1, -1, -2, 2, 0, -34.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 0, 2, 2, -20.0, 0.0, 0.0, 8.0, 0.0, 0.0), + (1, -2, 0, 0, 1, 9.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (1, -1, 0, 0, 2, -18.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (0, 0, 0, 1, 2, 13.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (-1, -1, 2, 0, 0, 17.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -2, 2, -2, 2, -12.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (0, -1, 2, -1, 1, 15.0, 0.0, 0.0, -8.0, 0.0, 0.0), + (-1, 0, 2, 0, 3, -11.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (1, 1, 0, 0, 2, 13.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (-1, 1, 2, 0, 0, -18.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 2, 0, 0, 0, -35.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 2, 2, 0, 2, 9.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (-1, 0, 4, -2, 1, -19.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (3, 0, 2, -4, 2, -26.0, 0.0, 0.0, 11.0, 0.0, 0.0), + (1, 2, 2, -2, 1, 8.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (1, 0, 4, -4, 2, -10.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (-2, -1, 0, 4, 1, 10.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (0, -1, 0, 2, 2, -21.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (-2, 1, 0, 4, 0, -15.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, -1, 2, 2, 1, 9.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (2, 0, -2, 2, 0, -29.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 0, 1, 1, -19.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (0, 1, 0, 2, 2, 12.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (1, -1, 2, -1, 2, 22.0, 0.0, 0.0, -9.0, 0.0, 0.0), + (-2, 0, 4, 0, 1, -10.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (2, 1, 0, 0, 1, -20.0, 0.0, 0.0, 11.0, 0.0, 0.0), + (0, 1, 2, 0, 0, -20.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, -1, 4, -2, 2, -17.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (0, 0, 4, -2, 4, 15.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (0, 2, 2, 0, 1, 8.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (-3, 0, 0, 6, 0, 14.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 0, 4, 1, -12.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (1, -2, 0, 2, 0, 25.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, 0, 4, 2, -13.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (-1, -2, 2, 2, 1, -14.0, 0.0, 0.0, 8.0, 0.0, 0.0), + (-1, 0, 0, -2, 2, 13.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (1, 0, -2, -2, 1, -17.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (0, 0, -2, -2, 1, -12.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (-2, 0, -2, 0, 1, -10.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (0, 0, 0, 3, 1, 10.0, 0.0, 0.0, -6.0, 0.0, 0.0), + (0, 0, 0, 3, 0, -15.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 1, 0, 4, 0, -22.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 2, 2, 0, 28.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-2, 0, 2, 3, 2, 15.0, 0.0, 0.0, -7.0, 0.0, 0.0), + (1, 0, 0, 2, 2, 23.0, 0.0, 0.0, -10.0, 0.0, 0.0), + (0, -1, 2, 1, 2, 12.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (3, -1, 0, 0, 0, 29.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (2, 0, 0, 1, 0, -25.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (1, -1, 2, 0, 0, 22.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, 2, 1, 0, -18.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 2, 0, 3, 15.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (3, 1, 0, 0, 0, -23.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (3, -1, 2, -2, 2, 12.0, 0.0, 0.0, -5.0, 0.0, 0.0), + (2, 0, 2, -1, 1, -8.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (1, 1, 2, 0, 0, -19.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, 4, -1, 2, -10.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (1, 2, 2, 0, 2, 21.0, 0.0, 0.0, -9.0, 0.0, 0.0), + (-2, 0, 0, 6, 0, 23.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, -1, 0, 4, 1, -16.0, 0.0, 0.0, 8.0, 0.0, 0.0), + (-2, -1, 2, 4, 1, -19.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (0, -2, 2, 2, 1, -22.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (0, -1, 2, 2, 0, 27.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-1, 0, 2, 3, 1, 16.0, 0.0, 0.0, -8.0, 0.0, 0.0), + (-2, 1, 2, 4, 2, 19.0, 0.0, 0.0, -8.0, 0.0, 0.0), + (2, 0, 0, 2, 2, 9.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (2, -2, 2, 0, 2, -9.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (-1, 1, 2, 3, 2, -9.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (3, 0, 2, -1, 2, -8.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (4, 0, 2, -2, 1, 18.0, 0.0, 0.0, -9.0, 0.0, 0.0), + (-1, 0, 0, 6, 0, 16.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-1, -2, 2, 4, 2, -10.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (-3, 0, 2, 6, 2, -23.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (-1, 0, 2, 4, 0, 16.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (3, 0, 0, 2, 1, -12.0, 0.0, 0.0, 6.0, 0.0, 0.0), + (3, -1, 2, 0, 1, -8.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (3, 0, 2, 0, 0, 30.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (1, 0, 4, 0, 2, 24.0, 0.0, 0.0, -10.0, 0.0, 0.0), + (5, 0, 2, -2, 2, 10.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (0, -1, 2, 4, 1, -16.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (2, -1, 2, 2, 1, -16.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (0, 1, 2, 4, 2, 17.0, 0.0, 0.0, -7.0, 0.0, 0.0), + (1, -1, 2, 4, 2, -24.0, 0.0, 0.0, 10.0, 0.0, 0.0), + (3, -1, 2, 2, 2, -12.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (3, 0, 2, 2, 1, -24.0, 0.0, 0.0, 11.0, 0.0, 0.0), + (5, 0, 2, 0, 2, -23.0, 0.0, 0.0, 9.0, 0.0, 0.0), + (0, 0, 2, 6, 2, -13.0, 0.0, 0.0, 5.0, 0.0, 0.0), + (4, 0, 2, 2, 2, -15.0, 0.0, 0.0, 7.0, 0.0, 0.0), + (0, -1, 1, -1, 1, 0.0, 0.0, -1988.0, 0.0, 0.0, -1679.0), + (-1, 0, 1, 0, 3, 0.0, 0.0, -63.0, 0.0, 0.0, -27.0), + (0, -2, 2, -2, 3, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, -1, 0, 1, 0.0, 0.0, 5.0, 0.0, 0.0, 4.0), + (2, -2, 0, -2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-1, 0, 1, 0, 2, 0.0, 0.0, 364.0, 0.0, 0.0, 176.0), + (-1, 0, 1, 0, 1, 0.0, 0.0, -1044.0, 0.0, 0.0, -891.0), + (-1, -1, 2, -1, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-2, 2, 0, 2, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 0, 1, 0, 0, 0.0, 0.0, 330.0, 0.0, 0.0, 0.0), + (-4, 1, 2, 2, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-3, 0, 2, 1, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-2, -1, 2, 0, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (1, 0, -2, 1, 1, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, -1, -2, 0, 1, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-4, 0, 2, 2, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 1, 0, 3, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, -1, 2, 0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0), + (0, -2, 0, 0, 2, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (0, -2, 0, 0, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-3, 0, 0, 3, 0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, -1, 0, 2, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 0, -2, 3, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-4, 0, 0, 4, 0, -12.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 1, -2, 0, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (2, -1, 0, -2, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, 0, 1, -1, 0, -5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 2, 0, 1, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 1, 2, 0, 2, -7.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (1, 1, 0, -1, 1, 7.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (1, 0, 1, -2, 1, 0.0, 0.0, -12.0, 0.0, 0.0, -10.0), + (0, 2, 0, 0, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (1, -1, 2, -3, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 1, 2, -1, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, 0, 4, -2, 2, -7.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-2, 0, 4, -2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, -2, 0, 2, 1, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-2, 0, -2, 4, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 2, 2, -4, 1, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (1, 1, 2, -4, 2, 7.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-1, 2, 2, -2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, 0, 0, -3, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 2, 0, 0, 1, -5.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (0, 0, 0, -2, 0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 2, -2, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 1, 0, 0, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 0, 0, -1, 2, -8.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-2, 1, 0, 1, 0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -2, 0, -2, 1, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (1, 0, -2, 0, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-3, 1, 0, 2, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 1, -2, 2, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 0, 0, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-3, 0, 0, 2, 0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, -1, 0, 2, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 0, 2, -6, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 1, 2, -4, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 0, 0, -4, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-2, 1, 2, -2, 1, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, -1, 2, -4, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 1, 0, -2, 2, 9.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-1, 0, 0, -2, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 0, -2, -2, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-4, 0, 2, 0, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, -1, 0, -1, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, -2, 0, 2, 9.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-3, 0, 0, 1, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, -2, 1, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, -2, 2, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 0, -4, 2, 0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, -1, -2, 2, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 2, -6, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 0, 2, -4, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (1, 0, 0, -4, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (2, 1, 2, -4, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (2, 1, 2, -4, 1, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (0, 1, 4, -4, 4, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 4, -4, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-1, -1, -2, 4, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -3, 0, 2, 0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, -2, 4, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, -1, 0, 3, 0, -3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, -2, 3, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, 0, 3, 1, -5.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (0, -1, 0, 1, 0, -13.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, 0, 2, 2, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 1, -2, 2, 0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 1, 0, 2, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (1, -2, 2, -2, 1, 10.0, 0.0, 13.0, 6.0, 0.0, -5.0), + (0, 0, 1, 0, 2, 0.0, 0.0, 30.0, 0.0, 0.0, 14.0), + (0, 0, 1, 0, 1, 0.0, 0.0, -162.0, 0.0, 0.0, -138.0), + (0, 0, 1, 0, 0, 0.0, 0.0, 75.0, 0.0, 0.0, 0.0), + (-1, 2, 0, 2, 1, -7.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (0, 0, 2, 0, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, 0, 2, 0, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 0, 0, -1, 1, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (3, 0, 0, -2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (1, 0, 2, -2, 3, -3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 2, 0, 0, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, 0, 2, -3, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 1, 4, -2, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, -2, 0, 4, 0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, -3, 0, 2, 0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, -2, 4, 0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 0, 3, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, 0, 4, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-1, 0, 0, 3, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, -2, 0, 0, 0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -1, 0, 1, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, 0, 2, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, -2, 2, 0, 1, -6.0, 0.0, -3.0, 3.0, 0.0, 1.0), + (-1, 0, 1, 2, 1, 0.0, 0.0, -3.0, 0.0, 0.0, -2.0), + (-1, 1, 0, 3, 0, 11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -1, 2, 1, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, -1, 2, 0, 0, 11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 1, 2, 2, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, -2, 2, -2, 2, -1.0, 0.0, 3.0, 3.0, 0.0, -1.0), + (1, 1, 0, 1, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (1, 0, 1, 0, 1, 0.0, 0.0, -13.0, 0.0, 0.0, -11.0), + (1, 0, 1, 0, 0, 3.0, 0.0, 6.0, 0.0, 0.0, 0.0), + (0, 2, 0, 2, 0, -7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, -1, 2, -2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (0, -1, 4, -2, 1, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (0, 0, 4, -2, 3, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 4, -2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (4, 0, 2, -4, 2, -7.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (2, 2, 2, -2, 2, 8.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (2, 0, 4, -4, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, -2, 0, 4, 0, 11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, -3, 2, 2, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-3, 0, 2, 4, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-3, 0, 2, -2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, -1, 0, -2, 1, 8.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (-3, 0, 0, 0, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-3, 0, -2, 2, 0, 11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 0, -4, 1, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-2, 1, 0, -2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-4, 0, 0, 0, 1, -8.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (-1, 0, 0, -4, 1, -7.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-3, 0, 0, -2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 0, 3, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-1, 1, 0, 4, 1, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (1, -2, 2, 0, 1, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (0, 1, 0, 3, 0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-1, 0, 2, 2, 3, 6.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (0, 0, 2, 2, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-2, 0, 2, 2, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 1, 2, 2, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (3, 0, 0, 0, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, 1, 0, 1, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, -1, 2, -1, 2, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (0, 0, 2, 0, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 3, 0, 3, 0.0, 0.0, -26.0, 0.0, 0.0, -11.0), + (0, 0, 3, 0, 2, 0.0, 0.0, -10.0, 0.0, 0.0, -5.0), + (-1, 2, 2, 2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-1, 0, 4, 0, 0, -13.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 2, 2, 0, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (3, 1, 2, -2, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (1, 1, 4, -2, 2, 7.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-2, -1, 0, 6, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, -2, 0, 4, 0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, 0, 6, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, -2, 2, 4, 2, -6.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, -3, 2, 2, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 0, 4, 2, -7.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-1, -1, 2, 3, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-2, 0, 2, 4, 0, 13.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, -1, 0, 2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (1, 0, 0, 3, 0, -3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 0, 4, 1, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 1, 0, 4, 0, -11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -1, 2, 1, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 0, 2, 2, 3, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 2, 2, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, 0, 2, 2, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-2, 0, 4, 2, 1, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (2, 1, 0, 2, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 1, 0, 2, 0, -12.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, -1, 2, 0, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 2, 1, 0, -3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 1, 2, 2, 0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 0, 2, 0, 3, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (3, 0, 2, 0, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (1, 0, 2, 0, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (1, 0, 3, 0, 3, 0.0, 0.0, -5.0, 0.0, 0.0, -2.0), + (1, 1, 2, 1, 1, -7.0, 0.0, 0.0, 4.0, 0.0, 0.0), + (0, 2, 2, 2, 2, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (2, 1, 2, 0, 0, -3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 0, 4, -2, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (4, 1, 2, -2, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (-1, -1, 0, 6, 0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-3, -1, 2, 6, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (-1, 0, 0, 6, 1, -5.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-3, 0, 2, 6, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (1, -1, 0, 4, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (1, -1, 0, 4, 0, 12.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (-2, 0, 2, 5, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (1, -2, 2, 2, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (3, -1, 0, 2, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, -1, 2, 2, 0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, 2, 3, 1, 5.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (-1, 1, 2, 4, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (0, 1, 2, 3, 2, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-1, 0, 4, 2, 1, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 0, 2, 1, 1, 6.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (5, 0, 0, 0, 0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 1, 2, 1, 2, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (1, 0, 4, 0, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (3, 1, 2, 0, 1, 7.0, 0.0, 0.0, -4.0, 0.0, 0.0), + (3, 0, 4, -2, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-2, -1, 2, 6, 2, -5.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 0, 6, 0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, -2, 2, 4, 2, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (-2, 0, 2, 6, 1, -6.0, 0.0, 0.0, 3.0, 0.0, 0.0), + (2, 0, 0, 4, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (2, 0, 0, 4, 0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, -2, 2, 2, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (0, 0, 2, 4, 0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (1, 0, 2, 3, 2, 7.0, 0.0, 0.0, -3.0, 0.0, 0.0), + (4, 0, 0, 2, 0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (2, 0, 2, 2, 0, 11.0, 0.0, 0.0, 0.0, 0.0, 0.0), + (0, 0, 4, 2, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (4, -1, 2, 0, 2, -6.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (3, 0, 2, 1, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (2, 1, 2, 2, 1, 3.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (4, 1, 2, 0, 2, 5.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (-1, -1, 2, 6, 2, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (-1, 0, 2, 6, 1, -4.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (1, -1, 2, 4, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), + (1, 1, 2, 4, 2, 4.0, 0.0, 0.0, -2.0, 0.0, 0.0), + (3, 1, 2, 2, 2, 3.0, 0.0, 0.0, -1.0, 0.0, 0.0), + (5, 0, 2, 0, 1, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (2, -1, 2, 4, 2, -3.0, 0.0, 0.0, 1.0, 0.0, 0.0), + (2, 0, 2, 4, 1, -3.0, 0.0, 0.0, 2.0, 0.0, 0.0), +]; diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/mod.rs b/01_yachay/cosmos/cosmos-core/src/nutation/mod.rs new file mode 100644 index 0000000..f6ff7b0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/mod.rs @@ -0,0 +1,69 @@ +//! Nutation models for computing oscillations in Earth's rotational axis. +//! +//! Nutation is the short-period oscillation of Earth's rotational axis about its mean +//! position, superimposed on the longer-term precession. It arises from gravitational +//! torques exerted by the Moon, Sun, and planets on Earth's equatorial bulge. The +//! principal component has a period of 18.6 years (the lunar nodal period) with an +//! amplitude of about 9 arcseconds in obliquity. +//! +//! This module provides implementations of the IAU standard nutation models: +//! +//! | Model | Lunisolar Terms | Planetary Terms | Precision | Use Case | +//! |-------|-----------------|-----------------|-----------|----------| +//! | [`NutationIAU2000A`] | 678 | 687 | ~0.1 µas | High-precision astrometry, VLBI | +//! | [`NutationIAU2000B`] | 77 | 0 (bias only) | ~1 mas | General ephemeris, telescope pointing | +//! | [`NutationIAU2006A`] | 678 | 687 | ~0.1 µas | Use with IAU 2006 precession | +//! +//! # Output +//! +//! All models return [`NutationResult`] containing: +//! - `delta_psi`: Nutation in longitude (radians) +//! - `delta_eps`: Nutation in obliquity (radians) +//! +//! # Time Argument +//! +//! All `compute(jd1, jd2)` methods accept a two-part Julian Date in TDB (Barycentric +//! Dynamical Time). The split preserves precision: typically `jd1 = 2451545.0` (J2000.0) +//! and `jd2` = days from that epoch. +//! +//! # Example +//! +//! ``` +//! use cosmos_core::nutation::NutationIAU2006A; +//! +//! let nutation = NutationIAU2006A::new(); +//! let result = nutation.compute(2451545.0, 0.0).unwrap(); +//! +//! // At J2000.0: Δψ ≈ -0.04 arcsec, Δε ≈ -0.007 arcsec +//! println!("Δψ = {:.6} rad", result.delta_psi); +//! println!("Δε = {:.6} rad", result.delta_eps); +//! ``` +//! +//! # Sub-modules +//! +//! - [`iau2000a`]: Full IAU 2000A model (678 lunisolar + 687 planetary terms) +//! - [`iau2000b`]: Truncated IAU 2000B model (77 terms + planetary bias) +//! - [`iau2006a`]: IAU 2000A with J2 corrections for IAU 2006 precession compatibility +//! - [`fundamental_args`]: Delaunay arguments and planetary mean longitudes +//! - [`lunisolar_terms`]: Coefficient table for lunisolar nutation series +//! - [`planetary_terms`]: Coefficient table for planetary nutation series +//! - [`types`]: [`NutationResult`] and [`NutationModel`] wrapper + +#[cfg(feature = "erfa-tests")] +pub mod fundamental_args; + +#[cfg(not(feature = "erfa-tests"))] +mod fundamental_args; + +pub mod iau2000a; +pub mod iau2000b; +pub mod iau2006a; +pub mod lunisolar_terms; +pub mod planetary_terms; +pub mod types; + +pub use fundamental_args::{IERS2010FundamentalArgs, MHB2000FundamentalArgs}; +pub use iau2000a::NutationIAU2000A; +pub use iau2000b::NutationIAU2000B; +pub use iau2006a::NutationIAU2006A; +pub use types::{NutationModel, NutationResult}; diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/planetary_terms.rs b/01_yachay/cosmos/cosmos-core/src/nutation/planetary_terms.rs new file mode 100644 index 0000000..b9686dc --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/planetary_terms.rs @@ -0,0 +1,723 @@ +pub type PlanetaryTerm = ( + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, + i32, +); + +pub const PLANETARY_TERMS: &[PlanetaryTerm] = &[ + (0, 0, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 1440, 0, 0, 0), + ( + 0, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 2, 56, -117, -42, -40, + ), + (0, 0, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 2, 125, -43, 0, -54), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 2, 0, 5, 0, 0), + (0, 0, 0, 0, 0, 0, -4, 8, -1, -5, 0, 0, 2, 3, -7, -3, 0), + (0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 1, 3, 0, 0, -2), + (0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0, -114, 0, 0, 61), + (-1, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, -219, 89, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, -2, 6, -3, 0, 2, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, -462, 1604, 0, 0), + (0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0, 99, 0, 0, -53), + (0, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 1, -3, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 2, 0, 6, 2, 0), + (0, 0, 0, 0, 0, -5, 6, 4, 0, 0, 0, 0, 2, 3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 2, -12, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1, 14, -218, 117, 8), + ( + 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0, 31, -481, -257, -17, + ), + (0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, -491, 128, 0, 0), + ( + 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0, -3084, 5123, 2735, 1647, + ), + ( + 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 1, -1444, 2409, -1286, -771, + ), + (0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 2, 11, -24, -11, -9), + (2, -1, -1, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 26, -9, 0, 0), + (1, 0, -2, 0, 0, 19, -21, 3, 0, 0, 0, 0, 0, 103, -60, 0, 0), + (0, 1, -1, 1, 0, 2, -4, 0, -3, 0, 0, 0, 0, 0, -13, -7, 0), + (1, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, -26, -29, -16, 14), + (0, 1, -1, 1, 0, 0, -1, 0, -4, 10, 0, 0, 0, 9, -27, -14, -5), + (-2, 0, 2, 1, 0, 0, 2, 0, 0, -5, 0, 0, 0, 12, 0, 0, -6), + (0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, -7, 0, 0, 0), + (0, -1, 1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 24, 0, 0), + (-2, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, 284, 0, 0, -151), + (-1, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 226, 101, 0, 0), + (-2, 1, 1, 2, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, -8, -2, 0), + (-1, 1, -1, 1, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, -6, -3, 0), + (-1, 0, 1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 5, 0, 0, -3), + (0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 2, -41, 175, 76, 17), + (0, 2, -2, 2, 0, -8, 11, 0, 0, 0, 0, 0, 0, 0, 15, 6, 0), + (0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 1, 425, 212, -133, 269), + ( + 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0, 1200, 598, 319, -641, + ), + (0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 235, 334, 0, 0), + (0, 1, -1, 1, 0, 8, -14, 0, 0, 0, 0, 0, 0, 11, -12, -7, -6), + (0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 1, 5, -6, 3, 3), + (-2, 0, 2, 1, 0, 0, 2, 0, -4, 5, 0, 0, 0, -5, 0, 0, 3), + (-2, 0, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0, 6, 0, 0, -3), + (-2, 0, 2, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, 15, 0, 0, 0), + (0, 0, 0, 1, 0, 3, -5, 0, 2, 0, 0, 0, 0, 13, 0, 0, -7), + (-2, 0, 2, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, -6, -9, 0, 0), + (0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 266, -78, 0, 0), + ( + 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0, -460, -435, -232, 246, + ), + (0, 1, -1, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 15, 7, 0), + (-1, 1, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 2), + (-1, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0), + (-2, 0, 2, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 4, 0, 0, 0), + (-2, 2, 0, 2, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 2, 0, -17, -19, -10, 9), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -9, -11, 6, -5), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -6, 0, 0, 3), + (-1, 0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -16, 8, 0, 0), + (0, -1, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0), + (0, 1, -1, 2, 0, 0, -1, 0, 0, 2, 0, 0, 0, 11, 24, 11, -5), + (0, 0, 0, 1, 0, 0, -9, 17, 0, 0, 0, 0, 0, -3, -4, -2, 1), + (0, 0, 0, 2, 0, -3, 5, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 1, -1, 1, 0, 0, -1, 0, -1, 2, 0, 0, 0, 0, -8, -4, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 3, 0, 0), + (1, 0, -2, 0, 0, 17, -16, 0, -2, 0, 0, 0, 0, 0, 5, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, 1, -3, 0, 0, 0, 0, 3, 2, 0), + (-2, 0, 2, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0, -6, 4, 2, 3), + (0, -2, 2, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, -3, -5, 0, 0), + (0, 1, -1, 2, 0, 0, -1, 0, 0, 1, 0, 0, 0, -5, 0, 0, 2), + (0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 24, 13, -2), + (0, -1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, -42, 20, 0, 0), + (0, -2, 2, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, -10, 233, 0, 0), + (0, -1, 1, 1, 0, 5, -7, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (-2, 0, 2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 78, -18, 0, 0), + (2, 1, -3, 1, 0, -6, 7, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -3, -1, 0), + (0, -1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, -4, -2, 1), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0, 0, -8, -4, -1), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, -5, 3, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -7, 0, 0, 3), + (0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 2, -14, 8, 3, 6), + (0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 1, 0, 8, -4, 0), + (0, 1, -1, 1, 0, 0, -9, 15, 0, 0, 0, 0, 0, 0, 19, 10, 0), + (0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 45, -22, 0, 0), + (1, -1, -1, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, -3, 0, 0, 0), + (2, 0, -2, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0), + (-2, 0, 2, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0, 0, 3, 0, 0), + (2, 0, -2, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0, 3, 5, 3, -2), + (2, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, 89, -16, -9, -48), + (-2, 1, 1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 3, 0, 0), + (-2, 1, 1, 1, 0, 0, 1, 0, -3, 0, 0, 0, 0, -3, 7, 4, 2), + (-2, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, -349, -62, 0, 0), + (-2, 0, 2, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, -15, 22, 0, 0), + (-2, 0, 2, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0, -3, 0, 0, 0), + (-1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, -53, 0, 0, 0), + (-1, 1, 1, 1, 0, -20, 20, 0, 0, 0, 0, 0, 0, 5, 0, 0, -3), + (1, 0, -2, 0, 0, 20, -21, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0), + (0, 0, 0, 1, 0, 0, 8, -15, 0, 0, 0, 0, 0, 15, -7, -4, -8), + (0, 2, -2, 1, 0, 0, -10, 15, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (0, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, -21, -78, 0, 0), + (0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 20, -70, -37, -11), + (0, 1, -1, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 6, 3, 0), + (0, 1, -1, 1, 0, 0, -1, 0, -2, 4, 0, 0, 0, 5, 3, 2, -2), + (2, 0, -2, 1, 0, -6, 8, 0, 0, 0, 0, 0, 0, -17, -4, -2, 9), + (0, -2, 2, 1, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 6, 3, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, 32, 15, -8, 17), + (0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 174, 84, 45, -93), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 11, 56, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0, -66, -12, -6, 35), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 47, 8, 4, -25), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 8, 4, 0), + (0, 2, -2, 1, 0, 0, -9, 13, 0, 0, 0, 0, 0, 10, -22, -12, -5), + (0, 0, 0, 1, 0, 0, 7, -13, 0, 0, 0, 0, 0, -3, 0, 0, 2), + (-2, 0, 2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, -24, 12, 0, 0), + (0, 0, 0, 0, 0, 0, 9, -17, 0, 0, 0, 0, 0, 5, -6, 0, 0), + (0, 0, 0, 0, 0, 0, -9, 17, 0, 0, 0, 0, 2, 3, 0, 0, -2), + (1, 0, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 4, 3, 1, -2), + (1, 0, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 29, 15, 0), + (0, 0, 0, 2, 0, 0, -1, 2, 0, 0, 0, 0, 0, -5, -4, -2, 2), + (0, -1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 8, -3, -1, -5), + (0, -2, 2, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0), + (0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0, 10, 0, 0, 0), + (-2, 0, 2, 1, 0, 0, 2, 0, -3, 1, 0, 0, 0, 3, 0, 0, -2), + (-2, 0, 2, 1, 0, 3, -3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 3), + (0, 0, 0, 1, 0, 8, -13, 0, 0, 0, 0, 0, 0, 46, 66, 35, -25), + (0, -1, 1, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0, -14, 7, 0, 0), + (0, 2, -2, 1, 0, -8, 11, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0), + (-1, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, -5, 0, 0, 0), + (-1, 0, 0, 1, 0, 18, -16, 0, 0, 0, 0, 0, 0, -68, -34, -18, 36), + (0, 1, -1, 1, 0, 0, -1, 0, -1, 1, 0, 0, 0, 0, 14, 7, 0), + (0, 0, 0, 1, 0, 3, -7, 4, 0, 0, 0, 0, 0, 10, -6, -3, -5), + (-2, 1, 1, 1, 0, 0, -3, 7, 0, 0, 0, 0, 0, -5, -4, -2, 3), + (0, 1, -1, 2, 0, 0, -1, 0, -2, 5, 0, 0, 0, -3, 5, 2, 1), + (0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0, 76, 17, 9, -41), + (0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, 84, 298, 159, -45), + (1, 0, 0, 1, 0, -10, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 2, -2, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 2), + (-1, 0, 0, 1, 0, 10, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0, -82, 292, 156, 44), + (0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0, -73, 17, 9, 39), + (0, -1, 1, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, -9, -16, 0, 0), + (2, -1, -1, 1, 0, 0, 3, -7, 0, 0, 0, 0, 0, 3, 0, -1, -2), + (-2, 0, 2, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 1, 0, -3, 7, -4, 0, 0, 0, 0, 0, -9, -5, -3, 5), + (-2, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, -439, 0, 0, 0), + (1, 0, 0, 1, 0, -18, 16, 0, 0, 0, 0, 0, 0, 57, -28, -15, -30), + (-2, 1, 1, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, -6, -3, 0), + (0, 1, -1, 2, 0, -8, 12, 0, 0, 0, 0, 0, 0, -4, 0, 0, 2), + (0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0, -40, 57, 30, 21), + (0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 1, 23, 7, 3, -13), + (0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0, 273, 80, 43, -146), + (0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, -449, 430, 0, 0), + (0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, -8, -47, -25, 4), + (0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 1, 6, 47, 25, -3), + (-1, 0, 1, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 23, 13, 0), + (-1, 0, 1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, -3, 0, 0, 2), + (0, 1, -1, 1, 0, 0, -1, 0, 0, -2, 0, 0, 0, 3, -4, -2, -2), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0, -48, -110, -59, 26), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 51, 114, 61, -27), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, -133, 0, 0, 57), + (0, 1, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0), + (0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0, -21, -6, -3, 11), + (0, 1, -1, 2, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, -3, -1, 0), + (0, 0, 0, 1, 0, 0, -2, 4, 0, 0, 0, 0, 0, -11, -21, -11, 6), + (0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0, -18, -436, -233, 9), + (0, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 35, -7, 0, 0), + (0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0), + (-2, 0, 2, 1, 0, 6, -8, 0, 0, 0, 0, 0, 0, 11, -3, -1, -6), + (0, 0, 0, 1, 0, 0, -8, 15, 0, 0, 0, 0, 0, -5, -3, -1, 3), + (-2, 0, 2, 1, 0, 0, 2, 0, -3, 0, 0, 0, 0, -53, -9, -5, 28), + (-2, 0, 2, 1, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 3, 2, 1), + (1, 0, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, -4, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -50, 194, 103, 27), + (0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, -13, 52, 28, 7), + (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -91, 248, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 6, 49, 26, -3), + (0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, -6, -47, -25, 3), + (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 3, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 52, 23, 10, -23), + (0, 1, -1, 2, 0, 0, -1, 0, 0, -1, 0, 0, 0, -3, 0, 0, 1), + (0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 5, 3, 0), + (0, -1, 1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, -4, 0, 0, 0), + (0, 0, 0, 0, 0, 0, -7, 13, 0, 0, 0, 0, 2, -4, 8, 3, 2), + (0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 10, 0, 0, 0), + (2, 0, -2, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0, 3, 0, 0, -2), + (0, 2, -2, 1, 0, 0, -8, 11, 0, 0, 0, 0, 0, 0, 8, 4, 0), + (0, 2, -2, 1, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 8, 4, 1), + (-2, 0, 2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, -4, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, -4, 0, 0, 0), + (0, 1, -1, 1, 0, 0, -1, 0, 0, 3, 0, 0, 0, -8, 4, 2, 4), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 8, -4, -2, -4), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 15, 7, 0), + (-2, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, -138, 0, 0, 0), + (0, 0, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, -7, -3, 0), + (0, 0, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -7, -3, 0), + (2, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, 54, 0, 0, -29), + (0, 1, -1, 2, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 10, 4, 0), + (0, 1, -1, 2, 0, 0, 0, -2, 0, 0, 0, 0, 0, -7, 0, 0, 3), + (0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0, -37, 35, 19, 20), + (0, -1, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 4, 0, 0), + (0, -1, 1, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, -4, 9, 0, 0), + (0, 2, -2, 1, 0, 0, -2, 0, 0, 2, 0, 0, 0, 8, 0, 0, -4), + (0, 1, -1, 1, 0, 3, -6, 0, 0, 0, 0, 0, 0, -9, -14, -8, 5), + (0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 1, -3, -9, -5, 3), + (0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, -145, 47, 0, 0), + (0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, -10, 40, 21, 5), + (0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 1, 11, -49, -26, -7), + (0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2, -2150, 0, 0, 932), + (0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, -12, 0, 0, 5), + (0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2, 85, 0, 0, -37), + (0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 1, 4, 0, 0, -2), + (0, 1, -1, 1, 0, 0, 1, -4, 0, 0, 0, 0, 0, 3, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, -86, 153, 0, 0), + (0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1, -6, 9, 5, 3), + (0, 1, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 9, -13, -7, -5), + (0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1, -8, 12, 6, 4), + (0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 2, -51, 0, 0, 22), + (0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2, -11, -268, -116, 5), + (0, 2, -2, 2, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 12, 5, 0), + (0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2, 0, 7, 3, 0), + (0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1, 31, 6, 3, -17), + (0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0, 140, 27, 14, -75), + (0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1, 57, 11, 6, -30), + (0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, -14, -39, 0, 0), + (0, 1, -1, 2, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -6, -2, 0), + (0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 4, 15, 8, -2), + (0, -1, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 4, 0, 0), + (0, 2, -2, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, -6, 11, 0, 0, 0, 0, 2, 0, 11, 5, 0), + (0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 9, 6, 0, 0), + (0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 0, 0, 2, -4, 10, 4, 2), + (0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0), + (2, 0, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, -9), + (-2, 0, 2, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, -3, 0, 0, 0), + (0, 2, -2, 1, 0, 0, -7, 9, 0, 0, 0, 0, 0, 0, 3, 2, -1), + (0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 2, 7, 0, 0, -3), + (0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, -25, 22, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 42, 223, 119, -22), + (0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, -27, -143, -77, 14), + (0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 9, 49, 26, -5), + (0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, -1166, 0, 0, 505), + (0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, -5, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2, -6, 0, 0, 3), + (0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0, -8, 0, 1, 4), + (0, -1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0), + (0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0, 117, 0, 0, -63), + (0, 0, 0, 1, 0, 0, 2, -4, 0, 0, 0, 0, 0, -4, 8, 4, 2), + (0, 2, -2, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0, 3, 0, 0, -2), + (0, 1, -1, 2, 0, -5, 7, 0, 0, 0, 0, 0, 0, -5, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 31, 0, 0), + (0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1, -5, 0, 1, 3), + (0, 1, -1, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1, -4, 0, 0, 2), + (0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 2, -24, -13, -6, 10), + (0, -1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0), + (0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, -32, -17, 0), + (0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 2, 8, 12, 5, -3), + (0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 1, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 7, 13, 0, 0), + (0, -1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, -3, 16, 0, 0), + (0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, 50, 0, 0, -27), + (-2, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, -3, 0), + (0, -2, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0), + (0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 1, 0, 5, 3, 1), + (0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 2, 24, 5, 2, -11), + (0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 2, 5, -11, -5, -2), + (0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 1, 30, -3, -2, -16), + (0, 1, -1, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, 18, 0, 0, -9), + (0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 8, 614, 0, 0), + (0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 1, 3, -3, -1, -2), + (0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 6, 17, 9, -3), + (0, 1, -1, 1, 0, 0, -1, 0, 3, 0, 0, 0, 0, -3, -9, -5, 2), + (0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 6, 3, -1), + (0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, -127, 21, 9, 55), + (0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 5, 0, 0), + (0, 0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 2, -6, -10, -4, 3), + (0, -2, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 5, 0, 0, 0), + (0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 2, 16, 9, 4, -7), + (0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 1, 3, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 22, 0, 0), + (0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 19, 10, 0), + (0, 2, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, 7, 0, 0, -4), + (0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 2, 0, -5, -2, 0), + (0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, -9, 3, 1, 4), + (0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 2, 17, 0, 0, -7), + (0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 1, 0, -3, -2, -1), + (0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, -20, 34, 0, 0), + (0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 1, -10, 0, 1, 5), + (0, 1, -1, 1, 0, 1, -3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 2), + (0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 22, -87, 0, 0), + (0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 1, -4, 0, 0, 2), + (0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 2, -3, -6, -2, 1), + (0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 2, -16, -3, -1, 7), + (0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0), + (0, -2, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, -68, 39, 0, 0), + (0, 2, -2, 1, 0, -4, 4, 0, 0, 0, 0, 0, 0, 27, 0, 0, -14), + (0, -1, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0), + (0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, -25, 0, 0, 0), + (0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 1, -12, -3, -2, 6), + (0, 1, -1, 1, 0, -4, 6, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 2, 3, 66, 29, -1), + (0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 2, 490, 0, 0, -213), + (0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1, -22, 93, 49, 12), + (0, 1, -1, 1, 0, -4, 5, 0, 0, 0, 0, 0, 0, -7, 28, 15, 4), + (0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1, -3, 13, 7, 2), + (0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, -46, 14, 0, 0), + (-2, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0, 0), + (0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0), + (0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, -28, 0, 0, 15), + (0, 0, 0, 0, 0, 0, -1, 0, 5, 0, 0, 0, 2, 5, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 2, -11, 0, 0, 5), + (0, 0, 0, 0, 0, 0, -7, 12, 0, 0, 0, 0, 2, 0, 3, 1, 0), + (0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1, 25, 106, 57, -13), + (0, 1, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 5, 21, 11, -3), + (0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 1485, 0, 0, 0), + (0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1, -7, -32, -17, 4), + (0, 1, -1, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0), + (0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 2, -6, -3, -2, 3), + (0, 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 2, 30, -6, -2, -13), + (0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, -4, 4, 0, 0), + (0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0, -19, 0, 0, 10), + (0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 2, 0, 4, 2, -1), + (0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (0, 2, -2, 1, 0, 0, -3, 0, 3, 0, 0, 0, 0, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 2, 0, -3, -1, 0), + (-2, 0, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 2, 5, 3, 1, -2), + (0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 11, 0, 0), + (0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 2, 118, 0, 0, -52), + (0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 1, 0, -5, -3, 0), + (0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, -28, 36, 0, 0), + (0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0), + (0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 1, 14, -59, -31, -8), + (0, 1, -1, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 9, 5, 1), + (0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 2, -458, 0, 0, 198), + (0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 2, 0, -45, -20, 0), + (0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 1, 9, 0, 0, -5), + (0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0), + (0, 0, 0, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, -4, -2, -1), + (0, 2, -2, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, 11, 0, 0, -6), + (0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 2, 6, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, -16, 23, 0, 0), + (0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, -4, -2, 0), + (0, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 2, -5, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, -166, 269, 0, 0), + (0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, 15, 0, 0, -8), + (0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 2, 10, 0, 0, -4), + (0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -78, 45, 0, 0), + (0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 2, 0, -5, -2, 0), + (0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 1, 7, 0, 0, -4), + (0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, -5, 328, 0, 0), + (0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 1, 3, 0, 0, -2), + (0, 0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 5, 0, 0, -2), + (0, 0, 0, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1, 0, -4, -2, 0), + (0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, -1223, -26, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1, 0, 7, 3, 0), + (0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 3, 0, 0, 0), + (0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, -6, 20, 0, 0), + (0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, -368, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, -75, 0, 0, 0), + (0, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, 11, 0, 0, -6), + (0, 0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 3, 0, 0, -2), + (0, 0, 0, 0, 0, -8, 14, 0, 0, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, -13, -30, 0, 0), + (0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0, 21, 3, 0, 0), + (0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, -4, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 8, -27, 0, 0), + (0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, -19, -11, 0, 0), + (0, 0, 0, 0, 0, 0, -3, 8, -3, 0, 0, 0, 2, -4, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 2, 0, 5, 2, 0), + (0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 2, -6, 0, 0, 2), + (0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, -1, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, -14, 0, 0, 6), + (0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 6, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, -74, 0, 0, 32), + (0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 2, 0, -3, -1, 0), + (0, 2, -2, 1, 0, -5, 5, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 8, 11, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 3, 2, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, -262, 0, 0, 114), + (0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0), + (0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 1, -7, 0, 0, 4), + (0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 2, 0, -27, -12, 0), + (0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 2, -19, -8, -4, 8), + (0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 2, 202, 0, 0, -87), + (0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 1, -8, 35, 19, 5), + (0, 1, -1, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 16, -5, 0, 0), + (0, 2, -2, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, 5, 0, 0, -3), + (0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0), + (0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, -35, -48, -21, 15), + (0, 0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 2, -3, -5, -2, 1), + (0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0, 0, 0, 6, 0, 0, -3), + (0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 2, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, -5, 0, 0), + (0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 1, 12, 55, 29, -6), + (0, 1, -1, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0), + (0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, -598, 0, 0, 0), + (0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 1, -3, -13, -7, 1), + (0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 2, -5, -7, -3, 2), + (0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 2, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 5, -7, 0, 0), + (0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 16, -6, 0, 0), + (0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 8, -3, 0, 0), + (0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 1, 8, -31, -16, -4), + (0, 1, -1, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 2, 113, 0, 0, -49), + (0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 2, 0, -24, -10, 0), + (0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 1, 4, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 27, 0, 0, 0), + (0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 2, 0, -4, -2, 0), + (0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 1, 5, 0, 0, -2), + (0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0), + (0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, -13, 0, 0, 6), + (0, 0, 0, 0, 0, 0, -2, 0, 5, 0, 0, 0, 2, 5, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, -18, -10, -4, 8), + (0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, -28, 0, 0), + (0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 6, 3, 2), + (0, 0, 0, 0, 0, -9, 13, 0, 0, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 2, -5, -9, -4, 2), + (0, 0, 0, 0, 0, 0, -2, 0, 4, 0, 0, 0, 2, 17, 0, 0, -7), + (0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 11, 4, 0, 0), + (0, 0, 0, 0, 0, 0, -2, 7, 0, 0, 0, 0, 2, 0, -6, -2, 0), + (0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 83, 15, 0, 0), + (0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 1, -4, 0, 0, 2), + (0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 2, 0, -114, -49, 0), + (0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 2, 117, 0, 0, -51), + (0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 1, -5, 19, 10, 2), + (0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, 0, 0, 2), + (0, 0, 0, 0, 0, 0, -3, 9, 0, 0, 0, 0, 2, 0, -3, -1, 0), + (0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 2, 0, -6, -2, 0), + (0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 393, 3, 0, 0), + (0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 1, -4, 21, 11, 2), + (0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 2, -6, 0, -1, 3), + (0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 0, 2, -3, 8, 4, 1), + (0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 8, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2, 18, -29, -13, -8), + (0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 1, 8, 34, 18, -4), + (0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0), + (0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 1, 3, 12, 6, -1), + (0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2, 54, -15, -7, -24), + (0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0, 3, 0, 0), + (0, 0, 0, 0, 0, 0, -5, 13, 0, 0, 0, 0, 2, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 35, 0, 0), + (0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2, -154, -30, -13, 67), + (0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 15, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 1, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 9, 0, 0), + (0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2, 80, -71, -31, -35), + (0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 2, 0, -20, -9, 0), + (0, 0, 0, 0, 0, 0, -6, 15, 0, 0, 0, 0, 2, 11, 5, 2, -5), + (0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 2, 61, -96, -42, -27), + (0, 0, 0, 0, 0, -3, 9, -4, 0, 0, 0, 0, 2, 14, 9, 4, -6), + (0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 2, -11, -6, -3, 5), + (0, 0, 0, 0, 0, 0, -2, 8, -1, -5, 0, 0, 2, 0, -3, -1, 0), + (0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2, 123, -415, -180, -53), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -35), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 7, -32, -17, -4), + (0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -9, -5, 0), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, -4, 2, 0), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, -89, 0, 0, 38), + (0, 0, 0, 0, 0, 0, -6, 16, -4, -5, 0, 0, 2, 0, -86, -19, -6), + (0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2, 0, 0, -19, 6), + ( + 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2, -123, -416, -180, 53, + ), + (0, 0, 0, 0, 0, 0, 6, -8, 1, 5, 0, 0, 2, 0, -3, -1, 0), + (0, 0, 0, 0, 0, 0, 2, 0, -2, 5, 0, 0, 2, 12, -6, -3, -5), + (0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0, 2, -13, 9, 4, 6), + (0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2, 0, -15, -7, 0), + (0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 1, 3, 0, 0, -1), + (0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2, -62, -97, -42, 27), + (0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2, -11, 5, 2, 5), + (0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 2, 0, -19, -8, 0), + (0, 0, 0, 0, 0, 3, -3, 0, 2, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 2, -2, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 4, 2, 0), + (0, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (0, 2, -2, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, -85, -70, -31, 37), + (0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, 163, -12, -5, -72), + (0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 0, 2, -63, -16, -7, 28), + (0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, -21, -32, -14, 9), + (0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 2, 0, -3, -1, 0), + (0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 1, 3, 0, 0, -2), + (0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0), + (0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 2, 3, 10, 4, -1), + (0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, -1, 6, 0, 0, 0, 0, 2, 0, -7, -3, 0), + (0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 2, 0, -4, -2, 0), + (0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 6, 19, 0, 0), + (0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2, 5, -173, -75, -2), + (0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 2, 0, -7, -3, 0), + (0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 2, 7, -12, -5, -3), + (0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 1, -3, 0, 0, 2), + (0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 2, 3, -4, -2, -1), + (0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 2, 74, 0, 0, -32), + (0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 1, -3, 12, 6, 2), + (0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 2, 26, -14, -6, -11), + (0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 2, 19, 0, 0, -8), + (0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 1, 6, 24, 13, -3), + (0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0), + (0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 1, 0, -10, -5, 0), + (0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 2, 11, -3, -1, -5), + (0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 2, 3, 0, 1, -1), + (0, 0, 0, 0, 0, 0, -3, 0, 5, 0, 0, 0, 2, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0), + (0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 5, -23, -12, -3), + (0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, -339, 0, 0, 147), + (0, 0, 0, 0, 0, -9, 12, 0, 0, 0, 0, 0, 2, 0, -10, -5, 0), + (0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 5, 0, 0, 0), + (0, 2, -2, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 2, 0, -4, -2, 0), + (0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 18, -3, 0, 0), + (0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 2, 9, -11, -5, -4), + (0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 0, 2, -8, 0, 0, 4), + (0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 1, 3, 0, 0, -1), + (0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0), + (0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 2, 6, -9, -4, -2), + (0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, -4, -12, 0, 0), + (0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2, 67, -91, -39, -29), + (0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2, 30, -18, -8, -13), + (0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + (0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2, 0, -114, -50, 0), + (0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2, 0, 0, 0, 23), + (0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2, 517, 16, 7, -224), + (0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 2, 0, -7, -3, 0), + (0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2, 143, -3, -1, -62), + (0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 2, 29, 0, 0, -13), + (0, 2, -2, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, -4, 0, 0, 2), + (0, 0, 0, 0, 0, -8, 16, 0, 0, 0, 0, 0, 2, -6, 0, 0, 3), + (0, 0, 0, 0, 0, 0, 3, 0, 2, -5, 0, 0, 2, 5, 12, 5, -2), + (0, 0, 0, 0, 0, 0, 7, -8, 3, 0, 0, 0, 2, -25, 0, 0, 11), + (0, 0, 0, 0, 0, 0, -5, 16, -4, -5, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 0, -1, 8, -3, 0, 0, 0, 2, -22, 12, 5, 10), + (0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2, 50, 0, 0, -22), + (0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 1, 0, 7, 4, 0), + (0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, -4, 4, 2, 2), + (0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 2, -5, -11, -5, 2), + (0, 0, 0, 0, 0, -3, 8, 0, 0, 0, 0, 0, 2, 0, 4, 2, 0), + (0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 1, 4, 17, 9, -2), + (0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0), + (0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 1, 0, -4, -2, 0), + (0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 2, -8, 0, 0, 4), + (0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 4, -15, -8, -2), + (0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 370, -8, 0, -160), + (0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2, 0, 0, -3, 0), + (0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 2, -6, 3, 1, 3), + (0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0), + (0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 2, -10, 0, 0, 4), + (0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 2, 0, 9, 4, 0), + (0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, 4, 17, 7, -2), + (0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 2, 34, 0, 0, -15), + (0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 1, 0, 5, 3, 0), + (0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 2, -5, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2, -37, -7, -3, 16), + (0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 1, 3, 13, 7, -2), + (0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0), + (0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0), + (0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2, -184, -3, -1, 80), + (0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0), + (0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 1, 0, -10, -6, -1), + (0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2, 31, -6, 0, -13), + (0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2, -3, -32, -14, 1), + (0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 2, -7, 0, 0, 3), + (0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 2, 0, -8, -4, 0), + (0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0), + (0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0), + (0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 2, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 19, -23, -10, 2), + (0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, -10), + (0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, 0, 3, 2, 0), + (0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 1, 0, 9, 5, -1), + (0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0), + (0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 1, 0, -7, -4, 0), + (0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 2, 8, -4, 0, -4), + (0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0), + (0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 2, -3, 0, 0, 1), + (0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 2, -9, 0, 1, 4), + (0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 2, 3, 12, 5, -1), + (0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 17, -3, -1, 0), + (0, 0, 0, 0, 0, -8, 8, 0, 0, 0, 0, 0, 1, 0, 7, 4, 0), + (0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0), + (0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 1, 0, -5, -3, 0), + (0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 2, 14, -3, 0, -1), + (0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0), + (0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, -5), + (0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1, 0, 5, 3, 0), + (0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0), + (0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 2, 9, 4, 3), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 4, 2, 0), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 6, 0, 0, -3), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 3, 1, 0), + (0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 5, 0, 0, -2), + (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, -1), + (1, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, 0, 0, 0), + (1, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0), + (1, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 7, 0, 0, 0), + (1, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0), + (-1, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0), + (-1, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 6, 0, 0, 0), + (-1, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -4, 0, 0), + (1, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -4, 0, 0), + (-2, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 5, 0, 0, 0), + (-1, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, -3, 0, 0, 0), + (-1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 4, 0, 0, 0), + (-1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0), + (-1, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0), + (1, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0), + (-1, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 13, 0, 0, 0), + (-2, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 21, 11, 0, 0), + (1, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -5, 0, 0), + (-1, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -5, -2, 0), + (1, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0), + (-1, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -5, 0, 0), + (-1, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, 0, 0, 2), + (0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 20, 10, 0, 0), + (-1, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, -34, 0, 0, 0), + (-1, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0), + (1, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, 3, 0, 0, -2), + (1, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (1, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, -6, 0, 0, 3), + (1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0), + (1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 3, 0, 0, 0), + (0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0), + (0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 4, 0, 0, 0), + (0, 2, 0, 2, 0, -2, 2, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 2, 0, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, 6, 0, 0, -3), + (0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0, -8, 0, 0, 3), + (0, 2, 0, 2, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, 0, 0, 0), + (0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, -2, 0), + (1, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 126, -63, -27, -55), + (-1, 2, 0, 2, 0, 10, -3, 0, 0, 0, 0, 0, 0, -5, 0, 1, 2), + (0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 28, 15, 2), + (1, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 1, -2), + (0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 9, 4, 1), + (0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 9, 4, -1), + (-1, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, -126, -63, -27, 55), + (2, 2, -2, 2, 0, 0, -2, 0, 3, 0, 0, 0, 0, 3, 0, 0, -1), + (1, 2, 0, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, 21, -11, -6, -11), + (0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0), + (-1, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, -21, -11, -6, 11), + (-2, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0, -3, 0, 0, 1), + (0, 2, 0, 2, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0), + (0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, 8, 0, 0, -4), + (0, 2, 0, 2, 0, 0, 1, 0, -1, 0, 0, 0, 0, -6, 0, 0, 3), + (0, 2, 0, 2, 0, 2, -2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (-1, 2, 2, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, 3, 0, 0, -1), + (1, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 1), + (-1, 2, 2, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0, -5, 0, 0, 2), + (2, 2, 0, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0, 24, -12, -5, -11), + (1, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 3, 1, 0), + (1, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 3, 1, 0), + (1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0), + (0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, -24, -12, -5, 10), + (2, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 0, -1, -2), + (-1, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0, 13, 0, 0, -6), + (-1, 2, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0, 7, 0, 0, -3), + (1, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1), + (0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0, 3, 0, 0, -1), +]; diff --git a/01_yachay/cosmos/cosmos-core/src/nutation/types.rs b/01_yachay/cosmos/cosmos-core/src/nutation/types.rs new file mode 100644 index 0000000..b5d801c --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/nutation/types.rs @@ -0,0 +1,106 @@ +//! Types for representing nutation computation results. +//! +//! This module provides the primary types for working with nutation: +//! +//! - [`NutationResult`]: The computed nutation angles (Δψ and Δε) +//! - [`NutationModel`]: A facade for selecting and using nutation models +//! +//! Nutation values are returned in radians and represent corrections to the +//! mean pole position due to the gravitational influence of the Moon and Sun +//! on Earth's equatorial bulge. + +use super::iau2000a::NutationIAU2000A; +use crate::errors::AstroResult; + +/// The result of a nutation computation, containing the nutation in longitude +/// and nutation in obliquity. +/// +/// Both values are expressed in radians and represent small corrections +/// (typically on the order of arcseconds) to the mean celestial pole position. +/// +/// # Coordinate System +/// +/// - `delta_psi` (Δψ): Nutation in longitude, measured along the ecliptic +/// - `delta_eps` (Δε): Nutation in obliquity, measured perpendicular to the ecliptic +/// +/// These corrections are applied to obtain the true (apparent) pole position +/// from the mean pole position at a given epoch. +#[derive(Debug, Clone, PartialEq)] +pub struct NutationResult { + /// Nutation in longitude (Δψ) in radians. + /// + /// This is the east-west oscillation of the celestial pole along the + /// ecliptic. Positive values indicate eastward displacement. + pub delta_psi: f64, + + /// Nutation in obliquity (Δε) in radians. + /// + /// This is the north-south oscillation of the celestial pole perpendicular + /// to the ecliptic. Positive values indicate an increase in the obliquity + /// of the ecliptic. + pub delta_eps: f64, +} + +/// A facade for computing nutation using a selected IAU model. +/// +/// This type provides a unified interface for nutation computation, +/// abstracting over the underlying model implementation. Currently +/// supports IAU 2000A, with IAU 2000A as the default. +/// +/// # Usage +/// +/// ```ignore +/// let model = NutationModel::iau2000a(); +/// let result = model.compute(2451545.0, 0.0)?; +/// // result.delta_psi and result.delta_eps are in radians +/// ``` +/// +/// # Two-Part Julian Date +/// +/// The `compute` method accepts a two-part Julian Date for enhanced +/// precision. The date is interpreted as `jd1 + jd2`. A common convention +/// is `jd1 = 2451545.0` (J2000.0) and `jd2 = days since J2000.0`. +#[derive(Debug, Clone)] +pub struct NutationModel { + /// The underlying nutation calculator implementation. + calculator: NutationIAU2000A, +} + +impl NutationModel { + /// Creates a new `NutationModel` using the IAU 2000A nutation model. + /// + /// IAU 2000A is the full-precision model with 1365 terms, providing + /// sub-milliarcsecond accuracy. For applications where lower precision + /// is acceptable, consider using IAU 2000B (77 terms, ~1 mas accuracy). + pub fn iau2000a() -> Self { + Self { + calculator: NutationIAU2000A::new(), + } + } + + /// Computes nutation angles for the given two-part Julian Date. + /// + /// # Arguments + /// + /// * `jd1` - First part of the Julian Date (typically the integer part or J2000.0) + /// * `jd2` - Second part of the Julian Date (typically the fractional part) + /// + /// # Returns + /// + /// A [`NutationResult`] containing `delta_psi` and `delta_eps` in radians. + /// + /// # Errors + /// + /// Returns an error if the underlying computation encounters invalid inputs + /// or numerical issues. + pub fn compute(&self, jd1: f64, jd2: f64) -> AstroResult { + self.calculator.compute(jd1, jd2) + } +} + +impl Default for NutationModel { + /// Returns the default nutation model (IAU 2000A). + fn default() -> Self { + Self::iau2000a() + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/obliquity.rs b/01_yachay/cosmos/cosmos-core/src/obliquity.rs new file mode 100644 index 0000000..e3c3669 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/obliquity.rs @@ -0,0 +1,66 @@ +//! Mean obliquity of the ecliptic. +//! +//! The obliquity is the angle between Earth's equatorial plane and the ecliptic +//! (the plane of Earth's orbit around the Sun). It's approximately 23.4° and +//! decreases slowly due to gravitational perturbations from other planets. +//! +//! This module provides two IAU models: +//! +//! | Function | Model | J2000.0 Value | Polynomial Order | +//! |----------|-------|---------------|------------------| +//! | [`iau_2006_mean_obliquity`] | IAU 2006 | 84381.406″ | 5th order | +//! | [`iau_1980_mean_obliquity`] | IAU 1980 | 84381.448″ | 3rd order | +//! +//! Both return the *mean* obliquity — the smoothly varying component without +//! short-period nutation oscillations. For the *true* obliquity (mean + nutation +//! in obliquity), add [`NutationResult::delta_eps`](crate::nutation::NutationResult::delta_eps). +//! +//! # Time Argument +//! +//! Both functions accept a two-part Julian Date in TDB. Split as `(jd1, jd2)` +//! where typically `jd1 = 2451545.0` (J2000.0) and `jd2` is days from that epoch. +//! +//! # Example +//! +//! ``` +//! use cosmos_core::obliquity::iau_2006_mean_obliquity; +//! use cosmos_core::constants::J2000_JD; +//! +//! // At J2000.0 +//! let eps = iau_2006_mean_obliquity(J2000_JD, 0.0); +//! let eps_deg = eps.to_degrees(); +//! assert!((eps_deg - 23.4392794).abs() < 1e-6); +//! ``` + +use crate::constants::J2000_JD; + +/// Mean obliquity of the ecliptic using the IAU 2006 precession model. +/// +/// Returns the mean obliquity in radians. This is a 5th-order polynomial +/// valid for several centuries around J2000.0. +/// +/// At J2000.0: ε₀ = 84381.406″ ≈ 23°26′21.406″ +pub fn iau_2006_mean_obliquity(date1: f64, date2: f64) -> f64 { + let t = ((date1 - J2000_JD) + date2) / crate::constants::DAYS_PER_JULIAN_CENTURY; + + let obliquity_arcsec = 84381.406 + + (-46.836769 + + (-0.0001831 + (0.00200340 + (-0.000000576 + (-0.0000000434) * t) * t) * t) * t) + * t; + + obliquity_arcsec * (crate::constants::PI / (180.0 * 3600.0)) +} + +/// Mean obliquity of the ecliptic using the IAU 1980 model. +/// +/// Returns the mean obliquity in radians. This is a 3rd-order polynomial, +/// less accurate than the IAU 2006 model but still used with IAU 1980 nutation. +/// +/// At J2000.0: ε₀ = 84381.448″ ≈ 23°26′21.448″ +pub fn iau_1980_mean_obliquity(date1: f64, date2: f64) -> f64 { + let t = ((date1 - J2000_JD) + date2) / crate::constants::DAYS_PER_JULIAN_CENTURY; + + let obliquity_arcsec = 84381.448 + (-46.8150 + (-0.00059 + (0.001813) * t) * t) * t; + + obliquity_arcsec * (crate::constants::PI / (180.0 * 3600.0)) +} diff --git a/01_yachay/cosmos/cosmos-core/src/precession/iau2000.rs b/01_yachay/cosmos/cosmos-core/src/precession/iau2000.rs new file mode 100644 index 0000000..954c41c --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/precession/iau2000.rs @@ -0,0 +1,293 @@ +//! IAU 2000 precession model. +//! +//! This module implements the IAU 2000A precession model, which describes +//! the gradual shift of Earth's rotational axis and equatorial plane due to +//! gravitational torques from the Sun and Moon acting on Earth's equatorial +//! bulge. +//! +//! # Background +//! +//! Precession causes the celestial pole to trace a circle around the ecliptic +//! pole over approximately 26,000 years. The IAU 2000 model computes precession +//! as a correction to the earlier IAU 1976 (Lieske) precession, applying +//! small adjustments derived from VLBI observations. +//! +//! The model separates two components: +//! +//! - **Frame bias**: A small fixed rotation accounting for the offset between +//! the dynamical mean equator and equinox of J2000.0 and the ICRS origin. +//! +//! - **Precession**: Time-dependent rotation from J2000.0 to the mean equator +//! and equinox of date. +//! +//! # Reference Frame +//! +//! The frame bias rotates from the Geocentric Celestial Reference System (GCRS) +//! to the mean equator and equinox of J2000.0. The bias parameters are: +//! +//! - Right ascension of the pole: -14.6 mas +//! - Longitude of the pole: -41.775 mas +//! - Obliquity of the pole: -6.8192 mas +//! +//! These values are from the IERS Conventions (2010), Table 5.1. +//! +//! # Algorithm +//! +//! The precession matrix is constructed using the Lieske (1979) angles with +//! IAU 2000 corrections: +//! +//! 1. Compute the Lieske precession angles (psi_A, omega_A, chi_A) using +//! polynomial expressions in Julian centuries from J2000.0 +//! +//! 2. Apply the IAU 2000 precession-rate corrections: +//! - dpsi_pr = -0.29965"/century +//! - deps_pr = -0.02524"/century +//! +//! 3. Construct the rotation matrix R_x(eps_0) R_z(-psi_A) R_x(-omega_A) R_z(chi_A) +//! +//! # Accuracy +//! +//! The IAU 2000 precession model is accurate to approximately 0.3 mas/century +//! over several centuries around J2000.0. For higher accuracy over longer time +//! spans, see the IAU 2006 precession model which uses improved polynomial +//! expressions. +//! +//! # References +//! +//! - IERS Conventions (2010), Chapter 5 +//! - Lieske et al. (1977), A&A 58, 1-16 +//! - Mathews, Herring & Buffett (2002), J. Geophys. Res. 107 + +use super::types::PrecessionResult; +use crate::constants::ARCSEC_TO_RAD; +use crate::matrix::RotationMatrix3; + +/// IAU 2000 precession computation. +/// +/// Computes the precession and frame bias matrices for transforming +/// coordinates between J2000.0 and the mean equator and equinox of date. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::precession::PrecessionIAU2000; +/// +/// let precession = PrecessionIAU2000::new(); +/// +/// // Compute for 0.5 Julian centuries (50 years) after J2000.0 +/// let result = precession.compute(0.5).unwrap(); +/// +/// // Access individual matrices +/// let _bias = &result.bias_matrix; // GCRS to mean J2000.0 +/// let _prec = &result.precession_matrix; // Mean J2000.0 to mean of date +/// let _combined = &result.bias_precession_matrix; // GCRS to mean of date +/// ``` +pub struct PrecessionIAU2000; + +impl PrecessionIAU2000 { + /// Creates a new IAU 2000 precession calculator. + pub fn new() -> Self { + Self + } + + /// Computes precession matrices for the given time. + /// + /// # Arguments + /// + /// * `tt_centuries` - Julian centuries of TT from J2000.0 (JD 2451545.0). + /// Positive values are after J2000.0, negative values before. + /// + /// # Returns + /// + /// A [`PrecessionResult`] containing: + /// - `bias_matrix`: Rotation from GCRS to mean equator/equinox of J2000.0 + /// - `precession_matrix`: Rotation from mean J2000.0 to mean of date + /// - `bias_precession_matrix`: Combined rotation from GCRS to mean of date + /// + /// The combined matrix is computed as `precession_matrix * bias_matrix`. + /// + /// # Notes + /// + /// The bias matrix is constant (independent of time) and accounts for + /// the small misalignment between the ICRS and the dynamical frame. + /// The precession matrix is identity at t=0 and diverges with time. + pub fn compute(&self, tt_centuries: f64) -> crate::AstroResult { + let bias_matrix = self.frame_bias_matrix_iau2000(); + + let precession_matrix = self.precession_matrix_iau2000(tt_centuries)?; + + let bias_precession_matrix = precession_matrix.multiply(&bias_matrix); + + Ok(PrecessionResult { + bias_matrix, + precession_matrix, + bias_precession_matrix, + }) + } + + /// Computes the frame bias matrix for IAU 2000. + /// + /// The frame bias accounts for the offset between the GCRS (defined by + /// extragalactic radio sources) and the mean dynamical frame of J2000.0. + /// This is a small, constant rotation of order tens of milliarcseconds. + /// + /// The rotation sequence is R_z(dRA) R_y(dLon * sin(eps0)) R_x(-dObl), + /// where the bias parameters are defined at the J2000.0 epoch. + fn frame_bias_matrix_iau2000(&self) -> RotationMatrix3 { + // Mean obliquity at J2000.0 (arcseconds converted to radians) + const EPS0: f64 = 84381.448 * ARCSEC_TO_RAD; + + // Frame bias parameters from IERS Conventions (2010), Table 5.1 + // All values in milliarcseconds, converted to radians + const FRAME_BIAS_LONGITUDE: f64 = -0.041775 / 1000.0 * ARCSEC_TO_RAD; + const FRAME_BIAS_OBLIQUITY: f64 = -0.0068192 / 1000.0 * ARCSEC_TO_RAD; + const FRAME_BIAS_RA_OFFSET: f64 = -0.0146 / 1000.0 * ARCSEC_TO_RAD; + + let mut rb = RotationMatrix3::identity(); + rb.rotate_z(FRAME_BIAS_RA_OFFSET); + rb.rotate_y(FRAME_BIAS_LONGITUDE * libm::sin(EPS0)); + rb.rotate_x(-FRAME_BIAS_OBLIQUITY); + + rb + } + + /// Computes the precession matrix from mean J2000.0 to mean of date. + /// + /// Uses the Lieske et al. (1977) precession angles with IAU 2000 corrections. + /// The angles psi_A (precession in longitude), omega_A (obliquity of the + /// ecliptic), and chi_A (planetary precession) are computed as polynomials + /// in time, then small corrections are applied for the IAU 2000 model. + /// + /// The rotation sequence R_x(eps0) R_z(-psi_A) R_x(-omega_A) R_z(chi_A) + /// transforms vectors from the mean equator/equinox of J2000.0 to the + /// mean equator/equinox of date. + fn precession_matrix_iau2000(&self, tt_centuries: f64) -> crate::AstroResult { + // Mean obliquity at J2000.0 + const EPS0: f64 = 84381.448 * ARCSEC_TO_RAD; + + let t = tt_centuries; + + // Lieske (1979) precession angles (arcseconds, converted to radians) + // psi_A: precession in longitude + // omega_A: obliquity of the ecliptic of date + // chi_A: planetary precession + let psia77 = (5038.7784 + (-1.07259 + (-0.001147) * t) * t) * t * ARCSEC_TO_RAD; + let oma77 = EPS0 + ((0.05127 + (-0.007726) * t) * t) * t * ARCSEC_TO_RAD; + let chia = (10.5526 + (-2.38064 + (-0.001125) * t) * t) * t * ARCSEC_TO_RAD; + + // IAU 2000 precession-rate corrections (milliarcseconds/century) + // These adjust the Lieske angles based on VLBI observations + let dpsipr = -0.29965 / 1000.0 * ARCSEC_TO_RAD * t; + let depspr = -0.02524 / 1000.0 * ARCSEC_TO_RAD * t; + + // Apply corrections to Lieske angles + let psia = psia77 + dpsipr; + let oma = oma77 + depspr; + + // Build precession matrix using four rotations + let mut rp = RotationMatrix3::identity(); + + rp.rotate_x(EPS0); // Rotate to ecliptic of J2000.0 + rp.rotate_z(-psia); // Precess along ecliptic + rp.rotate_x(-oma); // Rotate to equator of date + rp.rotate_z(chia); // Account for planetary precession + + Ok(rp) + } +} + +impl Default for PrecessionIAU2000 { + fn default() -> Self { + Self::new() + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::test_helpers::assert_ulp_le; + + #[test] + fn test_new_and_default() { + let p1 = PrecessionIAU2000::new(); + let p2 = PrecessionIAU2000::default(); + let r1 = p1.compute(0.0).unwrap(); + let r2 = p2.compute(0.0).unwrap(); + assert_eq!(r1.bias_matrix, r2.bias_matrix); + } + + #[test] + fn test_compute_returns_rotation_matrices() { + let p = PrecessionIAU2000::new(); + let result = p.compute(0.5).unwrap(); + assert!(result.bias_matrix.is_rotation_matrix(1e-14)); + assert!(result.precession_matrix.is_rotation_matrix(1e-14)); + assert!(result.bias_precession_matrix.is_rotation_matrix(1e-14)); + } + + #[test] + fn test_bias_matrix_is_constant() { + let p = PrecessionIAU2000::new(); + let r1 = p.compute(0.0).unwrap(); + let r2 = p.compute(1.0).unwrap(); + assert_eq!(r1.bias_matrix, r2.bias_matrix); + } + + #[test] + fn test_precession_at_j2000_is_identity() { + let p = PrecessionIAU2000::new(); + let result = p.compute(0.0).unwrap(); + for i in 0..3 { + for j in 0..3 { + let expected = if i == j { 1.0 } else { 0.0 }; + assert_ulp_le( + result.precession_matrix.get(i, j), + expected, + 1, + &format!("precession[{},{}] at t=0", i, j), + ); + } + } + } + + #[test] + fn test_precession_changes_with_time() { + let p = PrecessionIAU2000::new(); + let r0 = p.compute(0.0).unwrap(); + let r1 = p.compute(1.0).unwrap(); + // Verify precession matrix is NOT identity after 1 century + // At least one element must differ significantly from identity + let mut differs = false; + for i in 0..3 { + for j in 0..3 { + let identity_val = if i == j { 1.0 } else { 0.0 }; + if (r1.precession_matrix.get(i, j) - identity_val).abs() > 1e-4 { + differs = true; + } + } + } + assert!( + differs, + "precession matrix should differ from identity after 1 century" + ); + // Also verify the two matrices are not equal + assert_ne!(r0.precession_matrix, r1.precession_matrix); + } + + #[test] + fn test_combined_matrix_consistency() { + let p = PrecessionIAU2000::new(); + let result = p.compute(0.5).unwrap(); + let expected = result.precession_matrix.multiply(&result.bias_matrix); + for i in 0..3 { + for j in 0..3 { + assert_ulp_le( + result.bias_precession_matrix.get(i, j), + expected.get(i, j), + 1, + &format!("bias_precession[{},{}]", i, j), + ); + } + } + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/precession/iau2006.rs b/01_yachay/cosmos/cosmos-core/src/precession/iau2006.rs new file mode 100644 index 0000000..398ed18 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/precession/iau2006.rs @@ -0,0 +1,425 @@ +//! IAU 2006 precession model. +//! +//! This module implements the IAU 2006 precession model, which supersedes the +//! IAU 2000 precession. The key improvement is the adoption of a new precession +//! rate in longitude (the "P03" solution) derived by Capitaine et al. (2003), +//! which corrected the IAU 2000 value by approximately -0.3 milliarcseconds per +//! year. This correction addressed a long-standing discrepancy with VLBI +//! observations. +//! +//! The model uses the Fukushima-Williams parameterization (gamb, phib, psib, +//! epsa), which provides a more stable numerical formulation than the classical +//! Euler angles. These four angles define the orientation of the mean equator +//! and equinox of date relative to J2000.0. +//! +//! # Background +//! +//! The Earth's rotation axis precesses around the ecliptic pole with a period +//! of approximately 26,000 years. The IAU 2006 precession model describes this +//! motion through polynomial expressions in Julian centuries from J2000.0, +//! derived from the most accurate celestial reference frame observations +//! available at the time. +//! +//! The Fukushima-Williams angles are: +//! - **gamb**: Frame bias in the longitude direction +//! - **phib**: Frame bias in the obliquity direction +//! - **psib**: Precession in longitude (luni-solar + planetary) +//! - **epsa**: Mean obliquity of the ecliptic +//! +//! # References +//! +//! - IERS Conventions (2010), Chapter 5 +//! - Capitaine, N., Wallace, P.T., & Chapront, J. (2003), A&A 412, 567-586 +//! - Hilton, J.L., et al. (2006), Celest. Mech. Dyn. Astron. 94, 351-367 + +use super::types::PrecessionResult; +use crate::constants::ARCSEC_TO_RAD; +use crate::constants::J2000_JD; +use crate::matrix::RotationMatrix3; + +/// IAU 2006 precession model using the Fukushima-Williams parameterization. +/// +/// This struct provides methods to compute precession matrices that transform +/// coordinates between the J2000.0 reference frame and the mean equator and +/// equinox of a given date. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::precession::PrecessionIAU2006; +/// use cosmos_core::constants::J2000_JD; +/// +/// let precession = PrecessionIAU2006::new(); +/// let result = precession.compute(J2000_JD, 3652.5).unwrap(); // ~10 years after J2000 +/// +/// // The result contains three matrices: +/// // - bias_matrix: transforms from GCRS to mean J2000.0 frame +/// // - precession_matrix: transforms from mean J2000.0 to mean of date +/// // - bias_precession_matrix: combined transform from GCRS to mean of date +/// ``` +pub struct PrecessionIAU2006; + +impl Default for PrecessionIAU2006 { + fn default() -> Self { + Self::new() + } +} + +impl PrecessionIAU2006 { + /// Creates a new IAU 2006 precession model instance. + pub fn new() -> Self { + Self + } + + /// Computes precession matrices for the given Julian Date. + /// + /// The date is specified as a two-part Julian Date for maximum precision: + /// `jd = date1 + date2`. A common convention is `date1 = J2000_JD` and + /// `date2 = days since J2000.0`. + /// + /// # Returns + /// + /// A [`PrecessionResult`] containing: + /// - `bias_matrix`: The frame bias matrix at J2000.0 + /// - `precession_matrix`: Pure precession from mean J2000.0 to mean of date + /// - `bias_precession_matrix`: Combined bias + precession matrix + /// + /// # Algorithm + /// + /// 1. Compute Fukushima-Williams angles at the target date + /// 2. Build the combined bias-precession matrix from these angles + /// 3. Compute the J2000.0 bias matrix (FW angles at t=0) + /// 4. Extract pure precession by removing the bias: P = BP * B^T + pub fn compute(&self, date1: f64, date2: f64) -> crate::AstroResult { + let t = ((date1 - J2000_JD) + date2) / crate::constants::DAYS_PER_JULIAN_CENTURY; + + let (gamb, phib, psib, _epsa_unused) = self.fukushima_williams_angles(t); + let epsa = self.obliquity_from_t(t); + + let bias_precession_matrix = self.fw_angles_to_matrix(gamb, phib, psib, epsa); + + let (gamb_j2000, phib_j2000, psib_j2000, _epsa_j2000_unused) = + self.fukushima_williams_angles(0.0); + let epsa_j2000 = self.obliquity_from_t(0.0); + let bias_matrix = self.fw_angles_to_matrix(gamb_j2000, phib_j2000, psib_j2000, epsa_j2000); + + let bias_inverse = bias_matrix.transpose(); + let precession_matrix = bias_precession_matrix.multiply(&bias_inverse); + + Ok(PrecessionResult { + bias_matrix, + precession_matrix, + bias_precession_matrix, + }) + } + + /// Computes the four Fukushima-Williams angles for a given time. + /// + /// These angles parameterize the orientation of the mean equator and equinox + /// of date relative to the GCRS. The polynomial coefficients are from + /// Hilton et al. (2006) and implement the IAU 2006 precession. + /// + /// # Arguments + /// + /// * `t` - Julian centuries of TDB (or TT, the difference is negligible) + /// since J2000.0 + /// + /// # Returns + /// + /// A tuple `(gamb, phib, psib, epsa)` in radians: + /// - `gamb`: F-W angle gamma_bar (related to frame bias in longitude) + /// - `phib`: F-W angle phi_bar (related to frame bias in obliquity) + /// - `psib`: F-W angle psi_bar (precession in longitude) + /// - `epsa`: Mean obliquity of the ecliptic + /// + /// # Note + /// + /// The polynomials use Horner's method for numerical stability. + pub fn fukushima_williams_angles(&self, t: f64) -> (f64, f64, f64, f64) { + let gamb = (-0.052928 + + (10.556378 + + (0.4932044 + (-0.00031238 + (-0.000002788 + (0.0000000260) * t) * t) * t) * t) + * t) + * ARCSEC_TO_RAD; + + let phib = (84381.412819 + + (-46.811016 + + (0.0511268 + (0.00053289 + (-0.000000440 + (-0.0000000176) * t) * t) * t) * t) + * t) + * ARCSEC_TO_RAD; + + let psib = (-0.041775 + + (5038.481484 + + (1.5584175 + (-0.00018522 + (-0.000026452 + (-0.0000000148) * t) * t) * t) * t) + * t) + * ARCSEC_TO_RAD; + + let epsa = (84381.406 + + (-46.836769 + + (-0.0001831 + (0.00200340 + (-0.000000576 + (-0.0000000434) * t) * t) * t) * t) + * t) + * ARCSEC_TO_RAD; + + (gamb, phib, psib, epsa) + } + + /// Computes the IAU 2006 mean obliquity of the ecliptic. + /// + /// This is the angle between the mean equator and the ecliptic plane, + /// accounting for the secular decrease due to planetary perturbations. + /// The polynomial is from Capitaine et al. (2003), Eq. 37. + /// + /// At J2000.0, the mean obliquity is approximately 84381.406 arcseconds + /// (about 23.4 degrees), decreasing by roughly 47 arcseconds per century. + fn obliquity_from_t(&self, t: f64) -> f64 { + (84381.406 + + (-46.836769 + + (-0.0001831 + (0.00200340 + (-0.000000576 + (-0.0000000434) * t) * t) * t) * t) + * t) + * ARCSEC_TO_RAD + } + + /// Constructs a rotation matrix from the four Fukushima-Williams angles. + /// + /// The matrix is built as a sequence of four rotations: + /// 1. Rz(gamb) - rotation about the z-axis by gamma_bar + /// 2. Rx(phib) - rotation about the new x-axis by phi_bar + /// 3. Rz(-psib) - rotation about the new z-axis by -psi_bar + /// 4. Rx(-epsa) - rotation about the new x-axis by -epsilon_A + /// + /// This sequence transforms vectors from the GCRS (or the mean equator + /// and equinox of J2000.0 when using bias-free angles) to the mean + /// equator and equinox of date. + /// + /// # Arguments + /// + /// * `gamb` - F-W angle gamma_bar in radians + /// * `phib` - F-W angle phi_bar in radians + /// * `psib` - F-W angle psi_bar in radians + /// * `epsa` - Mean obliquity epsilon_A in radians + pub fn fw_angles_to_matrix( + &self, + gamb: f64, + phib: f64, + psib: f64, + epsa: f64, + ) -> RotationMatrix3 { + let mut matrix = RotationMatrix3::identity(); + + matrix.rotate_z(gamb); + + matrix.rotate_x(phib); + + matrix.rotate_z(-psib); + + matrix.rotate_x(-epsa); + + matrix + } + + /// Computes the combined nutation-precession-bias (NPB) matrix for IAU 2006/2000A. + /// + /// This method combines the IAU 2006 precession with nutation corrections + /// (typically from the IAU 2000A nutation model) to produce a single rotation + /// matrix that transforms GCRS coordinates to the true equator and equinox + /// of date. + /// + /// The nutation corrections `dpsi` (nutation in longitude) and `deps` + /// (nutation in obliquity) are added to the precession angles psi_bar and + /// epsilon_A respectively before constructing the F-W matrix. + /// + /// # Arguments + /// + /// * `tt_centuries` - Julian centuries of TT since J2000.0 + /// * `dpsi` - Nutation in longitude in radians + /// * `deps` - Nutation in obliquity in radians + /// + /// # Returns + /// + /// A rotation matrix that transforms from GCRS to the true equator and + /// equinox of date, incorporating frame bias, precession, and nutation. + pub fn npb_matrix_iau2006a(&self, tt_centuries: f64, dpsi: f64, deps: f64) -> RotationMatrix3 { + let (gamb, phib, psib, epsa) = self.fukushima_williams_angles(tt_centuries); + + self.fw_angles_to_matrix(gamb, phib, psib + dpsi, epsa + deps) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::test_helpers::assert_ulp_le; + + #[test] + fn test_new_and_default() { + let p1 = PrecessionIAU2006::new(); + let p2 = PrecessionIAU2006::default(); + let r1 = p1.compute(J2000_JD, 0.0).unwrap(); + let r2 = p2.compute(J2000_JD, 0.0).unwrap(); + assert_eq!(r1.bias_matrix, r2.bias_matrix); + } + + #[test] + fn test_compute_returns_rotation_matrices() { + let p = PrecessionIAU2006::new(); + let result = p + .compute(J2000_JD, 0.5 * crate::constants::DAYS_PER_JULIAN_CENTURY) + .unwrap(); + assert!(result.bias_matrix.is_rotation_matrix(1e-14)); + assert!(result.precession_matrix.is_rotation_matrix(1e-14)); + assert!(result.bias_precession_matrix.is_rotation_matrix(1e-14)); + } + + #[test] + fn test_bias_matrix_is_constant() { + let p = PrecessionIAU2006::new(); + let r1 = p.compute(J2000_JD, 0.0).unwrap(); + let r2 = p + .compute(J2000_JD, crate::constants::DAYS_PER_JULIAN_CENTURY) + .unwrap(); + assert_eq!(r1.bias_matrix, r2.bias_matrix); + } + + #[test] + fn test_precession_at_j2000_is_identity() { + let p = PrecessionIAU2006::new(); + let result = p.compute(J2000_JD, 0.0).unwrap(); + // Precession = bias_precession * bias_inverse, so numerical noise accumulates + // Diagonal elements: check ULP against 1.0 + // Off-diagonal elements: check they're tiny (numerical noise ~1e-22) + for i in 0..3 { + for j in 0..3 { + if i == j { + assert_ulp_le( + result.precession_matrix.get(i, j), + 1.0, + 4, + &format!("precession[{},{}] at t=0", i, j), + ); + } else { + assert!( + result.precession_matrix.get(i, j).abs() < 1e-15, + "precession[{},{}] at t=0 should be ~0, got {}", + i, + j, + result.precession_matrix.get(i, j) + ); + } + } + } + } + + #[test] + fn test_precession_changes_with_time() { + let p = PrecessionIAU2006::new(); + let r0 = p.compute(J2000_JD, 0.0).unwrap(); + let r1 = p + .compute(J2000_JD, crate::constants::DAYS_PER_JULIAN_CENTURY) + .unwrap(); + let mut differs = false; + for i in 0..3 { + for j in 0..3 { + let identity_val = if i == j { 1.0 } else { 0.0 }; + if (r1.precession_matrix.get(i, j) - identity_val).abs() > 1e-4 { + differs = true; + } + } + } + assert!( + differs, + "precession matrix should differ from identity after 1 century" + ); + assert_ne!(r0.precession_matrix, r1.precession_matrix); + } + + #[test] + fn test_combined_matrix_consistency() { + let p = PrecessionIAU2006::new(); + let result = p + .compute(J2000_JD, 0.5 * crate::constants::DAYS_PER_JULIAN_CENTURY) + .unwrap(); + let bias_inverse = result.bias_matrix.transpose(); + let expected = result.bias_precession_matrix.multiply(&bias_inverse); + for i in 0..3 { + for j in 0..3 { + assert_ulp_le( + result.precession_matrix.get(i, j), + expected.get(i, j), + 2, + &format!("precession[{},{}]", i, j), + ); + } + } + } + + #[test] + fn test_fukushima_williams_angles_at_j2000() { + let p = PrecessionIAU2006::new(); + let (gamb, phib, psib, epsa) = p.fukushima_williams_angles(0.0); + assert_ulp_le(gamb, -0.052928 * ARCSEC_TO_RAD, 1, "gamb at t=0"); + assert_ulp_le(phib, 84381.412819 * ARCSEC_TO_RAD, 1, "phib at t=0"); + assert_ulp_le(psib, -0.041775 * ARCSEC_TO_RAD, 1, "psib at t=0"); + assert_ulp_le(epsa, 84381.406 * ARCSEC_TO_RAD, 1, "epsa at t=0"); + } + + #[test] + fn test_fukushima_williams_angles_change_with_time() { + let p = PrecessionIAU2006::new(); + let (gamb0, phib0, psib0, epsa0) = p.fukushima_williams_angles(0.0); + let (gamb1, phib1, psib1, epsa1) = p.fukushima_williams_angles(1.0); + assert_ne!(gamb0, gamb1); + assert_ne!(phib0, phib1); + assert_ne!(psib0, psib1); + assert_ne!(epsa0, epsa1); + } + + #[test] + fn test_fw_angles_to_matrix_returns_rotation() { + let p = PrecessionIAU2006::new(); + let (gamb, phib, psib, epsa) = p.fukushima_williams_angles(0.5); + let matrix = p.fw_angles_to_matrix(gamb, phib, psib, epsa); + assert!(matrix.is_rotation_matrix(1e-14)); + } + + #[test] + fn test_npb_matrix_returns_rotation() { + let p = PrecessionIAU2006::new(); + let matrix = p.npb_matrix_iau2006a(0.5, 0.001 * ARCSEC_TO_RAD, 0.0005 * ARCSEC_TO_RAD); + assert!(matrix.is_rotation_matrix(1e-14)); + } + + #[test] + fn test_npb_matrix_with_zero_nutation() { + let p = PrecessionIAU2006::new(); + let (gamb, phib, psib, epsa) = p.fukushima_williams_angles(0.5); + let fw_matrix = p.fw_angles_to_matrix(gamb, phib, psib, epsa); + let npb_matrix = p.npb_matrix_iau2006a(0.5, 0.0, 0.0); + for i in 0..3 { + for j in 0..3 { + assert_ulp_le( + npb_matrix.get(i, j), + fw_matrix.get(i, j), + 1, + &format!("npb[{},{}] with zero nutation", i, j), + ); + } + } + } + + #[test] + fn test_two_part_date_equivalence() { + let p = PrecessionIAU2006::new(); + let r1 = p.compute(J2000_JD, 1000.0).unwrap(); + let r2 = p.compute(J2000_JD + 500.0, 500.0).unwrap(); + for i in 0..3 { + for j in 0..3 { + assert_ulp_le( + r1.bias_precession_matrix.get(i, j), + r2.bias_precession_matrix.get(i, j), + 1, + &format!("two-part date[{},{}]", i, j), + ); + } + } + } +} diff --git a/01_yachay/cosmos/cosmos-core/src/precession/mod.rs b/01_yachay/cosmos/cosmos-core/src/precession/mod.rs new file mode 100644 index 0000000..116b864 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/precession/mod.rs @@ -0,0 +1,84 @@ +//! Precession models for transforming coordinates between epochs. +//! +//! Precession is the slow, continuous change in the orientation of Earth's rotational +//! axis caused by gravitational torques from the Sun and Moon acting on Earth's +//! equatorial bulge. The axis traces a cone in space with a period of approximately +//! 26,000 years (the "Platonic year"), causing the celestial pole to drift among +//! the stars and the vernal equinox to move westward along the ecliptic. +//! +//! This module provides rotation matrices that transform celestial coordinates from +//! one epoch to another, accounting for the accumulated precession between epochs. +//! +//! # Available Models +//! +//! ## IAU 2000 +//! +//! The IAU 2000 precession model ([`PrecessionIAU2000`]) uses the Lieske (1977) +//! precession angles with corrections from the IAU 2000A nutation model. It computes +//! three rotation angles (psi_A, omega_A, chi_A) to construct the precession matrix. +//! +//! The frame bias matrix accounts for the offset between the J2000.0 dynamical frame +//! and the ICRS (International Celestial Reference System), which amounts to a few +//! milliarcseconds. +//! +//! ## IAU 2006 +//! +//! The IAU 2006 precession model ([`PrecessionIAU2006`]) uses the Fukushima-Williams +//! four-angle formulation (gamma_bar, phi_bar, psi_bar, epsilon_A). This parameterization +//! provides improved numerical stability and separates the frame bias from the +//! precession proper. +//! +//! The Fukushima-Williams angles represent: +//! - **gamma_bar**: Frame bias in right ascension +//! - **phi_bar**: Obliquity of the ecliptic at J2000.0 +//! - **psi_bar**: Precession in longitude +//! - **epsilon_A**: Mean obliquity of date +//! +//! IAU 2006 is the current standard and should be preferred for new applications. +//! +//! # Output Matrices +//! +//! Both models produce a [`PrecessionResult`] containing: +//! +//! - **bias_matrix**: Transforms from GCRS (Geocentric Celestial Reference System) +//! to the mean equator and equinox of J2000.0. This is constant for a given model. +//! +//! - **precession_matrix**: Transforms from the mean equator and equinox of J2000.0 +//! to the mean equator and equinox of date. At J2000.0 (t=0), this is the identity. +//! +//! - **bias_precession_matrix**: The combined transformation from GCRS to the mean +//! equator and equinox of date (bias_precession = precession * bias for IAU 2000, +//! computed directly via Fukushima-Williams for IAU 2006). +//! +//! # Time Argument +//! +//! IAU 2000 takes time as Julian centuries of TT (Terrestrial Time) since J2000.0. +//! IAU 2006 takes a two-part Julian Date in TT for improved numerical precision. + +pub mod iau2000; +pub mod iau2006; +pub mod types; + +pub use iau2000::PrecessionIAU2000; +pub use iau2006::PrecessionIAU2006; +pub use types::{BiasMatrix, PrecessionMatrix, PrecessionResult}; + +/// Trait for types that can compute precession matrices. +/// +/// Implementors provide access to both IAU 2000 and IAU 2006 precession models, +/// allowing consistent precession calculations across different time representations. +pub trait PrecessionCalculator { + /// Computes precession using the IAU 2000 model. + /// + /// # Arguments + /// + /// * `tt_centuries` - Julian centuries of TT since J2000.0 + fn precession_iau2000(&self, tt_centuries: f64) -> crate::AstroResult; + + /// Computes precession using the IAU 2006 model. + /// + /// # Arguments + /// + /// * `tt_centuries` - Julian centuries of TT since J2000.0 + fn precession_iau2006(&self, tt_centuries: f64) -> crate::AstroResult; +} diff --git a/01_yachay/cosmos/cosmos-core/src/precession/types.rs b/01_yachay/cosmos/cosmos-core/src/precession/types.rs new file mode 100644 index 0000000..f5dcf38 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/precession/types.rs @@ -0,0 +1,66 @@ +//! Types for representing precession computation results. +//! +//! This module provides type aliases and result structures for precession +//! calculations. The three rotation matrices (bias, precession, and combined) +//! are used to transform between different celestial reference frames. +//! +//! # Frame Relationships +//! +//! - **Bias matrix**: Transforms from GCRS (Geocentric Celestial Reference System) +//! to mean equator and equinox of J2000.0, accounting for the small offset +//! between the ICRS pole and the mean celestial pole at J2000.0. +//! +//! - **Precession matrix**: Transforms from mean equator and equinox of J2000.0 +//! to the mean equator and equinox of the target date. +//! +//! - **Bias-precession matrix**: The combined transformation from GCRS directly +//! to the mean equator and equinox of the target date. + +use crate::matrix::RotationMatrix3; + +/// Rotation matrix accounting for frame bias between GCRS and mean J2000.0. +/// +/// The bias arises because the ICRS axes are defined kinematically rather than +/// dynamically, resulting in a small angular offset from the mean equator and +/// equinox of J2000.0. This offset is approximately 23 milliarcseconds in the +/// equator (dx) and 7 milliarcseconds in the ecliptic (dy). +pub type BiasMatrix = RotationMatrix3; + +/// Rotation matrix for precession from J2000.0 to a target epoch. +/// +/// Precession is the slow, gravity-induced wobble of Earth's rotational axis, +/// with a period of approximately 26,000 years. This matrix transforms +/// coordinates from the mean equator and equinox of J2000.0 to the mean +/// equator and equinox of the specified date. +pub type PrecessionMatrix = RotationMatrix3; + +/// Combined bias and precession rotation matrix. +/// +/// This matrix is the product of the bias and precession matrices, providing +/// a single transformation from GCRS to the mean equator and equinox of the +/// target date. Using the combined matrix is more efficient than applying +/// bias and precession separately when both corrections are needed. +pub type BiasPrecessionMatrix = RotationMatrix3; + +/// Complete result of a precession computation. +/// +/// Contains all three rotation matrices needed for transformations between +/// GCRS and the mean equator/equinox of a target date. The matrices are +/// computed together because they share intermediate calculations. +/// +/// # Usage +/// +/// For most transformations, use `bias_precession_matrix` directly. The +/// individual `bias_matrix` and `precession_matrix` are provided for cases +/// where only one component is needed, or for debugging and validation. +#[derive(Debug, Clone)] +pub struct PrecessionResult { + /// The frame bias matrix (GCRS to mean J2000.0). + pub bias_matrix: BiasMatrix, + + /// The precession matrix (mean J2000.0 to mean of date). + pub precession_matrix: PrecessionMatrix, + + /// The combined bias-precession matrix (GCRS to mean of date). + pub bias_precession_matrix: BiasPrecessionMatrix, +} diff --git a/01_yachay/cosmos/cosmos-core/src/test_helpers.rs b/01_yachay/cosmos/cosmos-core/src/test_helpers.rs new file mode 100644 index 0000000..9f7c793 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/test_helpers.rs @@ -0,0 +1,79 @@ +#[inline] +pub fn f64_to_ordered_u64(x: f64) -> u64 { + let bits = x.to_bits(); + if bits & 0x8000_0000_0000_0000 != 0 { + !bits + } else { + bits | 0x8000_0000_0000_0000 + } +} + +#[inline] +pub fn ulp_diff(a: f64, b: f64) -> u64 { + let ua = f64_to_ordered_u64(a); + let ub = f64_to_ordered_u64(b); + ua.abs_diff(ub) +} + +#[track_caller] +pub fn assert_ulp_le(a: f64, b: f64, max_ulp: u64, ctx: &str) { + if a == 0.0 && b == 0.0 { + return; + } + assert!( + a.is_finite() && b.is_finite(), + "non-finite value in {}", + ctx + ); + let d = ulp_diff(a, b); + assert!( + d <= max_ulp, + "{}: ULP={} exceeds {}, a={} (0x{:016x}) b={} (0x{:016x})", + ctx, + d, + max_ulp, + a, + a.to_bits(), + b, + b.to_bits() + ); +} + +#[track_caller] +pub fn assert_float_eq(a: f64, b: f64, max_ulp: u64) { + if a == 0.0 && b == 0.0 { + return; + } + assert!(a.is_finite() && b.is_finite()); + let d = ulp_diff(a, b); + assert!( + d <= max_ulp, + "ULP={} exceeds {}, a={} (0x{:016x}) b={} (0x{:016x})", + d, + max_ulp, + a, + a.to_bits(), + b, + b.to_bits() + ); +} + +#[macro_export] +macro_rules! assert_ulp_lt { + ($a:expr, $b:expr, $max_ulp:expr) => { + $crate::test_helpers::assert_ulp_le( + $a, + $b, + $max_ulp, + &format!( + "ULP check failed: {} vs {} (max_ulp={})", + stringify!($a), + stringify!($b), + $max_ulp + ), + ) + }; + ($a:expr, $b:expr, $max_ulp:expr, $($arg:tt)*) => { + $crate::test_helpers::assert_ulp_le($a, $b, $max_ulp, &format!($($arg)*)) + }; +} diff --git a/01_yachay/cosmos/cosmos-core/src/utils.rs b/01_yachay/cosmos/cosmos-core/src/utils.rs new file mode 100644 index 0000000..f4069f9 --- /dev/null +++ b/01_yachay/cosmos/cosmos-core/src/utils.rs @@ -0,0 +1,210 @@ +//! Utility functions for time and angle conversions. +//! +//! Helper functions for common operations: Julian Date to centuries conversion, +//! angle normalization, and angular differences. These are building blocks used +//! throughout the library. +//! +//! # Time Conversion +//! +//! [`jd_to_centuries`] converts a two-part Julian Date to Julian centuries from J2000.0, +//! the time unit used by most IAU precession/nutation models. +//! +//! # Angle Normalization +//! +//! | Function | Input | Output Range | +//! |----------|-------|--------------| +//! | [`normalize_longitude`] | degrees | (-180°, 180°] | +//! | [`normalize_latitude`] | degrees | [-90°, 90°] (clamped) | +//! | [`normalize_angle_rad`] | radians | (-π, π] | +//! +//! # Angular Difference +//! +//! [`angular_difference`] computes the shortest signed difference between two angles +//! in degrees, handling the wraparound at ±180°. + +use crate::constants::{DAYS_PER_JULIAN_CENTURY, J2000_JD, PI, TWOPI}; + +/// Converts a two-part Julian Date to Julian centuries from J2000.0. +/// +/// The two-part split preserves precision. Typically: +/// - `jd1 = 2451545.0` (J2000.0 epoch) +/// - `jd2` = days from that epoch +/// +/// One Julian century = 36525 days. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::utils::jd_to_centuries; +/// use cosmos_core::constants::J2000_JD; +/// +/// // At J2000.0 → t = 0 +/// assert_eq!(jd_to_centuries(J2000_JD, 0.0), 0.0); +/// +/// // One century later → t = 1 +/// assert_eq!(jd_to_centuries(J2000_JD, cosmos_core::constants::DAYS_PER_JULIAN_CENTURY), 1.0); +/// ``` +#[inline] +pub fn jd_to_centuries(jd1: f64, jd2: f64) -> f64 { + ((jd1 - J2000_JD) + jd2) / DAYS_PER_JULIAN_CENTURY +} + +/// Normalizes longitude to the range (-180°, 180°]. +/// +/// Wraps values outside the range by adding/subtracting 360°. +#[inline] +pub fn normalize_longitude(lon: f64) -> f64 { + let mut normalized = lon % 360.0; + if normalized > 180.0 { + normalized -= 360.0; + } else if normalized < -180.0 { + normalized += 360.0; + } + normalized +} + +/// Clamps latitude to the valid range [-90°, 90°]. +/// +/// Values outside the range are clamped to the nearest pole. +#[inline] +pub fn normalize_latitude(lat: f64) -> f64 { + lat.clamp(-90.0, 90.0) +} + +/// Normalizes an angle in radians to the range (-π, π]. +#[inline] +pub fn normalize_angle_rad(angle: f64) -> f64 { + let mut normalized = angle % TWOPI; + if normalized > PI { + normalized -= TWOPI; + } else if normalized < -PI { + normalized += TWOPI; + } + normalized +} + +/// Normalizes an angle in radians to the range [0, 2π). +#[inline] +pub fn normalize_angle_to_positive(angle: f64) -> f64 { + let mut a = angle % TWOPI; + if a < 0.0 { + a += TWOPI; + } + a +} + +/// Computes the shortest signed angular difference `a - b` in degrees. +/// +/// Handles wraparound at ±180°. The result is in the range (-180°, 180°]. +/// +/// # Example +/// +/// ``` +/// use cosmos_core::utils::angular_difference; +/// +/// // Simple case +/// assert_eq!(angular_difference(90.0, 45.0), 45.0); +/// +/// // Across the 0°/360° boundary: 10° is 20° ahead of 350° +/// assert!((angular_difference(10.0, 350.0) - 20.0).abs() < 1e-12); +/// ``` +#[inline] +pub fn angular_difference(a: f64, b: f64) -> f64 { + let mut diff = a - b; + if diff > 180.0 { + diff -= 360.0; + } else if diff < -180.0 { + diff += 360.0; + } + diff +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_jd_to_centuries_j2000() { + let t = jd_to_centuries(J2000_JD, 0.0); + assert_eq!(t, 0.0); + } + + #[test] + fn test_jd_to_centuries_one_century() { + let t = jd_to_centuries(J2000_JD, crate::constants::DAYS_PER_JULIAN_CENTURY); + assert_eq!(t, 1.0); + } + + #[test] + fn test_jd_to_centuries_negative() { + let t = jd_to_centuries(J2000_JD, -crate::constants::DAYS_PER_JULIAN_CENTURY); + assert_eq!(t, -1.0); + } + + #[test] + fn test_jd_to_centuries_two_part() { + let t = jd_to_centuries(crate::constants::MJD_ZERO_POINT, 51544.5); + assert_eq!(t, 0.0); + } + + #[test] + fn test_jd_to_centuries_precision() { + let jd2 = 0.123456789; + let t = jd_to_centuries(J2000_JD, jd2); + let expected = 0.123456789 / crate::constants::DAYS_PER_JULIAN_CENTURY; + assert!((t - expected).abs() < 1e-15); + } + + #[test] + fn test_normalize_longitude() { + assert_eq!(normalize_longitude(0.0), 0.0); + assert_eq!(normalize_longitude(180.0), 180.0); + assert_eq!(normalize_longitude(-180.0), -180.0); + assert_eq!(normalize_longitude(181.0), -179.0); + assert_eq!(normalize_longitude(-181.0), 179.0); + assert_eq!(normalize_longitude(360.0), 0.0); + assert_eq!(normalize_longitude(720.0), 0.0); + assert_eq!(normalize_longitude(450.0), 90.0); + } + + #[test] + fn test_normalize_latitude() { + assert_eq!(normalize_latitude(0.0), 0.0); + assert_eq!(normalize_latitude(45.0), 45.0); + assert_eq!(normalize_latitude(-45.0), -45.0); + assert_eq!(normalize_latitude(90.0), 90.0); + assert_eq!(normalize_latitude(-90.0), -90.0); + assert_eq!(normalize_latitude(100.0), 90.0); + assert_eq!(normalize_latitude(-100.0), -90.0); + } + + #[test] + fn test_normalize_angle_rad() { + assert_eq!(normalize_angle_rad(0.0), 0.0); + assert!((normalize_angle_rad(PI) - PI).abs() < 1e-15); + assert!((normalize_angle_rad(-PI) - (-PI)).abs() < 1e-15); + assert!((normalize_angle_rad(TWOPI)).abs() < 1e-15); + assert!((normalize_angle_rad(3.0 * PI) - PI).abs() < 1e-15); + } + + #[test] + fn test_angular_difference() { + assert_eq!(angular_difference(0.0, 0.0), 0.0); + assert_eq!(angular_difference(90.0, 45.0), 45.0); + assert_eq!(angular_difference(45.0, 90.0), -45.0); + assert!((angular_difference(10.0, 350.0) - 20.0).abs() < 1e-12); + assert!((angular_difference(-170.0, 170.0) - 20.0).abs() < 1e-12); + assert!((angular_difference(350.0, 10.0) + 20.0).abs() < 1e-12); + } + + #[test] + fn test_normalize_angle_to_positive() { + assert_eq!(normalize_angle_to_positive(0.0), 0.0); + assert!((normalize_angle_to_positive(TWOPI)).abs() < 1e-15); + assert!((normalize_angle_to_positive(-PI) - PI).abs() < 1e-15); + assert!((normalize_angle_to_positive(3.0 * PI) - PI).abs() < 1e-15); + assert!(normalize_angle_to_positive(1.0) >= 0.0); + assert!(normalize_angle_to_positive(-1.0) >= 0.0); + assert!(normalize_angle_to_positive(-1.0) < TWOPI); + } +} diff --git a/01_yachay/cosmos/cosmos-corpus/Cargo.toml b/01_yachay/cosmos/cosmos-corpus/Cargo.toml new file mode 100644 index 0000000..0cdd4de --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "cosmos-corpus" +version.workspace = true +edition.workspace = true +license.workspace = true +authors.workspace = true +description = "Corpus de interpretación astrológica: pasajes de texto etiquetados por combinación e indexados para el JOIN con una carta." + +[dependencies] +serde = { workspace = true } +ron = { workspace = true } diff --git a/01_yachay/cosmos/cosmos-corpus/GUIA.md b/01_yachay/cosmos/cosmos-corpus/GUIA.md new file mode 100644 index 0000000..8ba1ed3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/GUIA.md @@ -0,0 +1,158 @@ +# Cómo generar el corpus de interpretación + +Esta guía dice **exactamente** qué hacer, a mano, para construir el +corpus que `cosmobiologia` usará para interpretar cartas sin que ninguna +IA invente una palabra. + +## Qué es (y qué NO es) el corpus + +El corpus **no es un set de reglas matemáticas**. No "calcula" la +interpretación. Las reglas —qué planeta en qué signo, qué aspecto con +qué orbe— las computa el motor astronómico. El corpus es la **biblioteca +de evidencia**: fragmentos de texto —de los libros y de tu propia +escritura— recortados y **etiquetados** con la combinación exacta que +describen. + +En runtime, las combinaciones de una carta hacen un **JOIN** contra el +corpus y traen los textos, citados y con fuente. La síntesis (tejerlos +en un párrafo continuo) es una capa posterior; el corpus solo +**almacena** y **recupera**. + +La contradicción no se promedia. Un Marte hiperdisciplinado en el +trabajo y disperso en la soledad **no** se colapsa a "medio +disciplinado": cada fuerza vive intacta en su **dominio** vivencial. Por +eso el corpus rebana la carta en tajadas (`Vital`, `Social`, `Psiquico`) +— como ver un cuerpo en cortes tomográficos. + +## El formato + +Un archivo `.ron`. Mira `ejemplo.ron` en esta misma carpeta: es una +plantilla cargable y comentada. Tiene dos secciones, `arquetipos` y +`pasajes`. + +### El "código de barras" de una combinación + +Cada pasaje se etiqueta con una clave-cadena: + +| Tipo | Sintaxis | Ejemplo | +|---|---|---| +| Planeta en signo | `planeta·signo` o `planeta/signo` | `mars·virgo`, `mars/virgo` | +| Planeta en casa | `planeta@cN` | `mars@c6` | +| Aspecto entre dos planetas | `a kind b` (tres palabras) | `mars square saturn` | + +Reglas de los identificadores: + +- minúscula, ASCII, **una sola palabra** (usa `_`: `north_node`); +- usa siempre el **mismo** nombre — `mars`, no `Marte` aquí y `mars` + allá, o el JOIN no engancha; +- en un aspecto el orden da igual: `mars square saturn` y + `saturn square mars` quedan como la misma clave. + +## Los pasos + +### Paso 1 — Crea tu archivo + +```sh +cd 01_yachay/cosmos/cosmos-corpus +cp ejemplo.ron corpus.ron +``` + +Trabaja sobre `corpus.ron`. Borra los tres pasajes-plantilla cuando +tengas los tuyos. + +### Paso 2 — (Opcional, recomendado) Escribe la ontología + +En la sección `arquetipos`, una entrada por cada planeta, signo, casa y +aspecto que uses. Cada una lleva un `perfil`: un mapa de **dimensiones +psicológicas** —las nombras tú— con un peso en `[-1.0, 1.0]`. + +```ron +( + nombre: "mars", + tipo: planeta, // planeta | signo | casa | aspecto + perfil: { + "accion": 0.9, + "deseo": 0.7, + }, +), +``` + +Esto **no es obligatorio para el JOIN** (el JOIN solo usa `pasajes`), +pero es la base para, más adelante, deducir el perfil de una combinación +que no llegaste a escribir. Si recién empiezas, puedes dejar +`arquetipos: []` y volver luego. + +### Paso 3 — Cosecha los pasajes + +Esta es la carne. Una entrada en `pasajes` por cada fragmento de +interpretación: + +```ron +( + combinacion: "mars·virgo", + texto: "Cita literal, corta, del libro — o tu propia redacción.", + fuente: "Autor, Título de la obra, p. 123", +), +``` + +Dos formas de avanzar; elige una: + +- **Por fuente** — tomas un libro y lo vacías combinación por + combinación. Bueno para cubrir un autor entero de forma pareja. +- **Por carta** — tomas la carta que estás leyendo *ahora*, listas sus + combinaciones y solo escribes esas. Bueno para tener algo útil ya, sin + esperar a "terminar" el corpus (que nunca termina). + +Recomendado: empieza **por carta**. El corpus crece con cada consulta +real. + +### Paso 4 — Cuida la fuente y el derecho de autor + +- Cita **corto** y **textual**, y **atribuye siempre** (autor, obra, + página). Fragmentos breves con cita son uso legítimo. +- No copies capítulos enteros. Si quieres volcar una idea larga, + **reescríbela con tus palabras** y pon `fuente: "propio"`. +- Convención reservada: `fuente: "deducido"` queda para perfiles + compuestos por código a futuro, no para texto de libro. + +### Paso 5 — Acota el dominio cuando el texto lo pida + +Si un pasaje describe la combinación **solo en un plano** de la vida, +márcalo: + +```ron +( + combinacion: "mars square saturn", + texto: "...", + fuente: "...", + dominio: Some(psiquico), // vital | social | psiquico +), +``` + +Sin `dominio`, el pasaje aplica al dominio que le toque por la posición +del planeta en la carta. Con `dominio`, lo fuerzas. Úsalo poco: solo +cuando el autor habla de un plano concreto. + +### Paso 6 — Valida el archivo + +```sh +cargo test -p cosmos-corpus +``` + +Si tu RON tiene un error de sintaxis, el test `ejemplo_ron_carga` +te marca el formato correcto; para validar `corpus.ron` directamente, +cárgalo desde un binario o un test propio con `Corpus::desde_ron`. + +### Paso 7 — Busca los huecos + +Con la carta cargada, `Corpus::huecos(&combinaciones)` devuelve las +combinaciones de esa carta que **no tienen ni un pasaje**. Esa lista es, +literalmente, tu cola de trabajo: lo que falta escribir. + +## Cuánto es "suficiente" + +El universo completo es grande (≈10 planetas × 12 signos = 120, otras +120 planeta-en-casa, y los aspectos). No lo persigas. El 80 % del valor +sale del 20 %: las combinaciones que de verdad aparecen en las cartas +que lees. Empieza con una carta, deja que `huecos` te guíe, y el corpus +se llena solo, consulta a consulta. diff --git a/01_yachay/cosmos/cosmos-corpus/LEEME.md b/01_yachay/cosmos/cosmos-corpus/LEEME.md new file mode 100644 index 0000000..5a563bd --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/LEEME.md @@ -0,0 +1,10 @@ +# cosmos-corpus + +> Corpus textual astronómico de [cosmos](../README.md). + +Colección curada de textos (descripciones de objetos, mitología, observaciones históricas) usable como contexto en apps tipo "qué estoy viendo" o como dataset para `iniy`. Ver [GUIA.md](GUIA.md) para el formato y los principios de curaduría. + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-model`](../cosmos-model/README.md) +- `serde` diff --git a/01_yachay/cosmos/cosmos-corpus/README.md b/01_yachay/cosmos/cosmos-corpus/README.md new file mode 100644 index 0000000..1913c84 --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/README.md @@ -0,0 +1,10 @@ +# cosmos-corpus + +> Astronomical text corpus of [cosmos](../README.md). + +Curated collection of texts (object descriptions, mythology, historical observations) usable as context in "what am I seeing" apps or as dataset for `iniy`. See [GUIA.md](GUIA.md) for the format and curation principles. + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-model`](../cosmos-model/README.md) +- `serde` diff --git a/01_yachay/cosmos/cosmos-corpus/ejemplo.ron b/01_yachay/cosmos/cosmos-corpus/ejemplo.ron new file mode 100644 index 0000000..266ffc5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/ejemplo.ron @@ -0,0 +1,72 @@ +// ejemplo.ron — plantilla del corpus de interpretación. +// +// Cópialo a un archivo propio (p. ej. `corpus.ron`) y reemplaza el +// contenido por el tuyo. Tiene dos secciones: +// +// arquetipos — la ontología: cada planeta / signo / casa / aspecto +// con su perfil semántico (las dimensiones las nombras +// TÚ; el código no presupone ninguna). +// pasajes — la evidencia: texto real, etiquetado por combinación, +// con su fuente. Es lo que el JOIN recupera. +// +// Sintaxis de la clave `combinacion` (el "código de barras"): +// "mars·virgo" o "mars/virgo" — un planeta en un signo +// "mars@c6" — un planeta en una casa +// "mars square saturn" — un aspecto (TRES palabras) +// +// Identificadores: minúscula, ASCII, una sola palabra (usa "_" para +// nombres compuestos, p. ej. "north_node"). Un aspecto se guarda con +// sus extremos ordenados, así "mars square saturn" y +// "saturn square mars" son la misma clave. +// +// Los campos `perfil` y `dominio` de un pasaje son opcionales: omítelos +// hasta que los necesites. +( + arquetipos: [ + ( + nombre: "mars", + tipo: planeta, + perfil: { + "accion": 0.9, + "deseo": 0.7, + "agresion": 0.5, + }, + ), + ( + nombre: "saturn", + tipo: planeta, + perfil: { + "estructura": 0.9, + "limite": 0.8, + "miedo": 0.5, + }, + ), + ( + nombre: "virgo", + tipo: signo, + perfil: { + "precision": 0.9, + "servicio": 0.6, + "ansiedad": 0.4, + }, + ), + ], + pasajes: [ + ( + combinacion: "mars·virgo", + texto: "La energía marciana se vuelve cirujana: actúa con método, corrige, perfecciona. El impulso ya no arrasa, disecciona.", + fuente: "plantilla — reemplaza por tu cita y su autor", + ), + ( + combinacion: "mars@c6", + texto: "El deseo se descarga en el trabajo cotidiano y en el cuidado del cuerpo. Riesgo de agotamiento por exceso de tarea.", + fuente: "plantilla — reemplaza por tu cita y su autor", + ), + ( + combinacion: "mars square saturn", + texto: "Acción y freno tironean a la vez. La frustración, con los años, forja una voluntad templada.", + fuente: "plantilla — reemplaza por tu cita y su autor", + dominio: Some(psiquico), + ), + ], +) diff --git a/01_yachay/cosmos/cosmos-corpus/src/lib.rs b/01_yachay/cosmos/cosmos-corpus/src/lib.rs new file mode 100644 index 0000000..6087e3b --- /dev/null +++ b/01_yachay/cosmos/cosmos-corpus/src/lib.rs @@ -0,0 +1,730 @@ +//! `cosmos_app-corpus` — la biblioteca de interpretación, indexada. +//! +//! El corpus **no calcula nada** y **no es un set de reglas +//! matemáticas**. Las reglas —qué planeta en qué signo, qué aspecto— +//! las computa el motor astronómico (`cosmos_app-engine`). El corpus +//! es la **evidencia textual**: fragmentos de los libros —y de la +//! escritura del propio astrólogo— recortados y etiquetados con la +//! combinación exacta que describen. En runtime, las combinaciones de +//! una carta hacen un JOIN contra el corpus y traen los textos — +//! citados, con fuente, sin que ninguna IA invente una palabra. +//! +//! ## Estructura — con TIPOS, porque la astrología tiene gramática +//! +//! Un planeta es una FUNCIÓN; un signo, un ESTILO; una casa, un +//! DOMINIO; un aspecto, una RELACIÓN. No son vectores intercambiables +//! de un mismo espacio plano — colapsarlos a uno solo destruye el +//! significado. El corpus respeta esa gramática: +//! +//! 1. **Arquetipos** ([`Arquetipo`]) — los bloques: cada planeta / +//! signo / casa / aspecto, con su [`PerfilSemantico`] (dimensiones +//! psicológicas con peso). Es la ontología que el astrólogo escribe. +//! 2. **Pasajes** ([`Pasaje`]) — el corpus propiamente dicho: texto +//! real etiquetado por [`CombinacionId`], con su fuente. La +//! evidencia citable. +//! 3. **Composición** — deducir el perfil de una combinación NO leída a +//! partir de los bloques. Es un problema de diseño **abierto**: un +//! producto Hadamard ingenuo da resultados falsos (la dimensión que +//! un bloque tiene en 0 se queda en 0, no «se enciende»). Este crate +//! trae las capas 1-2 y deja la 3 sin resolver a propósito. +//! +//! La **rebanada por dominio** —ver el cuerpo de la carta en tajadas— +//! sí vive aquí ([`rebanar_por_dominio`]): es geometría sobre las +//! claves, no síntesis. La carta es una sola configuración; cortarla +//! por dominio vivencial no la promedia, la MIRA desde un plano. Lo +//! único que queda fuera es la síntesis narrativa —tejer los pasajes +//! recuperados en un texto continuo—, trabajo de una capa superior. + +#![forbid(unsafe_code)] + +use std::collections::BTreeMap; +use std::str::FromStr; + +use serde::{Deserialize, Deserializer, Serialize, Serializer}; + +/// Perfil semántico: dimensiones psicológicas/vivenciales con un peso, +/// por convención en `[-1.0, 1.0]`. Los **nombres** de las dimensiones +/// los define el astrólogo en los datos — el esquema NO los fija (no +/// presupone "Acción", "Estructura", …: el modelo es decisión del +/// astrólogo, no del código). +pub type PerfilSemantico = BTreeMap; + +/// El rol gramatical de un arquetipo. No es decorativo: marca que +/// planeta y signo NO son la misma clase de cosa, y por eso no se +/// combinan con un operador único e indiferenciado. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum TipoArquetipo { + /// Una función psíquica (Marte = impulso, Mercurio = cognición…). + Planeta, + /// Un estilo o modo (el signo colorea CÓMO se expresa la función). + Signo, + /// Un dominio o arena de la vida (la casa dice DÓNDE opera). + Casa, + /// Una relación entre dos funciones (conjunción, cuadratura…). + Aspecto, +} + +/// Un bloque constructor: un planeta, signo, casa o aspecto, con el +/// perfil semántico que el astrólogo le asigna. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Arquetipo { + /// Identificador estable — `"mars"`, `"virgo"`, `"conjunction"`… + pub nombre: String, + pub tipo: TipoArquetipo, + pub perfil: PerfilSemantico, +} + +/// El plano vivencial donde una configuración descarga su energía. La +/// contradicción «hiperdisciplinado vs. disperso» no se promedia: cada +/// fuerza vive intacta en su dominio (general en la oficina, poeta +/// disperso en la soledad). +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum Dominio { + /// Cuerpo, salud, acción directa (casas 1/5/9). + Vital, + /// Trabajo, vínculos, entorno (casas 3/7/11). + Social, + /// Inconsciente, miedos, indagación interna (casas 4/8/12). + Psiquico, +} + +impl Dominio { + /// Dominio vivencial de una casa `1..=12`. + pub fn de_casa(casa: u8) -> Option { + match casa { + 1 | 5 | 9 => Some(Dominio::Vital), + 3 | 7 | 11 => Some(Dominio::Social), + 4 | 8 | 12 => Some(Dominio::Psiquico), + 2 | 6 | 10 => Some(Dominio::Social), // casas de recursos/trabajo + _ => None, + } + } +} + +/// La «etiqueta de código de barras» de una combinación astrológica — +/// la clave del JOIN. Respeta la gramática: cada variante es un tipo +/// distinto de combinación, no una bolsa plana. +/// +/// Se (de)serializa como una **cadena** legible (`mars·virgo`, +/// `mars@c6`, `mars square saturn`) para que el corpus se escriba a +/// mano sin pelear con la sintaxis de enums. El punto medio `·` admite +/// el alias ASCII `/` (`mars/virgo`), más fácil de teclear. +#[derive(Debug, Clone, PartialEq, Eq, Hash)] +pub enum CombinacionId { + /// Un planeta en un signo — `mars·virgo`. + PlanetaSigno { planeta: String, signo: String }, + /// Un planeta en una casa — `mars@c6`. + PlanetaCasa { planeta: String, casa: u8 }, + /// Un aspecto entre dos planetas — `mars□saturn`. Los dos extremos + /// se guardan ORDENADOS, así `mars□saturn` y `saturn□mars` son la + /// misma clave. + Aspecto { a: String, kind: String, b: String }, +} + +impl CombinacionId { + pub fn planeta_signo(planeta: impl Into, signo: impl Into) -> Self { + CombinacionId::PlanetaSigno { + planeta: planeta.into(), + signo: signo.into(), + } + } + + pub fn planeta_casa(planeta: impl Into, casa: u8) -> Self { + CombinacionId::PlanetaCasa { + planeta: planeta.into(), + casa, + } + } + + /// Construye un aspecto NORMALIZANDO el orden de los extremos, para + /// que la dirección no genere dos claves distintas. + pub fn aspecto( + a: impl Into, + kind: impl Into, + b: impl Into, + ) -> Self { + let (a, b) = (a.into(), b.into()); + let (a, b) = if a <= b { (a, b) } else { (b, a) }; + CombinacionId::Aspecto { + a, + kind: kind.into(), + b, + } + } +} + +impl std::fmt::Display for CombinacionId { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + CombinacionId::PlanetaSigno { planeta, signo } => { + write!(f, "{planeta}·{signo}") + } + CombinacionId::PlanetaCasa { planeta, casa } => write!(f, "{planeta}@c{casa}"), + CombinacionId::Aspecto { a, kind, b } => write!(f, "{a} {kind} {b}"), + } + } +} + +impl FromStr for CombinacionId { + type Err = String; + + /// Parsea el código de barras: `planeta·signo` (o `planeta/signo`), + /// `planeta@cN`, o `a kind b` (tres tokens separados por espacios). + fn from_str(s: &str) -> Result { + let s = s.trim(); + if let Some((planeta, signo)) = s.split_once('·').or_else(|| s.split_once('/')) { + return Ok(CombinacionId::planeta_signo(planeta.trim(), signo.trim())); + } + if let Some((planeta, casa)) = s.split_once("@c") { + let casa: u8 = casa + .trim() + .parse() + .map_err(|_| format!("casa inválida en '{s}'"))?; + return Ok(CombinacionId::planeta_casa(planeta.trim(), casa)); + } + let toks: Vec<&str> = s.split_whitespace().collect(); + if toks.len() == 3 { + return Ok(CombinacionId::aspecto(toks[0], toks[1], toks[2])); + } + Err(format!("combinación no reconocida: '{s}'")) + } +} + +impl Serialize for CombinacionId { + fn serialize(&self, s: S) -> Result { + s.serialize_str(&self.to_string()) + } +} + +impl<'de> Deserialize<'de> for CombinacionId { + fn deserialize>(d: D) -> Result { + let s = String::deserialize(d)?; + s.parse().map_err(serde::de::Error::custom) + } +} + +/// La posición de un planeta en una carta concreta: en qué signo y en +/// qué casa cae. Es la materia prima desde la que se derivan las +/// [`CombinacionId`] de la carta — el puente entre lo que el motor +/// astronómico calcula y las claves del JOIN del corpus. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct Colocacion { + pub planeta: String, + pub signo: String, + pub casa: u8, +} + +/// Un aspecto medido en una carta: dos planetas y el ángulo que los une. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct AspectoEnCarta { + pub a: String, + pub kind: String, + pub b: String, +} + +/// Deriva TODAS las combinaciones de una carta: por cada planeta, su +/// `planeta·signo` y su `planeta@cN`; por cada aspecto medido, su +/// `a kind b`. El resultado es la lista que se le pasa a +/// [`Corpus::interpretar`] para hacer el JOIN. +pub fn combinaciones_de_carta( + colocaciones: &[Colocacion], + aspectos: &[AspectoEnCarta], +) -> Vec { + let mut out = Vec::with_capacity(colocaciones.len() * 2 + aspectos.len()); + for c in colocaciones { + out.push(CombinacionId::planeta_signo(&c.planeta, &c.signo)); + out.push(CombinacionId::planeta_casa(&c.planeta, c.casa)); + } + for a in aspectos { + out.push(CombinacionId::aspecto(&a.a, &a.kind, &a.b)); + } + out +} + +/// La **tomografía** de la carta: reparte cada combinación en el dominio +/// —o dominios— vivencial donde descarga su energía. +/// +/// La carta es UNA sola configuración; rebanarla por dominio no la +/// promedia ni la mutila, la MIRA desde un plano —como ver un cuerpo en +/// tajadas—. Las reglas del corte: +/// +/// - un `planeta@cN` cae en el dominio de su casa; +/// - un `planeta·signo` hereda el dominio de la casa donde ESE planeta +/// está colocado en la carta; +/// - un aspecto **puentea**: aparece en el dominio de cada uno de sus +/// dos extremos. Que una misma combinación salga en dos rebanadas no +/// es un error — es la conexión real entre dos planos. +/// +/// Una combinación cuyo planeta no figura en `colocaciones` se omite (no +/// hay forma de saber en qué dominio ubicarla). +pub fn rebanar_por_dominio( + colocaciones: &[Colocacion], + combinaciones: &[CombinacionId], +) -> BTreeMap> { + let casa_de: BTreeMap<&str, u8> = colocaciones + .iter() + .map(|c| (c.planeta.as_str(), c.casa)) + .collect(); + let dominio_de = |planeta: &str| -> Option { + casa_de.get(planeta).copied().and_then(Dominio::de_casa) + }; + + let mut tajadas: BTreeMap> = BTreeMap::new(); + for id in combinaciones { + let dominios: Vec = match id { + CombinacionId::PlanetaCasa { casa, .. } => { + Dominio::de_casa(*casa).into_iter().collect() + } + CombinacionId::PlanetaSigno { planeta, .. } => { + dominio_de(planeta).into_iter().collect() + } + CombinacionId::Aspecto { a, b, .. } => { + let mut ds = Vec::new(); + for p in [a.as_str(), b.as_str()] { + if let Some(d) = dominio_de(p) { + if !ds.contains(&d) { + ds.push(d); + } + } + } + ds + } + }; + for d in dominios { + tajadas.entry(d).or_default().push(id.clone()); + } + } + tajadas +} + +/// Un fragmento de interpretación: el texto de un autor (o del propio +/// astrólogo) recortado y etiquetado con la combinación que describe. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Pasaje { + /// La combinación que este pasaje interpreta — la clave del JOIN. + pub combinacion: CombinacionId, + /// El texto, citado literalmente. + pub texto: String, + /// Procedencia — autor y obra, o `"propio"`. Convención: un pasaje + /// con fuente `"deducido"` es un perfil compuesto, no un texto de + /// libro (capa de composición, aún sin construir). + pub fuente: String, + /// Firma semántica del pasaje. Opcional: vacío hasta que se calcule. + #[serde(default)] + pub perfil: PerfilSemantico, + /// Dominio vivencial donde aplica, si el pasaje lo acota. + #[serde(default)] + pub dominio: Option, +} + +/// Evidencia **vecina** de una combinación que no tiene pasaje propio: +/// pasajes del corpus que comparten uno de sus componentes (el planeta, +/// el signo, la casa, o el tipo de aspecto). +/// +/// Es la respuesta honesta al problema de la «composición». El corpus +/// **no sintetiza** un texto para una combinación no escrita —eso sería +/// inventar—. Tampoco multiplica perfiles numéricos: el producto +/// Hadamard (y parientes) se descartó porque da falsos (una dimensión +/// en 0 nunca «se enciende») y, sobre todo, porque un perfil compuesto +/// es una conjetura, no evidencia. Lo que sí es honesto: traer las +/// citas reales de contextos parecidos y que el astrólogo componga él. +#[derive(Debug, Clone)] +pub struct EvidenciaVecina<'a> { + /// Qué componente comparten — `"planeta mars"`, `"signo virgo"`, + /// `"casa 6"`, `"aspecto square"`. + pub comparte: String, + pub pasajes: Vec<&'a Pasaje>, +} + +/// `true` si la combinación involucra a ese planeta, en cualquier rol. +fn combinacion_usa_planeta(c: &CombinacionId, planeta: &str) -> bool { + match c { + CombinacionId::PlanetaSigno { planeta: p, .. } => p == planeta, + CombinacionId::PlanetaCasa { planeta: p, .. } => p == planeta, + CombinacionId::Aspecto { a, b, .. } => a == planeta || b == planeta, + } +} + +/// El corpus completo: la ontología de arquetipos + los pasajes. +#[derive(Debug, Clone, Default, Serialize, Deserialize)] +pub struct Corpus { + pub arquetipos: Vec, + pub pasajes: Vec, +} + +impl Corpus { + /// Carga un corpus desde su forma RON (el format de los archivos + /// que el astrólogo escribe a mano). + pub fn desde_ron(texto: &str) -> Result { + ron::from_str(texto).map_err(|e| format!("corpus :: RON inválido: {e}")) + } + + /// Serializa el corpus a RON. + pub fn a_ron(&self) -> Result { + ron::to_string(self).map_err(|e| format!("corpus :: no se pudo serializar: {e}")) + } + + /// El arquetipo con ese nombre y tipo, si existe. + pub fn arquetipo(&self, nombre: &str, tipo: TipoArquetipo) -> Option<&Arquetipo> { + self.arquetipos + .iter() + .find(|a| a.nombre == nombre && a.tipo == tipo) + } + + /// Todos los pasajes que interpretan una combinación dada. + pub fn pasajes_de(&self, id: &CombinacionId) -> Vec<&Pasaje> { + self.pasajes.iter().filter(|p| &p.combinacion == id).collect() + } + + /// El JOIN: dada la lista de combinaciones de una carta, devuelve + /// todos los pasajes del corpus que las interpretan. Cobertura + /// total — no se salta una combinación que tenga texto. Combinar + /// estos pasajes en una narrativa coherente (síntesis) es trabajo + /// de una capa superior; aquí sólo se RECUPERA la evidencia. + pub fn interpretar(&self, combinaciones: &[CombinacionId]) -> Vec<&Pasaje> { + let mut out = Vec::new(); + for id in combinaciones { + out.extend(self.pasajes_de(id)); + } + out + } + + /// El JOIN **rebanado por dominio**: para cada plano vivencial, los + /// pasajes que lo interpretan. Es la entrada directa de un gráfico + /// «por tajadas» — una rebanada, una vista del cuerpo de la carta. + /// Un aspecto que puentea dos dominios trae sus pasajes a las dos + /// rebanadas. + pub fn interpretar_por_dominio( + &self, + colocaciones: &[Colocacion], + aspectos: &[AspectoEnCarta], + ) -> BTreeMap> { + let combinaciones = combinaciones_de_carta(colocaciones, aspectos); + rebanar_por_dominio(colocaciones, &combinaciones) + .into_iter() + .map(|(dominio, ids)| { + let mut pasajes = Vec::new(); + for id in &ids { + pasajes.extend(self.pasajes_de(id)); + } + (dominio, pasajes) + }) + .collect() + } + + /// Combinaciones del corpus que NO tienen ni un solo pasaje — los + /// huecos que habría que escribir, o cubrir con composición. + pub fn huecos(&self, combinaciones: &[CombinacionId]) -> Vec { + combinaciones + .iter() + .filter(|id| self.pasajes_de(id).is_empty()) + .cloned() + .collect() + } + + /// Pasajes cuya combinación cumple un predicado. + fn pasajes_donde(&self, pred: impl Fn(&CombinacionId) -> bool) -> Vec<&Pasaje> { + self.pasajes.iter().filter(|p| pred(&p.combinacion)).collect() + } + + /// La **capa de composición**, hecha con honestidad: para una + /// combinación SIN pasaje propio, junta la evidencia vecina — + /// pasajes que comparten uno de sus componentes—. No sintetiza un + /// texto ni compone perfiles; son citas reales de contextos + /// parecidos, agrupadas por el componente que comparten, para que + /// el astrólogo componga. Si la combinación SÍ tiene pasaje propio, + /// devuelve vacío — no hace falta. Ver [`EvidenciaVecina`]. + pub fn evidencia_relacionada(&self, id: &CombinacionId) -> Vec> { + if !self.pasajes_de(id).is_empty() { + return Vec::new(); + } + let mut grupos: Vec> = Vec::new(); + match id { + CombinacionId::PlanetaSigno { planeta, signo } => { + grupos.push(EvidenciaVecina { + comparte: format!("planeta {planeta}"), + pasajes: self.pasajes_donde(|c| combinacion_usa_planeta(c, planeta)), + }); + grupos.push(EvidenciaVecina { + comparte: format!("signo {signo}"), + pasajes: self.pasajes_donde(|c| { + matches!(c, CombinacionId::PlanetaSigno { signo: s, .. } if s == signo) + }), + }); + } + CombinacionId::PlanetaCasa { planeta, casa } => { + grupos.push(EvidenciaVecina { + comparte: format!("planeta {planeta}"), + pasajes: self.pasajes_donde(|c| combinacion_usa_planeta(c, planeta)), + }); + grupos.push(EvidenciaVecina { + comparte: format!("casa {casa}"), + pasajes: self.pasajes_donde(|c| { + matches!(c, CombinacionId::PlanetaCasa { casa: k, .. } if k == casa) + }), + }); + } + CombinacionId::Aspecto { a, kind, b } => { + grupos.push(EvidenciaVecina { + comparte: format!("aspecto {kind}"), + pasajes: self.pasajes_donde(|c| { + matches!(c, CombinacionId::Aspecto { kind: k, .. } if k == kind) + }), + }); + grupos.push(EvidenciaVecina { + comparte: format!("planeta {a}"), + pasajes: self.pasajes_donde(|c| combinacion_usa_planeta(c, a)), + }); + grupos.push(EvidenciaVecina { + comparte: format!("planeta {b}"), + pasajes: self.pasajes_donde(|c| combinacion_usa_planeta(c, b)), + }); + } + } + grupos.retain(|g| !g.pasajes.is_empty()); + grupos + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn aspecto_normaliza_el_orden_de_los_extremos() { + let ab = CombinacionId::aspecto("mars", "square", "saturn"); + let ba = CombinacionId::aspecto("saturn", "square", "mars"); + assert_eq!(ab, ba, "mars□saturn y saturn□mars son la misma clave"); + } + + #[test] + fn display_da_un_codigo_de_barras_legible() { + assert_eq!( + CombinacionId::planeta_signo("mars", "virgo").to_string(), + "mars·virgo" + ); + assert_eq!( + CombinacionId::planeta_casa("mars", 6).to_string(), + "mars@c6" + ); + } + + fn pasaje(id: CombinacionId, texto: &str) -> Pasaje { + Pasaje { + combinacion: id, + texto: texto.into(), + fuente: "test".into(), + perfil: PerfilSemantico::new(), + dominio: None, + } + } + + #[test] + fn interpretar_hace_el_join_de_las_combinaciones() { + let corpus = Corpus { + arquetipos: Vec::new(), + pasajes: vec![ + pasaje( + CombinacionId::planeta_signo("mars", "virgo"), + "el guerrero cirujano", + ), + pasaje( + CombinacionId::aspecto("mars", "square", "saturn"), + "acción frenada", + ), + pasaje( + CombinacionId::planeta_signo("moon", "pisces"), + "sensibilidad difusa", + ), + ], + }; + // Una carta con sólo dos de las tres combinaciones. + let carta = [ + CombinacionId::planeta_signo("mars", "virgo"), + // El orden inverso debe resolver igual. + CombinacionId::aspecto("saturn", "square", "mars"), + ]; + let recuperados = corpus.interpretar(&carta); + assert_eq!(recuperados.len(), 2); + assert!(recuperados.iter().any(|p| p.texto == "el guerrero cirujano")); + assert!(recuperados.iter().any(|p| p.texto == "acción frenada")); + } + + #[test] + fn huecos_detecta_combinaciones_sin_pasaje() { + let corpus = Corpus { + arquetipos: Vec::new(), + pasajes: vec![pasaje( + CombinacionId::planeta_signo("mars", "virgo"), + "x", + )], + }; + let carta = [ + CombinacionId::planeta_signo("mars", "virgo"), + CombinacionId::planeta_signo("venus", "leo"), + ]; + let huecos = corpus.huecos(&carta); + assert_eq!(huecos.len(), 1); + assert_eq!(huecos[0], CombinacionId::planeta_signo("venus", "leo")); + } + + #[test] + fn corpus_roundtrip_ron() { + let corpus = Corpus { + arquetipos: vec![Arquetipo { + nombre: "mars".into(), + tipo: TipoArquetipo::Planeta, + perfil: BTreeMap::from([("accion".into(), 0.9_f32)]), + }], + pasajes: vec![pasaje( + CombinacionId::planeta_signo("mars", "virgo"), + "el guerrero cirujano", + )], + }; + let ron = corpus.a_ron().expect("serializa"); + let vuelta = Corpus::desde_ron(&ron).expect("deserializa"); + assert_eq!(vuelta.arquetipos.len(), 1); + assert_eq!(vuelta.pasajes.len(), 1); + assert_eq!(vuelta.pasajes[0].texto, "el guerrero cirujano"); + } + + #[test] + fn dominio_de_casa_clasifica_los_planos() { + assert_eq!(Dominio::de_casa(1), Some(Dominio::Vital)); + assert_eq!(Dominio::de_casa(7), Some(Dominio::Social)); + assert_eq!(Dominio::de_casa(12), Some(Dominio::Psiquico)); + assert_eq!(Dominio::de_casa(13), None); + } + + #[test] + fn combinacion_id_roundtrip_string() { + for id in [ + CombinacionId::planeta_signo("venus", "leo"), + CombinacionId::planeta_casa("sun", 10), + CombinacionId::aspecto("moon", "trine", "jupiter"), + ] { + let s = id.to_string(); + let vuelta: CombinacionId = s.parse().expect("parsea su propio Display"); + assert_eq!(vuelta, id); + } + } + + #[test] + fn barra_es_alias_ascii_del_punto_medio() { + assert_eq!( + "mars/virgo".parse::().unwrap(), + CombinacionId::planeta_signo("mars", "virgo"), + ); + } + + /// Una carta mínima: Marte en Virgo en casa 6 (Social), Saturno en + /// Aries en casa 1 (Vital), y una cuadratura que los une. + fn carta_de_prueba() -> (Vec, Vec) { + let colocaciones = vec![ + Colocacion { + planeta: "mars".into(), + signo: "virgo".into(), + casa: 6, + }, + Colocacion { + planeta: "saturn".into(), + signo: "aries".into(), + casa: 1, + }, + ]; + let aspectos = vec![AspectoEnCarta { + a: "mars".into(), + kind: "square".into(), + b: "saturn".into(), + }]; + (colocaciones, aspectos) + } + + #[test] + fn combinaciones_de_carta_deriva_signo_casa_y_aspectos() { + let (colocaciones, aspectos) = carta_de_prueba(); + let combos = combinaciones_de_carta(&colocaciones, &aspectos); + // 2 planetas × (signo + casa) + 1 aspecto. + assert_eq!(combos.len(), 5); + assert!(combos.contains(&CombinacionId::planeta_signo("mars", "virgo"))); + assert!(combos.contains(&CombinacionId::planeta_casa("saturn", 1))); + assert!(combos.contains(&CombinacionId::aspecto("mars", "square", "saturn"))); + } + + #[test] + fn rebanar_por_dominio_reparte_y_el_aspecto_puentea() { + let (colocaciones, aspectos) = carta_de_prueba(); + let combos = combinaciones_de_carta(&colocaciones, &aspectos); + let tajadas = rebanar_por_dominio(&colocaciones, &combos); + + // Marte en casa 6 → Social ; Saturno en casa 1 → Vital. + let social = tajadas.get(&Dominio::Social).expect("hay tajada social"); + let vital = tajadas.get(&Dominio::Vital).expect("hay tajada vital"); + assert_eq!(social.len(), 3); + assert_eq!(vital.len(), 3); + + // El aspecto cruza los dos planos: sale en las dos tajadas. + let aspecto = CombinacionId::aspecto("mars", "square", "saturn"); + assert!(social.contains(&aspecto)); + assert!(vital.contains(&aspecto)); + } + + #[test] + fn interpretar_por_dominio_agrupa_pasajes() { + let (colocaciones, aspectos) = carta_de_prueba(); + let corpus = Corpus { + arquetipos: Vec::new(), + pasajes: vec![ + pasaje(CombinacionId::planeta_casa("mars", 6), "trabajo intenso"), + pasaje(CombinacionId::planeta_casa("saturn", 1), "cuerpo severo"), + ], + }; + let por_dominio = corpus.interpretar_por_dominio(&colocaciones, &aspectos); + assert_eq!(por_dominio[&Dominio::Social].len(), 1); + assert_eq!(por_dominio[&Dominio::Vital].len(), 1); + assert_eq!(por_dominio[&Dominio::Social][0].texto, "trabajo intenso"); + } + + #[test] + fn ejemplo_ron_carga() { + let corpus = Corpus::desde_ron(include_str!("../ejemplo.ron")) + .expect("ejemplo.ron debe ser RON válido"); + assert!(!corpus.arquetipos.is_empty(), "la plantilla trae arquetipos"); + assert!(!corpus.pasajes.is_empty(), "la plantilla trae pasajes"); + // El pasaje del aspecto fija su dominio explícitamente. + let aspecto = CombinacionId::aspecto("mars", "square", "saturn"); + let p = corpus.pasajes_de(&aspecto); + assert_eq!(p.len(), 1); + assert_eq!(p[0].dominio, Some(Dominio::Psiquico)); + } + + #[test] + fn evidencia_relacionada_junta_vecinos_por_componente() { + let corpus = Corpus { + arquetipos: Vec::new(), + pasajes: vec![ + pasaje(CombinacionId::planeta_signo("mars", "virgo"), "marte cirujano"), + pasaje(CombinacionId::planeta_signo("mars", "aries"), "marte crudo"), + pasaje(CombinacionId::planeta_signo("venus", "gemini"), "venus locuaz"), + ], + }; + // mars·gemini no tiene pasaje propio → evidencia vecina. + let ev = corpus.evidencia_relacionada(&CombinacionId::planeta_signo("mars", "gemini")); + let mars = ev.iter().find(|g| g.comparte == "planeta mars").unwrap(); + assert_eq!(mars.pasajes.len(), 2, "marte en otros signos"); + let gem = ev.iter().find(|g| g.comparte == "signo gemini").unwrap(); + assert_eq!(gem.pasajes.len(), 1, "otros planetas en géminis"); + } + + #[test] + fn evidencia_relacionada_vacia_si_hay_pasaje_propio() { + let corpus = Corpus { + arquetipos: Vec::new(), + pasajes: vec![pasaje(CombinacionId::planeta_signo("mars", "virgo"), "x")], + }; + let ev = corpus.evidencia_relacionada(&CombinacionId::planeta_signo("mars", "virgo")); + assert!(ev.is_empty(), "con pasaje propio no se busca evidencia vecina"); + } +} diff --git a/01_yachay/cosmos/cosmos-eclipses/Cargo.toml b/01_yachay/cosmos/cosmos-eclipses/Cargo.toml new file mode 100644 index 0000000..7bc66f0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-eclipses/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "cosmos-eclipses" +version.workspace = true +edition.workspace = true +license.workspace = true +authors.workspace = true +publish.workspace = true +description = "cosmos-eclipses — detecta eclipses solares (Luna oculta el Sol visto desde Tierra) y lunares (Luna entra en el cono de sombra terrestre). Capa fina sobre cosmos-ephemeris: separación angular Luna-Sol vs (R_sun+R_moon)/d para solares; distancia Luna al eje Tierra-Sol vs cono umbra/penumbra para lunares." + +[dependencies] +cosmos-core = { workspace = true } +cosmos-time = { path = "../cosmos-time" } +cosmos-ephemeris = { path = "../cosmos-ephemeris" } + +[[example]] +name = "next_eclipses_demo" +path = "examples/next_eclipses_demo.rs" diff --git a/01_yachay/cosmos/cosmos-eclipses/LEEME.md b/01_yachay/cosmos/cosmos-eclipses/LEEME.md new file mode 100644 index 0000000..f5e0400 --- /dev/null +++ b/01_yachay/cosmos/cosmos-eclipses/LEEME.md @@ -0,0 +1,18 @@ +# cosmos-eclipses + +> Eclipses solares/lunares para [cosmos](../README.md). + +Cálculo de circunstancias eclípticas: clasificación (total / parcial / anular / penumbral), tracks de visibilidad (para solares), magnitud, duración, contactos. Para un observador específico: P1/P2/máximo/U1/U2/U3/U4 + altitud y azimut del astro en cada contacto. + +## API + +```rust +use cosmos_eclipses::{find_solar, find_lunar, Range}; + +let solars = find_solar(Range::years(2024..2030))?; +let lunars = find_lunar(Range::years(2024..2030))?; +``` + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-ephemeris`](../cosmos-ephemeris/README.md), [`cosmos-pointing`](../cosmos-pointing/README.md) diff --git a/01_yachay/cosmos/cosmos-eclipses/README.md b/01_yachay/cosmos/cosmos-eclipses/README.md new file mode 100644 index 0000000..ad3864c --- /dev/null +++ b/01_yachay/cosmos/cosmos-eclipses/README.md @@ -0,0 +1,18 @@ +# cosmos-eclipses + +> Solar/lunar eclipses for [cosmos](../README.md). + +Eclipse circumstances computation: classification (total / partial / annular / penumbral), visibility tracks (for solar), magnitude, duration, contacts. For a specific observer: P1/P2/max/U1/U2/U3/U4 + altitude and azimuth of the body at each contact. + +## API + +```rust +use cosmos_eclipses::{find_solar, find_lunar, Range}; + +let solars = find_solar(Range::years(2024..2030))?; +let lunars = find_lunar(Range::years(2024..2030))?; +``` + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-ephemeris`](../cosmos-ephemeris/README.md), [`cosmos-pointing`](../cosmos-pointing/README.md) diff --git a/01_yachay/cosmos/cosmos-eclipses/examples/next_eclipses_demo.rs b/01_yachay/cosmos/cosmos-eclipses/examples/next_eclipses_demo.rs new file mode 100644 index 0000000..8f4d182 --- /dev/null +++ b/01_yachay/cosmos/cosmos-eclipses/examples/next_eclipses_demo.rs @@ -0,0 +1,68 @@ +//! Barre 2026-01-01..2030-01-01 buscando eclipses solares y lunares +//! geocéntricos. Imprime una tabla con fecha, tipo y magnitud. +//! +//! Corré con: `cargo run -p cosmos-eclipses --example next_eclipses_demo +//! --release`. + +use cosmos_eclipses::{find_lunar_eclipses, find_solar_eclipses, EclipseEvent}; +use cosmos_time::JulianDate; + +fn main() { + let jd_from = JulianDate::from_calendar(2026, 1, 1, 0, 0, 0.0).to_f64(); + let jd_to = JulianDate::from_calendar(2030, 1, 1, 0, 0, 0.0).to_f64(); + let step = 1.0 / 24.0; + + println!("=== Eclipses geocéntricos — 2026-01-01 → 2030-01-01 ==="); + println!("paso de muestreo: 1 hora · ventana 4 años\n"); + + let solar = find_solar_eclipses(jd_from, jd_to, step); + let lunar = find_lunar_eclipses(jd_from, jd_to, step); + + println!("SOLARES ({})", solar.len()); + print_events(&solar, /* is_solar */ true); + + println!("\nLUNARES ({})", lunar.len()); + print_events(&lunar, false); +} + +fn print_events(events: &[EclipseEvent], is_solar: bool) { + if events.is_empty() { + println!(" (vacío)"); + return; + } + println!( + " {:<20} {:<12} {:>10} {:>10}", + "máximo (UTC aprox)", "tipo", "magnitud", "duración_h" + ); + println!(" {}", "─".repeat(58)); + for ev in events { + let (y, mo, d, h, mi) = jd_to_calendar(ev.jd_mid); + let kind = if is_solar { + format!("{:?}", ev.kind_max_solar.unwrap()) + } else { + format!("{:?}", ev.kind_max_lunar.unwrap()) + }; + println!( + " {:04}-{:02}-{:02} {:02}:{:02} {:<12} {:>10.3} {:>10.2}", + y, mo, d, h, mi, kind, ev.magnitude_max, ev.duration_hours + ); + } +} + +fn jd_to_calendar(jd: f64) -> (i32, u32, u32, u32, u32) { + let j = (jd + 0.5).floor() as i64; + let f = jd + 0.5 - (j as f64); + let a = j + 32044; + let b = (4 * a + 3) / 146097; + let c = a - (146097 * b) / 4; + let d = (4 * c + 3) / 1461; + let e = c - (1461 * d) / 4; + let m = (5 * e + 2) / 153; + let day = (e - (153 * m + 2) / 5 + 1) as u32; + let month = (m + 3 - 12 * (m / 10)) as u32; + let year = (100 * b + d - 4800 + m / 10) as i32; + let secs_of_day = f * 86400.0; + let hour = (secs_of_day / 3600.0).floor() as u32; + let minute = ((secs_of_day - (hour as f64) * 3600.0) / 60.0).floor() as u32; + (year, month, day, hour, minute) +} diff --git a/01_yachay/cosmos/cosmos-eclipses/src/lib.rs b/01_yachay/cosmos/cosmos-eclipses/src/lib.rs new file mode 100644 index 0000000..38410d2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-eclipses/src/lib.rs @@ -0,0 +1,583 @@ +//! `cosmos-eclipses` — detección geocéntrica de eclipses solares y +//! lunares. +//! +//! ## Eclipse solar (Luna entre Tierra y Sol) +//! +//! Calcula la separación angular geocéntrica Luna ↔ Sol y la compara +//! con el radio aparente del Sol y el radio aparente de la Luna: +//! +//! - `ω < ρ_sun + ρ_moon` → **parcial** o mejor. +//! - `ω < |ρ_sun − ρ_moon|` → **anular** (si ρ_moon < ρ_sun) o **total** +//! (si ρ_moon ≥ ρ_sun). +//! +//! No incluye paralaje topocéntrica — un eclipse solar es geocéntrico +//! cuando la línea Tierra-Sol pasa por algún punto de la superficie +//! terrestre cubierto por el cono lunar. Para saber si es visible +//! desde una ubicación específica hace falta cadena WGS84 + +//! topocentric, fuera del alcance de este crate. +//! +//! ## Eclipse lunar (Luna en el cono de sombra de la Tierra) +//! +//! Descompone la posición de la Luna respecto al eje anti-solar (eje +//! que sale del centro de la Tierra en dirección opuesta al Sol): +//! +//! - `p` = proyección de `r_moon` sobre el eje anti-solar (en au). +//! - `q` = distancia perpendicular al eje (en au). +//! +//! A esa distancia `p` el cono umbra terrestre tiene radio: +//! +//! ```text +//! R_umbra(p) = R_earth − p · (R_sun − R_earth) / d_sun +//! R_penumbra(p) = R_earth + p · (R_sun + R_earth) / d_sun +//! ``` +//! +//! Combinado con el radio físico de la Luna (`R_moon`): +//! +//! - `q + R_moon < R_umbra` → umbral **total**. +//! - `q − R_moon < R_umbra` → umbral **parcial**. +//! - `q + R_moon < R_penumbra` → penumbra total. +//! - `q − R_moon < R_penumbra` → penumbra parcial. +//! +//! Requiere `p > 0` (Luna del lado opuesto al Sol — luna llena +//! geométrica). +//! +//! ## Precisión +//! +//! Hereda la precisión de ELP/MPP02 para la Luna (~1 km) y VSOP2013 +//! para el Sol (mejor que arcsegundo). El paralaje horizontal lunar +//! `~57′ = 0.95°` hace que la hora de máximo varíe ~hasta 2 h entre +//! observadores en distintos hemisferios para eclipses solares; +//! cosmos-eclipses devuelve el instante **geocéntrico**, no el +//! topocéntrico. + +#![forbid(unsafe_code)] + +use cosmos_core::Vector3; +use cosmos_ephemeris::moon::ElpMpp02Moon; +use cosmos_ephemeris::sun::Vsop2013Sun; +use cosmos_time::{JulianDate, TDB}; + +/// Radio fotosférico solar, km. IAU 2015 nominal. +pub const SOLAR_RADIUS_KM: f64 = 695_700.0; +/// Radio ecuatorial terrestre, km. IUGG / GRS80. +pub const EARTH_RADIUS_KM: f64 = 6_378.137; +/// Radio medio lunar, km. IAU 2015 nominal. +pub const MOON_RADIUS_KM: f64 = 1_737.4; + +/// Magnitud / clasificación de un eclipse solar geocéntrico. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum SolarEclipseKind { + /// Sin contacto del disco lunar con el disco solar. + None, + /// Discos lunar y solar se intersectan parcialmente. + Partial, + /// La Luna cubre el centro del Sol pero su disco aparente es + /// **menor** que el solar — anillo solar visible alrededor. + Annular, + /// La Luna cubre completamente el Sol (`ρ_moon ≥ ρ_sun` y centros + /// alineados dentro del solapamiento). + Total, +} + +/// Magnitud / clasificación de un eclipse lunar geocéntrico. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum LunarEclipseKind { + /// Luna fuera del cono penumbra terrestre. + None, + /// Luna parcialmente dentro del cono penumbra (sin tocar umbra). + Penumbral, + /// Una parte del disco lunar entra en la umbra (oscurecimiento + /// observable a simple vista). + Partial, + /// Disco lunar entero dentro de la umbra — el conocido "Sangre" + /// por la luz refractada por la atmósfera terrestre. + Total, +} + +/// Lectura puntual para eclipse solar a un instante TDB. +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct SolarEclipseReading { + /// Separación angular geocéntrica Luna ↔ Sol (grados). + pub separation_deg: f64, + /// Radio aparente del Sol desde la Tierra (grados). + pub sun_apparent_radius_deg: f64, + /// Radio aparente de la Luna desde la Tierra (grados). + pub moon_apparent_radius_deg: f64, + /// Paralaje horizontal lunar (grados) — diferencia angular entre la + /// posición geocéntrica y la topocéntrica desde el horizonte. + /// Aprox. 0.91°–1.0°. Suma al umbral de detección para encontrar + /// eclipses observables desde **algún** punto de la Tierra. + pub moon_horizontal_parallax_deg: f64, + /// "Magnitud" del eclipse: `(ρ_sun + ρ_moon − ω) / (2·ρ_sun)`, + /// estándar astronómico — 0 = sin contacto, 1 = total/anular + /// central geocéntrico. + pub magnitude: f64, + /// Clasificación. + pub kind: SolarEclipseKind, +} + +/// Lectura puntual para eclipse lunar a un instante TDB. +#[derive(Debug, Clone, Copy, PartialEq)] +pub struct LunarEclipseReading { + /// Distancia perpendicular `q` del centro lunar al eje + /// anti-solar, en km. + pub gamma_km: f64, + /// Radio del cono umbra terrestre a la distancia paralela de la + /// Luna, en km. + pub umbra_radius_km: f64, + /// Radio del cono penumbra terrestre a la distancia paralela de + /// la Luna, en km. + pub penumbra_radius_km: f64, + /// "Magnitud umbral": `(R_umbra + R_moon − q) / (2·R_moon)`. Igual + /// a 1 cuando el centro lunar coincide con el centro del cono + /// umbra (eclipse umbral central). + pub umbral_magnitude: f64, + /// Clasificación. + pub kind: LunarEclipseKind, +} + +/// Evento agregado tras un barrido. +#[derive(Debug, Clone, Copy)] +pub struct EclipseEvent { + /// JD TDB del instante de máximo (mínima separación / mayor + /// magnitud) dentro de la ventana de contigüidad. + pub jd_mid: f64, + /// Magnitud máxima registrada. + pub magnitude_max: f64, + /// Duración en horas del intervalo donde el flag de detección era + /// `true` (paso de muestreo discreto). + pub duration_hours: f64, + /// Clasificación más severa observada en el intervalo (Total > + /// Annular > Partial > None para solar; Total > Partial > + /// Penumbral > None para lunar). + pub kind_max_solar: Option, + /// Idem para lunar. + pub kind_max_lunar: Option, +} + +/// Lectura solar puntual. +pub fn solar_reading_at(tdb: &TDB) -> SolarEclipseReading { + let sun_pos = Vsop2013Sun.geocentric_position(tdb).expect("Sun geo"); + let moon_pos_au = moon_geocentric_au(tdb); + + let d_sun_au = mag(&sun_pos); + let d_moon_au = mag(&moon_pos_au); + let d_sun_km = d_sun_au * cosmos_core::constants::AU_KM; + let d_moon_km = d_moon_au * cosmos_core::constants::AU_KM; + + let sun_apparent_radius_deg = (SOLAR_RADIUS_KM / d_sun_km).atan().to_degrees(); + let moon_apparent_radius_deg = (MOON_RADIUS_KM / d_moon_km).atan().to_degrees(); + let moon_horizontal_parallax_deg = (EARTH_RADIUS_KM / d_moon_km).asin().to_degrees(); + let separation_deg = angle_between(&sun_pos, &moon_pos_au).to_degrees(); + + let rs = sun_apparent_radius_deg; + let rm = moon_apparent_radius_deg; + let pi_m = moon_horizontal_parallax_deg; + // Magnitud central: 1.0 cuando la línea Tierra-Luna-Sol coincide + // exactamente (centros alineados). + let magnitude = ((rs + rm - separation_deg) / (2.0 * rs)).max(0.0); + + // Umbrales (Meeus, "Astronomical Algorithms" cap. 54): + // ω < ρ_sun + ρ_moon + π_moon → eclipse visible desde algún + // punto de la Tierra (parcial). + // ω < π_moon − (ρ_sun − ρ_moon) → eje del cono umbra/antumbra + // intersecta la superficie + // terrestre (central: Total o + // Annular). + let partial_limit = rs + rm + pi_m; + let central_limit = pi_m - (rs - rm); + + let kind = if separation_deg > partial_limit { + SolarEclipseKind::None + } else if separation_deg < central_limit.max(0.0) { + if rm >= rs { + SolarEclipseKind::Total + } else { + SolarEclipseKind::Annular + } + } else { + SolarEclipseKind::Partial + }; + + SolarEclipseReading { + separation_deg, + sun_apparent_radius_deg, + moon_apparent_radius_deg, + moon_horizontal_parallax_deg, + magnitude, + kind, + } +} + +/// Lectura lunar puntual. +pub fn lunar_reading_at(tdb: &TDB) -> LunarEclipseReading { + let sun_pos = Vsop2013Sun.geocentric_position(tdb).expect("Sun geo"); + let moon_pos_au = moon_geocentric_au(tdb); + let d_sun_au = mag(&sun_pos); + let d_sun_km = d_sun_au * cosmos_core::constants::AU_KM; + + // Eje anti-solar (vector unitario que sale de la Tierra en + // dirección opuesta al Sol). + let anti = Vector3::new(-sun_pos.x, -sun_pos.y, -sun_pos.z); + let anti_u = unit(&anti); + let moon_km = Vector3::new( + moon_pos_au.x * cosmos_core::constants::AU_KM, + moon_pos_au.y * cosmos_core::constants::AU_KM, + moon_pos_au.z * cosmos_core::constants::AU_KM, + ); + let p_km = dot(&moon_km, &anti_u); + let perp = sub(&moon_km, &scale(&anti_u, p_km)); + let q_km = mag(&perp); + + // Meeus, AA cap. 54 — factor 1.02 expande el cono umbra terrestre + // para representar la extensión atmosférica observable (la sombra + // real de la Tierra incluye la altura efectiva de la atmósfera). + const ATM_FACTOR: f64 = 1.02; + let umbra_radius_km = + ATM_FACTOR * (EARTH_RADIUS_KM - p_km * (SOLAR_RADIUS_KM - EARTH_RADIUS_KM) / d_sun_km) + .max(0.0); + let penumbra_radius_km = + ATM_FACTOR * (EARTH_RADIUS_KM + p_km * (SOLAR_RADIUS_KM + EARTH_RADIUS_KM) / d_sun_km); + + let umbral_magnitude = ((umbra_radius_km + MOON_RADIUS_KM - q_km) / (2.0 * MOON_RADIUS_KM)) + .max(0.0); + + let kind = if p_km <= 0.0 { + // Luna del lado del Sol — fase nueva, no puede haber eclipse + // lunar. + LunarEclipseKind::None + } else if q_km + MOON_RADIUS_KM < umbra_radius_km { + LunarEclipseKind::Total + } else if q_km - MOON_RADIUS_KM < umbra_radius_km { + LunarEclipseKind::Partial + } else if q_km - MOON_RADIUS_KM < penumbra_radius_km { + LunarEclipseKind::Penumbral + } else { + LunarEclipseKind::None + }; + + LunarEclipseReading { + gamma_km: q_km, + umbra_radius_km, + penumbra_radius_km, + umbral_magnitude, + kind, + } +} + +/// Barre `[jd_from, jd_to]` con `step_days` buscando ventanas donde la +/// lectura solar reporta cualquier eclipse (no None). Cada ventana +/// contigua se reduce a un [`EclipseEvent`] con la magnitud máxima +/// observada. +pub fn find_solar_eclipses(jd_from: f64, jd_to: f64, step_days: f64) -> Vec { + let step = step_days.max(1.0 / 1440.0); + let mut events: Vec = Vec::new(); + let mut win: Option<(f64, f64, f64, f64, SolarEclipseKind)> = None; + let mut jd = jd_from; + while jd <= jd_to { + let tdb = TDB::from_julian_date(JulianDate::from_f64(jd)); + let r = solar_reading_at(&tdb); + if r.kind != SolarEclipseKind::None { + match &mut win { + None => { + win = Some((jd, jd, r.magnitude, jd, r.kind)); + } + Some(w) => { + w.1 = jd; + if r.magnitude > w.2 { + w.2 = r.magnitude; + w.3 = jd; + } + if rank_solar(r.kind) > rank_solar(w.4) { + w.4 = r.kind; + } + } + } + } else if let Some((start, end, mag, jd_at_max, kind)) = win.take() { + events.push(EclipseEvent { + jd_mid: jd_at_max, + magnitude_max: mag, + duration_hours: (end - start) * 24.0, + kind_max_solar: Some(kind), + kind_max_lunar: None, + }); + } + jd += step; + } + if let Some((start, end, mag, jd_at_max, kind)) = win { + events.push(EclipseEvent { + jd_mid: jd_at_max, + magnitude_max: mag, + duration_hours: (end - start) * 24.0, + kind_max_solar: Some(kind), + kind_max_lunar: None, + }); + } + events +} + +/// Barrido análogo para eclipses lunares. +pub fn find_lunar_eclipses(jd_from: f64, jd_to: f64, step_days: f64) -> Vec { + let step = step_days.max(1.0 / 1440.0); + let mut events: Vec = Vec::new(); + let mut win: Option<(f64, f64, f64, f64, LunarEclipseKind)> = None; + let mut jd = jd_from; + while jd <= jd_to { + let tdb = TDB::from_julian_date(JulianDate::from_f64(jd)); + let r = lunar_reading_at(&tdb); + if r.kind != LunarEclipseKind::None { + match &mut win { + None => { + win = Some((jd, jd, r.umbral_magnitude, jd, r.kind)); + } + Some(w) => { + w.1 = jd; + if r.umbral_magnitude > w.2 { + w.2 = r.umbral_magnitude; + w.3 = jd; + } + if rank_lunar(r.kind) > rank_lunar(w.4) { + w.4 = r.kind; + } + } + } + } else if let Some((start, end, mag, jd_at_max, kind)) = win.take() { + events.push(EclipseEvent { + jd_mid: jd_at_max, + magnitude_max: mag, + duration_hours: (end - start) * 24.0, + kind_max_solar: None, + kind_max_lunar: Some(kind), + }); + } + jd += step; + } + if let Some((start, end, mag, jd_at_max, kind)) = win { + events.push(EclipseEvent { + jd_mid: jd_at_max, + magnitude_max: mag, + duration_hours: (end - start) * 24.0, + kind_max_solar: None, + kind_max_lunar: Some(kind), + }); + } + events +} + +fn rank_solar(k: SolarEclipseKind) -> u8 { + match k { + SolarEclipseKind::None => 0, + SolarEclipseKind::Partial => 1, + SolarEclipseKind::Annular => 2, + SolarEclipseKind::Total => 3, + } +} + +fn rank_lunar(k: LunarEclipseKind) -> u8 { + match k { + LunarEclipseKind::None => 0, + LunarEclipseKind::Penumbral => 1, + LunarEclipseKind::Partial => 2, + LunarEclipseKind::Total => 3, + } +} + +fn moon_geocentric_au(tdb: &TDB) -> Vector3 { + let inv_au = 1.0 / cosmos_core::constants::AU_KM; + let km = ElpMpp02Moon::new() + .geocentric_position_icrs(tdb) + .expect("Moon geo"); + Vector3::new(km[0] * inv_au, km[1] * inv_au, km[2] * inv_au) +} + +fn mag(v: &Vector3) -> f64 { + (v.x * v.x + v.y * v.y + v.z * v.z).sqrt() +} + +fn dot(a: &Vector3, b: &Vector3) -> f64 { + a.x * b.x + a.y * b.y + a.z * b.z +} + +fn sub(a: &Vector3, b: &Vector3) -> Vector3 { + Vector3::new(a.x - b.x, a.y - b.y, a.z - b.z) +} + +fn scale(v: &Vector3, s: f64) -> Vector3 { + Vector3::new(v.x * s, v.y * s, v.z * s) +} + +fn unit(v: &Vector3) -> Vector3 { + let m = mag(v).max(1e-30); + Vector3::new(v.x / m, v.y / m, v.z / m) +} + +fn angle_between(a: &Vector3, b: &Vector3) -> f64 { + let m = mag(a) * mag(b); + if m < 1e-30 { + return 0.0; + } + (dot(a, b) / m).clamp(-1.0, 1.0).acos() +} + +#[cfg(test)] +mod tests { + use super::*; + + fn jd(year: i32, month: u8, day: u8, hour: u8, minute: u8) -> f64 { + JulianDate::from_calendar(year, month, day, hour, minute, 0.0).to_f64() + } + + #[test] + fn apparent_radii_in_known_range() { + let tdb: TDB = "2026-01-01T00:00:00".parse().unwrap(); + let r = solar_reading_at(&tdb); + // ρ_sun ≈ 0.265° (rango anual 0.262–0.272°). + assert!( + r.sun_apparent_radius_deg > 0.255 && r.sun_apparent_radius_deg < 0.280, + "ρ_sun plausible: {}", + r.sun_apparent_radius_deg + ); + // ρ_moon ≈ 0.25–0.28° (perigeo/apogeo). + assert!( + r.moon_apparent_radius_deg > 0.22 && r.moon_apparent_radius_deg < 0.30, + "ρ_moon plausible: {}", + r.moon_apparent_radius_deg + ); + } + + #[test] + fn no_eclipse_on_random_day() { + // 2026-05-27: no es eclipse. + let tdb: TDB = "2026-05-27T12:00:00".parse().unwrap(); + let r_s = solar_reading_at(&tdb); + let r_l = lunar_reading_at(&tdb); + assert_eq!(r_s.kind, SolarEclipseKind::None); + assert_eq!(r_l.kind, LunarEclipseKind::None); + } + + #[test] + fn solar_eclipse_2026_08_12_detected() { + // Eclipse solar total del 2026-08-12 (España + Islandia). + // Buscamos en ±2 días. + let from = jd(2026, 8, 10, 0, 0); + let to = jd(2026, 8, 14, 0, 0); + let events = find_solar_eclipses(from, to, 1.0 / 48.0); + assert!( + !events.is_empty(), + "se debe detectar el eclipse solar del 2026-08-12" + ); + let ev = events[0]; + // Centro entre 11 y 13 agosto. + assert!( + ev.jd_mid > jd(2026, 8, 11, 0, 0) && ev.jd_mid < jd(2026, 8, 13, 0, 0), + "centro plausible: jd_mid={}", + ev.jd_mid + ); + // Debe ser total geocéntricamente. + assert!( + matches!( + ev.kind_max_solar, + Some(SolarEclipseKind::Total) | Some(SolarEclipseKind::Annular) + ), + "kind máx para 2026-08-12: {:?}", + ev.kind_max_solar + ); + } + + #[test] + fn solar_eclipse_2027_08_02_detected_as_total() { + // Eclipse solar total del 2027-08-02 — el más largo del siglo + // (~6m23s en Egipto). Geocéntricamente debe clasificar como + // Total. + let from = jd(2027, 7, 31, 0, 0); + let to = jd(2027, 8, 4, 0, 0); + let events = find_solar_eclipses(from, to, 1.0 / 48.0); + assert!(!events.is_empty(), "se debe detectar el 2027-08-02"); + let ev = events[0]; + assert_eq!(ev.kind_max_solar, Some(SolarEclipseKind::Total), + "2027-08-02 es Total geocéntrico"); + } + + #[test] + fn lunar_eclipse_2026_03_03_detected() { + // Eclipse lunar total del 2026-03-03. + let from = jd(2026, 3, 2, 0, 0); + let to = jd(2026, 3, 4, 12, 0); + let events = find_lunar_eclipses(from, to, 1.0 / 48.0); + assert!( + !events.is_empty(), + "se debe detectar eclipse lunar 2026-03-03" + ); + let ev = events[0]; + assert!( + matches!( + ev.kind_max_lunar, + Some(LunarEclipseKind::Total) | Some(LunarEclipseKind::Partial) + ), + "2026-03-03 al menos parcial umbral: {:?}", + ev.kind_max_lunar + ); + } + + #[test] + fn lunar_geometry_at_full_moon_makes_sense() { + // Cerca de luna llena 2026-03-03, gamma debe ser pequeño + // (Luna alineada con el eje anti-solar). + let tdb: TDB = "2026-03-03T12:00:00".parse().unwrap(); + let r = lunar_reading_at(&tdb); + assert!( + r.umbra_radius_km > 3000.0 && r.umbra_radius_km < 6000.0, + "umbra ~ 4500 km a distancia lunar: {}", + r.umbra_radius_km + ); + assert!( + r.penumbra_radius_km > r.umbra_radius_km, + "penumbra debe ser mayor que umbra" + ); + } + + #[test] + fn solar_magnitude_in_unit_interval_at_eclipse() { + // En el centro de un eclipse total, magnitude debe ser cercana + // a 1.0. + let tdb: TDB = "2027-08-02T10:00:00".parse().unwrap(); + let r = solar_reading_at(&tdb); + if r.kind != SolarEclipseKind::None { + assert!( + r.magnitude > 0.5 && r.magnitude < 2.0, + "magnitude plausible en eclipse: {}", + r.magnitude + ); + } + } + + #[test] + fn long_window_finds_multiple_events() { + // Barrido 2026-01..2028-01: debe haber al menos 4 eclipses + // solares (típicamente 4-5 por año-y-medio). + let from = jd(2026, 1, 1, 0, 0); + let to = jd(2028, 1, 1, 0, 0); + let solar = find_solar_eclipses(from, to, 1.0 / 12.0); + let lunar = find_lunar_eclipses(from, to, 1.0 / 12.0); + assert!( + solar.len() >= 3, + "≥ 3 eclipses solares en 2 años, fueron {}", + solar.len() + ); + assert!( + lunar.len() >= 2, + "≥ 2 eclipses lunares en 2 años, fueron {}", + lunar.len() + ); + } + + #[test] + fn lunar_eclipse_impossible_at_new_moon() { + // Luna nueva: Luna del lado del Sol, p < 0, no puede haber + // eclipse lunar. Tomamos un instante cerca de nueva (~ 2026-08-12, + // que es eclipse solar). + let tdb: TDB = "2026-08-12T17:00:00".parse().unwrap(); + let r = lunar_reading_at(&tdb); + assert_eq!(r.kind, LunarEclipseKind::None, "luna nueva: no eclipse lunar"); + } +} diff --git a/01_yachay/cosmos/cosmos-engine/Cargo.toml b/01_yachay/cosmos/cosmos-engine/Cargo.toml new file mode 100644 index 0000000..41f4853 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "cosmos-engine" +version = { workspace = true } +edition = { workspace = true } +license = { workspace = true } +description = "Tahuantinsuyu — bridge entre el modelo agnóstico y cosmos-astrology. Produce RenderModel agnóstico para el canvas." + +[dependencies] +cosmos-model = { path = "../cosmos-model" } +cosmos-render = { path = "../cosmos-render" } +cosmos-corpus = { path = "../cosmos-corpus" } +serde = { workspace = true } +thiserror = { workspace = true } + +# cosmos-astrology vive en otro workspace (~/eternal). Lo enlazamos por +# path para que el bridge use la misma lógica validada que el harness de +# Sergio. Si el path no existe (CI sin eternal checked out), el feature +# `eternal-bridge` se apaga. +[dependencies.cosmos-astrology] +path = "../cosmos-astrology" +optional = true + +[dependencies.cosmos-sky] +path = "../cosmos-sky" +optional = true + +[features] +# El bridge real contra cosmos-astrology está prendido por default +# porque la app sin eternal no muestra cartas reales. Si necesitás +# compilar sin eternal checked out (CI, builds aisladas), `--no-default-features` +# lo apaga y `compute()` cae a `compute_mock()`. +default = ["eternal-bridge"] +eternal-bridge = ["dep:cosmos-astrology", "dep:cosmos-sky"] diff --git a/01_yachay/cosmos/cosmos-engine/LEEME.md b/01_yachay/cosmos/cosmos-engine/LEEME.md new file mode 100644 index 0000000..22c9d05 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/LEEME.md @@ -0,0 +1,19 @@ +# cosmos-engine + +> Engine genérico de cálculo de [cosmos](../README.md). + +Orquesta los módulos: cuando un cliente pide "posición del jupiter para el observador X a la fecha T", el engine arma la cadena `time → ephemeris → coords → pointing` y devuelve el resultado. Cachea resultados por (input-hash) cuando el cálculo es caro. + +## API + +```rust +use cosmos_engine::Engine; + +let eng = Engine::new(); +let pos = eng.position("jupiter", obs, t).await?; +``` + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-time`](../cosmos-time/README.md), [`cosmos-ephemeris`](../cosmos-ephemeris/README.md), [`cosmos-coords`](../cosmos-coords/README.md), [`cosmos-pointing`](../cosmos-pointing/README.md) +- `blake3` (cache key) diff --git a/01_yachay/cosmos/cosmos-engine/README.md b/01_yachay/cosmos/cosmos-engine/README.md new file mode 100644 index 0000000..f92d7ad --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/README.md @@ -0,0 +1,19 @@ +# cosmos-engine + +> Generic computation engine of [cosmos](../README.md). + +Orchestrates the modules: when a client asks "Jupiter's position for observer X at time T", the engine builds the `time → ephemeris → coords → pointing` chain and returns the result. Caches results by (input-hash) when computation is expensive. + +## API + +```rust +use cosmos_engine::Engine; + +let eng = Engine::new(); +let pos = eng.position("jupiter", obs, t).await?; +``` + +## Deps + +- [`cosmos-core`](../cosmos-core/README.md), [`cosmos-time`](../cosmos-time/README.md), [`cosmos-ephemeris`](../cosmos-ephemeris/README.md), [`cosmos-coords`](../cosmos-coords/README.md), [`cosmos-pointing`](../cosmos-pointing/README.md) +- `blake3` (cache key) diff --git a/01_yachay/cosmos/cosmos-engine/examples/wheel.rs b/01_yachay/cosmos/cosmos-engine/examples/wheel.rs new file mode 100644 index 0000000..9e867d9 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/examples/wheel.rs @@ -0,0 +1,73 @@ +//! Genera un wheel sample como SVG/PNG para verificación visual del +//! render (sin la app Llimphi, sin display server). Tirá esto cuando +//! tu sandbox no tiene Wayland/X11. + +use cosmos_engine::{compose_with_options, NatalOptions}; +use cosmos_model::{ + Chart, ChartId, ChartKind, ContactId, StoredBirthData, StoredChartConfig, TimeCertainty, +}; +use cosmos_render::{compose_wheel, draw_commands_to_svg, CompositionOpts, Palette}; + +fn sample_chart() -> Chart { + Chart { + id: ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: "demo".into(), + birth_data: StoredBirthData { + year: 1990, + month: 6, + day: 21, + hour: 12, + minute: 0, + second: 0.0, + tz_offset_minutes: -300, + latitude_deg: -12.0464, + longitude_deg: -77.0428, + altitude_m: 154.0, + time_certainty: TimeCertainty::Estimated, + subject_name: None, + birthplace_label: Some("Lima".into()), + }, + config: StoredChartConfig::default(), + related_chart_id: None, + created_at_ms: 0, + } +} + +fn main() { + let opts = NatalOptions { + show_majors: true, + show_minors: false, + orb_multiplier: 1.0, + show_dignities: true, + harmonic: 1, + }; + let model = compose_with_options(&sample_chart(), 0, &[], &opts).expect("compose"); + let mut copts = CompositionOpts { + size: 900.0, + rot_offset_deg: 0.0, + include_bodies: true, + palette: Palette::dark(), + draw_ascensional_cross: true, + show_coord_labels: true, + show_minor_aspects: false, + dial_3d: true, + selected_body: None, + detail: 1.0, + }; + // Render base (sin selección). + let cmds = compose_wheel(&model, &copts); + let mut svg = draw_commands_to_svg(&cmds, 900.0); + svg = svg.replace(" = OnceLock::new(); + +pub(crate) fn session() -> Result<&'static EphemerisSession, EngineError> { + if let Some(s) = SESSION.get() { + return Ok(s); + } + let opened = EphemerisSession::open(SessionConfig::vsop2013()) + .map_err(|e| EngineError::Eternal(format!("EphemerisSession::open: {:?}", e)))?; + // Si otro thread ya pobló la celda mientras abríamos, el set_once + // falla silenciosamente — usamos el que quedó dentro. + let _ = SESSION.set(opened); + Ok(SESSION.get().expect("session was just set")) +} + +// ===================================================================== +// compute() +// ===================================================================== + +/// Construye los tipos eternales (`BirthData`, `ChartConfig`) desde el +/// `Chart` agnóstico, aplicando el offset temporal. Devuelve también el +/// `Observer` y la `ChartConfig` para reusar en pipelines extendidas +/// (transits, sinastría) sin re-traducir. +pub(crate) fn build_eternal_inputs( + chart: &Chart, + offset_seconds: i64, +) -> Result<(BirthData, ChartConfig, Observer), EngineError> { + chart.validate()?; + let bd = &chart.birth_data; + let base_instant = ESInstant::from_civil_local( + bd.year, + u8::try_from(bd.month).map_err(|_| { + EngineError::Eternal(format!("mes fuera de u8: {}", bd.month)) + })?, + u8::try_from(bd.day).map_err(|_| { + EngineError::Eternal(format!("día fuera de u8: {}", bd.day)) + })?, + u8::try_from(bd.hour).map_err(|_| { + EngineError::Eternal(format!("hora fuera de u8: {}", bd.hour)) + })?, + u8::try_from(bd.minute).map_err(|_| { + EngineError::Eternal(format!("minuto fuera de u8: {}", bd.minute)) + })?, + bd.second, + bd.tz_offset_minutes, + ) + .map_err(|e| EngineError::Eternal(format!("Instant::from_civil_local: {:?}", e)))?; + + // Microajuste temporal en SEGUNDOS — el rectificador automático + // barre la hora candidata con resolución de segundo. + let instant = if offset_seconds == 0 { + base_instant + } else { + let shifted_utc = base_instant.utc().add_seconds(offset_seconds as f64); + ESInstant::from_utc(shifted_utc) + }; + + let observer = Observer::from_degrees(bd.latitude_deg, bd.longitude_deg, bd.altitude_m); + let mut birth_e = BirthData::new(instant, observer); + if let Some(name) = &bd.subject_name { + birth_e = birth_e.with_name(name.clone()); + } + let config_e = ChartConfig { + house_system: map_house_system(chart.config.house_system), + zodiac: map_zodiac(chart.config.zodiac, chart.config.ayanamsha.as_deref()), + bodies: map_body_set(&chart.config), + include_horizon: false, + }; + Ok((birth_e, config_e, observer)) +} + +/// Computa la `NatalChart` consultando primero el LRU cache global. +/// Útil para pipelines compuestas (transits, sinastría, composite) que +/// computan la misma carta natal del partner en cada render — bajo +/// drag de sliders se llama decenas de veces seguidas con inputs +/// idénticos. +/// +/// La clave incluye todos los campos de `StoredBirthData` y +/// `StoredChartConfig` que afectan el cómputo; editar la carta invalida +/// automáticamente la entrada. +pub(crate) fn compute_natal_chart( + chart: &Chart, + offset_seconds: i64, +) -> Result<(Arc, ChartConfig, Observer), EngineError> { + let (birth_e, config_e, observer) = build_eternal_inputs(chart, offset_seconds)?; + let key = crate::natal_cache::key_for(&chart.birth_data, &chart.config, offset_seconds); + if let Some(cached) = crate::natal_cache::get(key) { + return Ok((cached, config_e, observer)); + } + let session = session()?; + let natal = NatalChart::compute(&birth_e, &config_e, session) + .map_err(|e| EngineError::Eternal(format!("NatalChart::compute: {:?}", e)))?; + let arc = Arc::new(natal); + crate::natal_cache::insert(key, arc.clone()); + Ok((arc, config_e, observer)) +} + +/// Composición principal: natal + overlays pedidos. Es la función que +/// `lib::compose` delega cuando el feature `eternal-bridge` está activo. +pub fn compose( + chart: &Chart, + offset_minutes: i64, + requests: &[crate::PipelineRequest], + natal_options: &crate::NatalOptions, +) -> Result { + let t0 = Instant::now(); + // `compute_natal_chart` trabaja en segundos; `compose` recibe el + // offset en minutos (el scrub del jog-dial, la API pública). + let (natal, config_e, observer) = compute_natal_chart(chart, offset_minutes * 60)?; + let orb_table = build_orb_table(natal_options.orb_multiplier); + let all_aspects = find_aspects(&natal, &orb_table); + let aspects: Vec = all_aspects + .into_iter() + .filter(|a| { + let is_major = EAspectKind::MAJORS.contains(&a.kind); + (is_major && natal_options.show_majors) + || (!is_major && natal_options.show_minors) + }) + .collect(); + let mut render = build_render_model(chart, &natal, &aspects, t0); + if natal_options.show_dignities { + annotate_dignities(&natal, &mut render); + } + populate_natal_aspect_summary(&aspects, &mut render); + + // Carta armónica: re-renderiza los cuerpos natales en su armónico + // de orden N y recomputa sus aspectos. Se aplica antes de los + // overlays — éstos quedan en coordenadas natales (la armónica es + // un análisis de la carta natal pura). + crate::apply_harmonic(&mut render, natal_options.harmonic); + + for req in requests { + match req { + crate::PipelineRequest::Transit => { + build_transit_overlay(&natal, &config_e, observer, ESInstant::now(), &mut render)?; + push_overlay_meta(&mut render, "transit", "Tránsito ahora".into()); + } + crate::PipelineRequest::SecondaryProgression { target_age_years } => { + build_progression_overlay(&natal, *target_age_years, &mut render)?; + push_overlay_meta( + &mut render, + "progression", + format!("Progresión {:.1}a", target_age_years), + ); + } + crate::PipelineRequest::SolarArc { target_age_years } => { + build_solar_arc_overlay(&natal, *target_age_years, &mut render)?; + push_overlay_meta( + &mut render, + "solar_arc", + format!("Solar Arc {:.1}a", target_age_years), + ); + } + crate::PipelineRequest::Synastry { partner_chart } => { + let partner_label = partner_chart.label.clone(); + build_synastry_overlay(&natal, partner_chart, &mut render)?; + push_overlay_meta( + &mut render, + "synastry", + format!("Sinastría · {}", partner_label), + ); + } + crate::PipelineRequest::Midpoints => { + build_midpoints_overlay(&natal, &mut render); + push_overlay_meta(&mut render, "midpoints", "Midpoints ☉/☽".into()); + } + crate::PipelineRequest::PlanetaryReturn { + body, + target_age_years, + shift_days, + } => { + let body_e = map_body(body).ok_or_else(|| { + EngineError::Eternal(format!( + "body desconocido para planetary return: {}", + body + )) + })?; + build_planetary_return_overlay( + &natal, + &config_e, + observer, + body_e, + *target_age_years, + *shift_days, + &mut render, + )?; + let shift_label = if *shift_days == 0 { + String::new() + } else { + format!(" {:+}d", shift_days) + }; + push_overlay_meta( + &mut render, + "planetary_return", + format!("{} return {:.0}a{}", body_e.name(), target_age_years, shift_label), + ); + } + crate::PipelineRequest::Composite { partner_chart } => { + let partner_label = partner_chart.label.clone(); + build_composite_overlay(&natal, partner_chart, &mut render)?; + push_overlay_meta( + &mut render, + "composite", + format!("Composite · {}", partner_label), + ); + } + crate::PipelineRequest::Uranian => { + build_uranian_groups(&natal, &mut render); + let n = render.uranian_groups.len(); + push_overlay_meta( + &mut render, + "uranian", + if n == 0 { + "Uraniano · sin ejes".into() + } else { + format!("Uraniano · {} ejes", n) + }, + ); + } + crate::PipelineRequest::Lots => { + let count = build_lots_overlay(&natal, &mut render)?; + push_overlay_meta(&mut render, "lots", format!("Lots · {}", count)); + } + crate::PipelineRequest::FixedStars => { + let count = build_fixed_stars_overlay(chart, &mut render); + push_overlay_meta( + &mut render, + "fixed_stars", + format!("Estrellas fijas · {}", count), + ); + } + crate::PipelineRequest::Topocentric => { + build_topocentric_overlay(&natal, natal_options.show_minors, &mut render)?; + push_overlay_meta( + &mut render, + "topocentric", + "Topocéntrico (Polich-Page)".into(), + ); + } + crate::PipelineRequest::PrimaryDirections { + target_age_years, + key, + } => { + let dkey = match key.as_str() { + "ptolemy" => EDirectionKey::Ptolemy, + _ => EDirectionKey::Naibod, + }; + build_primary_directions_overlay( + &natal, + *target_age_years, + dkey, + &mut render, + ); + push_overlay_meta( + &mut render, + "primary_directions", + format!( + "GR Direcciones · {:.1}a · {}", + target_age_years, + match dkey { + EDirectionKey::Naibod => "Naibod", + EDirectionKey::Ptolemy => "Ptolomeo", + } + ), + ); + } + } + } + + render.compute_ms = t0.elapsed().as_millis() as u64; + Ok(render) +} + + +/// Helper: agrega al `RenderModel` las capas del overlay de retorno +/// planetario — la carta natal completa computada al instante en que +/// el `body` vuelve a su posición natal cerca de la edad pedida. +/// Sun = retorno solar anual, Moon = mensual, Júpiter/Saturno = +/// generacionales. Esa nueva carta va en el anillo externo (compartido +/// con Transit/Synastry, mutuamente excluyentes a nivel de Shell). +/// Computa la carta del retorno planetario actual y devuelve los +/// datos necesarios para construir un `Chart` standalone que el +/// caller puede mostrar/persistir. +/// +/// Devuelve `(StoredBirthData, instant_label)`: +/// - `StoredBirthData` con birth_data del retorno (year/month/day/... +/// del instante del retorno, mismas coordenadas que el natal). +/// - `instant_label` format corto del momento (ej. "2024-03-14 +/// 05:22 UTC") — el shell lo concatena en el label final. +pub fn compute_planetary_return_chart( + chart: &Chart, + body_str: &str, + target_age_years: f64, + shift_days: i64, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + let (birth_e, config_e, _observer) = build_eternal_inputs(chart, 0)?; + let session = session()?; + let natal = NatalChart::compute(&birth_e, &config_e, session) + .map_err(|e| EngineError::Eternal(format!("NatalChart::compute: {:?}", e)))?; + let body = map_body(body_str) + .ok_or_else(|| EngineError::Eternal(format!("body desconocido: {}", body_str)))?; + let natal_p = natal.placement(body).ok_or_else(|| { + EngineError::Eternal(format!( + "natal chart sin {} — return imposible", + body.name() + )) + })?; + let natal_lon = natal_p.longitude.longitude_rad(); + + let after_seconds = + (target_age_years * 365.242190 - 30.0 + shift_days as f64) * 86400.0; + const TWO_TROPICAL: f64 = 365.242190 * 86400.0 * 2.0; + let after_utc = natal + .birth + .instant + .utc() + .add_seconds(after_seconds.max(-TWO_TROPICAL)); + let after = ESInstant::from_utc(after_utc); + + let return_instant = next_return(session, body, natal_lon, after, None) + .map_err(|e| EngineError::Eternal(format!("next_return {}: {:?}", body.name(), e)))?; + + // Extraer year/month/day/hour/min/sec del momento del retorno. + // `to_iso8601` devuelve "YYYY-MM-DDTHH:MM:SS.sss" — parseamos los + // 5 campos relevantes. La precisión está en sub-segundo; usamos + // segundo entero (StoredBirthData::second es f64 pero el campo + // se persiste así). + let iso = return_instant.utc().to_iso8601(); + let (year, month, day, hour, minute, second) = parse_iso8601_components(&iso) + .ok_or_else(|| EngineError::Eternal(format!("iso8601 inválido: {}", iso)))?; + + let stored = cosmos_model::StoredBirthData { + year, + month, + day, + hour, + minute, + second, + // El return se computa en la TZ del observador natal (es la + // convención clásica del Solar return). Heredamos también + // lat/lon/alt. + tz_offset_minutes: chart.birth_data.tz_offset_minutes, + latitude_deg: chart.birth_data.latitude_deg, + longitude_deg: chart.birth_data.longitude_deg, + altitude_m: chart.birth_data.altitude_m, + time_certainty: Default::default(), + subject_name: chart.birth_data.subject_name.clone(), + birthplace_label: chart.birth_data.birthplace_label.clone(), + }; + let label = format!( + "{:04}-{:02}-{:02} {:02}:{:02} UTC", + year, month, day, hour, minute + ); + Ok((stored, label)) +} + +/// Computa la **carta de tránsito** del momento actual sobre las +/// coordenadas del natal — birth_data = "ahora" UTC, mismo +/// observer/lat/lon/TZ que el natal. Útil para snapshot del cielo +/// en este instante anclado al lugar de nacimiento del sujeto. +pub fn compute_transit_chart( + chart: &Chart, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + let now_iso = ESInstant::now().utc().to_iso8601(); + let (year, month, day, hour, minute, second) = + parse_iso8601_components(&now_iso).ok_or_else(|| { + EngineError::Eternal(format!("iso8601 inválido para now(): {}", now_iso)) + })?; + let stored = cosmos_model::StoredBirthData { + year, + month, + day, + hour, + minute, + second, + tz_offset_minutes: chart.birth_data.tz_offset_minutes, + latitude_deg: chart.birth_data.latitude_deg, + longitude_deg: chart.birth_data.longitude_deg, + altitude_m: chart.birth_data.altitude_m, + time_certainty: Default::default(), + subject_name: chart.birth_data.subject_name.clone(), + birthplace_label: chart.birth_data.birthplace_label.clone(), + }; + let label = format!("{:04}-{:02}-{:02} {:02}:{:02} UTC", year, month, day, hour, minute); + Ok((stored, label)) +} + +/// Computa la **carta progresada secundaria** a la edad dada como +/// `StoredBirthData` standalone. Método clásico: el instante de la +/// progresada es `natal_instant + target_age_years * 1 día` +/// (un día simbólico = un año de vida). Las coordenadas del +/// observador se heredan del natal — la progresada es una proyección +/// simbólica sobre el lugar de nacimiento, no un evento real ahí. +pub fn compute_progression_chart( + chart: &Chart, + target_age_years: f64, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + let (birth_e, _config_e, _observer) = build_eternal_inputs(chart, 0)?; + let advance_seconds = target_age_years * 86400.0; // 1 día / año + let advanced_utc = birth_e.instant.utc().add_seconds(advance_seconds); + let iso = advanced_utc.to_iso8601(); + let (year, month, day, hour, minute, second) = + parse_iso8601_components(&iso).ok_or_else(|| { + EngineError::Eternal(format!("iso8601 inválido: {}", iso)) + })?; + let stored = cosmos_model::StoredBirthData { + year, + month, + day, + hour, + minute, + second, + tz_offset_minutes: chart.birth_data.tz_offset_minutes, + latitude_deg: chart.birth_data.latitude_deg, + longitude_deg: chart.birth_data.longitude_deg, + altitude_m: chart.birth_data.altitude_m, + time_certainty: Default::default(), + subject_name: chart.birth_data.subject_name.clone(), + birthplace_label: chart.birth_data.birthplace_label.clone(), + }; + let label = format!("{:04}-{:02}-{:02} {:02}:{:02} UTC", year, month, day, hour, minute); + Ok((stored, label)) +} + +/// Parsea "YYYY-MM-DDTHH:MM:SS[.fff]" a `(year, month, day, hour, +/// minute, second_float)`. Retorna `None` si el format no encaja. +pub(crate) fn parse_iso8601_components(s: &str) -> Option<(i32, u32, u32, u32, u32, f64)> { + // Split en T y luego campo por campo. + let mut parts = s.splitn(2, 'T'); + let date = parts.next()?; + let time = parts.next()?; + let mut d = date.split('-'); + let year: i32 = d.next()?.parse().ok()?; + let month: u32 = d.next()?.parse().ok()?; + let day: u32 = d.next()?.parse().ok()?; + let mut t = time.split(':'); + let hour: u32 = t.next()?.parse().ok()?; + let minute: u32 = t.next()?.parse().ok()?; + let second: f64 = t.next()?.parse().ok()?; + Some((year, month, day, hour, minute, second)) +} diff --git a/01_yachay/cosmos/cosmos-engine/src/bridge/maps.rs b/01_yachay/cosmos/cosmos-engine/src/bridge/maps.rs new file mode 100644 index 0000000..1fad34b --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/bridge/maps.rs @@ -0,0 +1,136 @@ +//! Traducciones `Stored*`/agnóstico → tipos eternales + símbolos. + +use super::*; + +// ===================================================================== +// Traducciones Stored* → eternal +// ===================================================================== + +pub(crate) fn map_house_system(h: HouseSystem) -> EHouseSystem { + match h { + HouseSystem::Placidus => EHouseSystem::Placidus, + HouseSystem::Koch => EHouseSystem::Koch, + HouseSystem::Regiomontanus => EHouseSystem::Regiomontanus, + HouseSystem::Campanus => EHouseSystem::Campanus, + HouseSystem::Porphyry => EHouseSystem::Porphyry, + HouseSystem::Equal => EHouseSystem::Equal, + HouseSystem::WholeSign => EHouseSystem::WholeSign, + } +} + +pub(crate) fn map_zodiac(z: Zodiac, ayanamsha_hint: Option<&str>) -> EZodiac { + match z { + Zodiac::Tropical => EZodiac::Tropical, + Zodiac::Sidereal => { + let mode = match ayanamsha_hint.unwrap_or("lahiri").to_ascii_lowercase().as_str() { + "fagan_bradley" | "fagan-bradley" | "faganbradley" => Ayanamsha::FaganBradley, + "raman" => Ayanamsha::Raman, + "krishnamurti" => Ayanamsha::Krishnamurti, + "de_luce" | "deluce" => Ayanamsha::DeLuce, + "djwhal_khul" | "djwhalkhul" => Ayanamsha::DjwhalKhul, + "ushashashi" => Ayanamsha::Ushashashi, + "yukteshwar" => Ayanamsha::Yukteshwar, + _ => Ayanamsha::Lahiri, + }; + EZodiac::Sidereal(mode) + } + // Dracónico aún no soportado en eternal — caemos a tropical por + // ahora; cuando eternal lo agregue, lo cableamos acá. + Zodiac::Draconic => EZodiac::Tropical, + } +} + +pub(crate) fn map_body_set(cfg: &StoredChartConfig) -> BodySet { + let mut bodies: Vec = Vec::new(); + for name in &cfg.bodies { + if let Some(b) = map_body(name) { + bodies.push(b); + } + } + if bodies.is_empty() { + // Default razonable si el config vino vacío. + return BodySet::classical_modern(); + } + let mut set = BodySet { + bodies, + include_south_node: cfg.include_south_node, + }; + if cfg.include_lilith { + set = set.with_lilith(); + } + if cfg.include_main_belt_asteroids { + set = set.with_main_belt_asteroids(); + } + set +} + +pub(crate) fn map_body(name: &str) -> Option { + Some(match name.to_ascii_lowercase().as_str() { + "sun" => Body::Sun, + "moon" => Body::Moon, + "mercury" => Body::Mercury, + "venus" => Body::Venus, + "mars" => Body::Mars, + "jupiter" => Body::Jupiter, + "saturn" => Body::Saturn, + "uranus" => Body::Uranus, + "neptune" => Body::Neptune, + "pluto" => Body::Pluto, + "mean_node" | "meannode" => Body::MeanNode, + "true_node" | "truenode" => Body::TrueNode, + "mean_lilith" | "lilith" => Body::MeanLilith, + "true_lilith" => Body::TrueLilith, + "ceres" => Body::Ceres, + "pallas" => Body::Pallas, + "juno" => Body::Juno, + "vesta" => Body::Vesta, + _ => return None, + }) +} + +pub(crate) fn body_symbol(b: Body) -> &'static str { + match b { + Body::Sun => "sun", + Body::Moon => "moon", + Body::Mercury => "mercury", + Body::Venus => "venus", + Body::Mars => "mars", + Body::Jupiter => "jupiter", + Body::Saturn => "saturn", + Body::Uranus => "uranus", + Body::Neptune => "neptune", + Body::Pluto => "pluto", + Body::MeanNode => "north_node", + Body::TrueNode => "north_node", + Body::MeanLilith => "lilith", + Body::TrueLilith => "lilith", + Body::Ceres => "ceres", + Body::Pallas => "pallas", + Body::Juno => "juno", + Body::Vesta => "vesta", + Body::Chiron => "chiron", + Body::Pholus => "chiron", + Body::Eris => "chiron", + Body::Sedna => "chiron", + // `Body` es `#[non_exhaustive]` — cualquier cuerpo nuevo + // upstream cae al símbolo de fallback hasta que lo cableemos. + _ => "custom", + } +} + +pub(crate) fn aspect_kind_id(k: EAspectKind) -> &'static str { + match k { + EAspectKind::Conjunction => "conjunction", + EAspectKind::Opposition => "opposition", + EAspectKind::Trine => "trine", + EAspectKind::Square => "square", + EAspectKind::Sextile => "sextile", + EAspectKind::Quincunx => "quincunx", + EAspectKind::SemiSextile => "semi_sextile", + EAspectKind::SemiSquare => "semi_square", + EAspectKind::Sesquiquadrate => "sesquiquadrate", + EAspectKind::Quintile => "quintile", + EAspectKind::BiQuintile => "biquintile", + EAspectKind::Septile => "septile", + } +} diff --git a/01_yachay/cosmos/cosmos-engine/src/bridge/mod.rs b/01_yachay/cosmos/cosmos-engine/src/bridge/mod.rs new file mode 100644 index 0000000..a72c9bc --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/bridge/mod.rs @@ -0,0 +1,39 @@ +//! Bridge real: `cosmos_model::Chart` → cosmos_astrology → [`RenderModel`]. +//! +//! La sesión de efemérides VSOP2013 es **compartida globalmente** vía +//! `OnceLock` — abrirla cuesta unos cuantos ms (carga de las series en +//! memoria), y como es read-only se puede leer en paralelo desde varios +//! cómputos. +//! +//! Partido del monolito `bridge.rs` (regla dura #1): `maps` (traducciones a +//! tipos eternales + símbolos), `compute` (sesión global + cómputo de cartas) +//! y `overlays` (capas del RenderModel + resúmenes de aspectos). Las +//! importaciones comunes viven aquí; cada submódulo abre con `use super::*` +//! (scope único original preservado). + +use std::sync::{Arc, OnceLock}; +use std::time::Instant; + +use cosmos_astrology::{ + all_lots, composite, directed_longitude, find_aspects, find_synastry_aspects, next_return, + primary_direction::PrimaryDirection, secondary_progression, solar_arc_true, topocentric_ecliptic, + Aspect, AspectKind as EAspectKind, BirthData, BodySet, ChartConfig, + DirectionKey as EDirectionKey, HouseSystem as EHouseSystem, Houses as EHouses, NatalChart, + OrbTable, Zodiac as EZodiac, +}; +use cosmos_sky::{Ayanamsha, Body, EphemerisSession, Instant as ESInstant, Observer, SessionConfig}; + +use cosmos_model::{Chart, HouseSystem, StoredChartConfig, Zodiac}; +use crate::dignity::essential_dignity; +use crate::{ + compute_gr_triggers, AspectSummary, EngineError, Geometry, Glyph, GrDirection, Layer, + LayerKind, LineSeg, OverlayMeta, RenderModel, UranianGroup, +}; + +mod compute; +mod maps; +mod overlays; + +pub(crate) use compute::*; +pub(crate) use maps::*; +pub(crate) use overlays::*; diff --git a/01_yachay/cosmos/cosmos-engine/src/bridge/overlays.rs b/01_yachay/cosmos/cosmos-engine/src/bridge/overlays.rs new file mode 100644 index 0000000..6ae4ad8 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/bridge/overlays.rs @@ -0,0 +1,1173 @@ +//! Construcción de capas/overlays del `RenderModel` y resúmenes de aspectos. + +use super::*; + + +/// Helper: agrega al `RenderModel` las dos capas del overlay de +/// tránsitos (Outer + cross Aspects). +pub(crate) fn build_transit_overlay( + natal: &NatalChart, + config_e: &ChartConfig, + observer: Observer, + transit_at: ESInstant, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let transit_birth = BirthData::new(transit_at, observer); + let session = session()?; + let transit = NatalChart::compute(&transit_birth, config_e, session).map_err(|e| { + EngineError::Eternal(format!("NatalChart::compute (transit): {:?}", e)) + })?; + + let outer_glyphs: Vec = transit + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: None, + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "transit".into(), + kind: LayerKind::Outer, + ring: 0.82, + z: 4, + geometry: Geometry::GlyphsOnly, + glyphs: outer_glyphs, + }); + + let cross = find_synastry_aspects( + natal, + &transit, + &OrbTable::modern_western(), + EAspectKind::MAJORS, + ); + let cross_lines: Vec = cross + .iter() + .filter_map(|a| { + let natal_p = natal.placement(a.person_a_body)?; + let transit_p = transit.placement(a.person_b_body)?; + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + Some(LineSeg { + from_deg: natal_p.longitude.longitude_deg() as f32, + to_deg: transit_p.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity: opacity * 0.75, + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + orb_deg: a.orb_abs_deg() as f32, + }) + }) + .collect(); + render.layers.push(Layer { + module_id: "transit".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 5, + geometry: Geometry::Lines(cross_lines), + glyphs: Vec::new(), + }); + populate_cross_aspect_summary(&cross, "transit", render); + Ok(()) +} + +/// Helper: agrega al `RenderModel` las capas del overlay de progresión +/// secundaria. La carta progresada se computa con el mismo observer y +/// config que la natal pero al instante natal+(age_years/period_years) +/// días. +/// Overlay topocéntrico: re-proyecta cada placement natal a longitud +/// topocéntrica (con paralaje horizontal) y recalcula las casas con +/// Polich-Page. Los dos quedan emparentados al mismo `module_id = +/// "topocentric"` para que el canvas los pinte con un visual +/// consistente. La capa convive con la natal geocéntrica — ambas se +/// ven simultáneamente. +pub(crate) fn build_topocentric_overlay( + natal: &NatalChart, + show_minors: bool, + render: &mut RenderModel, +) -> Result<(), EngineError> { + const KM_PER_AU: f64 = 149_597_870.7; + let lst = natal.local_apparent_sidereal_time_rad; + let eps = natal.obliquity_rad; + let obs_lat = natal.birth.observer.lat_rad; + + // 1) Planetas topocéntricos. Para puntos sin distancia (nodos, + // Lilith calculada) `topocentric_ecliptic` retorna la entrada sin + // cambios — geocéntrico y topocéntrico coinciden ahí. + let body_glyphs: Vec = natal + .placements + .iter() + .map(|p| { + let dist_au = p.distance_km / KM_PER_AU; + let (lon_topo, _) = topocentric_ecliptic( + p.longitude.longitude_rad(), + p.latitude_rad, + dist_au, + obs_lat, + lst, + eps, + ); + let lon_topo_deg = lon_topo.to_degrees() as f32; + Glyph { + deg: lon_topo_deg, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.2}° topo", lon_topo_deg)), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: None, + dignity_marker: None, + } + }) + .collect(); + + // 1.b) Aspectos mayores entre planetas topocéntricos. Se computan + // sobre las longitudes topocéntricas reales y se publican con + // `module_id = "topocentric"` para que la tabla de aspectos + // topocéntricos (panel «Aspectos · topocéntrico») los muestre junto + // a los geocéntricos. Sólo mayores por ahora. + populate_topocentric_aspect_summary(&body_glyphs, show_minors, render); + + render.layers.push(Layer { + module_id: "topocentric".into(), + kind: LayerKind::Bodies, + ring: 0.50, + z: 8, + geometry: Geometry::GlyphsOnly, + glyphs: body_glyphs, + }); + + // 2) Casas Polich-Page. Si la latitud cae en el círculo polar el + // sistema diverge — devolvemos un error parcial pero conservamos + // la capa de planetas topocéntricos (que sí es válida). + match EHouses::compute(EHouseSystem::PolichPage, lst, obs_lat, eps) { + Ok(houses_pp) => { + let cusps_deg: Vec = + houses_pp.cusps.iter().map(|c| c.to_degrees() as f32).collect(); + let house_glyphs: Vec = (0..12) + .map(|i| Glyph { + deg: cusps_deg[i] + 4.0, + symbol: format!("h{}", i + 1), + annotation: None, + retrograde: false, + house: Some((i as u8) + 1), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "topocentric".into(), + kind: LayerKind::Houses, + ring: 0.78, + z: 9, + geometry: Geometry::Ring { cusps_deg }, + glyphs: house_glyphs, + }); + } + Err(e) => { + // Polo: el visual se queda solo con planetas topocéntricos. + eprintln!("[bridge] PolichPage no disponible en lat polar: {:?}", e); + } + } + + Ok(()) +} + +/// Orbe máximo (grados) para que una proyección primaria entre al HUD +/// de triggers. ~2° ≈ 2 años de vida con el key Naibod. +pub(crate) const GR_HUD_ORB_DEG: f32 = 2.0; +/// Micro-orbe de convergencia GR: 5 minutos de arco. Un punto natal +/// tocado a la vez por un directo y un converso dentro de este orbe +/// es un evento de rectificación. +pub(crate) const GR_EVENT_ORB_DEG: f32 = 5.0 / 60.0; +/// Tope de triggers en el HUD tras ordenar por orbe. +pub(crate) const GR_MAX_TRIGGERS: usize = 60; + +/// GR dual-ring de Direcciones Primarias: a la edad pedida, cada +/// cuerpo natal se proyecta dos veces — directa (rotación diurna +/// forward, anillo afuera) y conversa (rotación inversa, anillo +/// dentro). En rectificación, los dos rings se ven simultáneamente +/// y si un evento real cayó cerca de un punto natal, debe aparecer +/// "cruzado" con ambos arcos coincidentes — eso valida la hora. +/// +/// Además de los dos rings, computa `render.gr_triggers`: cada +/// proyección que cae cerca de un punto natal (cuerpo o ángulo), y +/// marca las convergencias directo+converso. La UI lo usa para el +/// HUD de rectificación y el resaltado de eventos. +/// +/// Usa el key Naibod (0°59'08″/año) como default — convención GR. +pub(crate) fn build_primary_directions_overlay( + natal: &NatalChart, + target_age_years: f64, + key: EDirectionKey, + render: &mut RenderModel, +) { + let eps = natal.obliquity_rad; + + let directions = [ + (GrDirection::Direct, PrimaryDirection::Direct), + (GrDirection::Converse, PrimaryDirection::Converse), + ]; + + // Posiciones dirigidas acumuladas para el emparejamiento posterior: + // `(promisor, dirección, longitud)`. + let mut directed: Vec<(String, GrDirection, f32)> = Vec::new(); + + for (gr_dir, pd_dir) in directions { + let glyphs: Vec = natal + .placements + .iter() + .map(|p| { + let new_lon_rad = directed_longitude( + p.right_ascension_rad, + p.declination_rad, + target_age_years, + pd_dir, + key, + eps, + ); + let directed_deg = (new_lon_rad.to_degrees() as f32).rem_euclid(360.0); + let symbol = body_symbol(p.body); + directed.push((symbol.to_string(), gr_dir, directed_deg)); + Glyph { + deg: directed_deg, + symbol: symbol.into(), + annotation: Some(format!("{:.2}°", directed_deg)), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: None, + dignity_marker: None, + } + }) + .collect(); + + let (module_id, z) = match gr_dir { + GrDirection::Direct => ("pd_direct", 10), + GrDirection::Converse => ("pd_converse", 11), + }; + render.layers.push(Layer { + module_id: module_id.into(), + kind: LayerKind::Bodies, + ring: 0.0, + z, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + } + + // Puntos natales objetivo: los cuerpos + los cuatro ángulos. Los + // ángulos son los anclajes clave de la rectificación. + let mut natal_targets: Vec<(String, f32)> = natal + .placements + .iter() + .map(|p| { + ( + body_symbol(p.body).to_string(), + p.longitude.longitude_deg() as f32, + ) + }) + .collect(); + natal_targets.push(("asc".into(), render.ascendant_deg)); + natal_targets.push(("mc".into(), render.midheaven_deg)); + natal_targets.push(("desc".into(), render.descendant_deg)); + natal_targets.push(("ic".into(), render.imum_coeli_deg)); + + render.gr_triggers = compute_gr_triggers( + &directed, + &natal_targets, + GR_HUD_ORB_DEG, + GR_EVENT_ORB_DEG, + GR_MAX_TRIGGERS, + ); +} + +pub(crate) fn build_progression_overlay( + natal: &NatalChart, + target_age_years: f64, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let session = session()?; + let prog = secondary_progression(natal, session, target_age_years) + .map_err(|e| EngineError::Eternal(format!("secondary_progression: {:?}", e)))?; + let progressed = &prog.progressed; + + // Glifos de los cuerpos progresados — anillo interno (radio 0.48). + let glyphs: Vec = progressed + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "progression".into(), + kind: LayerKind::Bodies, + ring: 0.48, + z: 6, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + + // Cross aspects natal × progresada (sólo mayores). + let cross = find_synastry_aspects( + natal, + progressed, + &OrbTable::modern_western(), + EAspectKind::MAJORS, + ); + let cross_lines: Vec = cross + .iter() + .filter_map(|a| { + let natal_p = natal.placement(a.person_a_body)?; + let prog_p = progressed.placement(a.person_b_body)?; + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + Some(LineSeg { + from_deg: natal_p.longitude.longitude_deg() as f32, + to_deg: prog_p.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity: opacity * 0.7, + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + orb_deg: a.orb_abs_deg() as f32, + }) + }) + .collect(); + render.layers.push(Layer { + module_id: "progression".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 7, + geometry: Geometry::Lines(cross_lines), + glyphs: Vec::new(), + }); + populate_cross_aspect_summary(&cross, "progression", render); + Ok(()) +} + +/// Helper: detecta "ejes" del dial uraniano de 90° — cuerpos natales +/// cuya longitud módulo 90 cae dentro de una tolerancia ε (2° por +/// default). Llena `render.uranian_groups` con los grupos detectados. +pub(crate) fn build_uranian_groups(natal: &NatalChart, render: &mut RenderModel) { + const EPSILON: f64 = 2.0; + let mut entries: Vec<(String, f64)> = natal + .placements + .iter() + .map(|p| { + let lon = p.longitude.longitude_deg(); + let mod90 = lon.rem_euclid(90.0); + (body_symbol(p.body).to_string(), mod90) + }) + .collect(); + entries.sort_by(|a, b| a.1.partial_cmp(&b.1).unwrap_or(std::cmp::Ordering::Equal)); + + let mut groups: Vec = Vec::new(); + let mut current: Vec<(String, f64)> = Vec::new(); + let mut anchor_mod90 = 0.0_f64; + for entry in entries { + if current.is_empty() { + anchor_mod90 = entry.1; + current.push(entry); + continue; + } + // Distancia circular módulo 90 entre el entry y el anchor. + let mut diff = (entry.1 - anchor_mod90).abs(); + if diff > 45.0 { + diff = 90.0 - diff; + } + if diff <= EPSILON { + current.push(entry); + } else { + if current.len() >= 2 { + let center = current.iter().map(|(_, m)| *m).sum::() / current.len() as f64; + groups.push(UranianGroup { + bodies: current.iter().map(|(s, _)| s.clone()).collect(), + mod90_deg: center, + }); + } + anchor_mod90 = entry.1; + current = vec![entry]; + } + } + if current.len() >= 2 { + let center = current.iter().map(|(_, m)| *m).sum::() / current.len() as f64; + groups.push(UranianGroup { + bodies: current.iter().map(|(s, _)| s.clone()).collect(), + mod90_deg: center, + }); + } + // Wrap-around check: el primer y último grupo podrían ser el mismo + // (si span >88° abarcando el wrap en 90/0). Si los anchors están a + // ≤EPSILON modulo 90, mergeamos. + if groups.len() >= 2 { + let first_mod = groups[0].mod90_deg; + let last_mod = groups[groups.len() - 1].mod90_deg; + let mut diff = (first_mod - last_mod).abs(); + if diff > 45.0 { + diff = 90.0 - diff; + } + if diff <= EPSILON { + let last = groups.pop().unwrap(); + groups[0].bodies.extend(last.bodies); + } + } + render.uranian_groups = groups; +} + +/// Helper: agrega al `RenderModel` la carta compuesta (midpoint +/// composite, Davison 1958) entre la natal del sujeto y la carta del +/// partner. Cada planeta compuesto es el angular midpoint entre los +/// dos correspondientes. Se renderea en `radii.composite` (ring 0.36). +pub(crate) fn build_composite_overlay( + natal: &NatalChart, + partner_chart: &Chart, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let (partner_natal, _config, _observer) = compute_natal_chart(partner_chart, 0)?; + let comp = composite(natal, &partner_natal).map_err(|e| { + EngineError::Eternal(format!("composite: {:?}", e)) + })?; + + let glyphs: Vec = comp + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("composite {}", p.body.name())), + retrograde: false, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "composite".into(), + kind: LayerKind::Bodies, + ring: 0.36, + z: 15, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + Ok(()) +} + +/// Helper: agrega al `RenderModel` los midpoints entre pares de +/// cuerpos natales. Filtra para mostrar solo los que involucran al +/// Sol o a la Luna (~10 puntos) — son los más significativos +/// astrológicamente y mantiene la rueda legible. +/// +/// El midpoint de dos longitudes es la menor distancia angular entre +/// ellas. Si `|a - b| > 180`, hay que sumar 180 al promedio para +/// obtener el midpoint "corto". +pub(crate) fn build_midpoints_overlay(natal: &NatalChart, render: &mut RenderModel) { + let mut glyphs: Vec = Vec::new(); + let placements = &natal.placements; + + for i in 0..placements.len() { + for j in (i + 1)..placements.len() { + let pa = &placements[i]; + let pb = &placements[j]; + // Solo midpoints que involucren Sol o Luna. + let involves_luminary = matches!(pa.body, Body::Sun | Body::Moon) + || matches!(pb.body, Body::Sun | Body::Moon); + if !involves_luminary { + continue; + } + let a = pa.longitude.longitude_deg() as f32; + let b = pb.longitude.longitude_deg() as f32; + let diff = (a - b).abs(); + let mid = if diff > 180.0 { + ((a + b) / 2.0 + 180.0).rem_euclid(360.0) + } else { + ((a + b) / 2.0).rem_euclid(360.0) + }; + glyphs.push(Glyph { + deg: mid, + symbol: format!("{}/{}", body_symbol(pa.body), body_symbol(pb.body)), + annotation: Some(format!("{}/{}", pa.body.name(), pb.body.name())), + retrograde: false, + house: None, + dignity_marker: None, + }); + } + } + + render.layers.push(Layer { + module_id: "midpoints".into(), + kind: LayerKind::Midpoints, + ring: 0.62, + z: 14, + geometry: Geometry::GlyphsOnly, + glyphs, + }); +} + +/// Helper: agrega al `RenderModel` las capas del overlay de Solar Arc +/// (método true-progressed-Sun por default). Cada cuerpo natal se +/// desplaza por el mismo arco — preserva las relaciones angulares y +/// las posiciones relativas en casas se mantienen. +pub(crate) fn build_solar_arc_overlay( + natal: &NatalChart, + target_age_years: f64, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let session = session()?; + let arc = solar_arc_true(natal, session, target_age_years) + .map_err(|e| EngineError::Eternal(format!("solar_arc_true: {:?}", e)))?; + let directed = &arc.directed; + + let glyphs: Vec = directed + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "solar_arc".into(), + kind: LayerKind::Bodies, + ring: 0.43, + z: 8, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + + let cross = find_synastry_aspects( + natal, + directed, + &OrbTable::modern_western(), + EAspectKind::MAJORS, + ); + let cross_lines: Vec = cross + .iter() + .filter_map(|a| { + let natal_p = natal.placement(a.person_a_body)?; + let dir_p = directed.placement(a.person_b_body)?; + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + Some(LineSeg { + from_deg: natal_p.longitude.longitude_deg() as f32, + to_deg: dir_p.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity: opacity * 0.7, + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + orb_deg: a.orb_abs_deg() as f32, + }) + }) + .collect(); + render.layers.push(Layer { + module_id: "solar_arc".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 9, + geometry: Geometry::Lines(cross_lines), + glyphs: Vec::new(), + }); + populate_cross_aspect_summary(&cross, "solar_arc", render); + Ok(()) +} + +/// Helper: agrega al `RenderModel` las capas del overlay de sinastría +/// con otra carta natal completa. La carta partner se computa con su +/// propio observer/config (no comparte con la natal). El outer ring +/// se comparte con Transit — mutuamente excluyentes a nivel de Shell. +pub(crate) fn build_synastry_overlay( + natal: &NatalChart, + partner_chart: &Chart, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let (partner, _config, _observer) = compute_natal_chart(partner_chart, 0)?; + + let glyphs: Vec = partner + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "synastry".into(), + kind: LayerKind::Outer, + ring: 0.82, + z: 10, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + + let cross = find_synastry_aspects( + natal, + &partner, + &OrbTable::modern_western(), + EAspectKind::MAJORS, + ); + let cross_lines: Vec = cross + .iter() + .filter_map(|a| { + let natal_p = natal.placement(a.person_a_body)?; + let partner_p = partner.placement(a.person_b_body)?; + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + Some(LineSeg { + from_deg: natal_p.longitude.longitude_deg() as f32, + to_deg: partner_p.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity: opacity * 0.85, + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + orb_deg: a.orb_abs_deg() as f32, + }) + }) + .collect(); + render.layers.push(Layer { + module_id: "synastry".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 11, + geometry: Geometry::Lines(cross_lines), + glyphs: Vec::new(), + }); + populate_cross_aspect_summary(&cross, "synastry", render); + Ok(()) +} + + +/// Cross aspects natal × return. +pub(crate) fn build_planetary_return_overlay( + natal: &NatalChart, + config_e: &ChartConfig, + observer: Observer, + body: Body, + target_age_years: f64, + shift_days: i64, + render: &mut RenderModel, +) -> Result<(), EngineError> { + let session = session()?; + let natal_p = natal.placement(body).ok_or_else(|| { + EngineError::Eternal(format!( + "natal chart sin {} — return imposible", + body.name() + )) + })?; + let natal_lon = natal_p.longitude.longitude_rad(); + + // El offset desde el cumpleaños depende del período sinódico del + // cuerpo: para Sun/planet lentos, ~30 días antes garantiza captar + // el return; para Moon, ~15 días. Tomamos un margen amplio que + // sirve para todos. + const TROPICAL_YEAR_SECS: f64 = 365.242190 * 86400.0; + // shift_days permite saltar de un retorno mensual al siguiente + // cuando body=Moon, o ajustar finamente el año en Solar return. + let after_seconds = + (target_age_years * 365.242190 - 30.0 + shift_days as f64) * 86400.0; + let after_utc = natal + .birth + .instant + .utc() + .add_seconds(after_seconds.max(-TROPICAL_YEAR_SECS * 2.0)); + let after = ESInstant::from_utc(after_utc); + + let return_instant = next_return(session, body, natal_lon, after, None).map_err(|e| { + EngineError::Eternal(format!("next_return {}: {:?}", body.name(), e)) + })?; + + // La carta del retorno se computa al return_instant con el mismo + // observer y config natales (convención clásica: return tropical + // en la ciudad de nacimiento). + let return_birth = BirthData::new(return_instant, observer); + let return_chart = NatalChart::compute(&return_birth, config_e, session).map_err(|e| { + EngineError::Eternal(format!( + "NatalChart::compute ({} return): {:?}", + body.name(), + e + )) + })?; + + let glyphs: Vec = return_chart + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + render.layers.push(Layer { + module_id: "planetary_return".into(), + kind: LayerKind::Outer, + ring: 0.82, + z: 12, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + + let cross = find_synastry_aspects( + natal, + &return_chart, + &OrbTable::modern_western(), + EAspectKind::MAJORS, + ); + let cross_lines: Vec = cross + .iter() + .filter_map(|a| { + let n_p = natal.placement(a.person_a_body)?; + let r_p = return_chart.placement(a.person_b_body)?; + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + Some(LineSeg { + from_deg: n_p.longitude.longitude_deg() as f32, + to_deg: r_p.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity: opacity * 0.8, + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + orb_deg: a.orb_abs_deg() as f32, + }) + }) + .collect(); + render.layers.push(Layer { + module_id: "planetary_return".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 13, + geometry: Geometry::Lines(cross_lines), + glyphs: Vec::new(), + }); + populate_cross_aspect_summary(&cross, "planetary_return", render); + Ok(()) +} + +// ===================================================================== +// NatalChart → RenderModel +// ===================================================================== + +pub(crate) fn build_render_model( + chart: &Chart, + natal: &NatalChart, + aspects: &[Aspect], + started: Instant, +) -> RenderModel { + let ascendant_deg = natal.ascendant().longitude_deg() as f32; + let midheaven_deg = natal.midheaven().longitude_deg() as f32; + let descendant_deg = natal.descendant().longitude_deg() as f32; + let imum_coeli_deg = natal.imum_coeli().longitude_deg() as f32; + + // ─── Capa 0: Sign Dial ──────────────────────────────────────────── + let sign_dial = Layer { + module_id: "natal".into(), + kind: LayerKind::SignDial, + ring: 1.0, + z: 0, + geometry: Geometry::Ring { + cusps_deg: (0..12).map(|i| (i as f32) * 30.0).collect(), + }, + glyphs: (0..12) + .map(|i| Glyph { + deg: (i as f32) * 30.0 + 15.0, + symbol: ZODIAC_SYMBOLS[i].into(), + annotation: None, + retrograde: false, + house: None, + dignity_marker: None, + }) + .collect(), + }; + + // ─── Capa 1: Houses ─────────────────────────────────────────────── + let cusps_deg: Vec = natal + .houses + .cusps + .iter() + .map(|c| c.to_degrees() as f32) + .collect(); + let houses = Layer { + module_id: "natal".into(), + kind: LayerKind::Houses, + ring: 0.86, + z: 1, + geometry: Geometry::Ring { + cusps_deg: cusps_deg.clone(), + }, + glyphs: cusps_deg + .iter() + .enumerate() + .map(|(i, c)| Glyph { + deg: *c + 4.0, + symbol: format!("h{}", i + 1), + annotation: None, + retrograde: false, + house: Some((i as u8) + 1), + dignity_marker: None, + }) + .collect(), + }; + + // ─── Capa 2: Bodies ─────────────────────────────────────────────── + let body_glyphs: Vec = natal + .placements + .iter() + .map(|p| Glyph { + deg: p.longitude.longitude_deg() as f32, + symbol: body_symbol(p.body).into(), + annotation: Some(format!("{:.1}°", p.longitude.degree_in_sign_decimal())), + // `BodyPlacement` cambió entre versiones de eternal entre + // `pub fn is_retrograde(&self) -> bool` y `pub + // is_retrograde: bool` — leemos el campo crudo + // `longitude_rate_rad_per_day` (estable en ambas) para no + // depender del wrapper. + retrograde: p.longitude_rate_rad_per_day < 0.0, + house: Some(p.house_number), + dignity_marker: None, + }) + .collect(); + let bodies = Layer { + module_id: "natal".into(), + kind: LayerKind::Bodies, + ring: 0.72, + z: 2, + geometry: Geometry::Points( + natal + .placements + .iter() + .map(|p| crate::PointMark { + deg: p.longitude.longitude_deg() as f32, + label: p.body.name().into(), + tag: body_symbol(p.body).into(), + }) + .collect(), + ), + glyphs: body_glyphs, + }; + + // ─── Capa 3: Aspects ────────────────────────────────────────────── + // Los aspects ya vienen filtrados por NatalOptions (majors / minors) + // desde compose(). Acá solo mapeamos a LineSeg. + let mut aspect_lines: Vec = Vec::with_capacity(aspects.len()); + for a in aspects { + let pa = natal.placement(a.a); + let pb = natal.placement(a.b); + if let (Some(pa), Some(pb)) = (pa, pb) { + let opacity = orb_to_opacity(a.orb_abs_deg(), a.kind); + aspect_lines.push(LineSeg { + from_deg: pa.longitude.longitude_deg() as f32, + to_deg: pb.longitude.longitude_deg() as f32, + kind: aspect_kind_id(a.kind).into(), + opacity, + from_body: body_symbol(a.a).into(), + to_body: body_symbol(a.b).into(), + orb_deg: a.orb_abs_deg() as f32, + }); + } + } + let aspects_layer = Layer { + module_id: "natal".into(), + kind: LayerKind::Aspects, + ring: 0.58, + z: 3, + geometry: Geometry::Lines(aspect_lines), + glyphs: Vec::new(), + }; + + let subtitle = chart + .birth_data + .birthplace_label + .clone() + .or_else(|| { + Some(format!( + "{:04}-{:02}-{:02} · lat {:+.2}° · lon {:+.2}°", + chart.birth_data.year, + chart.birth_data.month, + chart.birth_data.day, + chart.birth_data.latitude_deg, + chart.birth_data.longitude_deg, + )) + }); + + RenderModel { + chart_id: chart.id, + chart_kind: chart.kind, + title: chart.label.clone(), + subtitle, + compute_ms: started.elapsed().as_millis() as u64, + ascendant_deg, + midheaven_deg, + descendant_deg, + imum_coeli_deg, + geo_latitude_deg: chart.birth_data.latitude_deg as f32, + geo_longitude_deg: chart.birth_data.longitude_deg as f32, + layers: vec![sign_dial, houses, bodies, aspects_layer], + overlays: Vec::new(), + aspect_summary: Vec::new(), + uranian_groups: Vec::new(), + gr_triggers: Vec::new(), + harmonic: 1, + harmonic_spectrum: Vec::new(), + } +} + +/// Construye una `OrbTable` con los orbes default de `modern_western` +/// escalados por `multiplier`. Necesario porque eternal expone +/// `set_orb` pero no permite iterar los base orbs internos. +pub(crate) fn build_orb_table(multiplier: f64) -> OrbTable { + let mut t = OrbTable::modern_western(); + let m = multiplier.max(0.0); + t.set_orb(EAspectKind::Conjunction, 8.0 * m); + t.set_orb(EAspectKind::Opposition, 8.0 * m); + t.set_orb(EAspectKind::Trine, 7.0 * m); + t.set_orb(EAspectKind::Square, 7.0 * m); + t.set_orb(EAspectKind::Sextile, 5.0 * m); + t.set_orb(EAspectKind::Quincunx, 2.5 * m); + t.set_orb(EAspectKind::SemiSextile, 2.0 * m); + t.set_orb(EAspectKind::SemiSquare, 2.0 * m); + t.set_orb(EAspectKind::Sesquiquadrate, 2.0 * m); + t.set_orb(EAspectKind::Quintile, 1.5 * m); + t.set_orb(EAspectKind::BiQuintile, 1.5 * m); + t.set_orb(EAspectKind::Septile, 1.5 * m); + t +} + +pub(crate) fn push_overlay_meta(render: &mut RenderModel, module_id: &str, label: String) { + render.overlays.push(OverlayMeta { + module_id: module_id.to_string(), + label, + }); +} + +/// Helper: agrega al `RenderModel` los Lots arábigos clásicos +/// (helenísticos) — Fortune, Spirit, Eros, Necessity, Courage, Victory, +/// Nemesis. Cada uno se renderea como un glifo `lot:Fo` en el anillo +/// `0.54` (entre midpoints y cuerpos progresados). Retorna la cantidad +/// de lots renderizados. +pub(crate) fn build_lots_overlay( + natal: &NatalChart, + render: &mut RenderModel, +) -> Result { + let lots = all_lots(natal) + .map_err(|e| EngineError::Eternal(format!("all_lots: {:?}", e)))?; + let glyphs: Vec = lots + .iter() + .map(|l| { + let name = l.name.map(|n| n.label()).unwrap_or("Lot"); + // Tres-letras compactas para no recargar la rueda. + let abbrev: String = name.chars().take(2).collect(); + Glyph { + deg: l.longitude.longitude_deg() as f32, + symbol: format!("lot:{}", abbrev), + annotation: Some(name.to_string()), + retrograde: false, + house: Some(l.house_number), + dignity_marker: None, + } + }) + .collect(); + let count = glyphs.len(); + render.layers.push(Layer { + module_id: "lots".into(), + kind: LayerKind::Lots, + ring: 0.54, + z: 13, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + Ok(count) +} + +/// Helper: agrega al `RenderModel` 9 estrellas fijas notables. Las +/// longitudes están en J2000 ecliptica tropical; aplicamos precesión +/// general de 50.29″/año hacia adelante hasta el año natal — basta +/// para el orbe de conjunción de ±1.5° con que se interpretan. +pub(crate) fn build_fixed_stars_overlay(chart: &Chart, render: &mut RenderModel) -> usize { + // (símbolo, nombre, longitud tropical J2000 en grados) + const STARS: &[(&str, &str, f64)] = &[ + ("✦Ald", "Aldebaran", 69.79), // 09°47′ Gem + ("✦Reg", "Regulus", 149.83), // 29°50′ Leo + ("✦Ant", "Antares", 249.77), // 09°46′ Sag + ("✦Fom", "Fomalhaut", 333.87), // 03°52′ Pis + ("✦Spi", "Spica", 203.84), // 23°50′ Lib + ("✦Sir", "Sirius", 104.10), // 14°06′ Can + ("✦Alg", "Algol", 56.18), // 26°10′ Tau + ("✦Veg", "Vega", 285.31), // 15°19′ Cap + ("✦Pol", "Pollux", 113.27), // 23°16′ Can + ]; + let years_from_j2000 = (chart.birth_data.year - 2000) as f64; + // 50.29″/año ≈ 0.01397°/año de precesión en longitud eclíptica. + let precession_deg = years_from_j2000 * (50.29 / 3600.0); + let glyphs: Vec = STARS + .iter() + .map(|(sym, name, j2000_deg)| { + let lon = (j2000_deg + precession_deg).rem_euclid(360.0) as f32; + Glyph { + deg: lon, + symbol: (*sym).to_string(), + annotation: Some((*name).to_string()), + retrograde: false, + house: None, + dignity_marker: None, + } + }) + .collect(); + let count = glyphs.len(); + render.layers.push(Layer { + module_id: "fixed_stars".into(), + kind: LayerKind::FixedStars, + ring: 1.04, + z: 16, + geometry: Geometry::GlyphsOnly, + glyphs, + }); + count +} + +/// Decora cada Glyph de Bodies (module_id="natal") con su dignity +/// marker en `glyph.dignity_marker`. Usa `essential_dignity(body, sign)` +/// — los cuerpos modernos quedan sin marker. +pub(crate) fn annotate_dignities(natal: &NatalChart, render: &mut RenderModel) { + use std::collections::HashMap; + let mut by_symbol: HashMap<&'static str, &'static str> = HashMap::new(); + for p in &natal.placements { + let sign_idx = (p.longitude.longitude_deg() / 30.0).floor() as u8 % 12; + if let Some(d) = essential_dignity(p.body, sign_idx) { + by_symbol.insert(body_symbol(p.body), d.marker()); + } + } + for layer in render.layers.iter_mut() { + if matches!(layer.kind, LayerKind::Bodies) && layer.module_id == "natal" { + for g in layer.glyphs.iter_mut() { + if let Some(marker) = by_symbol.get(g.symbol.as_str()) { + g.dignity_marker = Some((*marker).to_string()); + } + } + } + } +} + +pub(crate) fn populate_natal_aspect_summary(aspects: &[Aspect], render: &mut RenderModel) { + for a in aspects { + render.aspect_summary.push(AspectSummary { + module_id: "natal".into(), + from_body: body_symbol(a.a).into(), + to_body: body_symbol(a.b).into(), + kind: aspect_kind_id(a.kind).into(), + orb_deg: a.orb_abs_deg(), + applying: Some(a.applying), + }); + } + sort_aspect_summary(render); +} + +/// Detecta los aspectos mayores entre las longitudes topocéntricas de los +/// planetas y los publica con `module_id = "topocentric"`. Es un detector +/// directo (separación angular vs. ángulo del aspecto ± orbe), no pasa por +/// el motor de aspectos natal — suficiente para la tabla topocéntrica. +pub(crate) fn populate_topocentric_aspect_summary( + glyphs: &[Glyph], + show_minors: bool, + render: &mut RenderModel, +) { + // (ángulo exacto, orbe, id del aspecto). + const MAJORS: &[(f64, f64, &str)] = &[ + (0.0, 8.0, "conjunction"), + (60.0, 4.0, "sextile"), + (90.0, 6.0, "square"), + (120.0, 6.0, "trine"), + (180.0, 8.0, "opposition"), + ]; + // Menores: orbes más ajustados, sólo cuando el usuario los pide. + const MINORS: &[(f64, f64, &str)] = &[ + (30.0, 2.0, "semi_sextile"), + (45.0, 2.0, "semi_square"), + (135.0, 2.0, "sesquiquadrate"), + (150.0, 3.0, "quincunx"), + ]; + for i in 0..glyphs.len() { + for j in (i + 1)..glyphs.len() { + let a = glyphs[i].deg as f64; + let b = glyphs[j].deg as f64; + let mut sep = (a - b).rem_euclid(360.0); + if sep > 180.0 { + sep = 360.0 - sep; + } + let kinds = MAJORS.iter().chain(if show_minors { MINORS } else { &[] }); + for (angle, orb, kind) in kinds { + let delta = (sep - angle).abs(); + if delta <= *orb { + render.aspect_summary.push(AspectSummary { + module_id: "topocentric".into(), + from_body: glyphs[i].symbol.clone(), + to_body: glyphs[j].symbol.clone(), + kind: (*kind).into(), + orb_deg: delta, + applying: None, + }); + break; + } + } + } + } + sort_aspect_summary(render); +} + +pub(crate) fn populate_cross_aspect_summary( + cross: &[cosmos_astrology::SynastryAspect], + module_id: &str, + render: &mut RenderModel, +) { + for a in cross { + render.aspect_summary.push(AspectSummary { + module_id: module_id.to_string(), + from_body: body_symbol(a.person_a_body).into(), + to_body: body_symbol(a.person_b_body).into(), + kind: aspect_kind_id(a.kind).into(), + orb_deg: a.orb_abs_deg(), + applying: None, + }); + } + sort_aspect_summary(render); +} + +pub(crate) fn sort_aspect_summary(render: &mut RenderModel) { + render + .aspect_summary + .sort_by(|x, y| x.orb_deg.partial_cmp(&y.orb_deg).unwrap_or(std::cmp::Ordering::Equal)); +} + +/// Mapea el orb absoluto a una opacidad — los aspectos más exactos se +/// pintan más fuerte, los flojos casi se desvanecen. +pub(crate) fn orb_to_opacity(orb_deg: f64, kind: EAspectKind) -> f32 { + let max = match kind { + EAspectKind::Conjunction | EAspectKind::Opposition => 8.0, + EAspectKind::Trine | EAspectKind::Square => 7.0, + EAspectKind::Sextile => 5.0, + _ => 3.0, + }; + let t = (1.0 - (orb_deg / max).min(1.0)).max(0.25); + t as f32 +} + +pub(crate) const ZODIAC_SYMBOLS: [&str; 12] = [ + "aries", + "taurus", + "gemini", + "cancer", + "leo", + "virgo", + "libra", + "scorpio", + "sagittarius", + "capricorn", + "aquarius", + "pisces", +]; diff --git a/01_yachay/cosmos/cosmos-engine/src/dignity.rs b/01_yachay/cosmos/cosmos-engine/src/dignity.rs new file mode 100644 index 0000000..cf20705 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/dignity.rs @@ -0,0 +1,141 @@ +//! Dignidades esenciales clásicas — tabla data-only. +//! +//! Cada planeta tradicional tiene cuatro estatus posibles según el +//! signo en el que cae: +//! +//! - **Domicilio** (rulership) — el signo del que es regente. +//! - **Exaltación** — un signo "huésped" que le da fuerza extra. +//! - **Exilio** (detriment) — opuesto al domicilio, debilita. +//! - **Caída** (fall) — opuesto a la exaltación, debilita. +//! +//! Esta tabla usa las regencias **clásicas** (Aries=Marte, Escorpio= +//! Marte, Acuario=Saturno, Piscis=Júpiter) — los planetas modernos +//! (Urano/Neptuno/Plutón) no tienen regencia clásica por convención. +//! En una fase futura podemos exponer un toggle "regencias modernas" +//! que mapee Escorpio→Plutón, Acuario→Urano, Piscis→Neptuno. + +use cosmos_sky::Body; + +/// Status de dignidad esencial de un cuerpo en un signo dado. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Dignity { + /// Domicilio. Marker `"+"`. + Rulership, + /// Exaltación. Marker `"·"`. + Exaltation, + /// Exilio. Marker `"−"`. + Detriment, + /// Caída. Marker `"*"`. + Fall, +} + +impl Dignity { + pub fn marker(self) -> &'static str { + match self { + Dignity::Rulership => "+", + Dignity::Exaltation => "·", + Dignity::Detriment => "−", + Dignity::Fall => "*", + } + } +} + +/// Devuelve el status de dignidad de `body` en `sign_index` (0..12, +/// Aries=0) o `None` si no aplica (sin dignidad / cuerpo moderno sin +/// regencia clásica). +pub fn essential_dignity(body: Body, sign_index: u8) -> Option { + let sign = sign_index % 12; + let opposite = (sign + 6) % 12; + + // Rulership clásico — el "regente" del signo. + if rules_classical(body, sign) { + return Some(Dignity::Rulership); + } + // Detriment = el cuerpo gobierna el signo opuesto. + if rules_classical(body, opposite) { + return Some(Dignity::Detriment); + } + // Exaltación tabular. + if exalts_at(body) == Some(sign) { + return Some(Dignity::Exaltation); + } + // Caída = opuesto a la exaltación. + if exalts_at(body) == Some(opposite) { + return Some(Dignity::Fall); + } + None +} + +/// Devuelve true si `body` gobierna `sign` (0=Aries..11=Pisces) en el +/// esquema clásico de 7 planetas. +fn rules_classical(body: Body, sign: u8) -> bool { + match (body, sign) { + // Sol: Leo (4) + (Body::Sun, 4) => true, + // Luna: Cancer (3) + (Body::Moon, 3) => true, + // Mercurio: Gemini (2), Virgo (5) + (Body::Mercury, 2) | (Body::Mercury, 5) => true, + // Venus: Taurus (1), Libra (6) + (Body::Venus, 1) | (Body::Venus, 6) => true, + // Marte: Aries (0), Scorpio (7) + (Body::Mars, 0) | (Body::Mars, 7) => true, + // Júpiter: Sagittarius (8), Pisces (11) + (Body::Jupiter, 8) | (Body::Jupiter, 11) => true, + // Saturno: Capricorn (9), Aquarius (10) + (Body::Saturn, 9) | (Body::Saturn, 10) => true, + _ => false, + } +} + +/// Devuelve el signo (0..12) donde el cuerpo exalta, o `None` si no +/// tiene exaltación clásica documentada. +fn exalts_at(body: Body) -> Option { + Some(match body { + Body::Sun => 0, // Aries + Body::Moon => 1, // Taurus + Body::Mercury => 5, // Virgo (algunas tradiciones la ponen acá) + Body::Venus => 11, // Pisces + Body::Mars => 9, // Capricorn + Body::Jupiter => 3, // Cancer + Body::Saturn => 6, // Libra + _ => return None, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn rulership_examples() { + assert_eq!(essential_dignity(Body::Sun, 4), Some(Dignity::Rulership)); // Sol en Leo + assert_eq!(essential_dignity(Body::Moon, 3), Some(Dignity::Rulership)); // Luna en Cancer + assert_eq!(essential_dignity(Body::Mars, 7), Some(Dignity::Rulership)); // Marte en Scorpio + } + + #[test] + fn detriment_examples() { + assert_eq!(essential_dignity(Body::Sun, 10), Some(Dignity::Detriment)); // Sol en Acuario + assert_eq!(essential_dignity(Body::Moon, 9), Some(Dignity::Detriment)); // Luna en Capricornio + } + + #[test] + fn exaltation_examples() { + assert_eq!(essential_dignity(Body::Sun, 0), Some(Dignity::Exaltation)); // Sol en Aries + assert_eq!(essential_dignity(Body::Saturn, 6), Some(Dignity::Exaltation)); // Saturno en Libra + } + + #[test] + fn fall_examples() { + assert_eq!(essential_dignity(Body::Sun, 6), Some(Dignity::Fall)); // Sol en Libra + assert_eq!(essential_dignity(Body::Saturn, 0), Some(Dignity::Fall)); // Saturno en Aries + } + + #[test] + fn modern_planets_no_classical_dignity() { + assert_eq!(essential_dignity(Body::Uranus, 10), None); + assert_eq!(essential_dignity(Body::Neptune, 11), None); + assert_eq!(essential_dignity(Body::Pluto, 7), None); + } +} diff --git a/01_yachay/cosmos/cosmos-engine/src/lib.rs b/01_yachay/cosmos/cosmos-engine/src/lib.rs new file mode 100644 index 0000000..48d9a99 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/lib.rs @@ -0,0 +1,737 @@ +//! `cosmos_app-engine` — bridge entre el modelo agnóstico y +//! `eternal-astrology`. +//! +//! Recibe un `Chart` del modelo + un `ChartKind` y devuelve un +//! [`RenderModel`] que describe la geometría a pintar **sin** acoplar +//! el canvas a tipos de la librería astronómica. El canvas habla +//! grados decimales, radios normalizados y kinds simbólicos. +//! +//! ## Por qué un RenderModel intermedio +//! +//! 1. El canvas no debería caer si cambia el shape de `NatalChart` +//! upstream. +//! 2. Tests del canvas: podemos generar `RenderModel`s sintéticos sin +//! arrancar eternal. +//! 3. Cada `ChartKind` produce el mismo shape genérico → el render +//! coordina N módulos sin saber qué calcularon. +//! +//! ## Feature `eternal-bridge` +//! +//! - **on** (default): [`compute`] abre una `EphemerisSession` VSOP2013 +//! compartida y corre la pipeline real. +//! - **off**: [`compute`] cae a [`compute_mock`] — útil para tests + +//! builds sin eternal checked out. + +#![forbid(unsafe_code)] +#![warn(rust_2018_idioms)] + +use thiserror::Error; + +pub use cosmos_model::{Chart, ChartId, ChartKind}; + +// Los tipos del RenderModel viven en `cosmos_app-render` (crate +// agnóstico de surface — compila a WASM, lo consumen tanto el canvas +// Llimphi como el cliente web). El engine los reexporta para mantener +// compatibilidad con todos los call sites históricos +// (`cosmos_engine::Layer`, etc.) sin tener que cambiar +// imports en el shell, canvas, modules, tree, panel... +pub use cosmos_render::{ + apply_harmonic, compute_gr_triggers, convergencia_minima, AspectSummary, Geometry, Glyph, + GrDirection, GrTrigger, Layer, LayerKind, LineSeg, OverlayMeta, PointMark, RenderModel, + UranianGroup, OUTER_RING_MODULES, +}; + +// El corpus de interpretación es agnóstico (no conoce eternal ni UI). +// El engine lo reexporta para que el shell y el canvas trabajen los +// pasajes sin importar el crate aparte. +pub use cosmos_corpus::{ + combinaciones_de_carta, rebanar_por_dominio, AspectoEnCarta, Colocacion, CombinacionId, + Corpus, Dominio, EvidenciaVecina, Pasaje, +}; + +// `Chart` reexportado arriba es lo que `PipelineRequest::Synastry` +// transporta — el caller (shell) lee del Store y pasa el Chart entero +// para que el bridge construya su NatalChart en eternal. + +#[cfg(feature = "eternal-bridge")] +mod bridge; +#[cfg(feature = "eternal-bridge")] +mod dignity; +#[cfg(feature = "eternal-bridge")] +mod natal_cache; +#[cfg(feature = "eternal-bridge")] +mod rectify; +#[cfg(feature = "eternal-bridge")] +pub mod svg_export; + +// ===================================================================== +// Errores +// ===================================================================== + +#[derive(Debug, Error)] +pub enum EngineError { + #[error("bridge a eternal-astrology no disponible (recompilá con feature `eternal-bridge`)")] + BridgeDisabled, + #[error("model: {0}")] + Model(#[from] cosmos_model::ModelError), + #[error("eternal: {0}")] + Eternal(String), + #[error("kind {0:?} todavía no implementado")] + UnsupportedKind(ChartKind), +} + +// ===================================================================== +// API pública +// ===================================================================== + +/// Pedidos que el host (Shell) eleva a la engine para componer un +/// `RenderModel`. La capa natal **siempre** se computa; estos requests +/// son **overlays adicionales**. +/// +/// Cada variante mapea 1-a-1 con un Module declarado en +/// `cosmos_app-modules` por id string. Esto deja la engine como +/// dueña única del cómputo (no depende del trait Module — los módulos +/// son sólo metadata + UI controls). +#[derive(Debug, Clone)] +pub enum PipelineRequest { + /// `module_id = "transit"` — anillo externo con planetas al + /// instante actual (reloj de pared) + cross aspects natal × transit. + Transit, + /// `module_id = "progression"` — anillo interno con los planetas + /// progresados (método secundario "día por año") a la edad pedida + /// + cross aspects natal × progresada. + SecondaryProgression { + /// Edad simbólica en años a la que avanzar la carta. Para "la + /// edad de hoy", el shell la calcula a partir de `birth_data` + + /// `SystemTime::now`. + target_age_years: f64, + }, + /// `module_id = "solar_arc"` — Solar Arc dirigido (default = "true + /// progressed Sun"): cada cuerpo y cada cusp natal se desplazan por + /// el mismo arco ≈ 1° por año de vida. Anillo interno bien adentro + /// + cross aspects natal × dirigida. + SolarArc { + target_age_years: f64, + }, + /// `module_id = "synastry"` — bi-wheel: la natal en el centro, la + /// carta del partner en el anillo externo (compartido con Transit + /// — mutuamente excluyentes), cross aspects natal × partner. + /// El partner viene como `Chart` completo del shell. + Synastry { + partner_chart: Box, + }, + /// `module_id = "planetary_return"` — carta natal fresca al + /// instante del próximo retorno del cuerpo elegido a su posición + /// natal, para la edad pedida. Sun = retorno solar anual, Moon = + /// mensual, Júpiter/Saturno = generacionales. Anillo externo + /// compartido con Transit/Synastry — mutuamente excluyentes a + /// nivel de Shell. + PlanetaryReturn { + /// Identificador agnóstico del cuerpo ("sun", "moon", + /// "jupiter", …). El bridge lo mapea a `cosmos_sky::Body`. + body: String, + target_age_years: f64, + /// Días extra que se suman al anchor de búsqueda (birth + + /// age*año). Para Solar return suele ser 0 (el return cae cerca + /// del cumpleaños); para Lunar return permite saltar de un + /// retorno mensual al siguiente (~28 días por click). + shift_days: i64, + }, + /// `module_id = "midpoints"` — anillo de puntos medios entre pares + /// de cuerpos natales. Por simplicidad filtramos a los que + /// involucran al Sol o a la Luna (~10 puntos). + Midpoints, + /// `module_id = "composite"` — carta compuesta (midpoint composite, + /// método Davison) entre dos sujetos. Renderea los planetas + /// compuestos en un anillo interno propio (radio 0.36, entre solar + /// arc 0.40 y aspects). Útil para análisis de relaciones. + Composite { + partner_chart: Box, + }, + /// `module_id = "uranian"` — calcula los "ejes" del dial uraniano + /// de 90°: agrupa los cuerpos natales cuya longitud módulo 90 cae + /// dentro de una tolerancia (~2°). El resultado se publica en + /// `RenderModel.uranian_groups`; la UI lo pinta como un dial + /// geométrico de 90° (proyección sobre el eje 0-90°) más la lista + /// de fórmulas. + Uranian, + /// `module_id = "lots"` — Lots arábigos (helenísticos) calculados + /// via `cosmos_astrology::compute_lot`: Fortune, Spirit, Eros, + /// Necessity, Courage, Victory, Nemesis. Renderea cada lot como + /// un texto pequeño en el ring de bodies natales. + Lots, + /// `module_id = "fixed_stars"` — overlay con ~9 estrellas fijas + /// notables (Aldebaran, Regulus, Antares, Fomalhaut, Spica, + /// Sirius, Algol, Vega, Pollux). Posiciones tropicales J2000 + /// aproximadas + precesión simple (~50.29″/año). Renderea como + /// marcadores chicos justo afuera del sign dial. + FixedStars, + /// `module_id = "topocentric"` — capa "ascensional": planetas + /// re-proyectados a longitud eclíptica topocéntrica (con paralaje + /// horizontal aplicada por cuerpo) + casas Polich-Page (sistema + /// topocéntrico de domificación). Visible sobre todo en la Luna + /// (~1° de shift); imperceptible en planetas exteriores. La capa + /// convive con la natal geocéntrica como overlay comparativo. + Topocentric, + /// `module_id = "pd_direct"` + `"pd_converse"` — Direcciones + /// Primarias del Sistema GR (García Rosas). Cada cuerpo natal se + /// proyecta dos veces: hacia adelante en el tiempo diurno + /// (direct) y hacia atrás (converse). Los dos resultados a la + /// edad pedida pintan un dual-ring para rectificación en vivo. + /// + /// `key` controla la conversión arco↔año: "naibod" (default + /// moderno, 0°59'08.33″/año) o "ptolemy" (clásica, 1°/año). + PrimaryDirections { + target_age_years: f64, + key: String, + }, +} + +/// Opciones que afectan la pasada natal (qué aspectos pintar, qué +/// multiplicador de orbe usar). Es independiente de los overlays. +#[derive(Debug, Clone)] +pub struct NatalOptions { + /// Incluir aspectos mayores (conj/opp/trine/square/sextile). + pub show_majors: bool, + /// Incluir aspectos menores (quincunx/semi-sextile/etc). + pub show_minors: bool, + /// Multiplicador uniforme sobre los orbes default. `1.0` = orbes + /// modern_western; `0.5` = tight; `2.0` = wide. + pub orb_multiplier: f64, + /// Si `true`, anota cada cuerpo natal con su dignidad esencial + /// (domicilio +, exaltación ·, exilio −, caída *). El canvas lo + /// renderea como sufijo del glifo. + pub show_dignities: bool, + /// Orden de la carta armónica. `1` = carta natal sin transformar; + /// `N > 1` re-renderiza los cuerpos en `(longitud · N) mod 360` y + /// recomputa los aspectos sobre esas posiciones. + pub harmonic: u32, +} + +impl Default for NatalOptions { + fn default() -> Self { + Self { + show_majors: true, + show_minors: false, + orb_multiplier: 1.0, + show_dignities: false, + harmonic: 1, + } + } +} + +// ===================================================================== +// Rectificador automático (direcciones primarias) +// ===================================================================== + +/// Un evento conocido de la vida del sujeto — el ancla de la +/// rectificación. La hora de nacimiento verdadera es la que hace caer +/// los eventos reales sobre la perfección de una dirección primaria. +#[derive(Debug, Clone, Copy)] +pub struct EventoConocido { + /// Edad del sujeto, en años, cuando ocurrió el evento. + pub edad_years: f64, +} + +/// Resultado de un barrido de rectificación (ver [`rectificar`]). +#[derive(Debug, Clone)] +pub struct Rectificacion { + /// Desplazamiento, en **segundos**, sobre la hora registrada, que + /// mejor explica los eventos. `0` = la hora registrada ya es la + /// mejor. La precisión de segundo viene de la pasada fina. + pub mejor_offset_segundos: i64, + /// Error del mejor candidato: la suma, en años, del desajuste entre + /// cada evento y su dirección primaria más cercana. Menor = mejor. + pub mejor_puntaje: f32, + /// El barrido grueso: `(offset_segundos, error)` por candidato a + /// resolución de minuto, ordenado por offset. La UI lo dibuja como + /// curva — su valle marca la hora rectificada. + pub perfil: Vec<(i64, f32)>, +} + +/// Rectifica la hora de nacimiento por direcciones primarias. Barre las +/// horas candidatas en `±ventana_min` minutos sobre la registrada —una +/// pasada gruesa por minuto y una fina por segundo alrededor del mejor +/// minuto— y, por cada candidata, mide el desajuste entre los eventos +/// conocidos y los arcos de dirección primaria (método Placidus-mundano +/// de `eternal-astrology`). La hora del error mínimo es la rectificada. +/// +/// `key` es la clave arco↔año: `"naibod"` (default) o `"ptolemy"`. +/// `Err` si la lista de eventos está vacía — sin anclas no hay búsqueda. +#[cfg(feature = "eternal-bridge")] +pub fn rectificar( + chart: &Chart, + eventos: &[EventoConocido], + ventana_min: i64, + key: &str, +) -> Result { + rectify::rectificar(chart, eventos, ventana_min, key) +} + +/// Composición canónica: carta natal + todos los overlays pedidos. +/// Equivalente a `compose_with_options` con `NatalOptions::default()`. +pub fn compose( + chart: &Chart, + offset_minutes: i64, + requests: &[PipelineRequest], +) -> Result { + compose_with_options(chart, offset_minutes, requests, &NatalOptions::default()) +} + +/// Variante que permite controlar qué aspectos natales se computan y +/// con qué multiplicador de orbe. +pub fn compose_with_options( + chart: &Chart, + offset_minutes: i64, + requests: &[PipelineRequest], + natal_options: &NatalOptions, +) -> Result { + #[cfg(feature = "eternal-bridge")] + { + bridge::compose(chart, offset_minutes, requests, natal_options) + } + #[cfg(not(feature = "eternal-bridge"))] + { + let _ = (offset_minutes, requests, natal_options); + Ok(compute_mock(chart)) + } +} + +/// Atajo: natal sin overlays. Equivalente a `compose(chart, 0, &[])`. +pub fn compute(chart: &Chart) -> Result { + compose(chart, 0, &[]) +} + +/// Atajo: natal con time-scrubbing pero sin overlays. +pub fn compute_at_offset(chart: &Chart, offset_minutes: i64) -> Result { + compose(chart, offset_minutes, &[]) +} + +/// Atajo: natal + overlay de tránsitos al instante actual. +pub fn compute_with_transits_at_now( + chart: &Chart, + offset_minutes: i64, +) -> Result { + compose(chart, offset_minutes, &[PipelineRequest::Transit]) +} + +/// Computa la carta del retorno planetario actual (cuerpo + edad) +/// como `StoredBirthData` standalone — la app la usa para crear +/// una `FreeChart` que el usuario puede después persistir en un +/// contacto. Devuelve también un label-corto del instante para +/// concatenar al nombre. +#[cfg(feature = "eternal-bridge")] +pub fn compute_planetary_return_chart( + chart: &Chart, + body: &str, + target_age_years: f64, + shift_days: i64, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + bridge::compute_planetary_return_chart(chart, body, target_age_years, shift_days) +} + +/// Helper análogo para tránsito — birth_data = `ahora` UTC + lugar +/// del natal. Útil para snapshotear el cielo en este instante anclado +/// a las coordenadas del sujeto. +#[cfg(feature = "eternal-bridge")] +pub fn compute_transit_chart( + chart: &Chart, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + bridge::compute_transit_chart(chart) +} + +/// Helper análogo para progresión secundaria — birth_data = natal + +/// target_age_years × 1 día simbólico. +#[cfg(feature = "eternal-bridge")] +pub fn compute_progression_chart( + chart: &Chart, + target_age_years: f64, +) -> Result<(cosmos_model::StoredBirthData, String), EngineError> { + bridge::compute_progression_chart(chart, target_age_years) +} + +/// Helper retrocompatible: construye un `PlanetaryReturn` con +/// `shift_days = 0`. Útil para llamadores que no necesitan ajuste +/// fino (todos los Solar return y muchos casos básicos). +pub fn planetary_return_request(body: String, target_age_years: f64) -> PipelineRequest { + PipelineRequest::PlanetaryReturn { + body, + target_age_years, + shift_days: 0, + } +} + +/// Stub determinista — útil para tests + para la UI sin eternal. +pub fn compute_mock(chart: &Chart) -> RenderModel { + use std::time::Instant; + let t0 = Instant::now(); + + let sign_dial = Layer { + module_id: "natal".into(), + kind: LayerKind::SignDial, + ring: 1.0, + z: 0, + geometry: Geometry::Ring { + cusps_deg: (0..12).map(|i| (i as f32) * 30.0).collect(), + }, + glyphs: (0..12) + .map(|i| Glyph { + deg: (i as f32) * 30.0 + 15.0, + symbol: ZODIAC_GLYPHS[i].into(), + annotation: None, + retrograde: false, + house: None, + dignity_marker: None, + }) + .collect(), + }; + + RenderModel { + chart_id: chart.id, + chart_kind: chart.kind, + title: chart.label.clone(), + subtitle: chart.birth_data.birthplace_label.clone(), + compute_ms: t0.elapsed().as_millis() as u64, + ascendant_deg: 0.0, + midheaven_deg: 270.0, + descendant_deg: 180.0, + imum_coeli_deg: 90.0, + geo_latitude_deg: chart.birth_data.latitude_deg as f32, + geo_longitude_deg: chart.birth_data.longitude_deg as f32, + layers: vec![sign_dial], + overlays: Vec::new(), + aspect_summary: Vec::new(), + uranian_groups: Vec::new(), + gr_triggers: Vec::new(), + harmonic: 1, + harmonic_spectrum: Vec::new(), + } +} + +const ZODIAC_GLYPHS: [&str; 12] = [ + "aries", + "taurus", + "gemini", + "cancer", + "leo", + "virgo", + "libra", + "scorpio", + "sagittarius", + "capricorn", + "aquarius", + "pisces", +]; + +// ===================================================================== +// Corpus de interpretación — puente carta → pasajes +// ===================================================================== + +/// Deriva las colocaciones y aspectos natales de un [`RenderModel`] +/// para alimentar el corpus de interpretación: cada cuerpo natal se +/// traduce a su `planeta·signo` + `planeta@casa`, y cada aspecto a su +/// terna. El caller hace luego `Corpus::interpretar_por_dominio`. +pub fn corpus_inputs(render: &RenderModel) -> (Vec, Vec) { + let mut colocaciones = Vec::new(); + let mut aspectos = Vec::new(); + for layer in &render.layers { + if layer.module_id != "natal" { + continue; + } + match layer.kind { + LayerKind::Bodies => { + for g in &layer.glyphs { + colocaciones.push(Colocacion { + planeta: g.symbol.clone(), + signo: signo_de_longitud(g.deg).to_string(), + casa: g.house.unwrap_or(0), + }); + } + } + LayerKind::Aspects => { + if let Geometry::Lines(segs) = &layer.geometry { + for s in segs { + if !s.from_body.is_empty() && !s.to_body.is_empty() { + aspectos.push(AspectoEnCarta { + a: s.from_body.clone(), + kind: s.kind.clone(), + b: s.to_body.clone(), + }); + } + } + } + } + _ => {} + } + } + (colocaciones, aspectos) +} + +/// El signo zodiacal (id agnóstico) de una longitud eclíptica. +fn signo_de_longitud(deg: f32) -> &'static str { + const SIGNOS: [&str; 12] = [ + "aries", "taurus", "gemini", "cancer", "leo", "virgo", "libra", + "scorpio", "sagittarius", "capricorn", "aquarius", "pisces", + ]; + SIGNOS[(deg.rem_euclid(360.0) / 30.0) as usize % 12] +} + +// ===================================================================== +// Tests +// ===================================================================== + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_model::{ + Chart, ChartKind, ContactId, StoredBirthData, StoredChartConfig, + }; + + fn sample_chart() -> Chart { + Chart { + id: ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: "test".into(), + birth_data: StoredBirthData { + year: 1987, + month: 3, + day: 14, + hour: 5, + minute: 22, + second: 0.0, + tz_offset_minutes: -240, + latitude_deg: 10.4806, + longitude_deg: -66.9036, + altitude_m: 900.0, + time_certainty: Default::default(), + subject_name: None, + birthplace_label: None, + }, + config: StoredChartConfig::default(), + related_chart_id: None, + created_at_ms: 0, + } + } + + #[test] + fn mock_emits_sign_dial() { + let model = compute_mock(&sample_chart()); + assert_eq!(model.layers.len(), 1); + assert!(matches!(model.layers[0].kind, LayerKind::SignDial)); + assert_eq!(model.layers[0].glyphs.len(), 12); + } + + #[test] + fn corpus_inputs_extrae_colocaciones_y_aspectos() { + let render = RenderModel { + chart_id: ChartId::new(), + chart_kind: ChartKind::Natal, + title: "x".into(), + subtitle: None, + compute_ms: 0, + ascendant_deg: 0.0, + midheaven_deg: 270.0, + descendant_deg: 180.0, + imum_coeli_deg: 90.0, + geo_latitude_deg: 0.0, + geo_longitude_deg: 0.0, + layers: vec![ + Layer { + module_id: "natal".into(), + kind: LayerKind::Bodies, + ring: 0.0, + z: 0, + geometry: Geometry::GlyphsOnly, + glyphs: vec![ + Glyph { deg: 12.0, symbol: "mars".into(), house: Some(6), ..Default::default() }, + Glyph { deg: 200.0, symbol: "venus".into(), house: Some(1), ..Default::default() }, + ], + }, + Layer { + module_id: "natal".into(), + kind: LayerKind::Aspects, + ring: 0.0, + z: 0, + geometry: Geometry::Lines(vec![LineSeg { + from_deg: 12.0, + to_deg: 200.0, + kind: "square".into(), + opacity: 1.0, + from_body: "mars".into(), + to_body: "venus".into(), + orb_deg: 1.0, + }]), + glyphs: vec![], + }, + ], + overlays: vec![], + aspect_summary: vec![], + uranian_groups: vec![], + gr_triggers: vec![], + harmonic: 1, + harmonic_spectrum: vec![], + }; + let (col, asp) = corpus_inputs(&render); + assert_eq!(col.len(), 2); + assert_eq!(col[0].planeta, "mars"); + assert_eq!(col[0].signo, "aries", "12° cae en Aries"); + assert_eq!(col[0].casa, 6); + assert_eq!(asp.len(), 1); + assert_eq!(asp[0].kind, "square"); + } + + #[cfg(feature = "eternal-bridge")] + #[test] + fn real_compute_natal_demo() { + let model = compute(&sample_chart()).expect("compute con eternal"); + assert!(model.layers.iter().any(|l| matches!(l.kind, LayerKind::SignDial))); + assert!(model.layers.iter().any(|l| matches!(l.kind, LayerKind::Houses))); + assert!(model.layers.iter().any(|l| matches!(l.kind, LayerKind::Bodies))); + // El Asc debe ser un grado válido. + assert!(model.ascendant_deg.is_finite()); + assert!((0.0..360.0).contains(&model.ascendant_deg)); + } + + /// El cache de NatalChart debe hacer que la segunda llamada con + /// inputs idénticos sea sustancialmente más rápida que la primera. + /// Verificamos un piso del 4× — en práctica el ratio suele ser + /// >10× porque la primera carga VSOP2013 también. + #[cfg(feature = "eternal-bridge")] + #[test] + fn natal_cache_hits_are_faster() { + let chart = sample_chart(); + // Warmup: abre la sesión de efemérides y puebla el cache. + let _ = compute(&chart).expect("warmup"); + + // Reset implícito: insertar una clave distinta no botaría la + // nuestra (cap=8) pero la marcaría como más vieja. Como solo + // tenemos 1 entrada, sigue al frente. + let t1 = std::time::Instant::now(); + let _ = compute(&chart).expect("primera medida"); + let cold_or_hot_1 = t1.elapsed(); + + let t2 = std::time::Instant::now(); + let _ = compute(&chart).expect("segunda medida"); + let hot = t2.elapsed(); + + // Después del warmup, las dos llamadas son hot. Para validar el + // efecto del cache, modificamos el offset_minutes para forzar + // un MISS y comparar contra un HIT. + use crate::PipelineRequest; + let t3 = std::time::Instant::now(); + let _ = compose(&chart, 17, &[] as &[PipelineRequest]) + .expect("miss con offset distinto"); + let miss = t3.elapsed(); + + let t4 = std::time::Instant::now(); + let _ = compose(&chart, 17, &[] as &[PipelineRequest]) + .expect("hit con mismo offset"); + let hit = t4.elapsed(); + + // Sanity: el hit debe ser estrictamente más rápido que el miss. + assert!( + hit < miss, + "cache hit ({:?}) debería ser más rápido que miss ({:?}); \ + warmup={:?}, repeat={:?}", + hit, miss, cold_or_hot_1, hot + ); + } + + /// El overlay GR debe emitir el dual-ring (`pd_direct` + + /// `pd_converse`) y una lista de triggers ordenada por orbe y + /// acotada al orbe del HUD. + #[cfg(feature = "eternal-bridge")] + #[test] + fn primary_directions_emit_dual_ring_and_triggers() { + use crate::PipelineRequest; + let model = compose( + &sample_chart(), + 0, + &[PipelineRequest::PrimaryDirections { + target_age_years: 30.0, + key: "naibod".into(), + }], + ) + .expect("compose con overlay GR"); + + assert!(model.layers.iter().any(|l| l.module_id == "pd_direct")); + assert!(model.layers.iter().any(|l| l.module_id == "pd_converse")); + + let mut prev = 0.0_f32; + for t in &model.gr_triggers { + assert!(t.orb_deg <= 2.0 + 1e-3, "orbe {} fuera del HUD", t.orb_deg); + assert!(t.orb_deg + 1e-3 >= prev, "triggers desordenados"); + prev = t.orb_deg; + if t.event { + // Un evento exige orbe de micro-escala (≤ 5'). + assert!(t.orb_deg <= 5.0 / 60.0 + 1e-3, "evento con orbe ancho"); + } + } + } + + /// La carta armónica debe mover los cuerpos respecto de la natal y + /// anotar el orden en el título. + #[cfg(feature = "eternal-bridge")] + #[test] + fn harmonic_chart_transforms_bodies_and_title() { + let chart = sample_chart(); + let natal = compose_with_options(&chart, 0, &[], &NatalOptions::default()) + .expect("compose natal"); + let h5 = compose_with_options( + &chart, + 0, + &[], + &NatalOptions { + harmonic: 5, + ..NatalOptions::default() + }, + ) + .expect("compose H5"); + + assert!(h5.title.ends_with("· H5"), "título anota el armónico"); + + let pick = |m: &RenderModel| -> Vec { + m.layers + .iter() + .find(|l| matches!(l.kind, LayerKind::Bodies)) + .map(|l| l.glyphs.iter().map(|g| g.deg).collect()) + .unwrap_or_default() + }; + let natal_degs = pick(&natal); + let h5_degs = pick(&h5); + assert_eq!(natal_degs.len(), h5_degs.len()); + let moved = natal_degs + .iter() + .zip(&h5_degs) + .any(|(a, b)| (a - b).abs() > 0.01); + assert!(moved, "el armónico debe mover los cuerpos"); + } + + /// El rectificador barre la ventana en dos pasadas, devuelve un + /// perfil grueso ordenado y un offset fino de resolución de segundo. + #[cfg(feature = "eternal-bridge")] + #[test] + fn rectificar_barre_la_ventana_y_elige_el_minimo() { + let chart = sample_chart(); + let eventos = [ + EventoConocido { edad_years: 20.0 }, + EventoConocido { edad_years: 35.0 }, + ]; + let r = rectificar(&chart, &eventos, 10, "naibod").expect("rectificar"); + + // Pasada gruesa: ±10 min a paso de minuto → 21 candidatos. + assert_eq!(r.perfil.len(), 21); + // El perfil (en segundos) va ordenado por offset ascendente. + for par in r.perfil.windows(2) { + assert!(par[0].0 < par[1].0, "perfil desordenado"); + } + // El mejor offset cae dentro de la ventana + el margen de la + // pasada fina (±60 s). + assert!(r.mejor_offset_segundos.abs() <= 10 * 60 + 60); + assert!(r.mejor_puntaje >= 0.0); + + // Sin eventos no hay ancla — debe ser un error. + assert!(rectificar(&chart, &[], 10, "naibod").is_err()); + } +} diff --git a/01_yachay/cosmos/cosmos-engine/src/natal_cache.rs b/01_yachay/cosmos/cosmos-engine/src/natal_cache.rs new file mode 100644 index 0000000..a3a1941 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/natal_cache.rs @@ -0,0 +1,116 @@ +//! LRU cache para `NatalChart` por contenido. +//! +//! `NatalChart::compute` cuesta varios ms (VSOP2013 + casas + aspectos +//! base). En el shell, mover el slider de orbe o tocar un toggle +//! dispara un `compose()` completo donde la **misma** carta natal del +//! sujeto principal se recomputa idéntica. Lo mismo pasa con el partner +//! de Synastry / Composite — cada drag de slider rearma `partner_natal`. +//! +//! Este cache de 8 entradas es suficiente: el usuario rara vez tiene +//! más de 2 cartas activas a la vez (natal + partner) y el LRU bota la +//! más vieja cuando se llena. La clave es el **contenido** de +//! `StoredBirthData + StoredChartConfig + offset_seconds`, así que +//! editar una carta invalida automáticamente su entrada. + +use std::collections::hash_map::DefaultHasher; +use std::hash::{Hash, Hasher}; +use std::sync::{Arc, Mutex, OnceLock}; + +use cosmos_astrology::NatalChart; +use cosmos_model::{StoredBirthData, StoredChartConfig}; + +const CAPACITY: usize = 8; + +type Key = u64; + +struct Cache { + /// Front = más reciente, back = más viejo. `VecDeque` simple — con + /// cap 8 el search lineal cuesta menos que un HashMap. + entries: Vec<(Key, Arc)>, +} + +impl Cache { + fn new() -> Self { + Self { + entries: Vec::with_capacity(CAPACITY), + } + } + + fn get(&mut self, k: Key) -> Option> { + let idx = self.entries.iter().position(|(kk, _)| *kk == k)?; + // Move-to-front para mantener LRU. + let hit = self.entries.remove(idx); + let chart = hit.1.clone(); + self.entries.insert(0, hit); + Some(chart) + } + + fn put(&mut self, k: Key, v: Arc) { + // Si ya existe la entrada (race: dos threads computaron lo mismo + // antes de poblar), reemplaza in-place. + if let Some(idx) = self.entries.iter().position(|(kk, _)| *kk == k) { + self.entries.remove(idx); + } + self.entries.insert(0, (k, v)); + if self.entries.len() > CAPACITY { + self.entries.pop(); + } + } +} + +static CACHE: OnceLock> = OnceLock::new(); + +fn cache() -> &'static Mutex { + CACHE.get_or_init(|| Mutex::new(Cache::new())) +} + +/// Hash de contenido: incluye todos los campos relevantes para el +/// cómputo de la carta natal. `f64` se hashea via `to_bits` para evitar +/// el `Hash` ausente de los flotantes. +pub fn key_for( + birth: &StoredBirthData, + config: &StoredChartConfig, + offset_seconds: i64, +) -> u64 { + let mut h = DefaultHasher::new(); + // Birth data — fecha/hora/lugar. + birth.year.hash(&mut h); + birth.month.hash(&mut h); + birth.day.hash(&mut h); + birth.hour.hash(&mut h); + birth.minute.hash(&mut h); + birth.second.to_bits().hash(&mut h); + birth.tz_offset_minutes.hash(&mut h); + birth.latitude_deg.to_bits().hash(&mut h); + birth.longitude_deg.to_bits().hash(&mut h); + birth.altitude_m.to_bits().hash(&mut h); + // Config — todos los toggles que afectan el cómputo de placements y + // casas. Los enums derivan Debug; reusamos eso para hashear sin + // forzarles `Hash` manualmente. + format!("{:?}", config.house_system).hash(&mut h); + format!("{:?}", config.zodiac).hash(&mut h); + config.ayanamsha.hash(&mut h); + config.bodies.hash(&mut h); + config.include_south_node.hash(&mut h); + config.include_lilith.hash(&mut h); + config.include_main_belt_asteroids.hash(&mut h); + config.include_fixed_stars.hash(&mut h); + // Offset temporal en segundos (microajuste de rectificación). + offset_seconds.hash(&mut h); + h.finish() +} + +/// Consulta. Devuelve `None` en miss; el caller debe computar y llamar +/// a `insert`. +pub fn get(k: Key) -> Option> { + cache().lock().ok()?.get(k) +} + +/// Inserta una entrada. Idempotente: re-insertar la misma key la mueve +/// al frente. +pub fn insert(k: Key, v: Arc) { + if let Ok(mut guard) = cache().lock() { + guard.put(k, v); + } +} + diff --git a/01_yachay/cosmos/cosmos-engine/src/rectify.rs b/01_yachay/cosmos/cosmos-engine/src/rectify.rs new file mode 100644 index 0000000..67916d1 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/rectify.rs @@ -0,0 +1,133 @@ +//! Rectificador automático — microajuste por direcciones primarias. +//! +//! La rectificación horaria responde a una pregunta vieja: si la hora de +//! nacimiento registrada es incierta, ¿cuál es la verdadera? El método +//! ascensional la ataca con direcciones primarias: en la hora correcta, +//! los eventos reales de la vida del sujeto **coinciden** con la +//! perfección de una dirección primaria — el arco que la esfera celeste +//! rota tras el nacimiento hasta que un promisor alcanza la posición +//! mundana de un significador. +//! +//! La trigonometría esférica de esos arcos —el método Placidus-mundano, +//! semi-arcos diurnos/nocturnos bajo el polo de cada cuerpo— **no se +//! reimplementa aquí**: la aporta, ya probada, `eternal-astrology` +//! (`primary_direction::all_directions`). Este módulo es la capa de +//! OPTIMIZACIÓN: barre las horas candidatas y minimiza el desajuste +//! entre los eventos conocidos y los arcos teóricos. +//! +//! El barrido es de **dos pasadas**: una gruesa, minuto a minuto sobre +//! toda la ventana (el perfil que la UI dibuja como curva), y una fina, +//! segundo a segundo alrededor del mejor minuto — de ahí la precisión +//! de segundo del microajuste. + +use cosmos_astrology::primary_direction::{all_directions, DirectionMethod}; +use cosmos_astrology::{DirectionKey as EDirectionKey, NatalChart}; + +use crate::bridge::compute_natal_chart; +use crate::{Chart, EngineError, EventoConocido, Rectificacion}; + +/// Edad máxima (años) hasta la que se computan direcciones primarias — +/// cubre con holgura cualquier evento de una vida humana. +const EDAD_MAX: f64 = 100.0; + +/// Penalización (años) que se imputa a un evento cuando ninguna +/// dirección primaria cae cerca. Mayor que cualquier desajuste real +/// plausible: un candidato sin dirección queda inequívocamente peor. +const SIN_DIRECCION: f32 = 20.0; + +/// Error de una carta candidata frente a los eventos conocidos: por +/// cada evento, la distancia en años a la dirección primaria más +/// cercana; el error total es la suma. Es la función de coste del +/// microajuste — el segundo de nacimiento correcto la lleva a un valle. +fn error_de_carta( + natal: &NatalChart, + eventos: &[EventoConocido], + key: EDirectionKey, +) -> f32 { + // Todas las direcciones primarias (Placidus-mundano) y la edad a la + // que cada una perfecciona. La matemática esférica vive en eternal. + let dirs = all_directions(natal, DirectionMethod::PlacidusMundane, key, EDAD_MAX); + let mut total = 0.0_f32; + for evento in eventos { + // La dirección cuya perfección cae más cerca de la edad del + // evento: en la hora correcta, esa distancia tiende a cero. + let cercania = dirs + .iter() + .map(|d| (evento.edad_years - d.age_years).abs() as f32) + .reduce(f32::min) + .unwrap_or(SIN_DIRECCION); + total += cercania.min(SIN_DIRECCION); + } + total +} + +/// Barre los offsets de `[desde, hasta]` segundos con paso `paso` y +/// devuelve `(offset_segundos, error)` por candidato. +fn barrer( + chart: &Chart, + eventos: &[EventoConocido], + key: EDirectionKey, + desde: i64, + hasta: i64, + paso: i64, +) -> Result, EngineError> { + let mut perfil = Vec::new(); + let mut offset = desde; + while offset <= hasta { + // Una carta natal por hora candidata (cacheada en el bridge). + let (natal, _, _) = compute_natal_chart(chart, offset)?; + perfil.push((offset, error_de_carta(&natal, eventos, key))); + offset += paso; + } + Ok(perfil) +} + +/// El candidato de menor error. Ante empate, el offset más cercano a 0 +/// — la hora registrada se respeta si nada la mejora. +fn mejor_de(perfil: &[(i64, f32)]) -> (i64, f32) { + perfil + .iter() + .copied() + .min_by(|(oa, pa), (ob, pb)| { + pa.partial_cmp(pb) + .unwrap_or(core::cmp::Ordering::Equal) + .then(oa.abs().cmp(&ob.abs())) + }) + .unwrap_or((0, 0.0)) +} + +/// Barre las horas candidatas y devuelve la rectificación. Ver +/// [`crate::rectificar`] para la documentación pública. +pub(crate) fn rectificar( + chart: &Chart, + eventos: &[EventoConocido], + ventana_min: i64, + key_str: &str, +) -> Result { + if eventos.is_empty() { + return Err(EngineError::Eternal( + "rectificar: sin eventos conocidos que anclar la búsqueda".into(), + )); + } + let ventana = ventana_min.max(1); + let key = match key_str { + "ptolemy" => EDirectionKey::Ptolemy, + _ => EDirectionKey::Naibod, + }; + + // PASADA 1 — gruesa, minuto a minuto sobre toda la ventana. Es el + // perfil que la UI dibuja como curva: el valle salta a la vista. + let perfil = barrer(chart, eventos, key, -ventana * 60, ventana * 60, 60)?; + let (mejor_minuto, _) = mejor_de(&perfil); + + // PASADA 2 — fina, segundo a segundo en ±60 s alrededor del mejor + // minuto. Aquí nace la precisión de segundo del microajuste. + let fino = barrer(chart, eventos, key, mejor_minuto - 60, mejor_minuto + 60, 1)?; + let (mejor_offset_segundos, mejor_puntaje) = mejor_de(&fino); + + Ok(Rectificacion { + mejor_offset_segundos, + mejor_puntaje, + perfil, + }) +} diff --git a/01_yachay/cosmos/cosmos-engine/src/svg_export.rs b/01_yachay/cosmos/cosmos-engine/src/svg_export.rs new file mode 100644 index 0000000..30691b5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-engine/src/svg_export.rs @@ -0,0 +1,319 @@ +//! Export del `RenderModel` a SVG. +//! +//! Genera un documento SVG standalone con la misma geometría que pinta +//! el canvas: anillos zodiacales, cusps, planetas, aspectos. El +//! resultado es escalable (imprimible a cualquier tamaño) y no requiere +//! la app GPUI para verse — cualquier visor de SVG sirve. +//! +//! Convención de coordenadas idéntica al canvas: +//! `screen_angle_deg = 180 - (longitude - ascendant)` con +y para abajo. + +use std::f64::consts::PI; +use std::fmt::Write; + +use crate::{Geometry, LayerKind, RenderModel}; + +/// Dimensiones default del viewport. Aspect ratio cuadrada. +const VIEWBOX: f64 = 800.0; +const MARGIN: f64 = 40.0; + +/// Radios normalizados — espejan los de `cosmos_app-canvas`. +const R_SIGN_OUTER: f64 = 1.00; +const R_SIGN_INNER: f64 = 0.88; +const R_TRANSITS: f64 = 0.82; +const R_HOUSES_OUTER: f64 = 0.78; +const R_HOUSES_INNER: f64 = 0.66; +const R_BODIES: f64 = 0.58; +const R_PROGRESSION: f64 = 0.48; +const R_SOLAR_ARC: f64 = 0.40; +const R_ASPECTS: f64 = 0.32; + +/// Convierte el `RenderModel` a un documento SVG completo. +pub fn render_to_svg(render: &RenderModel) -> String { + let mut out = String::with_capacity(8192); + let r_outer = (VIEWBOX - MARGIN * 2.0) / 2.0; + let cx = VIEWBOX / 2.0; + let cy = VIEWBOX / 2.0; + let asc = render.ascendant_deg as f64; + + writeln!( + out, + r#" +"#, + VIEWBOX, VIEWBOX + ) + .unwrap(); + + // Fondo + título. + writeln!( + out, + r##" + {title}"##, + VIEWBOX, + cx = cx, + title = escape_xml(&render.title) + ) + .unwrap(); + + // Anillos base. + for r in [R_SIGN_OUTER, R_SIGN_INNER, R_HOUSES_OUTER, R_HOUSES_INNER] { + writeln!( + out, + r##" "##, + r = r * r_outer + ) + .unwrap(); + } + + // Cusps del zodíaco cada 30°. + for i in 0..12 { + let lon = (i as f64) * 30.0; + let (x1, y1) = polar(lon, asc, R_SIGN_INNER * r_outer, cx, cy); + let (x2, y2) = polar(lon, asc, R_SIGN_OUTER * r_outer, cx, cy); + writeln!( + out, + r##" "##, + ) + .unwrap(); + } + + // Glifos de signos a media-altura del dial. + let sign_mid = (R_SIGN_OUTER + R_SIGN_INNER) / 2.0; + for layer in &render.layers { + if matches!(layer.kind, LayerKind::SignDial) { + for g in &layer.glyphs { + let (x, y) = polar(g.deg as f64, asc, sign_mid * r_outer, cx, cy); + writeln!( + out, + r##" {}"##, + sign_unicode(&g.symbol) + ) + .unwrap(); + } + } + } + + // Cusps de casas + énfasis Asc/IC/Desc/MC. + for layer in &render.layers { + if matches!(layer.kind, LayerKind::Houses) { + if let Geometry::Ring { cusps_deg } = &layer.geometry { + for (i, c) in cusps_deg.iter().enumerate() { + let is_angle = i == 0 || i == 3 || i == 6 || i == 9; + let (color, w) = if is_angle { + ("#b8862e", 1.6) + } else { + ("#9b8460", 0.5) + }; + let (x1, y1) = + polar(*c as f64, asc, R_HOUSES_INNER * r_outer, cx, cy); + let (x2, y2) = + polar(*c as f64, asc, R_HOUSES_OUTER * r_outer, cx, cy); + writeln!( + out, + r##" "##, + ) + .unwrap(); + } + } + } + } + + // Líneas de aspectos. Para natal usamos un solo ring; para + // cross-aspects (transit/synastry/progression/solar_arc/...) los + // extremos van en rings distintos según el `module_id`. + for layer in &render.layers { + if !matches!(layer.kind, LayerKind::Aspects) { + continue; + } + if let Geometry::Lines(segs) = &layer.geometry { + let (r_from, r_to) = aspect_radii(&layer.module_id); + for seg in segs { + let color = aspect_color_hex(&seg.kind); + let (x1, y1) = polar(seg.from_deg as f64, asc, r_from * r_outer, cx, cy); + let (x2, y2) = polar(seg.to_deg as f64, asc, r_to * r_outer, cx, cy); + writeln!( + out, + r##" "##, + op = seg.opacity + ) + .unwrap(); + } + } + } + + // Glifos planetarios (natal + overlays). Cada uno en su ring. + for layer in &render.layers { + if !matches!(layer.kind, LayerKind::Bodies | LayerKind::Outer) { + continue; + } + let ring = body_ring_radius(&layer.module_id); + let size = if layer.module_id == "natal" { 18 } else { 14 }; + for g in &layer.glyphs { + let (x, y) = polar(g.deg as f64, asc, ring * r_outer, cx, cy); + let glyph = planet_unicode(&g.symbol); + let suffix = match (g.retrograde, g.dignity_marker.as_deref()) { + (true, Some(m)) => format!("ᴿ{}", m), + (true, None) => "ᴿ".into(), + (false, Some(m)) => m.to_string(), + (false, None) => String::new(), + }; + writeln!( + out, + r##" {glyph}{suffix}"## + ) + .unwrap(); + } + } + + // Etiquetas ASC / MC / DESC / IC en el perímetro. + for (deg, label) in [ + (asc, "ASC"), + (render.midheaven_deg as f64, "MC"), + (render.descendant_deg as f64, "DESC"), + (render.imum_coeli_deg as f64, "IC"), + ] { + let (x, y) = polar(deg, asc, 1.06 * r_outer, cx, cy); + writeln!( + out, + r##" {label}"## + ) + .unwrap(); + } + + writeln!(out, "").unwrap(); + out +} + +fn polar(longitude_deg: f64, ascendant_deg: f64, radius: f64, cx: f64, cy: f64) -> (f64, f64) { + let deg = 180.0 - (longitude_deg - ascendant_deg); + let rad = deg * PI / 180.0; + (cx + radius * rad.cos(), cy + radius * rad.sin()) +} + +fn aspect_radii(module_id: &str) -> (f64, f64) { + if crate::OUTER_RING_MODULES.contains(&module_id) { + return (R_BODIES, R_TRANSITS); + } + match module_id { + "progression" => (R_BODIES, R_PROGRESSION), + "solar_arc" => (R_BODIES, R_SOLAR_ARC), + _ => (R_ASPECTS, R_ASPECTS), + } +} + +fn body_ring_radius(module_id: &str) -> f64 { + if crate::OUTER_RING_MODULES.contains(&module_id) { + return R_TRANSITS; + } + match module_id { + "progression" => R_PROGRESSION, + "solar_arc" => R_SOLAR_ARC, + _ => R_BODIES, + } +} + +fn sign_unicode(name: &str) -> &'static str { + match name { + "aries" => "♈", + "taurus" => "♉", + "gemini" => "♊", + "cancer" => "♋", + "leo" => "♌", + "virgo" => "♍", + "libra" => "♎", + "scorpio" => "♏", + "sagittarius" => "♐", + "capricorn" => "♑", + "aquarius" => "♒", + "pisces" => "♓", + _ => "?", + } +} + +fn planet_unicode(name: &str) -> &'static str { + match name { + "sun" => "☉", + "moon" => "☽", + "mercury" => "☿", + "venus" => "♀", + "mars" => "♂", + "jupiter" => "♃", + "saturn" => "♄", + "uranus" => "♅", + "neptune" => "♆", + "pluto" => "♇", + "north_node" => "☊", + "south_node" => "☋", + "chiron" => "⚷", + "lilith" => "⚸", + "ceres" => "⚳", + "pallas" => "⚴", + "juno" => "⚵", + "vesta" => "⚶", + _ => "•", + } +} + +fn aspect_color_hex(kind: &str) -> &'static str { + match kind { + "conjunction" => "#b8862e", + "opposition" => "#a64a8a", + "trine" => "#3f7d57", + "square" => "#c64b2a", + "sextile" => "#3a6db5", + _ => "#8a7660", + } +} + +fn escape_xml(s: &str) -> String { + s.replace('&', "&") + .replace('<', "<") + .replace('>', ">") + .replace('"', """) + .replace('\'', "'") +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{compute_mock, ChartKind}; + use cosmos_model::{Chart, ContactId, StoredBirthData, StoredChartConfig}; + + fn sample_chart() -> Chart { + Chart { + id: cosmos_model::ChartId::new(), + contact_id: ContactId::new(), + kind: ChartKind::Natal, + label: "Test".into(), + birth_data: StoredBirthData { + year: 1987, + month: 3, + day: 14, + hour: 5, + minute: 22, + second: 0.0, + tz_offset_minutes: -240, + latitude_deg: 10.0, + longitude_deg: -66.0, + altitude_m: 0.0, + time_certainty: Default::default(), + subject_name: None, + birthplace_label: None, + }, + config: StoredChartConfig::default(), + related_chart_id: None, + created_at_ms: 0, + } + } + + #[test] + fn svg_well_formed_minimal() { + let render = compute_mock(&sample_chart()); + let svg = render_to_svg(&render); + assert!(svg.starts_with("\n")); + // Debe traer al menos un círculo de los rings base. + assert!(svg.contains(" threshold`. +Lower thresholds retain more terms (higher accuracy, larger binary). +The embedded coefficients are tuned for ±50 years from 2026 (1976-2076), +balancing binary size against accuracy for typical observatory use. + +## Accuracy + +Tested against reference ephemerides: + +| Theory | Valid Range | Position Error | +|-----------|------------------|---------------------------------------------| +| VSOP2013 | ±50 years | < 5,000 km (inner), < 50,000 km (outer) | +| ELP/MPP02 | ±50 years | < 5 km vs JPL DE441 | +| JPL DE440 | Kernel-dependent | Sub-meter | + +Note: VSOP2013 errors are relative to full-precision VSOP2013 reference data, +not JPL DE. For pointing applications, these translate to sub-arcsecond accuracy +for inner planets and ~1" for outer planets at typical observing distances. + +## License + +Licensed under the Apache License, Version 2.0 +([LICENSE-APACHE](../LICENSE-APACHE) or +). +See [NOTICE](../NOTICE) for upstream attribution. + +## Acknowledgements + +Forked from [celestial](https://github.com/gaker/celestial) by **Greg Aker** +(originally dual-licensed under MIT OR Apache-2.0). This crate is derived +directly from that work and is maintained in this fork by Sergio Velásquez +Zeballos with Claude (Anthropic). + +## Contributing + +See the [repository](https://gitea.gioser.net/sergio/eternal) for contribution guidelines. diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/download.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/download.rs new file mode 100644 index 0000000..e118d33 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/download.rs @@ -0,0 +1,624 @@ +use std::fs::{self, File}; +use std::io::Write; +use std::path::Path; + +#[cfg(feature = "cli")] +use reqwest::blocking::Client; + +const BASE_URL: &str = "http://cyrano-se.obspm.fr/pub/2_lunar_solutions/2_elpmpp02"; + +pub const MAIN_FILES: &[&str] = &["ELP_MAIN.S1", "ELP_MAIN.S2", "ELP_MAIN.S3"]; + +pub const PERT_FILES: &[&str] = &["ELP_PERT.S1", "ELP_PERT.S2", "ELP_PERT.S3"]; + +#[allow(dead_code)] +pub const FORTRAN_FILE: &str = "ELPMPP02.for"; + +pub fn file_url(filename: &str) -> String { + format!("{}/{}", BASE_URL, filename) +} + +#[cfg(feature = "cli")] +pub fn default_client() -> Result { + Client::builder() + .timeout(std::time::Duration::from_secs(120)) + .danger_accept_invalid_certs(true) + .build() + .map_err(|e| format!("Failed to create HTTP client: {}", e)) +} + +#[cfg(feature = "cli")] +#[allow(dead_code)] +pub fn download_file_from_url(url: &str, filename: &str, output_dir: &Path) -> Result<(), String> { + let client = default_client()?; + download_file_with_client(&client, url, filename, output_dir) +} + +#[cfg(feature = "cli")] +pub fn download_file_with_client( + client: &Client, + url: &str, + filename: &str, + output_dir: &Path, +) -> Result<(), String> { + let output_path = output_dir.join(filename); + + if output_path.exists() { + println!(" {} already exists, skipping", filename); + return Ok(()); + } + + println!(" Downloading {} ...", url); + + let response = client + .get(url) + .send() + .map_err(|e| format!("Failed to fetch {}: {}", url, e))?; + + if !response.status().is_success() { + return Err(format!("HTTP error {} for {}", response.status(), url)); + } + + let bytes = response + .bytes() + .map_err(|e| format!("Failed to read response: {}", e))?; + + let mut file = File::create(&output_path) + .map_err(|e| format!("Failed to create {}: {}", output_path.display(), e))?; + + file.write_all(&bytes) + .map_err(|e| format!("Failed to write {}: {}", output_path.display(), e))?; + + println!(" Saved {} ({} bytes)", filename, bytes.len()); + Ok(()) +} + +#[cfg(feature = "cli")] +pub fn download_all(client: &Client, output_dir: &Path) -> Result<(), String> { + fs::create_dir_all(output_dir) + .map_err(|e| format!("Failed to create output directory: {}", e))?; + + println!("Downloading ELP/MPP02 files to {}", output_dir.display()); + + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + download_file_with_client(client, &file_url(filename), filename, output_dir)?; + } + + println!("Download complete!"); + Ok(()) +} + +#[cfg(not(feature = "cli"))] +pub fn download_all(_client: &(), _output_dir: &Path) -> Result<(), String> { + Err("Download requires the 'cli' feature".to_string()) +} + +pub fn find_elp_files(input_dir: &Path) -> Option { + let main_files: Vec<_> = MAIN_FILES.iter().map(|f| input_dir.join(f)).collect(); + let pert_files: Vec<_> = PERT_FILES.iter().map(|f| input_dir.join(f)).collect(); + + for path in main_files.iter().chain(pert_files.iter()) { + if !path.exists() { + return None; + } + } + + Some(ElpFilePaths { + main_longitude: main_files[0].clone(), + main_latitude: main_files[1].clone(), + main_distance: main_files[2].clone(), + pert_longitude: pert_files[0].clone(), + pert_latitude: pert_files[1].clone(), + pert_distance: pert_files[2].clone(), + }) +} + +#[derive(Debug, Clone)] +pub struct ElpFilePaths { + pub main_longitude: std::path::PathBuf, + pub main_latitude: std::path::PathBuf, + pub main_distance: std::path::PathBuf, + pub pert_longitude: std::path::PathBuf, + pub pert_latitude: std::path::PathBuf, + pub pert_distance: std::path::PathBuf, +} + +#[cfg(test)] +mod tests { + use super::*; + use std::fs::File; + use tempfile::TempDir; + + #[test] + fn test_file_url() { + let url = file_url("ELP_MAIN.S1"); + assert!(url.contains("ELP_MAIN.S1")); + assert!(url.starts_with("http://")); + assert!(url.contains("cyrano-se.obspm.fr")); + } + + #[test] + fn test_file_url_for_all_main_files() { + for filename in MAIN_FILES { + let url = file_url(filename); + assert_eq!(url, format!("{}/{}", BASE_URL, filename)); + } + } + + #[test] + fn test_file_url_for_all_pert_files() { + for filename in PERT_FILES { + let url = file_url(filename); + assert_eq!(url, format!("{}/{}", BASE_URL, filename)); + } + } + + #[test] + fn test_file_url_for_fortran_file() { + let url = file_url(FORTRAN_FILE); + assert_eq!( + url, + "http://cyrano-se.obspm.fr/pub/2_lunar_solutions/2_elpmpp02/ELPMPP02.for" + ); + } + + #[test] + fn test_file_url_empty_filename() { + let url = file_url(""); + assert_eq!(url, format!("{}/", BASE_URL)); + } + + #[test] + fn test_file_url_with_special_characters() { + let url = file_url("file with spaces.txt"); + assert!(url.ends_with("file with spaces.txt")); + } + + #[test] + fn test_file_lists() { + assert_eq!(MAIN_FILES.len(), 3); + assert_eq!(PERT_FILES.len(), 3); + } + + #[test] + fn test_main_files_naming_convention() { + assert_eq!(MAIN_FILES[0], "ELP_MAIN.S1"); + assert_eq!(MAIN_FILES[1], "ELP_MAIN.S2"); + assert_eq!(MAIN_FILES[2], "ELP_MAIN.S3"); + } + + #[test] + fn test_pert_files_naming_convention() { + assert_eq!(PERT_FILES[0], "ELP_PERT.S1"); + assert_eq!(PERT_FILES[1], "ELP_PERT.S2"); + assert_eq!(PERT_FILES[2], "ELP_PERT.S3"); + } + + #[test] + fn test_fortran_file_constant() { + assert_eq!(FORTRAN_FILE, "ELPMPP02.for"); + } + + #[test] + fn test_find_elp_files_returns_none_when_dir_empty() { + let temp_dir = TempDir::new().unwrap(); + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_none_when_main_files_missing() { + let temp_dir = TempDir::new().unwrap(); + for filename in PERT_FILES { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_none_when_pert_files_missing() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_none_when_partial_main_files() { + let temp_dir = TempDir::new().unwrap(); + File::create(temp_dir.path().join("ELP_MAIN.S1")).unwrap(); + File::create(temp_dir.path().join("ELP_MAIN.S2")).unwrap(); + // Missing ELP_MAIN.S3 + for filename in PERT_FILES { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_none_when_partial_pert_files() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES { + File::create(temp_dir.path().join(filename)).unwrap(); + } + File::create(temp_dir.path().join("ELP_PERT.S1")).unwrap(); + File::create(temp_dir.path().join("ELP_PERT.S2")).unwrap(); + // Missing ELP_PERT.S3 + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_none_when_first_file_missing() { + let temp_dir = TempDir::new().unwrap(); + // Missing ELP_MAIN.S1 (first file checked) + File::create(temp_dir.path().join("ELP_MAIN.S2")).unwrap(); + File::create(temp_dir.path().join("ELP_MAIN.S3")).unwrap(); + for filename in PERT_FILES { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let result = find_elp_files(temp_dir.path()); + assert!(result.is_none()); + } + + #[test] + fn test_find_elp_files_returns_some_when_all_files_present() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let result = find_elp_files(temp_dir.path()); + assert!(result.is_some()); + } + + #[test] + fn test_find_elp_files_returns_correct_paths() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let paths = find_elp_files(temp_dir.path()).unwrap(); + + assert_eq!(paths.main_longitude, temp_dir.path().join("ELP_MAIN.S1")); + assert_eq!(paths.main_latitude, temp_dir.path().join("ELP_MAIN.S2")); + assert_eq!(paths.main_distance, temp_dir.path().join("ELP_MAIN.S3")); + assert_eq!(paths.pert_longitude, temp_dir.path().join("ELP_PERT.S1")); + assert_eq!(paths.pert_latitude, temp_dir.path().join("ELP_PERT.S2")); + assert_eq!(paths.pert_distance, temp_dir.path().join("ELP_PERT.S3")); + } + + #[test] + fn test_find_elp_files_with_nonexistent_directory() { + let nonexistent = Path::new("/nonexistent/path/that/does/not/exist"); + let result = find_elp_files(nonexistent); + assert!(result.is_none()); + } + + #[test] + fn test_elp_file_paths_clone() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let paths = find_elp_files(temp_dir.path()).unwrap(); + let cloned = paths.clone(); + + assert_eq!(paths.main_longitude, cloned.main_longitude); + assert_eq!(paths.main_latitude, cloned.main_latitude); + assert_eq!(paths.main_distance, cloned.main_distance); + assert_eq!(paths.pert_longitude, cloned.pert_longitude); + assert_eq!(paths.pert_latitude, cloned.pert_latitude); + assert_eq!(paths.pert_distance, cloned.pert_distance); + } + + #[test] + fn test_elp_file_paths_debug() { + let temp_dir = TempDir::new().unwrap(); + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + File::create(temp_dir.path().join(filename)).unwrap(); + } + let paths = find_elp_files(temp_dir.path()).unwrap(); + let debug_str = format!("{:?}", paths); + + assert!(debug_str.contains("ElpFilePaths")); + assert!(debug_str.contains("main_longitude")); + assert!(debug_str.contains("main_latitude")); + assert!(debug_str.contains("main_distance")); + assert!(debug_str.contains("pert_longitude")); + assert!(debug_str.contains("pert_latitude")); + assert!(debug_str.contains("pert_distance")); + } + + #[test] + fn test_base_url_constant() { + assert_eq!( + BASE_URL, + "http://cyrano-se.obspm.fr/pub/2_lunar_solutions/2_elpmpp02" + ); + } + + #[cfg(not(feature = "cli"))] + #[test] + fn test_download_all_without_cli_feature() { + let temp_dir = TempDir::new().unwrap(); + let result = download_all(&(), temp_dir.path()); + assert!(result.is_err()); + assert_eq!( + result.unwrap_err(), + "Download requires the 'cli' feature".to_string() + ); + } + + #[cfg(feature = "cli")] + mod mock_http_tests { + use super::*; + use std::io::Write; + use wiremock::matchers::{method, path}; + use wiremock::{Mock, MockServer, ResponseTemplate}; + + #[tokio::test] + async fn test_download_file_success() { + let mock_server = MockServer::start().await; + let test_content = b"test file content for ELP data"; + + Mock::given(method("GET")) + .and(path("/test.txt")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(test_content.to_vec())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/test.txt", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "test.txt", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("test.txt")).unwrap(); + assert_eq!(downloaded, test_content); + } + + #[tokio::test] + async fn test_download_file_skips_existing() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/existing.txt")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(b"new content".to_vec())) + .expect(0) // Should NOT be called + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let existing_path = temp_dir.path().join("existing.txt"); + { + let mut file = File::create(&existing_path).unwrap(); + file.write_all(b"original content").unwrap(); + } + + let url = format!("{}/existing.txt", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "existing.txt", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_ok()); + let content = std::fs::read_to_string(&existing_path).unwrap(); + assert_eq!(content, "original content"); + } + + #[tokio::test] + async fn test_download_file_http_404() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/missing.txt")) + .respond_with(ResponseTemplate::new(404)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/missing.txt", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "missing.txt", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!( + err.contains("HTTP error"), + "Expected HTTP error, got: {}", + err + ); + assert!(err.contains("404"), "Expected 404 in error, got: {}", err); + } + + #[tokio::test] + async fn test_download_file_http_500() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/error.txt")) + .respond_with(ResponseTemplate::new(500)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/error.txt", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "error.txt", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!( + err.contains("HTTP error"), + "Expected HTTP error, got: {}", + err + ); + assert!(err.contains("500"), "Expected 500 in error, got: {}", err); + } + + #[tokio::test] + async fn test_download_file_writes_correct_bytes() { + let mock_server = MockServer::start().await; + let binary_content: Vec = (0..256).map(|i| i as u8).collect(); + + Mock::given(method("GET")) + .and(path("/binary.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(binary_content.clone())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/binary.dat", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "binary.dat", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("binary.dat")).unwrap(); + assert_eq!(downloaded, binary_content); + } + + #[tokio::test] + async fn test_download_file_empty_response() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/empty.txt")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(vec![])) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/empty.txt", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "empty.txt", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("empty.txt")).unwrap(); + assert!(downloaded.is_empty()); + } + + #[tokio::test] + async fn test_download_file_creates_file_in_output_dir() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/data.bin")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(b"data".to_vec())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/data.bin", mock_server.uri()); + + assert!(!temp_dir.path().join("data.bin").exists()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "data.bin", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + assert!(temp_dir.path().join("data.bin").exists()); + } + + #[tokio::test] + async fn test_download_all_success() { + let mock_server = MockServer::start().await; + + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + let content = format!("mock content for {}", filename); + Mock::given(method("GET")) + .and(path(format!("/{}", filename))) + .respond_with(ResponseTemplate::new(200).set_body_bytes(content.into_bytes())) + .mount(&mock_server) + .await; + } + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + let url = format!("{}/{}", base_url, filename); + download_file_with_client(&client, &url, filename, temp_dir.path())?; + } + Ok::<_, String>(temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + for filename in MAIN_FILES.iter().chain(PERT_FILES.iter()) { + assert!( + temp_dir.path().join(filename).exists(), + "Missing file: {}", + filename + ); + } + } + + #[tokio::test] + async fn test_download_all_fails_on_http_error() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/ELP_MAIN.S1")) + .respond_with(ResponseTemplate::new(500)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + let url = format!("{}/ELP_MAIN.S1", base_url); + download_file_with_client(&client, &url, "ELP_MAIN.S1", temp_dir.path()) + }) + .await + .unwrap(); + + assert!(result.is_err()); + assert!(result.unwrap_err().contains("HTTP error")); + } + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/generate.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/generate.rs new file mode 100644 index 0000000..c35d668 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/generate.rs @@ -0,0 +1,883 @@ +use std::fs::{self, File}; +use std::io::Write; + +#[cfg(feature = "cli")] +use chrono::Utc; + +use super::parser::{Coordinate, ElpData, MainSeries, MainTerm, PertBlock, PertTerm}; + +pub struct GenerateConfig { + pub threshold: f64, + pub output_dir: std::path::PathBuf, +} + +fn filter_main_terms(series: &MainSeries, threshold: f64) -> Vec<&MainTerm> { + let mut filtered: Vec<_> = series + .terms + .iter() + .filter(|t| t.amplitude() >= threshold) + .collect(); + filtered.sort_by(|a, b| b.amplitude().partial_cmp(&a.amplitude()).unwrap()); + filtered +} + +fn filter_pert_terms(block: &PertBlock, threshold: f64) -> Vec<&PertTerm> { + let mut filtered: Vec<_> = block + .terms + .iter() + .filter(|t| t.amplitude() >= threshold) + .collect(); + filtered.sort_by(|a, b| b.amplitude().partial_cmp(&a.amplitude()).unwrap()); + filtered +} + +fn coord_name(coord: Coordinate) -> &'static str { + match coord { + Coordinate::Longitude => "LONGITUDE", + Coordinate::Latitude => "LATITUDE", + Coordinate::Distance => "DISTANCE", + } +} + +#[allow(dead_code)] +fn coord_var(coord: Coordinate) -> &'static str { + match coord { + Coordinate::Longitude => "longitude", + Coordinate::Latitude => "latitude", + Coordinate::Distance => "distance", + } +} + +#[cfg(feature = "cli")] +pub fn generate_moon_module( + elp: &ElpData, + config: &GenerateConfig, +) -> Result<(usize, usize), String> { + let threshold = config.threshold; + let date = Utc::now().format("%Y-%m-%d").to_string(); + + let mut out = String::new(); + + out.push_str("#![allow(clippy::excessive_precision)]\n"); + out.push_str("#![allow(clippy::unreadable_literal)]\n"); + out.push_str("#![allow(clippy::approx_constant)]\n"); + out.push('\n'); + out.push_str("//! ELP/MPP02 coefficients for the Moon\n"); + out.push_str("//!\n"); + out.push_str("//! Generated from official ELP/MPP02 data files\n"); + out.push_str(&format!("//! Threshold: {:.0e}\n", threshold)); + out.push_str(&format!("//! Generated: {}\n", date)); + out.push_str("//!\n"); + out.push_str("//! Reference: Chapront & Francou (2003)\n"); + out.push_str( + "//! \"The lunar theory ELP revisited. Introduction of new planetary perturbations\"\n", + ); + out.push_str("//! Astronomy & Astrophysics, 404, 735-742\n"); + out.push('\n'); + + out.push_str("/// Main problem term with Delaunay argument multipliers\n"); + out.push_str("#[derive(Debug, Clone, Copy)]\n"); + out.push_str("pub struct MainTerm {\n"); + out.push_str(" /// Multipliers for D, F, l, l' (Delaunay arguments)\n"); + out.push_str(" pub delaunay: [i8; 4],\n"); + out.push_str(" /// Polynomial coefficients A0 through A6\n"); + out.push_str(" pub coeffs: [f64; 7],\n"); + out.push_str("}\n\n"); + + out.push_str("/// Perturbation term with full argument multipliers\n"); + out.push_str("#[derive(Debug, Clone, Copy)]\n"); + out.push_str("pub struct PertTerm {\n"); + out.push_str(" /// Amplitude (sqrt(S^2 + C^2))\n"); + out.push_str(" pub amplitude: f64,\n"); + out.push_str(" /// Phase angle (atan2(C, S))\n"); + out.push_str(" pub phase: f64,\n"); + out.push_str( + " /// Multipliers: [D, F, l, l', Me, Ve, Te, Ma, Ju, Sa, Ur, Ne, zeta, ?, ?, ?]\n", + ); + out.push_str(" pub multipliers: [i8; 16],\n"); + out.push_str("}\n\n"); + + out.push_str("/// Perturbation block for a specific time power\n"); + out.push_str("#[derive(Debug, Clone, Copy)]\n"); + out.push_str("pub struct PertBlock {\n"); + out.push_str(" /// Power of T (0, 1, 2, 3)\n"); + out.push_str(" pub power: u8,\n"); + out.push_str(" /// Terms for this power\n"); + out.push_str(" pub terms: &'static [PertTerm],\n"); + out.push_str("}\n\n"); + + let mut total_original = 0usize; + let mut total_retained = 0usize; + + for main_series in &elp.main { + let coord = main_series.coordinate; + let filtered = filter_main_terms(main_series, threshold); + total_original += main_series.terms.len(); + total_retained += filtered.len(); + + out.push_str(&format!( + "/// Main problem terms for {} ({} of {} terms)\n", + coord_name(coord), + filtered.len(), + main_series.terms.len() + )); + out.push_str(&format!( + "pub const MAIN_{}: &[MainTerm] = &[\n", + coord_name(coord) + )); + + for term in &filtered { + out.push_str(&format!( + " MainTerm {{ delaunay: [{}, {}, {}, {}], coeffs: [{:.11}, {:.5}, {:.5}, {:.5}, {:.5}, {:.5}, {:.5}] }},\n", + term.delaunay[0], term.delaunay[1], term.delaunay[2], term.delaunay[3], + term.coeffs[0], term.coeffs[1], term.coeffs[2], term.coeffs[3], + term.coeffs[4], term.coeffs[5], term.coeffs[6] + )); + } + out.push_str("];\n\n"); + } + + for pert_series in &elp.pert { + let coord = pert_series.coordinate; + + for block in &pert_series.blocks { + let filtered = filter_pert_terms(block, threshold); + total_original += block.terms.len(); + total_retained += filtered.len(); + + out.push_str(&format!( + "/// Perturbation terms for {} T^{} ({} of {} terms)\n", + coord_name(coord), + block.time_power, + filtered.len(), + block.terms.len() + )); + out.push_str(&format!( + "const PERT_{}_T{}: &[PertTerm] = &[\n", + coord_name(coord), + block.time_power + )); + + for term in &filtered { + let mults: Vec = term.multipliers.iter().map(|m| m.to_string()).collect(); + out.push_str(&format!( + " PertTerm {{ amplitude: {:.13}, phase: {:.13}, multipliers: [{}] }},\n", + term.amplitude(), + term.phase(), + mults.join(", ") + )); + } + out.push_str("];\n\n"); + } + + out.push_str(&format!( + "/// All perturbation blocks for {}\n", + coord_name(coord) + )); + out.push_str(&format!( + "pub const PERT_{}: &[PertBlock] = &[\n", + coord_name(coord) + )); + for block in &pert_series.blocks { + out.push_str(&format!( + " PertBlock {{ power: {}, terms: PERT_{}_T{} }},\n", + block.time_power, + coord_name(coord), + block.time_power + )); + } + out.push_str("];\n\n"); + } + + fs::create_dir_all(&config.output_dir) + .map_err(|e| format!("Failed to create output directory: {}", e))?; + + let output_path = config.output_dir.join("moon.rs"); + let mut file = File::create(&output_path) + .map_err(|e| format!("Failed to create {}: {}", output_path.display(), e))?; + file.write_all(out.as_bytes()) + .map_err(|e| format!("Failed to write {}: {}", output_path.display(), e))?; + + println!( + "Generated {} ({} of {} terms, {:.1}%)", + output_path.display(), + total_retained, + total_original, + (total_retained as f64 / total_original as f64) * 100.0 + ); + + Ok((total_retained, total_original)) +} + +pub fn print_analysis(elp: &ElpData, threshold: f64) { + println!("\nELP/MPP02 Analysis (threshold: {:.0e}):", threshold); + println!("{:-<70}", ""); + + println!("\nMain Problem Series:"); + for main_series in &elp.main { + let filtered = filter_main_terms(main_series, threshold); + let max_amp = main_series + .terms + .iter() + .map(|t| t.amplitude()) + .fold(0.0f64, f64::max); + let min_amp = main_series + .terms + .iter() + .map(|t| t.amplitude()) + .fold(f64::MAX, f64::min); + + println!( + " {}: {} -> {} terms ({:.1}%), amp range: {:.2e} to {:.2e}", + coord_name(main_series.coordinate), + main_series.terms.len(), + filtered.len(), + (filtered.len() as f64 / main_series.terms.len() as f64) * 100.0, + min_amp, + max_amp + ); + } + + println!("\nPerturbation Series:"); + for pert_series in &elp.pert { + println!(" {}:", coord_name(pert_series.coordinate)); + for block in &pert_series.blocks { + let filtered = filter_pert_terms(block, threshold); + if block.terms.is_empty() { + continue; + } + let max_amp = block + .terms + .iter() + .map(|t| t.amplitude()) + .fold(0.0f64, f64::max); + + println!( + " T^{}: {} -> {} terms ({:.1}%), max amp: {:.2e}", + block.time_power, + block.terms.len(), + filtered.len(), + (filtered.len() as f64 / block.terms.len() as f64) * 100.0, + max_amp + ); + } + } + + println!("\nTotals:"); + println!(" Main problem: {} terms", elp.total_main_terms()); + println!(" Perturbations: {} terms", elp.total_pert_terms()); + println!(" Total: {} terms", elp.total_terms()); +} + +#[cfg(not(feature = "cli"))] +pub fn generate_moon_module( + _elp: &ElpData, + _config: &GenerateConfig, +) -> Result<(usize, usize), String> { + Err("Generate requires the 'cli' feature".to_string()) +} + +#[cfg(test)] +mod tests { + use super::super::parser::PertSeries; + use super::*; + use tempfile::TempDir; + + fn make_main_term(delaunay: [i32; 4], a0: f64) -> MainTerm { + MainTerm { + delaunay, + coeffs: [a0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + } + } + + fn make_pert_term(sin_c: f64, cos_c: f64, mults: [i32; 16]) -> PertTerm { + PertTerm { + sin_coeff: sin_c, + cos_coeff: cos_c, + multipliers: mults, + } + } + + fn make_test_elp_data() -> ElpData { + ElpData { + main: [ + MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![ + make_main_term([0, 0, 1, 0], 100.0), + make_main_term([2, 0, -1, 0], 50.0), + make_main_term([2, 0, 0, 0], 10.0), + make_main_term([0, 0, 2, 0], 1.0), + ], + }, + MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![ + make_main_term([0, 1, 0, 0], 80.0), + make_main_term([0, 1, 1, 0], 5.0), + ], + }, + MainSeries { + coordinate: Coordinate::Distance, + terms: vec![ + make_main_term([0, 0, 0, 0], 200.0), + make_main_term([2, 0, 0, 0], 20.0), + ], + }, + ], + pert: [ + PertSeries { + coordinate: Coordinate::Longitude, + blocks: vec![ + PertBlock { + time_power: 0, + terms: vec![ + make_pert_term( + 30.0, + 40.0, + [1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ), + make_pert_term( + 3.0, + 4.0, + [0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ), + ], + }, + PertBlock { + time_power: 1, + terms: vec![make_pert_term( + 6.0, + 8.0, + [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + )], + }, + ], + }, + PertSeries { + coordinate: Coordinate::Latitude, + blocks: vec![PertBlock { + time_power: 0, + terms: vec![make_pert_term( + 12.0, + 16.0, + [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], + )], + }], + }, + PertSeries { + coordinate: Coordinate::Distance, + blocks: vec![PertBlock { + time_power: 0, + terms: vec![make_pert_term( + 9.0, + 12.0, + [0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + )], + }], + }, + ], + } + } + + #[test] + fn test_coord_name() { + assert_eq!(coord_name(Coordinate::Longitude), "LONGITUDE"); + assert_eq!(coord_name(Coordinate::Latitude), "LATITUDE"); + assert_eq!(coord_name(Coordinate::Distance), "DISTANCE"); + } + + #[test] + fn test_coord_var() { + assert_eq!(coord_var(Coordinate::Longitude), "longitude"); + assert_eq!(coord_var(Coordinate::Latitude), "latitude"); + assert_eq!(coord_var(Coordinate::Distance), "distance"); + } + + #[test] + fn test_filter_main_terms_filters_by_threshold() { + let series = MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![ + make_main_term([0, 0, 1, 0], 100.0), + make_main_term([2, 0, -1, 0], 50.0), + make_main_term([2, 0, 0, 0], 10.0), + make_main_term([0, 0, 2, 0], 1.0), + ], + }; + + let filtered = filter_main_terms(&series, 20.0); + assert_eq!(filtered.len(), 2); + assert_eq!(filtered[0].amplitude(), 100.0); + assert_eq!(filtered[1].amplitude(), 50.0); + } + + #[test] + fn test_filter_main_terms_sorts_by_amplitude_descending() { + let series = MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![ + make_main_term([0, 0, 1, 0], 10.0), + make_main_term([2, 0, -1, 0], 100.0), + make_main_term([2, 0, 0, 0], 50.0), + ], + }; + + let filtered = filter_main_terms(&series, 0.0); + assert_eq!(filtered.len(), 3); + assert_eq!(filtered[0].amplitude(), 100.0); + assert_eq!(filtered[1].amplitude(), 50.0); + assert_eq!(filtered[2].amplitude(), 10.0); + } + + #[test] + fn test_filter_main_terms_empty_when_all_below_threshold() { + let series = MainSeries { + coordinate: Coordinate::Distance, + terms: vec![ + make_main_term([0, 0, 1, 0], 1.0), + make_main_term([2, 0, -1, 0], 2.0), + ], + }; + + let filtered = filter_main_terms(&series, 100.0); + assert!(filtered.is_empty()); + } + + #[test] + fn test_filter_main_terms_includes_exact_threshold() { + let series = MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![make_main_term([0, 0, 1, 0], 50.0)], + }; + + let filtered = filter_main_terms(&series, 50.0); + assert_eq!(filtered.len(), 1); + } + + #[test] + fn test_filter_pert_terms_filters_by_threshold() { + let block = PertBlock { + time_power: 0, + terms: vec![ + make_pert_term(30.0, 40.0, [0; 16]), // amplitude = 50 + make_pert_term(3.0, 4.0, [0; 16]), // amplitude = 5 + make_pert_term(0.6, 0.8, [0; 16]), // amplitude = 1 + ], + }; + + let filtered = filter_pert_terms(&block, 10.0); + assert_eq!(filtered.len(), 1); + assert!((filtered[0].amplitude() - 50.0).abs() < 1e-10); + } + + #[test] + fn test_filter_pert_terms_sorts_by_amplitude_descending() { + let block = PertBlock { + time_power: 1, + terms: vec![ + make_pert_term(3.0, 4.0, [0; 16]), // amplitude = 5 + make_pert_term(30.0, 40.0, [0; 16]), // amplitude = 50 + make_pert_term(6.0, 8.0, [0; 16]), // amplitude = 10 + ], + }; + + let filtered = filter_pert_terms(&block, 0.0); + assert_eq!(filtered.len(), 3); + assert!((filtered[0].amplitude() - 50.0).abs() < 1e-10); + assert!((filtered[1].amplitude() - 10.0).abs() < 1e-10); + assert!((filtered[2].amplitude() - 5.0).abs() < 1e-10); + } + + #[test] + fn test_filter_pert_terms_empty_block() { + let block = PertBlock { + time_power: 0, + terms: vec![], + }; + + let filtered = filter_pert_terms(&block, 0.0); + assert!(filtered.is_empty()); + } + + #[test] + fn test_generate_config_struct() { + let config = GenerateConfig { + threshold: 1e-5, + output_dir: std::env::temp_dir().join("test"), + }; + assert_eq!(config.threshold, 1e-5); + assert!(config.output_dir.ends_with("test")); + } + + #[test] + fn test_print_analysis_runs_without_panic() { + let elp = make_test_elp_data(); + print_analysis(&elp, 1e-5); + } + + #[test] + fn test_print_analysis_with_empty_pert_block() { + let elp = ElpData { + main: [ + MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![make_main_term([0, 0, 1, 0], 100.0)], + }, + MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![make_main_term([0, 1, 0, 0], 80.0)], + }, + MainSeries { + coordinate: Coordinate::Distance, + terms: vec![make_main_term([0, 0, 0, 0], 200.0)], + }, + ], + pert: [ + PertSeries { + coordinate: Coordinate::Longitude, + blocks: vec![PertBlock { + time_power: 0, + terms: vec![], + }], + }, + PertSeries { + coordinate: Coordinate::Latitude, + blocks: vec![], + }, + PertSeries { + coordinate: Coordinate::Distance, + blocks: vec![], + }, + ], + }; + print_analysis(&elp, 1e-5); + } + + #[test] + fn test_print_analysis_with_high_threshold() { + let elp = make_test_elp_data(); + print_analysis(&elp, 1e10); + } + + #[cfg(feature = "cli")] + mod cli_tests { + use super::*; + + #[test] + fn test_generate_moon_module_creates_file() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 1.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + let result = generate_moon_module(&elp, &config); + assert!(result.is_ok()); + + let output_file = temp_dir.path().join("moon.rs"); + assert!(output_file.exists()); + } + + #[test] + fn test_generate_moon_module_returns_term_counts() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + let (retained, original) = generate_moon_module(&elp, &config).unwrap(); + assert_eq!(original, elp.total_terms()); + assert_eq!(retained, original); + } + + #[test] + fn test_generate_moon_module_filters_terms() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 20.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + let (retained, original) = generate_moon_module(&elp, &config).unwrap(); + assert!(retained < original); + } + + #[test] + fn test_generate_moon_module_creates_nested_directory() { + let temp_dir = TempDir::new().unwrap(); + let nested_path = temp_dir.path().join("nested").join("deep").join("path"); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 1.0, + output_dir: nested_path.clone(), + }; + + let result = generate_moon_module(&elp, &config); + assert!(result.is_ok()); + assert!(nested_path.join("moon.rs").exists()); + } + + #[test] + fn test_generate_moon_module_output_contains_structs() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("pub struct MainTerm")); + assert!(content.contains("pub struct PertTerm")); + assert!(content.contains("pub struct PertBlock")); + } + + #[test] + fn test_generate_moon_module_output_contains_main_constants() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("pub const MAIN_LONGITUDE:")); + assert!(content.contains("pub const MAIN_LATITUDE:")); + assert!(content.contains("pub const MAIN_DISTANCE:")); + } + + #[test] + fn test_generate_moon_module_output_contains_pert_constants() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("pub const PERT_LONGITUDE:")); + assert!(content.contains("pub const PERT_LATITUDE:")); + assert!(content.contains("pub const PERT_DISTANCE:")); + } + + #[test] + fn test_generate_moon_module_output_contains_clippy_allows() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("#![allow(clippy::excessive_precision)]")); + assert!(content.contains("#![allow(clippy::unreadable_literal)]")); + assert!(content.contains("#![allow(clippy::approx_constant)]")); + } + + #[test] + fn test_generate_moon_module_output_contains_reference_comment() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("Chapront & Francou (2003)")); + assert!(content.contains("ELP/MPP02 coefficients for the Moon")); + } + + #[test] + fn test_generate_moon_module_output_contains_threshold() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 1e-5, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("Threshold: 1e-5")); + } + + #[test] + fn test_generate_moon_module_output_contains_term_data() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("MainTerm { delaunay:")); + assert!(content.contains("PertTerm { amplitude:")); + assert!(content.contains("PertBlock { power:")); + } + + #[test] + fn test_generate_moon_module_term_counts_in_comments() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("(4 of 4 terms)")); + assert!(content.contains("(2 of 2 terms)")); + } + + #[test] + fn test_generate_moon_module_pert_time_power_in_output() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("PERT_LONGITUDE_T0")); + assert!(content.contains("PERT_LONGITUDE_T1")); + assert!(content.contains("T^0")); + assert!(content.contains("T^1")); + } + + #[test] + fn test_generate_moon_module_overwrites_existing_file() { + let temp_dir = TempDir::new().unwrap(); + let output_file = temp_dir.path().join("moon.rs"); + std::fs::write(&output_file, "old content").unwrap(); + + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(&output_file).unwrap(); + assert!(!content.contains("old content")); + assert!(content.contains("ELP/MPP02 coefficients")); + } + + #[test] + fn test_generate_moon_module_with_high_threshold_filters_all() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 1e10, + output_dir: temp_dir.path().to_path_buf(), + }; + + let (retained, original) = generate_moon_module(&elp, &config).unwrap(); + assert_eq!(retained, 0); + assert!(original > 0); + } + + #[test] + fn test_generate_moon_module_output_is_valid_rust_syntax() { + let temp_dir = TempDir::new().unwrap(); + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + + let open_braces = content.matches('{').count(); + let close_braces = content.matches('}').count(); + assert_eq!(open_braces, close_braces, "Mismatched braces"); + + let open_brackets = content.matches('[').count(); + let close_brackets = content.matches(']').count(); + assert_eq!(open_brackets, close_brackets, "Mismatched brackets"); + + assert!(content.contains("&[MainTerm]")); + assert!(content.contains("&[PertTerm]")); + assert!(content.contains("&[PertBlock]")); + } + + #[test] + fn test_generate_moon_module_delaunay_values_in_output() { + let temp_dir = TempDir::new().unwrap(); + let mut elp = make_test_elp_data(); + elp.main[0].terms = vec![make_main_term([1, -2, 3, -4], 100.0)]; + + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("[1, -2, 3, -4]")); + } + + #[test] + fn test_generate_moon_module_pert_multipliers_in_output() { + let temp_dir = TempDir::new().unwrap(); + let mut elp = make_test_elp_data(); + let mults = [1, 2, 3, 4, 5, 6, 7, 8, -1, -2, -3, -4, 0, 0, 0, 0]; + elp.pert[0].blocks[0].terms = vec![make_pert_term(30.0, 40.0, mults)]; + + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_moon_module(&elp, &config).unwrap(); + + let content = std::fs::read_to_string(temp_dir.path().join("moon.rs")).unwrap(); + assert!(content.contains("1, 2, 3, 4, 5, 6, 7, 8, -1, -2, -3, -4, 0, 0, 0, 0")); + } + } + + #[cfg(not(feature = "cli"))] + #[test] + fn test_generate_moon_module_without_cli_feature() { + let elp = make_test_elp_data(); + let config = GenerateConfig { + threshold: 1.0, + output_dir: std::env::temp_dir().join("test"), + }; + + let result = generate_moon_module(&elp, &config); + assert!(result.is_err()); + assert_eq!(result.unwrap_err(), "Generate requires the 'cli' feature"); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/main.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/main.rs new file mode 100644 index 0000000..13e9447 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/main.rs @@ -0,0 +1,145 @@ +#[cfg(feature = "cli")] +use clap::{Parser, Subcommand}; + +mod download; +mod generate; +mod parser; + +use download::{default_client, download_all, find_elp_files}; +use generate::{generate_moon_module, print_analysis, GenerateConfig}; +use parser::parse_files; +use std::path::PathBuf; + +#[cfg(feature = "cli")] +#[derive(Parser)] +#[command(name = "elpmpp02-gen")] +#[command(about = "ELP/MPP02 lunar ephemeris data processor and Rust code generator")] +#[command(version)] +struct Cli { + #[command(subcommand)] + command: Commands, +} + +#[cfg(feature = "cli")] +#[derive(Subcommand)] +enum Commands { + /// Download ELP/MPP02 data files from IMCCE + Download { + /// Output directory for downloaded files + #[arg(short, long, default_value = "./elpmpp02")] + output: PathBuf, + }, + /// Analyze ELP/MPP02 data files + Analyze { + /// Directory containing ELP/MPP02 data files + #[arg(short, long)] + input: PathBuf, + /// Amplitude threshold for filtering terms + #[arg(short, long, default_value = "1e-5")] + threshold: f64, + }, + /// Generate Rust code from ELP/MPP02 data + Generate { + /// Directory containing ELP/MPP02 data files + #[arg(short, long)] + input: PathBuf, + /// Output directory for generated Rust code + #[arg(short, long)] + output: PathBuf, + /// Amplitude threshold for filtering terms + #[arg(short, long, default_value = "1e-5")] + threshold: f64, + }, +} + +#[cfg(feature = "cli")] +fn cmd_download(output: PathBuf) -> Result<(), String> { + std::fs::create_dir_all(&output).map_err(|e| format!("Failed to create output dir: {}", e))?; + let client = default_client()?; + download_all(&client, &output) +} + +#[cfg(feature = "cli")] +fn cmd_analyze(input: PathBuf, threshold: f64) -> Result<(), String> { + let paths = find_elp_files(&input) + .ok_or_else(|| format!("ELP/MPP02 files not found in {}", input.display()))?; + + println!("Parsing ELP/MPP02 files from {}...", input.display()); + let elp = parse_files(&paths).map_err(|e| format!("Parse error: {}", e))?; + + print_analysis(&elp, threshold); + Ok(()) +} + +#[cfg(feature = "cli")] +fn cmd_generate(input: PathBuf, output: PathBuf, threshold: f64) -> Result<(), String> { + let paths = find_elp_files(&input) + .ok_or_else(|| format!("ELP/MPP02 files not found in {}", input.display()))?; + + println!("Parsing ELP/MPP02 files from {}...", input.display()); + let elp = parse_files(&paths).map_err(|e| format!("Parse error: {}", e))?; + + let config = GenerateConfig { + threshold, + output_dir: output.clone(), + }; + + println!("\nGenerating Rust code (threshold: {:.0e})...", threshold); + generate_moon_module(&elp, &config)?; + + println!("\nGeneration complete!"); + println!("Output directory: {}", output.display()); + Ok(()) +} + +#[cfg(feature = "cli")] +fn main() { + let cli = Cli::parse(); + + let result = match cli.command { + Commands::Download { output } => cmd_download(output), + Commands::Analyze { input, threshold } => cmd_analyze(input, threshold), + Commands::Generate { + input, + output, + threshold, + } => cmd_generate(input, output, threshold), + }; + + if let Err(e) = result { + eprintln!("Error: {}", e); + std::process::exit(1); + } +} + +#[cfg(not(feature = "cli"))] +fn main() { + eprintln!("elpmpp02-gen requires the 'cli' feature."); + eprintln!("Run with: cargo run --features cli --bin elpmpp02-gen -- "); + std::process::exit(1); +} + +#[cfg(all(test, feature = "cli"))] +mod tests { + use super::*; + use tempfile::TempDir; + + #[test] + fn test_cmd_analyze_files_not_found() { + let temp_dir = TempDir::new().unwrap(); + let result = cmd_analyze(temp_dir.path().to_path_buf(), 1e-5); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("not found")); + } + + #[test] + fn test_cmd_generate_files_not_found() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().to_path_buf(); + let output = temp_dir.path().join("output"); + + let result = cmd_generate(input, output, 1e-5); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("not found")); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/parser.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/parser.rs new file mode 100644 index 0000000..c2a17e3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/elpmpp02_gen/parser.rs @@ -0,0 +1,1102 @@ +use std::fmt; +use std::fs::File; +use std::io::{BufRead, BufReader}; +use std::path::Path; + +use super::download::ElpFilePaths; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Coordinate { + Longitude, + Latitude, + Distance, +} + +impl Coordinate { + #[allow(dead_code)] + pub fn index(&self) -> usize { + match self { + Coordinate::Longitude => 0, + Coordinate::Latitude => 1, + Coordinate::Distance => 2, + } + } +} + +impl fmt::Display for Coordinate { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Coordinate::Longitude => write!(f, "Longitude"), + Coordinate::Latitude => write!(f, "Latitude"), + Coordinate::Distance => write!(f, "Distance"), + } + } +} + +#[derive(Debug, Clone)] +pub struct MainTerm { + pub delaunay: [i32; 4], + pub coeffs: [f64; 7], +} + +impl MainTerm { + pub fn amplitude(&self) -> f64 { + self.coeffs[0].abs() + } +} + +#[derive(Debug, Clone)] +pub struct PertTerm { + pub sin_coeff: f64, + pub cos_coeff: f64, + pub multipliers: [i32; 16], +} + +impl PertTerm { + pub fn amplitude(&self) -> f64 { + libm::sqrt(self.sin_coeff.powi(2) + self.cos_coeff.powi(2)) + } + + pub fn phase(&self) -> f64 { + libm::atan2(self.cos_coeff, self.sin_coeff) + } +} + +#[derive(Debug, Clone)] +pub struct MainSeries { + pub coordinate: Coordinate, + pub terms: Vec, +} + +#[derive(Debug, Clone)] +pub struct PertBlock { + pub time_power: u8, + pub terms: Vec, +} + +#[derive(Debug, Clone)] +pub struct PertSeries { + pub coordinate: Coordinate, + pub blocks: Vec, +} + +#[derive(Debug, Clone)] +pub struct ElpData { + pub main: [MainSeries; 3], + pub pert: [PertSeries; 3], +} + +impl ElpData { + pub fn total_main_terms(&self) -> usize { + self.main.iter().map(|s| s.terms.len()).sum() + } + + pub fn total_pert_terms(&self) -> usize { + self.pert + .iter() + .flat_map(|s| s.blocks.iter()) + .map(|b| b.terms.len()) + .sum() + } + + pub fn total_terms(&self) -> usize { + self.total_main_terms() + self.total_pert_terms() + } +} + +#[derive(Debug)] +pub enum ParseError { + IoError(std::io::Error), + InvalidHeader(String), + InvalidMainTerm(String), + InvalidPertTerm(String), + InvalidFormat(String), +} + +impl fmt::Display for ParseError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + ParseError::IoError(e) => write!(f, "IO error: {}", e), + ParseError::InvalidHeader(s) => write!(f, "Invalid header: {}", s), + ParseError::InvalidMainTerm(s) => write!(f, "Invalid main term: {}", s), + ParseError::InvalidPertTerm(s) => write!(f, "Invalid pert term: {}", s), + ParseError::InvalidFormat(s) => write!(f, "Invalid format: {}", s), + } + } +} + +impl std::error::Error for ParseError {} + +impl From for ParseError { + fn from(e: std::io::Error) -> Self { + ParseError::IoError(e) + } +} + +fn parse_main_header(line: &str) -> Result<(String, usize), ParseError> { + let parts: Vec<&str> = line.split_whitespace().collect(); + if parts.len() < 3 { + return Err(ParseError::InvalidHeader(format!( + "Main header too short: '{}'", + line + ))); + } + let term_count: usize = parts + .last() + .ok_or_else(|| ParseError::InvalidHeader("No term count".to_string()))? + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid term count in: '{}'", line)))?; + + Ok((line.to_string(), term_count)) +} + +fn parse_main_term(line: &str) -> Result { + if line.len() < 80 { + return Err(ParseError::InvalidMainTerm(format!( + "Line too short ({}): '{}'", + line.len(), + line + ))); + } + + let mut delaunay = [0i32; 4]; + for (i, d) in delaunay.iter_mut().enumerate() { + let start = i * 3; + let end = start + 3; + let s = &line[start..end]; + *d = s.trim().parse().map_err(|_| { + ParseError::InvalidMainTerm(format!("Invalid delaunay[{}]: '{}'", i, s)) + })?; + } + + let mut coeffs = [0.0f64; 7]; + let coeff_start = 14; + coeffs[0] = line[coeff_start..coeff_start + 13] + .trim() + .parse() + .map_err(|e| { + ParseError::InvalidMainTerm(format!( + "Invalid coeff[0]: '{}' - {}", + &line[coeff_start..coeff_start + 13], + e + )) + })?; + + for (i, c) in coeffs.iter_mut().enumerate().skip(1) { + let start = coeff_start + 13 + (i - 1) * 12; + let end = start + 12; + if end <= line.len() { + let s = &line[start..end]; + *c = s.trim().parse().unwrap_or(0.0); + } + } + + Ok(MainTerm { delaunay, coeffs }) +} + +fn parse_main_file(path: &Path, coord: Coordinate) -> Result { + let file = File::open(path)?; + let reader = BufReader::new(file); + let mut lines = reader.lines(); + + let first_line = lines + .next() + .ok_or_else(|| ParseError::InvalidFormat("Empty file".to_string()))??; + let (_, term_count) = parse_main_header(&first_line)?; + + let mut terms = Vec::with_capacity(term_count); + for line_result in lines { + let line = line_result?; + if line.trim().is_empty() { + continue; + } + let term = parse_main_term(&line)?; + terms.push(term); + } + + if terms.len() != term_count { + return Err(ParseError::InvalidFormat(format!( + "Expected {} terms, found {}", + term_count, + terms.len() + ))); + } + + Ok(MainSeries { + coordinate: coord, + terms, + }) +} + +fn parse_pert_header(line: &str) -> Result<(usize, u8), ParseError> { + let parts: Vec<&str> = line.split_whitespace().collect(); + if parts.len() < 3 { + return Err(ParseError::InvalidHeader(format!( + "Pert header too short: '{}'", + line + ))); + } + + let term_count: usize = parts[parts.len() - 2] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid term count in: '{}'", line)))?; + + let time_power: u8 = parts[parts.len() - 1] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid time power in: '{}'", line)))?; + + Ok((term_count, time_power)) +} + +fn parse_fortran_double(s: &str) -> Result { + let s = s.trim(); + let s = s.replace('D', "E").replace('d', "e"); + s.parse() + .map_err(|_| ParseError::InvalidPertTerm(format!("Invalid double: '{}'", s))) +} + +fn parse_pert_term(line: &str) -> Result { + if line.len() < 90 { + return Err(ParseError::InvalidPertTerm(format!( + "Line too short ({}): '{}'", + line.len(), + line + ))); + } + + let sin_coeff = parse_fortran_double(&line[5..25])?; + let cos_coeff = parse_fortran_double(&line[25..45])?; + + let mut multipliers = [0i32; 16]; + for (i, m) in multipliers.iter_mut().enumerate() { + let start = 45 + i * 3; + let end = start + 3; + if end <= line.len() { + let s = &line[start..end]; + *m = s.trim().parse().unwrap_or(0); + } + } + + Ok(PertTerm { + sin_coeff, + cos_coeff, + multipliers, + }) +} + +fn parse_pert_file(path: &Path, coord: Coordinate) -> Result { + let file = File::open(path)?; + let reader = BufReader::new(file); + let mut lines = reader.lines().peekable(); + + let mut blocks = Vec::new(); + + while let Some(line_result) = lines.next() { + let line = line_result?; + + if line.contains("PERTURBATIONS") + || line.contains("LONGITUDE") + || line.contains("LATITUDE") + || line.contains("DISTANCE") + { + let (term_count, time_power) = parse_pert_header(&line)?; + + let mut terms = Vec::with_capacity(term_count); + for _ in 0..term_count { + if let Some(term_line_result) = lines.next() { + let term_line = term_line_result?; + let term = parse_pert_term(&term_line)?; + terms.push(term); + } + } + + blocks.push(PertBlock { time_power, terms }); + } + } + + Ok(PertSeries { + coordinate: coord, + blocks, + }) +} + +pub fn parse_files(paths: &ElpFilePaths) -> Result { + println!(" Parsing ELP_MAIN.S1 (Longitude)..."); + let main_lon = parse_main_file(&paths.main_longitude, Coordinate::Longitude)?; + println!(" {} terms", main_lon.terms.len()); + + println!(" Parsing ELP_MAIN.S2 (Latitude)..."); + let main_lat = parse_main_file(&paths.main_latitude, Coordinate::Latitude)?; + println!(" {} terms", main_lat.terms.len()); + + println!(" Parsing ELP_MAIN.S3 (Distance)..."); + let main_dist = parse_main_file(&paths.main_distance, Coordinate::Distance)?; + println!(" {} terms", main_dist.terms.len()); + + println!(" Parsing ELP_PERT.S1 (Longitude perturbations)..."); + let pert_lon = parse_pert_file(&paths.pert_longitude, Coordinate::Longitude)?; + let pert_lon_count: usize = pert_lon.blocks.iter().map(|b| b.terms.len()).sum(); + println!( + " {} blocks, {} terms", + pert_lon.blocks.len(), + pert_lon_count + ); + + println!(" Parsing ELP_PERT.S2 (Latitude perturbations)..."); + let pert_lat = parse_pert_file(&paths.pert_latitude, Coordinate::Latitude)?; + let pert_lat_count: usize = pert_lat.blocks.iter().map(|b| b.terms.len()).sum(); + println!( + " {} blocks, {} terms", + pert_lat.blocks.len(), + pert_lat_count + ); + + println!(" Parsing ELP_PERT.S3 (Distance perturbations)..."); + let pert_dist = parse_pert_file(&paths.pert_distance, Coordinate::Distance)?; + let pert_dist_count: usize = pert_dist.blocks.iter().map(|b| b.terms.len()).sum(); + println!( + " {} blocks, {} terms", + pert_dist.blocks.len(), + pert_dist_count + ); + + Ok(ElpData { + main: [main_lon, main_lat, main_dist], + pert: [pert_lon, pert_lat, pert_dist], + }) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::io::Write; + use tempfile::TempDir; + + #[test] + fn test_coordinate_index() { + assert_eq!(Coordinate::Longitude.index(), 0); + assert_eq!(Coordinate::Latitude.index(), 1); + assert_eq!(Coordinate::Distance.index(), 2); + } + + #[test] + fn test_coordinate_display() { + assert_eq!(format!("{}", Coordinate::Longitude), "Longitude"); + assert_eq!(format!("{}", Coordinate::Latitude), "Latitude"); + assert_eq!(format!("{}", Coordinate::Distance), "Distance"); + } + + #[test] + fn test_main_term_amplitude() { + let term = MainTerm { + delaunay: [0, 0, 1, 0], + coeffs: [22639.55, 0.0, 0.0, 412529.61, 0.0, 0.0, 0.0], + }; + assert!((term.amplitude() - 22639.55).abs() < 0.01); + } + + #[test] + fn test_main_term_amplitude_negative() { + let term = MainTerm { + delaunay: [0, 0, 0, 0], + coeffs: [-12345.67, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + }; + assert!((term.amplitude() - 12345.67).abs() < 0.01); + } + + #[test] + fn test_pert_term_amplitude() { + let term = PertTerm { + sin_coeff: -12.749, + cos_coeff: 6.369, + multipliers: [0; 16], + }; + let amp = term.amplitude(); + assert!(amp > 14.0 && amp < 15.0); + } + + #[test] + fn test_pert_term_phase() { + let term = PertTerm { + sin_coeff: 1.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }; + assert!((term.phase() - 0.0).abs() < 1e-10); + + let term2 = PertTerm { + sin_coeff: 0.0, + cos_coeff: 1.0, + multipliers: [0; 16], + }; + assert!((term2.phase() - std::f64::consts::FRAC_PI_2).abs() < 1e-10); + } + + #[test] + fn test_elp_data_total_main_terms() { + let data = ElpData { + main: [ + MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![ + MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }, + MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }, + ], + }, + MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }], + }, + MainSeries { + coordinate: Coordinate::Distance, + terms: vec![ + MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }, + MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }, + MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }, + ], + }, + ], + pert: [ + PertSeries { + coordinate: Coordinate::Longitude, + blocks: vec![], + }, + PertSeries { + coordinate: Coordinate::Latitude, + blocks: vec![], + }, + PertSeries { + coordinate: Coordinate::Distance, + blocks: vec![], + }, + ], + }; + assert_eq!(data.total_main_terms(), 6); + } + + #[test] + fn test_elp_data_total_pert_terms() { + let data = ElpData { + main: [ + MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![], + }, + MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![], + }, + MainSeries { + coordinate: Coordinate::Distance, + terms: vec![], + }, + ], + pert: [ + PertSeries { + coordinate: Coordinate::Longitude, + blocks: vec![PertBlock { + time_power: 0, + terms: vec![ + PertTerm { + sin_coeff: 0.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }, + PertTerm { + sin_coeff: 0.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }, + ], + }], + }, + PertSeries { + coordinate: Coordinate::Latitude, + blocks: vec![PertBlock { + time_power: 1, + terms: vec![PertTerm { + sin_coeff: 0.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }], + }], + }, + PertSeries { + coordinate: Coordinate::Distance, + blocks: vec![], + }, + ], + }; + assert_eq!(data.total_pert_terms(), 3); + } + + #[test] + fn test_elp_data_total_terms() { + let data = ElpData { + main: [ + MainSeries { + coordinate: Coordinate::Longitude, + terms: vec![MainTerm { + delaunay: [0; 4], + coeffs: [0.0; 7], + }], + }, + MainSeries { + coordinate: Coordinate::Latitude, + terms: vec![], + }, + MainSeries { + coordinate: Coordinate::Distance, + terms: vec![], + }, + ], + pert: [ + PertSeries { + coordinate: Coordinate::Longitude, + blocks: vec![PertBlock { + time_power: 0, + terms: vec![ + PertTerm { + sin_coeff: 0.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }, + PertTerm { + sin_coeff: 0.0, + cos_coeff: 0.0, + multipliers: [0; 16], + }, + ], + }], + }, + PertSeries { + coordinate: Coordinate::Latitude, + blocks: vec![], + }, + PertSeries { + coordinate: Coordinate::Distance, + blocks: vec![], + }, + ], + }; + assert_eq!(data.total_terms(), 3); + } + + #[test] + fn test_parse_error_display_io_error() { + let io_err = std::io::Error::new(std::io::ErrorKind::NotFound, "file not found"); + let err = ParseError::IoError(io_err); + let msg = format!("{}", err); + assert!(msg.contains("IO error")); + assert!(msg.contains("file not found")); + } + + #[test] + fn test_parse_error_display_invalid_header() { + let err = ParseError::InvalidHeader("bad header".to_string()); + assert_eq!(format!("{}", err), "Invalid header: bad header"); + } + + #[test] + fn test_parse_error_display_invalid_main_term() { + let err = ParseError::InvalidMainTerm("bad term".to_string()); + assert_eq!(format!("{}", err), "Invalid main term: bad term"); + } + + #[test] + fn test_parse_error_display_invalid_pert_term() { + let err = ParseError::InvalidPertTerm("bad pert".to_string()); + assert_eq!(format!("{}", err), "Invalid pert term: bad pert"); + } + + #[test] + fn test_parse_error_display_invalid_format() { + let err = ParseError::InvalidFormat("bad format".to_string()); + assert_eq!(format!("{}", err), "Invalid format: bad format"); + } + + #[test] + fn test_parse_error_from_io_error() { + let io_err = std::io::Error::new(std::io::ErrorKind::PermissionDenied, "access denied"); + let err: ParseError = io_err.into(); + match err { + ParseError::IoError(e) => assert_eq!(e.kind(), std::io::ErrorKind::PermissionDenied), + _ => panic!("Expected IoError variant"), + } + } + + #[test] + fn test_parse_fortran_double() { + let val = parse_fortran_double("-0.1274921554086D+02").unwrap(); + assert!((val - (-12.74921554086)).abs() < 1e-10); + + let val2 = parse_fortran_double("0.6368794709728D+01").unwrap(); + assert!((val2 - 6.368794709728).abs() < 1e-10); + } + + #[test] + fn test_parse_fortran_double_lowercase() { + let val = parse_fortran_double("1.5d+00").unwrap(); + assert!((val - 1.5).abs() < 1e-10); + } + + #[test] + fn test_parse_fortran_double_standard_notation() { + let val = parse_fortran_double("1.234e+05").unwrap(); + assert!((val - 123400.0).abs() < 1e-10); + } + + #[test] + fn test_parse_fortran_double_invalid() { + let result = parse_fortran_double("not_a_number"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidPertTerm(msg)) => assert!(msg.contains("Invalid double")), + _ => panic!("Expected InvalidPertTerm error"), + } + } + + #[test] + fn test_parse_main_header_valid() { + let line = "ELP_MAIN.S1 Longitude 1023"; + let result = parse_main_header(line).unwrap(); + assert_eq!(result.0, line); + assert_eq!(result.1, 1023); + } + + #[test] + fn test_parse_main_header_too_short() { + let result = parse_main_header("AB"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidHeader(msg)) => assert!(msg.contains("too short")), + _ => panic!("Expected InvalidHeader error"), + } + } + + #[test] + fn test_parse_main_header_invalid_term_count() { + let result = parse_main_header("ELP MAIN abc"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidHeader(msg)) => assert!(msg.contains("Invalid term count")), + _ => panic!("Expected InvalidHeader error"), + } + } + + #[test] + fn test_parse_main_term_valid() { + // Format: 4 delaunay args (3 chars each), skip some, then 7 coeffs + // Minimum 80 chars + let line = " 0 0 1 0 22639.55000 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000"; + let result = parse_main_term(line).unwrap(); + assert_eq!(result.delaunay, [0, 0, 1, 0]); + assert!((result.coeffs[0] - 22639.55).abs() < 0.01); + } + + #[test] + fn test_parse_main_term_too_short() { + let result = parse_main_term("short"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidMainTerm(msg)) => assert!(msg.contains("too short")), + _ => panic!("Expected InvalidMainTerm error"), + } + } + + #[test] + fn test_parse_main_term_invalid_delaunay() { + let line = "abc 0 1 0 22639.55000 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000"; + let result = parse_main_term(line); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidMainTerm(msg)) => assert!(msg.contains("Invalid delaunay")), + _ => panic!("Expected InvalidMainTerm error"), + } + } + + #[test] + fn test_parse_main_term_invalid_coeff() { + // Make a line that's long enough but has invalid first coefficient + let line = " 0 0 1 0 not_a_number 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000"; + let result = parse_main_term(line); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidMainTerm(msg)) => assert!(msg.contains("Invalid coeff[0]")), + _ => panic!("Expected InvalidMainTerm error"), + } + } + + #[test] + fn test_parse_pert_header_valid() { + let line = "PERTURBATIONS LONGITUDE 234 0"; + let result = parse_pert_header(line).unwrap(); + assert_eq!(result.0, 234); + assert_eq!(result.1, 0); + } + + #[test] + fn test_parse_pert_header_with_time_power() { + let line = "PERTURBATIONS LONGITUDE 567 2"; + let result = parse_pert_header(line).unwrap(); + assert_eq!(result.0, 567); + assert_eq!(result.1, 2); + } + + #[test] + fn test_parse_pert_header_too_short() { + let result = parse_pert_header("AB"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidHeader(msg)) => assert!(msg.contains("too short")), + _ => panic!("Expected InvalidHeader error"), + } + } + + #[test] + fn test_parse_pert_header_invalid_term_count() { + let result = parse_pert_header("PERT LON abc 0"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidHeader(msg)) => assert!(msg.contains("Invalid term count")), + _ => panic!("Expected InvalidHeader error"), + } + } + + #[test] + fn test_parse_pert_header_invalid_time_power() { + let result = parse_pert_header("PERT LON 100 xyz"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidHeader(msg)) => assert!(msg.contains("Invalid time power")), + _ => panic!("Expected InvalidHeader error"), + } + } + + #[test] + fn test_parse_pert_term_valid() { + // Format: 5 skip, 20 sin, 20 cos, 16 multipliers (3 each) = minimum ~90 chars + let line = " 1-0.1274921554086D+02 0.6368794709728D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + let result = parse_pert_term(line).unwrap(); + assert!((result.sin_coeff - (-12.74921554086)).abs() < 1e-10); + assert!((result.cos_coeff - 6.368794709728).abs() < 1e-10); + } + + #[test] + fn test_parse_pert_term_too_short() { + let result = parse_pert_term("short"); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidPertTerm(msg)) => assert!(msg.contains("too short")), + _ => panic!("Expected InvalidPertTerm error"), + } + } + + #[test] + fn test_parse_pert_term_with_multipliers() { + let line = " 1 0.1000000000000D+01 0.2000000000000D+01 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"; + let result = parse_pert_term(line).unwrap(); + assert_eq!(result.multipliers[0], 1); + assert_eq!(result.multipliers[1], 2); + assert_eq!(result.multipliers[15], 16); + } + + fn create_mock_main_file(dir: &Path, name: &str, term_count: usize) -> std::path::PathBuf { + let path = dir.join(name); + let mut file = File::create(&path).unwrap(); + + writeln!(file, "ELP_MAIN.S1 Longitude {}", term_count).unwrap(); + for i in 0..term_count { + let coeff = 1000.0 - (i as f64); + writeln!( + file, + " {} 0 1 0 {:12.5} 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000", + i % 10, coeff + ).unwrap(); + } + path + } + + fn create_mock_pert_file(dir: &Path, name: &str, blocks: &[(usize, u8)]) -> std::path::PathBuf { + let path = dir.join(name); + let mut file = File::create(&path).unwrap(); + + for (term_count, time_power) in blocks { + writeln!( + file, + "PERTURBATIONS LONGITUDE {} {}", + term_count, time_power + ) + .unwrap(); + for _ in 0..*term_count { + writeln!( + file, + " 1-0.1274921554086D+02 0.6368794709728D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + ).unwrap(); + } + } + path + } + + #[test] + fn test_parse_main_file_valid() { + let temp_dir = TempDir::new().unwrap(); + let path = create_mock_main_file(temp_dir.path(), "test_main.dat", 3); + + let result = parse_main_file(&path, Coordinate::Longitude).unwrap(); + assert_eq!(result.coordinate, Coordinate::Longitude); + assert_eq!(result.terms.len(), 3); + } + + #[test] + fn test_parse_main_file_empty() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join("empty.dat"); + File::create(&path).unwrap(); + + let result = parse_main_file(&path, Coordinate::Longitude); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidFormat(msg)) => assert!(msg.contains("Empty file")), + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_parse_main_file_term_count_mismatch() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join("mismatch.dat"); + let mut file = File::create(&path).unwrap(); + writeln!(file, "ELP_MAIN.S1 Longitude 5").unwrap(); + writeln!( + file, + " 0 0 1 0 22639.55000 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000" + ).unwrap(); + // Only wrote 1 term but header says 5 + + let result = parse_main_file(&path, Coordinate::Longitude); + assert!(result.is_err()); + match result { + Err(ParseError::InvalidFormat(msg)) => { + assert!(msg.contains("Expected 5 terms")); + assert!(msg.contains("found 1")); + } + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_parse_main_file_skips_empty_lines() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join("with_empty.dat"); + let mut file = File::create(&path).unwrap(); + writeln!(file, "ELP_MAIN.S1 Longitude 2").unwrap(); + writeln!( + file, + " 0 0 1 0 22639.55000 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000" + ).unwrap(); + writeln!(file).unwrap(); // empty line + writeln!(file, " ").unwrap(); // whitespace-only line + writeln!( + file, + " 1 0 1 0 12345.00000 0.00000 0.00000 412529.61 0.00000 0.00000 0.00000" + ).unwrap(); + + let result = parse_main_file(&path, Coordinate::Longitude).unwrap(); + assert_eq!(result.terms.len(), 2); + } + + #[test] + fn test_parse_main_file_not_found() { + let result = parse_main_file(Path::new("/nonexistent/file.dat"), Coordinate::Longitude); + assert!(result.is_err()); + match result { + Err(ParseError::IoError(_)) => {} + _ => panic!("Expected IoError"), + } + } + + #[test] + fn test_parse_pert_file_valid() { + let temp_dir = TempDir::new().unwrap(); + let path = create_mock_pert_file(temp_dir.path(), "test_pert.dat", &[(3, 0), (2, 1)]); + + let result = parse_pert_file(&path, Coordinate::Longitude).unwrap(); + assert_eq!(result.coordinate, Coordinate::Longitude); + assert_eq!(result.blocks.len(), 2); + assert_eq!(result.blocks[0].terms.len(), 3); + assert_eq!(result.blocks[0].time_power, 0); + assert_eq!(result.blocks[1].terms.len(), 2); + assert_eq!(result.blocks[1].time_power, 1); + } + + #[test] + fn test_parse_pert_file_multiple_keywords() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join("multi_keyword.dat"); + let mut file = File::create(&path).unwrap(); + + writeln!(file, "LONGITUDE 2 0").unwrap(); + writeln!( + file, + " 1-0.1000000000000D+01 0.2000000000000D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + ).unwrap(); + writeln!( + file, + " 1-0.3000000000000D+01 0.4000000000000D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + ).unwrap(); + writeln!(file, "LATITUDE 1 1").unwrap(); + writeln!( + file, + " 1-0.5000000000000D+01 0.6000000000000D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + ).unwrap(); + + let result = parse_pert_file(&path, Coordinate::Longitude).unwrap(); + assert_eq!(result.blocks.len(), 2); + } + + #[test] + fn test_parse_pert_file_not_found() { + let result = parse_pert_file(Path::new("/nonexistent/file.dat"), Coordinate::Longitude); + assert!(result.is_err()); + match result { + Err(ParseError::IoError(_)) => {} + _ => panic!("Expected IoError"), + } + } + + #[test] + fn test_parse_pert_file_with_distance_keyword() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join("distance.dat"); + let mut file = File::create(&path).unwrap(); + + writeln!(file, "DISTANCE 1 0").unwrap(); + writeln!( + file, + " 1-0.1000000000000D+01 0.2000000000000D+01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" + ).unwrap(); + + let result = parse_pert_file(&path, Coordinate::Distance).unwrap(); + assert_eq!(result.blocks.len(), 1); + assert_eq!(result.coordinate, Coordinate::Distance); + } + + fn create_full_mock_elp_files(dir: &Path) -> ElpFilePaths { + ElpFilePaths { + main_longitude: create_mock_main_file(dir, "ELP_MAIN.S1", 2), + main_latitude: create_mock_main_file(dir, "ELP_MAIN.S2", 3), + main_distance: create_mock_main_file(dir, "ELP_MAIN.S3", 1), + pert_longitude: create_mock_pert_file(dir, "ELP_PERT.S1", &[(2, 0)]), + pert_latitude: create_mock_pert_file(dir, "ELP_PERT.S2", &[(1, 0), (1, 1)]), + pert_distance: create_mock_pert_file(dir, "ELP_PERT.S3", &[(3, 0)]), + } + } + + #[test] + fn test_parse_files_valid() { + let temp_dir = TempDir::new().unwrap(); + let paths = create_full_mock_elp_files(temp_dir.path()); + + let result = parse_files(&paths).unwrap(); + + assert_eq!(result.main[0].coordinate, Coordinate::Longitude); + assert_eq!(result.main[0].terms.len(), 2); + assert_eq!(result.main[1].coordinate, Coordinate::Latitude); + assert_eq!(result.main[1].terms.len(), 3); + assert_eq!(result.main[2].coordinate, Coordinate::Distance); + assert_eq!(result.main[2].terms.len(), 1); + + assert_eq!(result.pert[0].coordinate, Coordinate::Longitude); + assert_eq!(result.pert[0].blocks.len(), 1); + assert_eq!(result.pert[1].coordinate, Coordinate::Latitude); + assert_eq!(result.pert[1].blocks.len(), 2); + assert_eq!(result.pert[2].coordinate, Coordinate::Distance); + assert_eq!(result.pert[2].blocks.len(), 1); + + assert_eq!(result.total_main_terms(), 6); + // 2 (lon) + 1+1 (lat) + 3 (dist) = 7 + assert_eq!(result.total_pert_terms(), 7); + assert_eq!(result.total_terms(), 13); + } + + #[test] + fn test_parse_files_missing_main_file() { + let temp_dir = TempDir::new().unwrap(); + let paths = ElpFilePaths { + main_longitude: temp_dir.path().join("nonexistent.dat"), + main_latitude: create_mock_main_file(temp_dir.path(), "ELP_MAIN.S2", 1), + main_distance: create_mock_main_file(temp_dir.path(), "ELP_MAIN.S3", 1), + pert_longitude: create_mock_pert_file(temp_dir.path(), "ELP_PERT.S1", &[(1, 0)]), + pert_latitude: create_mock_pert_file(temp_dir.path(), "ELP_PERT.S2", &[(1, 0)]), + pert_distance: create_mock_pert_file(temp_dir.path(), "ELP_PERT.S3", &[(1, 0)]), + }; + + let result = parse_files(&paths); + assert!(result.is_err()); + } + + #[test] + fn test_parse_files_missing_pert_file() { + let temp_dir = TempDir::new().unwrap(); + let paths = ElpFilePaths { + main_longitude: create_mock_main_file(temp_dir.path(), "ELP_MAIN.S1", 1), + main_latitude: create_mock_main_file(temp_dir.path(), "ELP_MAIN.S2", 1), + main_distance: create_mock_main_file(temp_dir.path(), "ELP_MAIN.S3", 1), + pert_longitude: create_mock_pert_file(temp_dir.path(), "ELP_PERT.S1", &[(1, 0)]), + pert_latitude: temp_dir.path().join("nonexistent.dat"), + pert_distance: create_mock_pert_file(temp_dir.path(), "ELP_PERT.S3", &[(1, 0)]), + }; + + let result = parse_files(&paths); + assert!(result.is_err()); + } + + #[test] + fn test_parse_main_term_short_line_coeffs() { + // Line is >= 80 chars but may be shorter for later coefficients + let line = + " 0 0 1 0 22639.55000 "; + let result = parse_main_term(line).unwrap(); + assert!((result.coeffs[0] - 22639.55).abs() < 0.01); + // Later coefficients should default to 0.0 + assert!((result.coeffs[1] - 0.0).abs() < 1e-10); + } + + #[test] + fn test_parse_pert_term_short_multipliers() { + // Line has valid sin/cos but maybe not all 16 multipliers + let line = " 1 0.1000000000000D+01 0.2000000000000D+01 1 2 3 4 "; + let result = parse_pert_term(line).unwrap(); + assert_eq!(result.multipliers[0], 1); + assert_eq!(result.multipliers[1], 2); + assert_eq!(result.multipliers[2], 3); + assert_eq!(result.multipliers[3], 4); + // Remaining should be 0 + assert_eq!(result.multipliers[4], 0); + } + + #[test] + fn test_parse_error_is_std_error() { + fn assert_std_error() {} + assert_std_error::(); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/analyze.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/analyze.rs new file mode 100644 index 0000000..7f38c14 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/analyze.rs @@ -0,0 +1,468 @@ +use crate::parser::{parse_file, planet_name, Variable, Vsop2013File}; +use std::collections::HashMap; +use std::path::Path; + +pub struct VariableStats { + pub variable: Variable, + pub total_terms: usize, + pub terms_above_threshold: usize, + pub max_amplitude: f64, + pub min_amplitude: f64, + pub time_power_distribution: HashMap, +} + +pub struct PlanetAnalysis { + pub planet: u8, + pub planet_name: String, + pub total_terms: usize, + pub variable_stats: Vec, +} + +impl PlanetAnalysis { + pub fn terms_above_threshold(&self) -> usize { + self.variable_stats + .iter() + .map(|v| v.terms_above_threshold) + .sum() + } +} + +pub fn analyze_file(path: &Path, threshold: f64) -> Result { + let vsop = parse_file(path).map_err(|e| format!("Parse error: {}", e))?; + Ok(analyze_vsop(&vsop, threshold)) +} + +pub fn analyze_vsop(vsop: &Vsop2013File, threshold: f64) -> PlanetAnalysis { + let mut variable_stats = Vec::new(); + + for var in [ + Variable::A, + Variable::Lambda, + Variable::K, + Variable::H, + Variable::Q, + Variable::P, + ] { + let blocks: Vec<_> = vsop.blocks_for_variable(var).collect(); + if blocks.is_empty() { + continue; + } + + let mut total_terms = 0usize; + let mut terms_above = 0usize; + let mut max_amp = 0.0f64; + let mut min_amp = f64::MAX; + let mut time_dist: HashMap = HashMap::new(); + + for block in &blocks { + let count = block.terms.len(); + total_terms += count; + *time_dist.entry(block.header.time_power).or_insert(0) += count; + + for term in &block.terms { + let amp = term.amplitude(); + if amp > threshold { + terms_above += 1; + } + if amp > max_amp { + max_amp = amp; + } + if amp < min_amp { + min_amp = amp; + } + } + } + + variable_stats.push(VariableStats { + variable: var, + total_terms, + terms_above_threshold: terms_above, + max_amplitude: max_amp, + min_amplitude: if min_amp == f64::MAX { 0.0 } else { min_amp }, + time_power_distribution: time_dist, + }); + } + + PlanetAnalysis { + planet: vsop.planet, + planet_name: planet_name(vsop.planet).to_string(), + total_terms: vsop.total_terms(), + variable_stats, + } +} + +pub fn print_analysis(analysis: &PlanetAnalysis, threshold: f64) { + println!("\n{}", "=".repeat(70)); + println!( + "Planet {}: {} ({} total terms)", + analysis.planet, analysis.planet_name, analysis.total_terms + ); + println!("{}", "=".repeat(70)); + + for stats in &analysis.variable_stats { + println!( + "\n Variable: {} ({})", + stats.variable, + stats.variable.name() + ); + println!(" Total terms: {}", stats.total_terms); + println!( + " Terms above threshold ({:.0e}): {} ({:.1}%)", + threshold, + stats.terms_above_threshold, + (stats.terms_above_threshold as f64 / stats.total_terms as f64) * 100.0 + ); + println!( + " Amplitude range: {:.3e} to {:.3e}", + stats.min_amplitude, stats.max_amplitude + ); + + println!(" Time power distribution:"); + let mut powers: Vec<_> = stats.time_power_distribution.iter().collect(); + powers.sort_by_key(|(k, _)| *k); + for (power, count) in powers { + println!(" T^{}: {} terms", power, count); + } + } + + println!( + "\n Summary: {} terms above threshold ({:.1}%)", + analysis.terms_above_threshold(), + (analysis.terms_above_threshold() as f64 / analysis.total_terms as f64) * 100.0 + ); +} + +pub fn print_summary_table(analyses: &[PlanetAnalysis], threshold: f64) { + println!("\n{}", "=".repeat(80)); + println!("VSOP2013 Summary (threshold: {:.0e})", threshold); + println!("{}", "=".repeat(80)); + println!( + "{:<25} {:>12} {:>12} {:>12} {:>10}", + "Planet", "Total Terms", "Above Thresh", "Reduction", "%" + ); + println!("{}", "-".repeat(80)); + + let mut grand_total = 0usize; + let mut grand_above = 0usize; + + for analysis in analyses { + let above = analysis.terms_above_threshold(); + let reduction = analysis.total_terms - above; + let pct = (above as f64 / analysis.total_terms as f64) * 100.0; + + grand_total += analysis.total_terms; + grand_above += above; + + println!( + "{:<25} {:>12} {:>12} {:>12} {:>9.1}%", + analysis.planet_name, analysis.total_terms, above, reduction, pct + ); + } + + println!("{}", "-".repeat(80)); + println!( + "{:<25} {:>12} {:>12} {:>12} {:>9.1}%", + "TOTAL", + grand_total, + grand_above, + grand_total - grand_above, + (grand_above as f64 / grand_total as f64) * 100.0 + ); +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::parser::{Vsop2013Block, Vsop2013Header, Vsop2013Term}; + + fn make_term(s: f64, c: f64) -> Vsop2013Term { + Vsop2013Term { + multipliers: [0; 17], + s_coeff: s, + c_coeff: c, + } + } + + fn make_block(var: Variable, time_power: u8, terms: Vec) -> Vsop2013Block { + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: var, + time_power, + term_count: terms.len() as u32, + }, + terms, + } + } + + fn make_test_vsop() -> Vsop2013File { + Vsop2013File { + planet: 3, + blocks: vec![ + make_block( + Variable::A, + 0, + vec![ + make_term(3.0, 4.0), // amplitude = 5 + make_term(0.6, 0.8), // amplitude = 1 + make_term(0.03, 0.04), // amplitude = 0.05 + ], + ), + make_block( + Variable::A, + 1, + vec![ + make_term(6.0, 8.0), // amplitude = 10 + ], + ), + make_block( + Variable::Lambda, + 0, + vec![ + make_term(30.0, 40.0), // amplitude = 50 + make_term(0.3, 0.4), // amplitude = 0.5 + ], + ), + make_block( + Variable::K, + 0, + vec![ + make_term(0.12, 0.16), // amplitude = 0.2 + ], + ), + ], + } + } + + #[test] + fn test_variable_stats_creation() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 0.1); + + assert_eq!(analysis.planet, 3); + assert_eq!(analysis.planet_name, "Earth-Moon Barycenter"); + assert_eq!(analysis.total_terms, 7); + assert_eq!(analysis.variable_stats.len(), 3); // A, Lambda, K + } + + #[test] + fn test_analyze_vsop_a_variable() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 0.5); + + let a_stats = analysis + .variable_stats + .iter() + .find(|s| s.variable == Variable::A) + .unwrap(); + + assert_eq!(a_stats.total_terms, 4); + assert_eq!(a_stats.terms_above_threshold, 3); // 5, 1, 10 are above 0.5 + assert!((a_stats.max_amplitude - 10.0).abs() < 1e-10); + assert!((a_stats.min_amplitude - 0.05).abs() < 1e-10); + } + + #[test] + fn test_analyze_vsop_time_power_distribution() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 0.0); + + let a_stats = analysis + .variable_stats + .iter() + .find(|s| s.variable == Variable::A) + .unwrap(); + + assert_eq!(a_stats.time_power_distribution.get(&0), Some(&3)); + assert_eq!(a_stats.time_power_distribution.get(&1), Some(&1)); + } + + #[test] + fn test_terms_above_threshold_aggregation() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 0.3); + + let total_above = analysis.terms_above_threshold(); + // A: 5, 1, 10 above 0.3 = 3 + // Lambda: 50, 0.5 above 0.3 = 2 + // K: 0.2 not above 0.3 = 0 + assert_eq!(total_above, 5); + } + + #[test] + fn test_analyze_vsop_empty_variable() { + let vsop = Vsop2013File { + planet: 1, + blocks: vec![make_block(Variable::A, 0, vec![make_term(1.0, 0.0)])], + }; + let analysis = analyze_vsop(&vsop, 0.0); + + // Only A should be in stats (Lambda, K, etc. have no blocks) + assert_eq!(analysis.variable_stats.len(), 1); + assert_eq!(analysis.variable_stats[0].variable, Variable::A); + } + + #[test] + fn test_analyze_vsop_min_amplitude_with_empty_blocks() { + let vsop = Vsop2013File { + planet: 2, + blocks: vec![], + }; + let analysis = analyze_vsop(&vsop, 0.0); + + assert_eq!(analysis.variable_stats.len(), 0); + assert_eq!(analysis.total_terms, 0); + } + + #[test] + fn test_print_analysis_runs_without_panic() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 1e-5); + print_analysis(&analysis, 1e-5); + } + + #[test] + fn test_print_analysis_with_high_threshold() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 1000.0); + print_analysis(&analysis, 1000.0); + } + + #[test] + fn test_print_summary_table_single_planet() { + let vsop = make_test_vsop(); + let analysis = analyze_vsop(&vsop, 1.0); + print_summary_table(&[analysis], 1.0); + } + + #[test] + fn test_print_summary_table_multiple_planets() { + let vsop1 = Vsop2013File { + planet: 1, + blocks: vec![make_block(Variable::A, 0, vec![make_term(10.0, 0.0)])], + }; + let vsop2 = Vsop2013File { + planet: 2, + blocks: vec![make_block(Variable::A, 0, vec![make_term(5.0, 0.0)])], + }; + + let analysis1 = analyze_vsop(&vsop1, 1.0); + let analysis2 = analyze_vsop(&vsop2, 1.0); + + print_summary_table(&[analysis1, analysis2], 1.0); + } + + #[test] + fn test_planet_analysis_struct() { + let analysis = PlanetAnalysis { + planet: 5, + planet_name: "Jupiter".to_string(), + total_terms: 100, + variable_stats: vec![ + VariableStats { + variable: Variable::A, + total_terms: 50, + terms_above_threshold: 30, + max_amplitude: 1.0, + min_amplitude: 0.001, + time_power_distribution: HashMap::new(), + }, + VariableStats { + variable: Variable::Lambda, + total_terms: 50, + terms_above_threshold: 20, + max_amplitude: 0.5, + min_amplitude: 0.0001, + time_power_distribution: HashMap::new(), + }, + ], + }; + + assert_eq!(analysis.terms_above_threshold(), 50); + } + + #[test] + fn test_variable_stats_struct() { + let mut dist = HashMap::new(); + dist.insert(0u8, 100usize); + dist.insert(1u8, 50usize); + + let stats = VariableStats { + variable: Variable::K, + total_terms: 150, + terms_above_threshold: 75, + max_amplitude: 0.01, + min_amplitude: 1e-10, + time_power_distribution: dist, + }; + + assert_eq!(stats.variable, Variable::K); + assert_eq!(stats.total_terms, 150); + assert_eq!(stats.time_power_distribution.len(), 2); + } + + #[test] + #[ignore = "requires local VSOP2013 data files"] + fn test_analyze_earth() { + let path = Path::new("references/ephemeris/vsop2013/VSOP2013p3.dat"); + let analysis = analyze_file(path, 1e-10).unwrap(); + assert_eq!(analysis.planet, 3); + assert!(!analysis.variable_stats.is_empty()); + assert!(analysis.total_terms > 100_000); + } + + #[test] + fn test_analyze_file_with_mock_data() { + use tempfile::TempDir; + + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("test_vsop.dat"); + + let content = " VSOP2013 5 1 0 2 JUPITER VAR A T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1000000000000000 +00 0.0000000000000000 +00 + 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2000000000000000 +00 0.0000000000000000 +00 +"; + std::fs::write(&file_path, content).unwrap(); + + let analysis = analyze_file(&file_path, 0.0).unwrap(); + assert_eq!(analysis.planet, 5); + assert_eq!(analysis.planet_name, "Jupiter"); + assert_eq!(analysis.total_terms, 2); + assert!(!analysis.variable_stats.is_empty()); + } + + #[test] + fn test_analyze_file_parse_error() { + use tempfile::TempDir; + + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("bad_vsop.dat"); + + // Create a file with an invalid VSOP2013 header that will fail parsing + // The header claims 100 terms but we provide none - this triggers MissingTerms error + std::fs::write(&file_path, " VSOP2013 3 1 0 100 BAD\n").unwrap(); + + let result = analyze_file(&file_path, 0.0); + match result { + Err(msg) => assert!( + msg.contains("Parse error"), + "Expected Parse error, got: {}", + msg + ), + Ok(_) => panic!("Expected an error"), + } + } + + #[test] + fn test_analyze_file_not_found() { + let result = analyze_file(Path::new("/nonexistent/path/file.dat"), 0.0); + match result { + Err(msg) => assert!( + msg.contains("Parse error"), + "Expected Parse error, got: {}", + msg + ), + Ok(_) => panic!("Expected an error"), + } + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/download.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/download.rs new file mode 100644 index 0000000..4aa471c --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/download.rs @@ -0,0 +1,596 @@ +use std::fs::{self, File}; +use std::io::Write; +use std::path::Path; + +#[cfg(feature = "cli")] +use reqwest::blocking::Client; + +const BASE_URL: &str = "https://ftp.imcce.fr/pub/ephem/planets/vsop2013/solution"; + +pub fn planet_filename(planet: u8) -> String { + format!("VSOP2013p{}.dat", planet) +} + +pub fn planet_url(planet: u8) -> String { + format!("{}/{}", BASE_URL, planet_filename(planet)) +} + +#[cfg(feature = "cli")] +pub fn default_client() -> Result { + Client::builder() + .timeout(std::time::Duration::from_secs(300)) + .build() + .map_err(|e| format!("Failed to create HTTP client: {}", e)) +} + +#[cfg(feature = "cli")] +pub fn download_planet(planet: u8, output_dir: &Path) -> Result<(), String> { + let client = default_client()?; + download_file_with_client( + &client, + &planet_url(planet), + &planet_filename(planet), + output_dir, + ) +} + +#[cfg(feature = "cli")] +#[cfg(test)] +pub fn download_planet_with_base_url( + client: &Client, + planet: u8, + base_url: &str, + output_dir: &Path, +) -> Result<(), String> { + let url = format!("{}/{}", base_url, planet_filename(planet)); + download_file_with_client(client, &url, &planet_filename(planet), output_dir) +} + +#[cfg(feature = "cli")] +#[cfg(test)] +fn download_file_from_url(url: &str, filename: &str, output_dir: &Path) -> Result<(), String> { + let client = default_client()?; + download_file_with_client(&client, url, filename, output_dir) +} + +#[cfg(feature = "cli")] +pub fn download_file_with_client( + client: &Client, + url: &str, + filename: &str, + output_dir: &Path, +) -> Result<(), String> { + let output_path = output_dir.join(filename); + + if output_path.exists() { + println!(" {} already exists, skipping", filename); + return Ok(()); + } + + println!(" Downloading {} ...", url); + + let response = client + .get(url) + .send() + .map_err(|e| format!("Failed to fetch {}: {}", url, e))?; + + if !response.status().is_success() { + return Err(format!("HTTP error {} for {}", response.status(), url)); + } + + let bytes = response + .bytes() + .map_err(|e| format!("Failed to read response: {}", e))?; + + let mut file = File::create(&output_path) + .map_err(|e| format!("Failed to create {}: {}", output_path.display(), e))?; + + file.write_all(&bytes) + .map_err(|e| format!("Failed to write {}: {}", output_path.display(), e))?; + + println!(" Saved {} ({} bytes)", filename, bytes.len()); + Ok(()) +} + +#[cfg(feature = "cli")] +pub fn download_all(client: &Client, output_dir: &Path) -> Result<(), String> { + fs::create_dir_all(output_dir) + .map_err(|e| format!("Failed to create output directory: {}", e))?; + + println!("Downloading VSOP2013 files to {}", output_dir.display()); + + for planet in 1..=9 { + download_file_with_client( + client, + &planet_url(planet), + &planet_filename(planet), + output_dir, + )?; + } + + println!("Download complete!"); + Ok(()) +} + +#[cfg(not(feature = "cli"))] +pub fn download_planet(_planet: u8, _output_dir: &Path) -> Result<(), String> { + Err("Download requires the 'cli' feature".to_string()) +} + +#[cfg(not(feature = "cli"))] +pub fn download_all(_client: &(), _output_dir: &Path) -> Result<(), String> { + Err("Download requires the 'cli' feature".to_string()) +} + +pub fn find_planet_files(input_dir: &Path) -> Vec<(u8, std::path::PathBuf)> { + let mut files = Vec::new(); + for planet in 1..=9 { + let path = input_dir.join(planet_filename(planet)); + if path.exists() { + files.push((planet, path)); + } + } + files +} + +#[cfg(test)] +mod tests { + use super::*; + use tempfile::TempDir; + + #[test] + fn test_planet_filename() { + assert_eq!(planet_filename(1), "VSOP2013p1.dat"); + assert_eq!(planet_filename(9), "VSOP2013p9.dat"); + } + + #[test] + fn test_planet_url() { + let url = planet_url(3); + assert!(url.contains("VSOP2013p3.dat")); + assert!(url.starts_with("https://")); + } + + #[test] + fn test_base_url_constant() { + assert!(BASE_URL.starts_with("https://")); + assert!(BASE_URL.contains("imcce.fr")); + assert!(BASE_URL.contains("vsop2013")); + } + + #[test] + fn test_planet_filename_all_planets() { + for planet in 1..=9 { + let filename = planet_filename(planet); + assert!(filename.starts_with("VSOP2013p")); + assert!(filename.ends_with(".dat")); + assert!(filename.contains(&planet.to_string())); + } + } + + #[test] + fn test_planet_url_all_planets() { + for planet in 1..=9 { + let url = planet_url(planet); + assert!(url.starts_with(BASE_URL)); + assert!(url.contains(&planet_filename(planet))); + } + } + + #[test] + fn test_find_planet_files_empty_dir() { + let temp_dir = TempDir::new().unwrap(); + let files = find_planet_files(temp_dir.path()); + assert!(files.is_empty()); + } + + #[test] + fn test_find_planet_files_with_some_files() { + let temp_dir = TempDir::new().unwrap(); + + // Create files for planets 1, 3, 5 + for planet in [1, 3, 5] { + let path = temp_dir.path().join(planet_filename(planet)); + std::fs::write(&path, "test content").unwrap(); + } + + let files = find_planet_files(temp_dir.path()); + assert_eq!(files.len(), 3); + + let planets: Vec = files.iter().map(|(p, _)| *p).collect(); + assert!(planets.contains(&1)); + assert!(planets.contains(&3)); + assert!(planets.contains(&5)); + } + + #[test] + fn test_find_planet_files_with_all_files() { + let temp_dir = TempDir::new().unwrap(); + + for planet in 1..=9 { + let path = temp_dir.path().join(planet_filename(planet)); + std::fs::write(&path, "test content").unwrap(); + } + + let files = find_planet_files(temp_dir.path()); + assert_eq!(files.len(), 9); + } + + #[test] + fn test_find_planet_files_returns_correct_paths() { + let temp_dir = TempDir::new().unwrap(); + let path = temp_dir.path().join(planet_filename(3)); + std::fs::write(&path, "test").unwrap(); + + let files = find_planet_files(temp_dir.path()); + assert_eq!(files.len(), 1); + assert_eq!(files[0].0, 3); + assert_eq!(files[0].1, path); + } + + #[cfg(not(feature = "cli"))] + #[test] + fn test_download_planet_without_cli_feature() { + let temp_dir = TempDir::new().unwrap(); + let result = download_planet(1, temp_dir.path()); + assert!(result.is_err()); + assert_eq!(result.unwrap_err(), "Download requires the 'cli' feature"); + } + + #[cfg(not(feature = "cli"))] + #[test] + fn test_download_all_without_cli_feature() { + let temp_dir = TempDir::new().unwrap(); + let result = download_all(&(), temp_dir.path()); + assert!(result.is_err()); + assert_eq!(result.unwrap_err(), "Download requires the 'cli' feature"); + } + + #[cfg(feature = "cli")] + mod mock_http_tests { + use super::*; + use std::io::Write as IoWrite; + use wiremock::matchers::{method, path}; + use wiremock::{Mock, MockServer, ResponseTemplate}; + + #[tokio::test] + async fn test_download_file_success() { + let mock_server = MockServer::start().await; + let test_content = b"VSOP2013 test data content"; + + Mock::given(method("GET")) + .and(path("/test.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(test_content.to_vec())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/test.dat", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "test.dat", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("test.dat")).unwrap(); + assert_eq!(downloaded, test_content); + } + + #[tokio::test] + async fn test_download_file_skips_existing() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/existing.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(b"new content".to_vec())) + .expect(0) // Should NOT be called + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let existing_path = temp_dir.path().join("existing.dat"); + { + let mut file = File::create(&existing_path).unwrap(); + file.write_all(b"original content").unwrap(); + } + + let url = format!("{}/existing.dat", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "existing.dat", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_ok()); + let content = std::fs::read_to_string(&existing_path).unwrap(); + assert_eq!(content, "original content"); + } + + #[tokio::test] + async fn test_download_file_http_404() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/missing.dat")) + .respond_with(ResponseTemplate::new(404)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/missing.dat", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "missing.dat", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!( + err.contains("HTTP error"), + "Expected HTTP error, got: {}", + err + ); + assert!(err.contains("404"), "Expected 404 in error, got: {}", err); + } + + #[tokio::test] + async fn test_download_file_http_500() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/error.dat")) + .respond_with(ResponseTemplate::new(500)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/error.dat", mock_server.uri()); + let temp_path = temp_dir.path().to_path_buf(); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "error.dat", &temp_path) + }) + .await + .unwrap(); + + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!( + err.contains("HTTP error"), + "Expected HTTP error, got: {}", + err + ); + assert!(err.contains("500"), "Expected 500 in error, got: {}", err); + } + + #[tokio::test] + async fn test_download_file_writes_binary_content() { + let mock_server = MockServer::start().await; + let binary_content: Vec = (0..256).map(|i| i as u8).collect(); + + Mock::given(method("GET")) + .and(path("/binary.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(binary_content.clone())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/binary.dat", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "binary.dat", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("binary.dat")).unwrap(); + assert_eq!(downloaded, binary_content); + } + + #[tokio::test] + async fn test_download_file_empty_response() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/empty.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(vec![])) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/empty.dat", mock_server.uri()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "empty.dat", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join("empty.dat")).unwrap(); + assert!(downloaded.is_empty()); + } + + #[tokio::test] + async fn test_download_file_creates_file() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/new.dat")) + .respond_with(ResponseTemplate::new(200).set_body_bytes(b"data".to_vec())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let url = format!("{}/new.dat", mock_server.uri()); + + assert!(!temp_dir.path().join("new.dat").exists()); + + let result = tokio::task::spawn_blocking(move || { + download_file_from_url(&url, "new.dat", temp_dir.path()).map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + assert!(temp_dir.path().join("new.dat").exists()); + } + + #[tokio::test] + async fn test_download_all_success() { + let mock_server = MockServer::start().await; + + for planet in 1..=9 { + let filename = planet_filename(planet); + let content = format!("mock content for planet {}", planet); + Mock::given(method("GET")) + .and(path(format!("/{}", filename))) + .respond_with(ResponseTemplate::new(200).set_body_bytes(content.into_bytes())) + .mount(&mock_server) + .await; + } + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + for planet in 1..=9 { + let filename = planet_filename(planet); + let url = format!("{}/{}", base_url, filename); + download_file_with_client(&client, &url, &filename, temp_dir.path())?; + } + Ok::<_, String>(temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + for planet in 1..=9 { + let filename = planet_filename(planet); + assert!( + temp_dir.path().join(&filename).exists(), + "Missing file: {}", + filename + ); + } + } + + #[tokio::test] + async fn test_download_all_fails_on_http_error() { + let mock_server = MockServer::start().await; + + Mock::given(method("GET")) + .and(path("/VSOP2013p1.dat")) + .respond_with(ResponseTemplate::new(500)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + let url = format!("{}/VSOP2013p1.dat", base_url); + download_file_with_client(&client, &url, "VSOP2013p1.dat", temp_dir.path()) + }) + .await + .unwrap(); + + assert!(result.is_err()); + assert!(result.unwrap_err().contains("HTTP error")); + } + + #[tokio::test] + async fn test_download_planet_with_base_url_success() { + let mock_server = MockServer::start().await; + let planet = 3u8; + let filename = planet_filename(planet); + let content = b"mocked VSOP2013 Earth data"; + + Mock::given(method("GET")) + .and(path(format!("/{}", filename))) + .respond_with(ResponseTemplate::new(200).set_body_bytes(content.to_vec())) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + download_planet_with_base_url(&client, planet, &base_url, temp_dir.path()) + .map(|_| temp_dir) + }) + .await + .unwrap(); + + let temp_dir = result.unwrap(); + let downloaded = std::fs::read(temp_dir.path().join(&filename)).unwrap(); + assert_eq!(downloaded, content); + } + + #[tokio::test] + async fn test_download_planet_with_base_url_http_error() { + let mock_server = MockServer::start().await; + let planet = 5u8; + let filename = planet_filename(planet); + + Mock::given(method("GET")) + .and(path(format!("/{}", filename))) + .respond_with(ResponseTemplate::new(404)) + .mount(&mock_server) + .await; + + let temp_dir = TempDir::new().unwrap(); + let base_url = mock_server.uri(); + + let result = tokio::task::spawn_blocking(move || { + let client = Client::builder() + .timeout(std::time::Duration::from_secs(10)) + .build() + .unwrap(); + + download_planet_with_base_url(&client, planet, &base_url, temp_dir.path()) + }) + .await + .unwrap(); + + assert!(result.is_err()); + let err = result.unwrap_err(); + assert!( + err.contains("HTTP error"), + "Expected HTTP error, got: {}", + err + ); + assert!(err.contains("404"), "Expected 404 in error, got: {}", err); + } + } + + #[cfg(feature = "cli")] + #[test] + fn test_default_client() { + let result = default_client(); + assert!(result.is_ok()); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/generate.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/generate.rs new file mode 100644 index 0000000..df844d5 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/generate.rs @@ -0,0 +1,773 @@ +use crate::parser::{planet_name, Variable, Vsop2013File, Vsop2013Term}; +use chrono::Utc; +use std::collections::{BTreeMap, BTreeSet}; +use std::fs; +use std::path::Path; + +pub struct GenerateConfig { + pub threshold: f64, + pub output_dir: std::path::PathBuf, +} + +struct FilteredTerm { + multipliers: [i16; 17], + s_coeff: f64, + c_coeff: f64, + amplitude: f64, +} + +impl From<&Vsop2013Term> for FilteredTerm { + fn from(term: &Vsop2013Term) -> Self { + let mut mults = [0i16; 17]; + for (i, &m) in term.multipliers.iter().enumerate() { + mults[i] = m as i16; + } + FilteredTerm { + multipliers: mults, + s_coeff: term.s_coeff, + c_coeff: term.c_coeff, + amplitude: term.amplitude(), + } + } +} + +struct TimeBlockData { + power: u8, + terms: Vec, +} + +struct VariableData { + variable: Variable, + blocks: Vec, + total_terms: usize, + retained_terms: usize, +} + +fn filter_and_group_terms(vsop: &Vsop2013File, threshold: f64) -> Vec { + let mut result = Vec::new(); + + for var in [ + Variable::A, + Variable::Lambda, + Variable::K, + Variable::H, + Variable::Q, + Variable::P, + ] { + let mut blocks_by_power: BTreeMap> = BTreeMap::new(); + let mut total = 0usize; + let mut retained = 0usize; + + for block in vsop.blocks_for_variable(var) { + total += block.terms.len(); + + let filtered: Vec = block + .terms + .iter() + .filter(|t| t.amplitude() > threshold) + .map(FilteredTerm::from) + .collect(); + + retained += filtered.len(); + + if !filtered.is_empty() { + blocks_by_power + .entry(block.header.time_power) + .or_default() + .extend(filtered); + } + } + + let mut blocks: Vec = blocks_by_power + .into_iter() + .map(|(power, mut terms)| { + terms.sort_by(|a, b| { + b.amplitude + .partial_cmp(&a.amplitude) + .unwrap_or(std::cmp::Ordering::Equal) + }); + TimeBlockData { power, terms } + }) + .collect(); + + blocks.sort_by_key(|b| b.power); + + if !blocks.is_empty() { + result.push(VariableData { + variable: var, + blocks, + total_terms: total, + retained_terms: retained, + }); + } + } + + result +} + +fn format_multipliers(mults: &[i16; 17]) -> String { + let parts: Vec = mults.iter().map(|m| format!("{}", m)).collect(); + format!("[{}]", parts.join(",")) +} + +fn format_float(f: f64) -> String { + if f == 0.0 { + "0.0".to_string() + } else { + format!("{:.15e}", f) + } +} + +fn variable_const_name(var: Variable) -> &'static str { + match var { + Variable::A => "A", + Variable::Lambda => "LAMBDA", + Variable::K => "K", + Variable::H => "H", + Variable::Q => "Q", + Variable::P => "P", + } +} + +fn variable_description(var: Variable) -> &'static str { + match var { + Variable::A => "Semi-major axis (A)", + Variable::Lambda => "Mean longitude (Lambda)", + Variable::K => "e*cos(perihelion) (K)", + Variable::H => "e*sin(perihelion) (H)", + Variable::Q => "sin(i/2)*cos(node) (Q)", + Variable::P => "sin(i/2)*sin(node) (P)", + } +} + +fn generate_planet_source( + planet: u8, + vsop: &Vsop2013File, + threshold: f64, +) -> (String, usize, usize) { + let variable_data = filter_and_group_terms(vsop, threshold); + + let total_original: usize = variable_data.iter().map(|v| v.total_terms).sum(); + let total_retained: usize = variable_data.iter().map(|v| v.retained_terms).sum(); + + let percentage = if total_original > 0 { + (total_retained as f64 / total_original as f64) * 100.0 + } else { + 0.0 + }; + + let date = Utc::now().format("%Y-%m-%d").to_string(); + + let mut out = String::new(); + + out.push_str("#![allow(clippy::excessive_precision)]\n"); + out.push('\n'); + out.push_str(&format!( + "//! VSOP2013 coefficients for {}\n", + planet_name(planet) + )); + out.push_str("//!\n"); + out.push_str(&format!("//! Generated from VSOP2013p{}.dat\n", planet)); + out.push_str(&format!("//! Threshold: {:.0e}\n", threshold)); + out.push_str(&format!( + "//! Terms retained: {} of {} ({:.1}%)\n", + total_retained, total_original, percentage + )); + out.push_str(&format!("//! Generated: {}\n", date)); + out.push('\n'); + out.push_str("use super::{Term, TimeBlock};\n"); + out.push('\n'); + + for var_data in &variable_data { + out.push_str(&format!( + "/// {} coefficients\n", + variable_description(var_data.variable) + )); + out.push_str(&format!( + "pub const {}: &[TimeBlock] = &[\n", + variable_const_name(var_data.variable) + )); + + for block in &var_data.blocks { + out.push_str(&format!(" // T^{} terms\n", block.power)); + out.push_str(" TimeBlock {\n"); + out.push_str(&format!(" power: {},\n", block.power)); + out.push_str(" terms: &[\n"); + + for term in &block.terms { + out.push_str(&format!( + " Term {{ s: {}, c: {}, mult: {} }},\n", + format_float(term.s_coeff), + format_float(term.c_coeff), + format_multipliers(&term.multipliers) + )); + } + + out.push_str(" ],\n"); + out.push_str(" },\n"); + } + + out.push_str("];\n"); + out.push('\n'); + } + + (out, total_retained, total_original) +} + +fn planet_module_name(planet: u8) -> &'static str { + match planet { + 1 => "mercury", + 2 => "venus", + 3 => "emb", + 4 => "mars", + 5 => "jupiter", + 6 => "saturn", + 7 => "uranus", + 8 => "neptune", + 9 => "pluto", + _ => "unknown", + } +} + +fn module_name_to_planet(name: &str) -> Option { + match name { + "mercury" => Some(1), + "venus" => Some(2), + "emb" => Some(3), + "mars" => Some(4), + "jupiter" => Some(5), + "saturn" => Some(6), + "uranus" => Some(7), + "neptune" => Some(8), + "pluto" => Some(9), + _ => None, + } +} + +fn discover_existing_planets(output_dir: &Path) -> BTreeSet { + let mut planets = BTreeSet::new(); + if let Ok(entries) = fs::read_dir(output_dir) { + for entry in entries.flatten() { + let path = entry.path(); + if path.extension().is_some_and(|ext| ext == "rs") { + if let Some(stem) = path.file_stem().and_then(|s| s.to_str()) { + if stem != "mod" { + if let Some(planet_num) = module_name_to_planet(stem) { + planets.insert(planet_num); + } + } + } + } + } + } + planets +} + +pub fn generate_mod_rs(planets: &[u8]) -> String { + let mut out = String::new(); + + out.push_str("//! VSOP2013 planetary coefficients\n"); + out.push_str("//!\n"); + out.push_str("//! Truncated coefficient tables for analytical planetary ephemeris.\n"); + out.push_str("//! These coefficients are used to compute heliocentric positions of planets.\n"); + out.push('\n'); + + for &p in planets { + out.push_str(&format!("pub mod {};\n", planet_module_name(p))); + } + + out.push('\n'); + out.push_str("/// A single Fourier term in the VSOP2013 series\n"); + out.push_str("#[derive(Debug, Clone, Copy)]\n"); + out.push_str("pub struct Term {\n"); + out.push_str(" /// Sine coefficient\n"); + out.push_str(" pub s: f64,\n"); + out.push_str(" /// Cosine coefficient\n"); + out.push_str(" pub c: f64,\n"); + out.push_str(" /// Argument multipliers for 17 fundamental arguments\n"); + out.push_str(" pub mult: [i16; 17],\n"); + out.push_str("}\n"); + out.push('\n'); + out.push_str("/// Terms grouped by power of T (time)\n"); + out.push_str("#[derive(Debug, Clone, Copy)]\n"); + out.push_str("pub struct TimeBlock {\n"); + out.push_str(" /// Power of T (0, 1, 2, ...)\n"); + out.push_str(" pub power: u8,\n"); + out.push_str(" /// Terms for this power, sorted by amplitude descending\n"); + out.push_str(" pub terms: &'static [Term],\n"); + out.push_str("}\n"); + out.push('\n'); + + out +} + +pub fn generate_planet_module( + planet: u8, + vsop: &Vsop2013File, + config: &GenerateConfig, + output_dir: &Path, +) -> Result<(), String> { + let (source, retained, total) = generate_planet_source(planet, vsop, config.threshold); + + let filename = format!("{}.rs", planet_module_name(planet)); + let filepath = output_dir.join(&filename); + + fs::write(&filepath, &source) + .map_err(|e| format!("Failed to write {}: {}", filepath.display(), e))?; + + let percentage = if total > 0 { + (retained as f64 / total as f64) * 100.0 + } else { + 0.0 + }; + + println!( + " Generated {} ({} terms of {} = {:.1}%)", + filename, retained, total, percentage + ); + + Ok(()) +} + +pub fn generate_all( + vsop_files: &[(u8, Vsop2013File)], + config: &GenerateConfig, +) -> Result<(), String> { + fs::create_dir_all(&config.output_dir) + .map_err(|e| format!("Failed to create output dir: {}", e))?; + + let mut all_planets: BTreeSet = discover_existing_planets(&config.output_dir); + for (p, _) in vsop_files { + all_planets.insert(*p); + } + + let planets: Vec = all_planets.into_iter().collect(); + + let mod_source = generate_mod_rs(&planets); + let mod_path = config.output_dir.join("mod.rs"); + fs::write(&mod_path, &mod_source).map_err(|e| format!("Failed to write mod.rs: {}", e))?; + println!( + " Generated mod.rs (planets: {:?})", + planets + .iter() + .map(|p| planet_module_name(*p)) + .collect::>() + ); + + for (planet, vsop) in vsop_files { + generate_planet_module(*planet, vsop, config, &config.output_dir)?; + } + + Ok(()) +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::parser::{Vsop2013Block, Vsop2013Header}; + use tempfile::TempDir; + + fn make_term(s: f64, c: f64) -> Vsop2013Term { + Vsop2013Term { + multipliers: [0; 17], + s_coeff: s, + c_coeff: c, + } + } + + fn make_term_with_mults(s: f64, c: f64, mults: [i32; 17]) -> Vsop2013Term { + Vsop2013Term { + multipliers: mults, + s_coeff: s, + c_coeff: c, + } + } + + fn make_block(var: Variable, time_power: u8, terms: Vec) -> Vsop2013Block { + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: var, + time_power, + term_count: terms.len() as u32, + }, + terms, + } + } + + fn make_test_vsop() -> Vsop2013File { + Vsop2013File { + planet: 3, + blocks: vec![ + make_block( + Variable::A, + 0, + vec![ + make_term(3.0, 4.0), // amplitude = 5 + make_term(0.6, 0.8), // amplitude = 1 + make_term(0.03, 0.04), // amplitude = 0.05 + ], + ), + make_block( + Variable::A, + 1, + vec![ + make_term(6.0, 8.0), // amplitude = 10 + ], + ), + make_block( + Variable::Lambda, + 0, + vec![ + make_term(30.0, 40.0), // amplitude = 50 + ], + ), + ], + } + } + + #[test] + fn test_format_float() { + assert_eq!(format_float(0.0), "0.0"); + assert!(format_float(1.5e-10).contains("1.5")); + assert!(format_float(-123.456789).contains("-1.23456789")); + } + + #[test] + fn test_format_float_negative_zero() { + // -0.0 should be treated as 0.0 + assert_eq!(format_float(-0.0), "0.0"); + } + + #[test] + fn test_format_multipliers() { + let mults = [0i16, 1, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + let result = format_multipliers(&mults); + assert_eq!(result, "[0,1,-2,3,0,0,0,0,0,0,0,0,0,0,0,0,0]"); + } + + #[test] + fn test_variable_const_name() { + assert_eq!(variable_const_name(Variable::A), "A"); + assert_eq!(variable_const_name(Variable::Lambda), "LAMBDA"); + assert_eq!(variable_const_name(Variable::K), "K"); + assert_eq!(variable_const_name(Variable::H), "H"); + assert_eq!(variable_const_name(Variable::Q), "Q"); + assert_eq!(variable_const_name(Variable::P), "P"); + } + + #[test] + fn test_variable_description() { + assert!(variable_description(Variable::A).contains("Semi-major")); + assert!(variable_description(Variable::Lambda).contains("Mean longitude")); + assert!(variable_description(Variable::K).contains("cos")); + assert!(variable_description(Variable::H).contains("sin")); + assert!(variable_description(Variable::Q).contains("node")); + assert!(variable_description(Variable::P).contains("node")); + } + + #[test] + fn test_planet_module_name() { + assert_eq!(planet_module_name(1), "mercury"); + assert_eq!(planet_module_name(2), "venus"); + assert_eq!(planet_module_name(3), "emb"); + assert_eq!(planet_module_name(4), "mars"); + assert_eq!(planet_module_name(5), "jupiter"); + assert_eq!(planet_module_name(6), "saturn"); + assert_eq!(planet_module_name(7), "uranus"); + assert_eq!(planet_module_name(8), "neptune"); + assert_eq!(planet_module_name(9), "pluto"); + assert_eq!(planet_module_name(99), "unknown"); + } + + #[test] + fn test_module_name_to_planet() { + assert_eq!(module_name_to_planet("mercury"), Some(1)); + assert_eq!(module_name_to_planet("venus"), Some(2)); + assert_eq!(module_name_to_planet("emb"), Some(3)); + assert_eq!(module_name_to_planet("mars"), Some(4)); + assert_eq!(module_name_to_planet("jupiter"), Some(5)); + assert_eq!(module_name_to_planet("saturn"), Some(6)); + assert_eq!(module_name_to_planet("uranus"), Some(7)); + assert_eq!(module_name_to_planet("neptune"), Some(8)); + assert_eq!(module_name_to_planet("pluto"), Some(9)); + assert_eq!(module_name_to_planet("unknown"), None); + } + + #[test] + fn test_generate_mod_rs() { + let planets = vec![3, 9]; + let source = generate_mod_rs(&planets); + assert!(source.contains("pub mod emb;")); + assert!(source.contains("pub mod pluto;")); + assert!(source.contains("pub struct Term")); + assert!(source.contains("pub struct TimeBlock")); + assert!(source.contains("VSOP2013 planetary coefficients")); + } + + #[test] + fn test_generate_mod_rs_all_planets() { + let planets: Vec = (1..=9).collect(); + let source = generate_mod_rs(&planets); + assert!(source.contains("pub mod mercury;")); + assert!(source.contains("pub mod venus;")); + assert!(source.contains("pub mod emb;")); + assert!(source.contains("pub mod mars;")); + assert!(source.contains("pub mod jupiter;")); + assert!(source.contains("pub mod saturn;")); + assert!(source.contains("pub mod uranus;")); + assert!(source.contains("pub mod neptune;")); + assert!(source.contains("pub mod pluto;")); + } + + #[test] + fn test_filtered_term_from_vsop_term() { + let vsop_term = make_term_with_mults( + 3.0, + 4.0, + [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + ); + let filtered: FilteredTerm = (&vsop_term).into(); + + assert!((filtered.s_coeff - 3.0).abs() < 1e-10); + assert!((filtered.c_coeff - 4.0).abs() < 1e-10); + assert!((filtered.amplitude - 5.0).abs() < 1e-10); + assert_eq!(filtered.multipliers[0], 1); + assert_eq!(filtered.multipliers[1], 2); + assert_eq!(filtered.multipliers[2], 3); + } + + #[test] + fn test_filter_and_group_terms() { + let vsop = make_test_vsop(); + let var_data = filter_and_group_terms(&vsop, 0.5); + + // Should have 2 variables: A and Lambda (K and others are empty) + assert_eq!(var_data.len(), 2); + + let a_data = var_data.iter().find(|v| v.variable == Variable::A).unwrap(); + assert_eq!(a_data.total_terms, 4); + assert_eq!(a_data.retained_terms, 3); // 5, 1, 10 above threshold 0.5 + + // Check blocks are sorted by power + assert_eq!(a_data.blocks.len(), 2); + assert_eq!(a_data.blocks[0].power, 0); + assert_eq!(a_data.blocks[1].power, 1); + + // Check terms are sorted by amplitude descending + let t0_terms = &a_data.blocks[0].terms; + assert!(t0_terms[0].amplitude > t0_terms[1].amplitude); + } + + #[test] + fn test_filter_and_group_terms_high_threshold() { + let vsop = make_test_vsop(); + let var_data = filter_and_group_terms(&vsop, 100.0); + + // No terms above threshold, so no variable data + assert!(var_data.is_empty()); + } + + #[test] + fn test_generate_planet_source() { + let vsop = make_test_vsop(); + let (source, retained, total) = generate_planet_source(3, &vsop, 0.5); + + assert!(source.contains("VSOP2013 coefficients for")); + assert!(source.contains("Earth-Moon Barycenter")); + assert!(source.contains("Threshold:")); + assert!(source.contains("pub const A:")); + assert!(source.contains("pub const LAMBDA:")); + assert!(source.contains("TimeBlock {")); + assert!(source.contains("Term {")); + + assert_eq!(total, 5); // 4 in A + 1 in Lambda + assert!(retained <= total); + } + + #[test] + fn test_generate_planet_source_contains_multipliers() { + let mut mults = [0i32; 17]; + mults[0] = 1; + mults[1] = -2; + let vsop = Vsop2013File { + planet: 1, + blocks: vec![make_block( + Variable::A, + 0, + vec![make_term_with_mults(10.0, 0.0, mults)], + )], + }; + + let (source, _, _) = generate_planet_source(1, &vsop, 0.0); + assert!(source.contains("1,-2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0")); + } + + #[test] + fn test_generate_planet_source_empty_vsop() { + let vsop = Vsop2013File { + planet: 5, + blocks: vec![], + }; + + let (source, retained, total) = generate_planet_source(5, &vsop, 0.0); + assert!(source.contains("Jupiter")); + assert_eq!(retained, 0); + assert_eq!(total, 0); + } + + #[test] + fn test_discover_existing_planets_empty_dir() { + let temp_dir = TempDir::new().unwrap(); + let planets = discover_existing_planets(temp_dir.path()); + assert!(planets.is_empty()); + } + + #[test] + fn test_discover_existing_planets_with_files() { + let temp_dir = TempDir::new().unwrap(); + + // Create some planet files + fs::write(temp_dir.path().join("mercury.rs"), "").unwrap(); + fs::write(temp_dir.path().join("venus.rs"), "").unwrap(); + fs::write(temp_dir.path().join("mod.rs"), "").unwrap(); // Should be ignored + + let planets = discover_existing_planets(temp_dir.path()); + assert!(planets.contains(&1)); // mercury + assert!(planets.contains(&2)); // venus + assert!(!planets.contains(&3)); // emb not present + } + + #[test] + fn test_discover_existing_planets_ignores_non_rs_files() { + let temp_dir = TempDir::new().unwrap(); + + fs::write(temp_dir.path().join("mercury.rs"), "").unwrap(); + fs::write(temp_dir.path().join("venus.txt"), "").unwrap(); // Should be ignored + fs::write(temp_dir.path().join("mars"), "").unwrap(); // Should be ignored + + let planets = discover_existing_planets(temp_dir.path()); + assert!(planets.contains(&1)); + assert!(!planets.contains(&2)); // venus.txt ignored + assert!(!planets.contains(&4)); // mars (no extension) ignored + } + + #[test] + fn test_generate_planet_module_creates_file() { + let temp_dir = TempDir::new().unwrap(); + let vsop = make_test_vsop(); + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_planet_module(3, &vsop, &config, temp_dir.path()).unwrap(); + + let file_path = temp_dir.path().join("emb.rs"); + assert!(file_path.exists()); + + let content = fs::read_to_string(file_path).unwrap(); + assert!(content.contains("VSOP2013")); + } + + #[test] + fn test_generate_all_creates_mod_and_planet_files() { + let temp_dir = TempDir::new().unwrap(); + let vsop1 = Vsop2013File { + planet: 1, + blocks: vec![make_block(Variable::A, 0, vec![make_term(1.0, 0.0)])], + }; + let vsop3 = Vsop2013File { + planet: 3, + blocks: vec![make_block(Variable::A, 0, vec![make_term(1.0, 0.0)])], + }; + + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_all(&[(1, vsop1), (3, vsop3)], &config).unwrap(); + + assert!(temp_dir.path().join("mod.rs").exists()); + assert!(temp_dir.path().join("mercury.rs").exists()); + assert!(temp_dir.path().join("emb.rs").exists()); + + let mod_content = fs::read_to_string(temp_dir.path().join("mod.rs")).unwrap(); + assert!(mod_content.contains("pub mod mercury;")); + assert!(mod_content.contains("pub mod emb;")); + } + + #[test] + fn test_generate_all_preserves_existing_planets() { + let temp_dir = TempDir::new().unwrap(); + + // Create an existing planet file + fs::write(temp_dir.path().join("venus.rs"), "// existing").unwrap(); + + let vsop = Vsop2013File { + planet: 3, + blocks: vec![make_block(Variable::A, 0, vec![make_term(1.0, 0.0)])], + }; + + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + generate_all(&[(3, vsop)], &config).unwrap(); + + let mod_content = fs::read_to_string(temp_dir.path().join("mod.rs")).unwrap(); + // Should include both venus (existing) and emb (newly generated) + assert!(mod_content.contains("pub mod venus;")); + assert!(mod_content.contains("pub mod emb;")); + } + + #[test] + fn test_generate_config_struct() { + let config = GenerateConfig { + threshold: 1e-10, + output_dir: std::path::PathBuf::from("/tmp/test"), + }; + assert_eq!(config.threshold, 1e-10); + } + + #[test] + fn test_generate_planet_source_time_power_comments() { + let vsop = Vsop2013File { + planet: 1, + blocks: vec![ + make_block(Variable::A, 0, vec![make_term(10.0, 0.0)]), + make_block(Variable::A, 2, vec![make_term(5.0, 0.0)]), + ], + }; + + let (source, _, _) = generate_planet_source(1, &vsop, 0.0); + assert!(source.contains("// T^0 terms")); + assert!(source.contains("// T^2 terms")); + } + + #[test] + fn test_generate_planet_module_empty_vsop() { + // This test exercises the else branch at line 321 (percentage = 0.0 when total == 0) + let temp_dir = TempDir::new().unwrap(); + let vsop = Vsop2013File { + planet: 7, + blocks: vec![], + }; + let config = GenerateConfig { + threshold: 0.0, + output_dir: temp_dir.path().to_path_buf(), + }; + + let result = generate_planet_module(7, &vsop, &config, temp_dir.path()); + assert!(result.is_ok()); + + let file_path = temp_dir.path().join("uranus.rs"); + assert!(file_path.exists()); + + let content = fs::read_to_string(file_path).unwrap(); + assert!(content.contains("Uranus")); + assert!(content.contains("0 of 0")); // Terms retained: 0 of 0 + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/main.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/main.rs new file mode 100644 index 0000000..caeac27 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/main.rs @@ -0,0 +1,430 @@ +#[cfg(feature = "cli")] +use clap::{Parser, Subcommand}; + +mod analyze; +mod download; +mod generate; +mod parser; + +use analyze::{analyze_file, print_analysis, print_summary_table}; +use download::{default_client, download_all, download_planet, find_planet_files}; +use generate::{generate_all, GenerateConfig}; +use parser::{parse_file, planet_name, Vsop2013File}; +use std::path::PathBuf; + +#[cfg(feature = "cli")] +#[derive(Parser)] +#[command(name = "vsop2013-gen")] +#[command(about = "VSOP2013 ephemeris data processor and Rust code generator")] +#[command(version)] +struct Cli { + #[command(subcommand)] + command: Commands, +} + +#[cfg(feature = "cli")] +#[derive(Subcommand)] +enum Commands { + Download { + #[arg(short, long, default_value = "./vsop2013")] + output: PathBuf, + #[arg(short, long, help = "Planet number (1-9) or 'all'")] + planet: Option, + }, + Analyze { + #[arg(short, long)] + input: PathBuf, + #[arg(short, long, help = "Planet number (1-9) or 'all'")] + planet: Option, + #[arg(short, long, default_value = "1e-10")] + threshold: f64, + }, + Generate { + #[arg(short, long)] + input: PathBuf, + #[arg(short, long)] + output: PathBuf, + #[arg(short, long)] + threshold: f64, + #[arg(short, long, help = "Planet number (1-9) or 'all'")] + planet: Option, + }, +} + +#[cfg(feature = "cli")] +fn parse_planet_arg(arg: &Option) -> Result, String> { + match arg { + None => Ok(None), + Some(s) if s == "all" => Ok(None), + Some(s) => { + let p: u8 = s.parse().map_err(|_| format!("Invalid planet: {}", s))?; + if !(1..=9).contains(&p) { + return Err(format!("Planet must be 1-9, got {}", p)); + } + Ok(Some(p)) + } + } +} + +#[cfg(feature = "cli")] +fn cmd_download(output: PathBuf, planet_arg: Option) -> Result<(), String> { + std::fs::create_dir_all(&output).map_err(|e| format!("Failed to create output dir: {}", e))?; + + let planet = parse_planet_arg(&planet_arg)?; + let client = default_client()?; + + match planet { + None => download_all(&client, &output), + Some(p) => { + println!("Downloading planet {} ({})...", p, planet_name(p)); + download_planet(p, &output) + } + } +} + +#[cfg(feature = "cli")] +fn cmd_analyze(input: PathBuf, planet_arg: Option, threshold: f64) -> Result<(), String> { + let planet = parse_planet_arg(&planet_arg)?; + + let files = match planet { + Some(p) => { + let path = input.join(download::planet_filename(p)); + if !path.exists() { + return Err(format!("File not found: {}", path.display())); + } + vec![(p, path)] + } + None => { + let found = find_planet_files(&input); + if found.is_empty() { + return Err(format!("No VSOP2013 files found in {}", input.display())); + } + found + } + }; + + let mut analyses = Vec::new(); + + for (p, path) in &files { + println!("Parsing planet {} ({})...", p, planet_name(*p)); + let analysis = analyze_file(path, threshold)?; + print_analysis(&analysis, threshold); + analyses.push(analysis); + } + + if analyses.len() > 1 { + print_summary_table(&analyses, threshold); + } + + Ok(()) +} + +#[cfg(feature = "cli")] +fn cmd_generate( + input: PathBuf, + output: PathBuf, + threshold: f64, + planet_arg: Option, +) -> Result<(), String> { + let planet = parse_planet_arg(&planet_arg)?; + + let files = match planet { + Some(p) => { + let path = input.join(download::planet_filename(p)); + if !path.exists() { + return Err(format!("File not found: {}", path.display())); + } + vec![(p, path)] + } + None => { + let found = find_planet_files(&input); + if found.is_empty() { + return Err(format!("No VSOP2013 files found in {}", input.display())); + } + found + } + }; + + println!("Parsing VSOP2013 files..."); + let mut vsop_files: Vec<(u8, Vsop2013File)> = Vec::new(); + for (p, path) in &files { + println!(" Parsing planet {} ({})...", p, planet_name(*p)); + let vsop = parse_file(path).map_err(|e| format!("Parse error: {}", e))?; + vsop_files.push((*p, vsop)); + } + + let config = GenerateConfig { + threshold, + output_dir: output.clone(), + }; + + println!("\nGenerating Rust code (threshold: {:.0e})...", threshold); + generate_all(&vsop_files, &config)?; + + println!("\nGeneration complete!"); + println!("Output directory: {}", output.display()); + Ok(()) +} + +#[cfg(feature = "cli")] +fn main() { + let cli = Cli::parse(); + + let result = match cli.command { + Commands::Download { output, planet } => cmd_download(output, planet), + Commands::Analyze { + input, + planet, + threshold, + } => cmd_analyze(input, planet, threshold), + Commands::Generate { + input, + output, + threshold, + planet, + } => cmd_generate(input, output, threshold, planet), + }; + + if let Err(e) = result { + eprintln!("Error: {}", e); + std::process::exit(1); + } +} + +#[cfg(not(feature = "cli"))] +fn main() { + eprintln!("vsop2013-gen requires the 'cli' feature."); + eprintln!("Run with: cargo run --features cli --bin vsop2013-gen -- "); + std::process::exit(1); +} + +#[cfg(all(test, feature = "cli"))] +mod tests { + use super::*; + use std::fs; + use tempfile::TempDir; + + #[test] + fn test_parse_planet_arg_none() { + let result = parse_planet_arg(&None); + assert!(result.is_ok()); + assert_eq!(result.unwrap(), None); + } + + #[test] + fn test_parse_planet_arg_all() { + let result = parse_planet_arg(&Some("all".to_string())); + assert!(result.is_ok()); + assert_eq!(result.unwrap(), None); + } + + #[test] + fn test_parse_planet_arg_valid_planets() { + for p in 1..=9 { + let result = parse_planet_arg(&Some(p.to_string())); + assert!(result.is_ok(), "Failed for planet {}", p); + assert_eq!(result.unwrap(), Some(p)); + } + } + + #[test] + fn test_parse_planet_arg_invalid_planet_zero() { + let result = parse_planet_arg(&Some("0".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Planet must be 1-9")); + } + + #[test] + fn test_parse_planet_arg_invalid_planet_ten() { + let result = parse_planet_arg(&Some("10".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Planet must be 1-9")); + } + + #[test] + fn test_parse_planet_arg_invalid_string() { + let result = parse_planet_arg(&Some("mars".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Invalid planet")); + } + + #[test] + fn test_cmd_download_creates_output_dir() { + let temp_dir = TempDir::new().unwrap(); + let output_path = temp_dir.path().join("new_subdir"); + + assert!(!output_path.exists()); + + // This will fail because we can't actually download in tests, + // but it should at least create the directory first + let _ = cmd_download(output_path.clone(), Some("invalid".to_string())); + + // Directory should have been created before the invalid planet error + assert!(output_path.exists()); + } + + #[test] + fn test_cmd_download_invalid_planet() { + let temp_dir = TempDir::new().unwrap(); + let result = cmd_download(temp_dir.path().to_path_buf(), Some("invalid".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Invalid planet")); + } + + #[test] + fn test_cmd_analyze_no_files() { + let temp_dir = TempDir::new().unwrap(); + let result = cmd_analyze(temp_dir.path().to_path_buf(), None, 1e-10); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("No VSOP2013 files found")); + } + + #[test] + fn test_cmd_analyze_specific_planet_not_found() { + let temp_dir = TempDir::new().unwrap(); + let result = cmd_analyze(temp_dir.path().to_path_buf(), Some("3".to_string()), 1e-10); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("File not found")); + } + + #[test] + fn test_cmd_analyze_invalid_planet() { + let temp_dir = TempDir::new().unwrap(); + let result = cmd_analyze( + temp_dir.path().to_path_buf(), + Some("invalid".to_string()), + 1e-10, + ); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Invalid planet")); + } + + #[test] + fn test_cmd_generate_no_files() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + let result = cmd_generate(input, output, 1e-10, None); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("No VSOP2013 files found")); + } + + #[test] + fn test_cmd_generate_specific_planet_not_found() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + let result = cmd_generate(input, output, 1e-10, Some("5".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("File not found")); + } + + #[test] + fn test_cmd_generate_invalid_planet() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + let result = cmd_generate(input, output, 1e-10, Some("bad".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Invalid planet")); + } + + #[test] + fn test_cmd_generate_planet_out_of_range() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + let result = cmd_generate(input, output, 1e-10, Some("15".to_string())); + assert!(result.is_err()); + assert!(result.unwrap_err().contains("Planet must be 1-9")); + } + + fn create_mock_vsop_file(path: &std::path::Path, planet: u8) { + let content = format!(" VSOP2013 {} 1 0 2 PLANET VAR A T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1000000000000000 +00 0.0000000000000000 +00 + 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2000000000000000 +00 0.0000000000000000 +00 +", planet); + std::fs::write(path, content).unwrap(); + } + + #[test] + fn test_cmd_analyze_with_mock_file() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().to_path_buf(); + + // Create a mock VSOP file for planet 3 + let file_path = input.join("VSOP2013p3.dat"); + create_mock_vsop_file(&file_path, 3); + + // Analyze specific planet + let result = cmd_analyze(input.clone(), Some("3".to_string()), 1e-10); + assert!(result.is_ok(), "cmd_analyze failed: {:?}", result.err()); + } + + #[test] + fn test_cmd_analyze_all_planets_mock() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().to_path_buf(); + + // Create mock files for multiple planets + for planet in [1, 3, 5] { + let file_path = input.join(format!("VSOP2013p{}.dat", planet)); + create_mock_vsop_file(&file_path, planet); + } + + // Analyze all available planets (None triggers the find_planet_files path) + let result = cmd_analyze(input, None, 1e-10); + assert!(result.is_ok(), "cmd_analyze failed: {:?}", result.err()); + } + + #[test] + fn test_cmd_generate_with_mock_file() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + // Create a mock VSOP file + let file_path = input.join("VSOP2013p5.dat"); + create_mock_vsop_file(&file_path, 5); + + // Generate for specific planet + let result = cmd_generate(input.clone(), output.clone(), 1e-10, Some("5".to_string())); + assert!(result.is_ok(), "cmd_generate failed: {:?}", result.err()); + + // Check output files + assert!(output.join("mod.rs").exists()); + assert!(output.join("jupiter.rs").exists()); + } + + #[test] + fn test_cmd_generate_all_planets_mock() { + let temp_dir = TempDir::new().unwrap(); + let input = temp_dir.path().join("input"); + let output = temp_dir.path().join("output"); + fs::create_dir_all(&input).unwrap(); + + // Create mock files for multiple planets + for planet in [1, 2] { + let file_path = input.join(format!("VSOP2013p{}.dat", planet)); + create_mock_vsop_file(&file_path, planet); + } + + // Generate for all available planets + let result = cmd_generate(input, output.clone(), 1e-10, None); + assert!(result.is_ok(), "cmd_generate failed: {:?}", result.err()); + + // Check output files + assert!(output.join("mod.rs").exists()); + assert!(output.join("mercury.rs").exists()); + assert!(output.join("venus.rs").exists()); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/mod.rs new file mode 100644 index 0000000..45e6484 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/mod.rs @@ -0,0 +1,4 @@ +pub mod analyze; +pub mod download; +pub mod generate; +pub mod parser; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/parser.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/parser.rs new file mode 100644 index 0000000..5bd45c8 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/parser.rs @@ -0,0 +1,899 @@ +use std::fmt; +use std::fs::File; +use std::io::{BufRead, BufReader}; +use std::path::Path; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Variable { + A, + Lambda, + K, + H, + Q, + P, +} + +impl Variable { + pub fn from_index(idx: u8) -> Option { + match idx { + 1 => Some(Variable::A), + 2 => Some(Variable::Lambda), + 3 => Some(Variable::K), + 4 => Some(Variable::H), + 5 => Some(Variable::Q), + 6 => Some(Variable::P), + _ => None, + } + } + + pub fn name(&self) -> &'static str { + match self { + Variable::A => "A (semi-major axis)", + Variable::Lambda => "Lambda (mean longitude)", + Variable::K => "K (e*cos(perihelion))", + Variable::H => "H (e*sin(perihelion))", + Variable::Q => "Q (sin(i/2)*cos(node))", + Variable::P => "P (sin(i/2)*sin(node))", + } + } +} + +impl fmt::Display for Variable { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let name = match self { + Variable::A => "A", + Variable::Lambda => "L", + Variable::K => "K", + Variable::H => "H", + Variable::Q => "Q", + Variable::P => "P", + }; + write!(f, "{}", name) + } +} + +#[derive(Debug, Clone)] +pub struct Vsop2013Header { + pub planet: u8, + pub variable: Variable, + pub time_power: u8, + pub term_count: u32, +} + +#[derive(Debug, Clone)] +pub struct Vsop2013Term { + pub multipliers: [i32; 17], + pub s_coeff: f64, + pub c_coeff: f64, +} + +impl Vsop2013Term { + pub fn amplitude(&self) -> f64 { + libm::sqrt(self.s_coeff.powi(2) + self.c_coeff.powi(2)) + } +} + +#[derive(Debug, Clone)] +pub struct Vsop2013Block { + pub header: Vsop2013Header, + pub terms: Vec, +} + +#[derive(Debug, Clone)] +pub struct Vsop2013File { + pub planet: u8, + pub blocks: Vec, +} + +impl Vsop2013File { + pub fn total_terms(&self) -> usize { + self.blocks.iter().map(|b| b.terms.len()).sum() + } + + pub fn blocks_for_variable(&self, var: Variable) -> impl Iterator { + self.blocks.iter().filter(move |b| b.header.variable == var) + } +} + +#[derive(Debug)] +pub enum ParseError { + IoError(std::io::Error), + InvalidHeader(String), + InvalidTerm(String), + InvalidVariable(u8), + MissingTerms { expected: u32, found: u32 }, +} + +impl fmt::Display for ParseError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + ParseError::IoError(e) => write!(f, "IO error: {}", e), + ParseError::InvalidHeader(s) => write!(f, "Invalid header: {}", s), + ParseError::InvalidTerm(s) => write!(f, "Invalid term: {}", s), + ParseError::InvalidVariable(v) => write!(f, "Invalid variable index: {}", v), + ParseError::MissingTerms { expected, found } => { + write!(f, "Expected {} terms, found {}", expected, found) + } + } + } +} + +impl std::error::Error for ParseError {} + +impl From for ParseError { + fn from(e: std::io::Error) -> Self { + ParseError::IoError(e) + } +} + +fn parse_fortran_float(s: &str, exp: &str) -> Result { + let mantissa: f64 = s + .trim() + .parse() + .map_err(|_| ParseError::InvalidTerm(format!("Invalid mantissa: '{}'", s)))?; + let exponent: i32 = exp + .trim() + .parse() + .map_err(|_| ParseError::InvalidTerm(format!("Invalid exponent: '{}'", exp)))?; + Ok(mantissa * 10f64.powi(exponent)) +} + +fn parse_header(line: &str) -> Result { + if !line.starts_with(" VSOP2013") { + return Err(ParseError::InvalidHeader(format!( + "Line doesn't start with ' VSOP2013': '{}'", + line + ))); + } + + let parts: Vec<&str> = line.split_whitespace().collect(); + if parts.len() < 5 { + return Err(ParseError::InvalidHeader(format!( + "Not enough parts in header: '{}'", + line + ))); + } + + let planet: u8 = parts[1] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid planet: '{}'", parts[1])))?; + let var_idx: u8 = parts[2] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid variable: '{}'", parts[2])))?; + let time_power: u8 = parts[3] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid time power: '{}'", parts[3])))?; + let term_count: u32 = parts[4] + .parse() + .map_err(|_| ParseError::InvalidHeader(format!("Invalid term count: '{}'", parts[4])))?; + + let variable = Variable::from_index(var_idx).ok_or(ParseError::InvalidVariable(var_idx))?; + + Ok(Vsop2013Header { + planet, + variable, + time_power, + term_count, + }) +} + +fn tokenize_numbers(s: &str) -> Vec<&str> { + let mut tokens = Vec::new(); + let mut start = None; + let bytes = s.as_bytes(); + + for (i, &ch) in bytes.iter().enumerate() { + let is_digit = ch.is_ascii_digit(); + let is_sign = ch == b'-' || ch == b'+'; + let is_dot = ch == b'.'; + + match start { + None => { + if is_digit || is_sign || is_dot { + start = Some(i); + } + } + Some(s_idx) => { + if is_sign && i > 0 && bytes[i - 1].is_ascii_digit() { + tokens.push(&s[s_idx..i]); + start = Some(i); + } else if !is_digit && !is_sign && !is_dot { + tokens.push(&s[s_idx..i]); + start = None; + } + } + } + } + if let Some(s_idx) = start { + tokens.push(&s[s_idx..]); + } + tokens +} + +fn parse_term(line: &str) -> Result { + let tokens = tokenize_numbers(line); + + if tokens.len() < 22 { + return Err(ParseError::InvalidTerm(format!( + "Not enough tokens ({}): '{}'", + tokens.len(), + line + ))); + } + + let mut multipliers = [0i32; 17]; + for i in 0..17 { + multipliers[i] = tokens[i + 1].parse().map_err(|_| { + ParseError::InvalidTerm(format!("Invalid multiplier: '{}'", tokens[i + 1])) + })?; + } + + let s_coeff = parse_fortran_float(tokens[18], tokens[19])?; + let c_coeff = parse_fortran_float(tokens[20], tokens[21])?; + + Ok(Vsop2013Term { + multipliers, + s_coeff, + c_coeff, + }) +} + +pub fn parse_file(path: &Path) -> Result { + let file = File::open(path)?; + let reader = BufReader::new(file); + let lines = reader.lines(); + + let mut blocks = Vec::new(); + let mut current_block: Option = None; + let mut planet: Option = None; + + for line_result in lines { + let line = line_result?; + + if line.starts_with(" VSOP2013") { + if let Some(block) = current_block.take() { + if block.terms.len() as u32 != block.header.term_count { + return Err(ParseError::MissingTerms { + expected: block.header.term_count, + found: block.terms.len() as u32, + }); + } + blocks.push(block); + } + + let header = parse_header(&line)?; + if planet.is_none() { + planet = Some(header.planet); + } + + current_block = Some(Vsop2013Block { + header, + terms: Vec::new(), + }); + } else if let Some(ref mut block) = current_block { + let term = parse_term(&line)?; + block.terms.push(term); + } + } + + if let Some(block) = current_block { + if block.terms.len() as u32 != block.header.term_count { + return Err(ParseError::MissingTerms { + expected: block.header.term_count, + found: block.terms.len() as u32, + }); + } + blocks.push(block); + } + + Ok(Vsop2013File { + planet: planet.unwrap_or(0), + blocks, + }) +} + +pub fn planet_name(planet: u8) -> &'static str { + match planet { + 1 => "Mercury", + 2 => "Venus", + 3 => "Earth-Moon Barycenter", + 4 => "Mars", + 5 => "Jupiter", + 6 => "Saturn", + 7 => "Uranus", + 8 => "Neptune", + 9 => "Pluto", + _ => "Unknown", + } +} + +#[cfg(test)] +mod tests { + use super::*; + use tempfile::TempDir; + + const TEST_FILE: &str = "references/ephemeris/vsop2013/VSOP2013p3.dat"; + + #[test] + fn test_variable_from_index_all_valid() { + assert_eq!(Variable::from_index(1), Some(Variable::A)); + assert_eq!(Variable::from_index(2), Some(Variable::Lambda)); + assert_eq!(Variable::from_index(3), Some(Variable::K)); + assert_eq!(Variable::from_index(4), Some(Variable::H)); + assert_eq!(Variable::from_index(5), Some(Variable::Q)); + assert_eq!(Variable::from_index(6), Some(Variable::P)); + } + + #[test] + fn test_variable_from_index_invalid() { + assert_eq!(Variable::from_index(0), None); + assert_eq!(Variable::from_index(7), None); + assert_eq!(Variable::from_index(100), None); + } + + #[test] + fn test_variable_name_all_variants() { + assert_eq!(Variable::A.name(), "A (semi-major axis)"); + assert_eq!(Variable::Lambda.name(), "Lambda (mean longitude)"); + assert_eq!(Variable::K.name(), "K (e*cos(perihelion))"); + assert_eq!(Variable::H.name(), "H (e*sin(perihelion))"); + assert_eq!(Variable::Q.name(), "Q (sin(i/2)*cos(node))"); + assert_eq!(Variable::P.name(), "P (sin(i/2)*sin(node))"); + } + + #[test] + fn test_variable_display_all() { + assert_eq!(format!("{}", Variable::A), "A"); + assert_eq!(format!("{}", Variable::Lambda), "L"); + assert_eq!(format!("{}", Variable::K), "K"); + assert_eq!(format!("{}", Variable::H), "H"); + assert_eq!(format!("{}", Variable::Q), "Q"); + assert_eq!(format!("{}", Variable::P), "P"); + } + + #[test] + fn test_parse_error_display_io_error() { + let io_err = std::io::Error::new(std::io::ErrorKind::NotFound, "file not found"); + let err = ParseError::IoError(io_err); + let display = format!("{}", err); + assert!(display.contains("IO error")); + assert!(display.contains("file not found")); + } + + #[test] + fn test_parse_error_display_invalid_header() { + let err = ParseError::InvalidHeader("bad header".to_string()); + let display = format!("{}", err); + assert!(display.contains("Invalid header")); + assert!(display.contains("bad header")); + } + + #[test] + fn test_parse_error_display_invalid_term() { + let err = ParseError::InvalidTerm("bad term".to_string()); + let display = format!("{}", err); + assert!(display.contains("Invalid term")); + assert!(display.contains("bad term")); + } + + #[test] + fn test_parse_error_display_invalid_variable() { + let err = ParseError::InvalidVariable(99); + let display = format!("{}", err); + assert!(display.contains("Invalid variable index")); + assert!(display.contains("99")); + } + + #[test] + fn test_parse_error_display_missing_terms() { + let err = ParseError::MissingTerms { + expected: 100, + found: 50, + }; + let display = format!("{}", err); + assert!(display.contains("Expected 100 terms")); + assert!(display.contains("found 50")); + } + + #[test] + fn test_parse_error_from_io_error() { + let io_err = std::io::Error::new(std::io::ErrorKind::PermissionDenied, "access denied"); + let err: ParseError = io_err.into(); + match err { + ParseError::IoError(e) => assert!(e.to_string().contains("access denied")), + _ => panic!("Expected IoError variant"), + } + } + + #[test] + fn test_parse_header() { + let line = " VSOP2013 3 1 0 32658 EARTH-MOON VARIABLE A *T*00"; + let header = parse_header(line).unwrap(); + assert_eq!(header.planet, 3); + assert_eq!(header.variable, Variable::A); + assert_eq!(header.time_power, 0); + assert_eq!(header.term_count, 32658); + } + + #[test] + fn test_parse_header_all_variables() { + for (idx, expected_var) in [ + (1, Variable::A), + (2, Variable::Lambda), + (3, Variable::K), + (4, Variable::H), + (5, Variable::Q), + (6, Variable::P), + ] { + let line = format!(" VSOP2013 5 {} 2 100 JUPITER VAR", idx); + let header = parse_header(&line).unwrap(); + assert_eq!(header.variable, expected_var); + } + } + + #[test] + fn test_parse_header_error_not_vsop() { + let line = "SOME OTHER FORMAT"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("doesn't start with")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_not_enough_parts() { + let line = " VSOP2013 1 2"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("Not enough parts")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_invalid_planet() { + let line = " VSOP2013 X 1 0 100 INVALID"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("Invalid planet")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_invalid_variable_number() { + let line = " VSOP2013 3 Y 0 100 INVALID"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("Invalid variable")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_invalid_time_power() { + let line = " VSOP2013 3 1 Z 100 INVALID"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("Invalid time power")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_invalid_term_count() { + let line = " VSOP2013 3 1 0 XXX INVALID"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidHeader(s) => assert!(s.contains("Invalid term count")), + _ => panic!("Expected InvalidHeader"), + } + } + + #[test] + fn test_parse_header_error_invalid_variable_index() { + let line = " VSOP2013 3 9 0 100 INVALID"; + let result = parse_header(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidVariable(idx) => assert_eq!(idx, 9), + _ => panic!("Expected InvalidVariable"), + } + } + + #[test] + fn test_tokenize_numbers_basic() { + let tokens = tokenize_numbers("1 2 3"); + assert_eq!(tokens, vec!["1", "2", "3"]); + } + + #[test] + fn test_tokenize_numbers_with_signs() { + let tokens = tokenize_numbers("-1 +2 -3"); + assert_eq!(tokens, vec!["-1", "+2", "-3"]); + } + + #[test] + fn test_tokenize_numbers_with_decimals() { + let tokens = tokenize_numbers("1.5 -2.3 +0.7"); + assert_eq!(tokens, vec!["1.5", "-2.3", "+0.7"]); + } + + #[test] + fn test_tokenize_numbers_fortran_style() { + let tokens = tokenize_numbers("-0.7736236063963646 -08"); + assert_eq!(tokens, vec!["-0.7736236063963646", "-08"]); + } + + #[test] + fn test_tokenize_numbers_digit_followed_by_sign() { + // This tests lines 197-199: when a sign follows directly after a digit (no space) + // This pattern appears in VSOP files where exponent immediately follows mantissa + let tokens = tokenize_numbers("1.234-05"); + assert_eq!(tokens, vec!["1.234", "-05"]); + + let tokens = tokenize_numbers("9.87+03"); + assert_eq!(tokens, vec!["9.87", "+03"]); + + // Multiple occurrences + let tokens = tokenize_numbers("1.0-01 2.0+02"); + assert_eq!(tokens, vec!["1.0", "-01", "2.0", "+02"]); + } + + #[test] + fn test_tokenize_numbers_vsop_term_line() { + let line = " 2 0 0 2 0 0 0 0 0 0 -2 0 0 0 0 0 0 0 -0.7736236063963646 -08 0.1120495653357545 -04"; + let tokens = tokenize_numbers(line); + assert!(tokens.len() >= 22); + assert_eq!(tokens[0], "2"); + assert_eq!(tokens[1], "0"); + assert_eq!(tokens[10], "-2"); + } + + #[test] + fn test_parse_term() { + let line = " 2 0 0 2 0 0 0 0 0 0 -2 0 0 0 0 0 0 0 -0.7736236063963646 -08 0.1120495653357545 -04"; + let term = parse_term(line).unwrap(); + + assert_eq!(term.multipliers[0], 0); + assert_eq!(term.multipliers[1], 0); + assert_eq!(term.multipliers[2], 2); + assert_eq!(term.multipliers[9], -2); + + let expected_s = -7.736236063963646e-9; + let expected_c = 1.120495653357545e-5; + assert!((term.s_coeff - expected_s).abs() < 1e-20); + assert!((term.c_coeff - expected_c).abs() < 1e-16); + } + + #[test] + fn test_parse_term_not_enough_tokens() { + let line = "1 2 3 4 5"; + let result = parse_term(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidTerm(s) => assert!(s.contains("Not enough tokens")), + _ => panic!("Expected InvalidTerm"), + } + } + + #[test] + fn test_parse_term_invalid_multiplier() { + // Use a value that's too large for i32 to cause a parse error + let line = " 2 9999999999999 0 2 0 0 0 0 0 0 -2 0 0 0 0 0 0 0 -0.77 -08 0.11 -04"; + let result = parse_term(line); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidTerm(s) => assert!(s.contains("Invalid multiplier")), + _ => panic!("Expected InvalidTerm"), + } + } + + #[test] + fn test_parse_fortran_float() { + assert!( + (parse_fortran_float("-0.7736236063963646", "-08").unwrap() - (-7.736236063963646e-9)) + .abs() + < 1e-20 + ); + assert!( + (parse_fortran_float("0.1000001017641000", "+01").unwrap() - 1.000001017641).abs() + < 1e-15 + ); + assert!( + (parse_fortran_float("0.1120495653357545", "-04").unwrap() - 1.120495653357545e-5) + .abs() + < 1e-16 + ); + } + + #[test] + fn test_parse_fortran_float_invalid_mantissa() { + let result = parse_fortran_float("not_a_number", "-08"); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidTerm(s) => assert!(s.contains("Invalid mantissa")), + _ => panic!("Expected InvalidTerm"), + } + } + + #[test] + fn test_parse_fortran_float_invalid_exponent() { + let result = parse_fortran_float("0.123", "abc"); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::InvalidTerm(s) => assert!(s.contains("Invalid exponent")), + _ => panic!("Expected InvalidTerm"), + } + } + + #[test] + fn test_amplitude() { + let term = Vsop2013Term { + multipliers: [0; 17], + s_coeff: 3.0, + c_coeff: 4.0, + }; + assert!((term.amplitude() - 5.0).abs() < 1e-15); + } + + #[test] + fn test_vsop2013_file_total_terms() { + let vsop = Vsop2013File { + planet: 3, + blocks: vec![ + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: Variable::A, + time_power: 0, + term_count: 2, + }, + terms: vec![ + Vsop2013Term { + multipliers: [0; 17], + s_coeff: 1.0, + c_coeff: 1.0, + }, + Vsop2013Term { + multipliers: [0; 17], + s_coeff: 2.0, + c_coeff: 2.0, + }, + ], + }, + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: Variable::Lambda, + time_power: 0, + term_count: 1, + }, + terms: vec![Vsop2013Term { + multipliers: [0; 17], + s_coeff: 3.0, + c_coeff: 3.0, + }], + }, + ], + }; + assert_eq!(vsop.total_terms(), 3); + } + + #[test] + fn test_vsop2013_file_blocks_for_variable() { + let vsop = Vsop2013File { + planet: 3, + blocks: vec![ + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: Variable::A, + time_power: 0, + term_count: 1, + }, + terms: vec![Vsop2013Term { + multipliers: [0; 17], + s_coeff: 1.0, + c_coeff: 1.0, + }], + }, + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: Variable::Lambda, + time_power: 0, + term_count: 1, + }, + terms: vec![Vsop2013Term { + multipliers: [0; 17], + s_coeff: 2.0, + c_coeff: 2.0, + }], + }, + Vsop2013Block { + header: Vsop2013Header { + planet: 3, + variable: Variable::A, + time_power: 1, + term_count: 1, + }, + terms: vec![Vsop2013Term { + multipliers: [0; 17], + s_coeff: 3.0, + c_coeff: 3.0, + }], + }, + ], + }; + + let a_blocks: Vec<_> = vsop.blocks_for_variable(Variable::A).collect(); + assert_eq!(a_blocks.len(), 2); + assert_eq!(a_blocks[0].header.time_power, 0); + assert_eq!(a_blocks[1].header.time_power, 1); + + let lambda_blocks: Vec<_> = vsop.blocks_for_variable(Variable::Lambda).collect(); + assert_eq!(lambda_blocks.len(), 1); + } + + #[test] + fn test_planet_name_all_planets() { + assert_eq!(planet_name(1), "Mercury"); + assert_eq!(planet_name(2), "Venus"); + assert_eq!(planet_name(3), "Earth-Moon Barycenter"); + assert_eq!(planet_name(4), "Mars"); + assert_eq!(planet_name(5), "Jupiter"); + assert_eq!(planet_name(6), "Saturn"); + assert_eq!(planet_name(7), "Uranus"); + assert_eq!(planet_name(8), "Neptune"); + assert_eq!(planet_name(9), "Pluto"); + } + + #[test] + fn test_planet_name_unknown() { + assert_eq!(planet_name(0), "Unknown"); + assert_eq!(planet_name(10), "Unknown"); + assert_eq!(planet_name(255), "Unknown"); + } + + #[test] + fn test_parse_file_with_mock_data() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("test_vsop.dat"); + + let content = " VSOP2013 3 1 0 2 EARTH VAR A T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1000000000000000 +00 0.0000000000000000 +00 + 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2000000000000000 +00 0.0000000000000000 +00 + VSOP2013 3 2 0 1 EARTH VAR LAMBDA T^0 + 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3000000000000000 +00 0.0000000000000000 +00 +"; + std::fs::write(&file_path, content).unwrap(); + + let result = parse_file(&file_path); + assert!(result.is_ok(), "Parse failed: {:?}", result.err()); + + let vsop = result.unwrap(); + assert_eq!(vsop.planet, 3); + assert_eq!(vsop.blocks.len(), 2); + + let block1 = &vsop.blocks[0]; + assert_eq!(block1.header.variable, Variable::A); + assert_eq!(block1.header.time_power, 0); + assert_eq!(block1.header.term_count, 2); + assert_eq!(block1.terms.len(), 2); + + let block2 = &vsop.blocks[1]; + assert_eq!(block2.header.variable, Variable::Lambda); + assert_eq!(block2.terms.len(), 1); + } + + #[test] + fn test_parse_file_missing_terms_error() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("bad_vsop.dat"); + + let content = " VSOP2013 3 1 0 5 EARTH VAR A T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1000000000000000 +00 0.0000000000000000 +00 +"; + std::fs::write(&file_path, content).unwrap(); + + let result = parse_file(&file_path); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::MissingTerms { expected, found } => { + assert_eq!(expected, 5); + assert_eq!(found, 1); + } + e => panic!("Expected MissingTerms, got {:?}", e), + } + } + + #[test] + fn test_parse_file_missing_terms_mid_file() { + // This test exercises lines 256-258: MissingTerms error when it occurs + // before another header (mid-file), not at end of file + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("bad_vsop_mid.dat"); + + // First block claims 5 terms but only has 1, followed by another header + let content = " VSOP2013 3 1 0 5 EARTH VAR A T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1000000000000000 +00 0.0000000000000000 +00 + VSOP2013 3 2 0 1 EARTH VAR LAMBDA T^0 + 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2000000000000000 +00 0.0000000000000000 +00 +"; + std::fs::write(&file_path, content).unwrap(); + + let result = parse_file(&file_path); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::MissingTerms { expected, found } => { + assert_eq!(expected, 5); + assert_eq!(found, 1); + } + e => panic!("Expected MissingTerms, got {:?}", e), + } + } + + #[test] + fn test_parse_file_empty() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("empty.dat"); + std::fs::write(&file_path, "").unwrap(); + + let result = parse_file(&file_path); + assert!(result.is_ok()); + let vsop = result.unwrap(); + assert_eq!(vsop.planet, 0); + assert!(vsop.blocks.is_empty()); + } + + #[test] + fn test_parse_file_io_error() { + let result = parse_file(Path::new("/nonexistent/path/file.dat")); + assert!(result.is_err()); + match result.unwrap_err() { + ParseError::IoError(_) => {} + e => panic!("Expected IoError, got {:?}", e), + } + } + + #[test] + #[ignore = "requires local VSOP2013 data files"] + fn test_parse_file() { + let path = Path::new(TEST_FILE); + let result = parse_file(path); + assert!(result.is_ok(), "Parse failed: {:?}", result.err()); + + let vsop = result.unwrap(); + assert_eq!(vsop.planet, 3); + assert!(!vsop.blocks.is_empty()); + + let first_block = &vsop.blocks[0]; + assert_eq!(first_block.header.variable, Variable::A); + assert_eq!(first_block.header.time_power, 0); + assert_eq!(first_block.header.term_count, 32658); + assert_eq!(first_block.terms.len(), 32658); + + let total = vsop.total_terms(); + assert!(total > 100_000, "Expected > 100k terms, got {}", total); + } + + #[test] + #[ignore = "requires local VSOP2013 data files"] + fn test_blocks_for_variable() { + let path = Path::new(TEST_FILE); + let vsop = parse_file(path).unwrap(); + let a_blocks: Vec<_> = vsop.blocks_for_variable(Variable::A).collect(); + assert!(!a_blocks.is_empty()); + for block in &a_blocks { + assert_eq!(block.header.variable, Variable::A); + } + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/pluto_horizons.rs b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/pluto_horizons.rs new file mode 100644 index 0000000..ab2ccc4 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/bin/vsop2013_gen/pluto_horizons.rs @@ -0,0 +1,111 @@ +//! JPL Horizons validation data for Pluto +//! +//! Heliocentric ICRF state vectors from JPL Horizons (DE440) +//! Retrieved: 2026-01-08 +//! Range: 1975-01-01 to 2075-01-01 (yearly intervals) +//! Units: AU, AU/day + +/// (JD TDB, X, Y, Z, VX, VY, VZ) +pub const PLUTO_HORIZONS: &[(f64, f64, f64, f64, f64, f64, f64)] = &[ + (2442413.5, -2.924881650269560E+01, -7.142181724680100E+00, 6.584039575915890E+00, 8.964319839120056E-04, -3.067312901470324E-03, -1.231327786191612E-03), + (2442778.5, -2.889924515109913E+01, -8.253386825710320E+00, 6.131977288508315E+00, 1.000654646533747E-03, -3.037944203382506E-03, -1.243139849859970E-03), + (2443144.5, -2.851028192274890E+01, -9.357033609459613E+00, 5.669991782406310E+00, 1.123005352709221E-03, -2.991825508934704E-03, -1.265163422257155E-03), + (2443509.5, -2.808344184393560E+01, -1.044591651779523E+01, 5.200860304598097E+00, 1.233526319867185E-03, -2.956781032876931E-03, -1.299511509883603E-03), + (2443874.5, -2.761703839588737E+01, -1.152146898274775E+01, 4.723843713709174E+00, 1.337641020684134E-03, -2.923808546314673E-03, -1.329746079616429E-03), + (2444239.5, -2.711060082641487E+01, -1.258172470342896E+01, 4.239637015384732E+00, 1.438648938529402E-03, -2.887251599960887E-03, -1.347995488755830E-03), + (2444605.5, -2.656247727064999E+01, -1.362732371881647E+01, 3.747725252728822E+00, 1.544812785681457E-03, -2.836483605360200E-03, -1.341877371528484E-03), + (2444970.5, -2.597589929701889E+01, -1.465024445313191E+01, 3.251697895340983E+00, 1.661606472321706E-03, -2.770843611215602E-03, -1.351896054152352E-03), + (2445335.5, -2.535008348214327E+01, -1.565116074058325E+01, 2.751112845178706E+00, 1.775880881979916E-03, -2.701212857876354E-03, -1.370128073604053E-03), + (2445700.5, -2.468605102437348E+01, -1.662797147119036E+01, 2.246869553950118E+00, 1.880220460927150E-03, -2.633160339851793E-03, -1.391242488268346E-03), + (2446066.5, -2.398315439705208E+01, -1.758139303884253E+01, 1.738405862886049E+00, 1.963564197674233E-03, -2.575027662517529E-03, -1.402668043119628E-03), + (2446431.5, -2.324681137090836E+01, -1.850469326808732E+01, 1.229281473638375E+00, 2.054043243320769E-03, -2.500252788521066E-03, -1.396054277840054E-03), + (2446796.5, -2.247670702595095E+01, -1.939938537045738E+01, 7.187025402454256E-01, 2.148241488352114E-03, -2.415646923088690E-03, -1.388807297310039E-03), + (2447161.5, -2.167417368977982E+01, -2.026472645704419E+01, 2.071284720229294E-01, 2.244493316837111E-03, -2.325826255286850E-03, -1.389386192436872E-03), + (2447527.5, -2.083780810237897E+01, -2.110231019224608E+01, -3.064058907785617E-01, 2.336507856365504E-03, -2.239789615361649E-03, -1.411932016346542E-03), + (2447892.5, -1.997280472068576E+01, -2.190675421567666E+01, -8.185490929517956E-01, 2.412633440524614E-03, -2.161885161236341E-03, -1.416400676335217E-03), + (2448257.5, -1.907747621073377E+01, -2.267922908933215E+01, -1.329958592502263E+00, 2.486381286878792E-03, -2.079506288267413E-03, -1.407816185728213E-03), + (2448622.5, -1.815259401884926E+01, -2.341830312552996E+01, -1.839743398629235E+00, 2.563302091768134E-03, -1.986716904623677E-03, -1.390092428987608E-03), + (2448988.5, -1.719659092332405E+01, -2.412432073600197E+01, -2.348311662285853E+00, 2.654563437867057E-03, -1.873427676660061E-03, -1.373491725778894E-03), + (2449353.5, -1.621613526438047E+01, -2.479192850507673E+01, -2.851939586784973E+00, 2.731773657198555E-03, -1.768282005353073E-03, -1.372993254857641E-03), + (2449718.5, -1.521042541613995E+01, -2.542174663495715E+01, -3.351050150839478E+00, 2.795681732627513E-03, -1.667171422484263E-03, -1.370741598833468E-03), + (2450083.5, -1.418150749803677E+01, -2.601265840053103E+01, -3.844746623479921E+00, 2.847830926055836E-03, -1.567548113534206E-03, -1.358058154825037E-03), + (2450449.5, -1.312878355526898E+01, -2.656530305131150E+01, -4.333547885496807E+00, 2.893392745996296E-03, -1.462721910997750E-03, -1.319596817426717E-03), + (2450814.5, -1.206037561547209E+01, -2.707622880955380E+01, -4.814123707687699E+00, 2.947672692602996E-03, -1.345120718723194E-03, -1.293050647529825E-03), + (2451179.5, -1.097575385634395E+01, -2.754708182624098E+01, -5.287387045440384E+00, 2.998170963600872E-03, -1.228052865938420E-03, -1.276236877873634E-03), + (2451544.5, -9.876866563865008E+00, -2.797830215005046E+01, -5.753044761206380E+00, 3.039003425722539E-03, -1.118347188934008E-03, -1.266602575336054E-03), // J2000.0 + (2451910.5, -8.762079840261546E+00, -2.837146117910187E+01, -6.212099923107123E+00, 3.059048285164711E-03, -1.025897229800354E-03, -1.255752118727031E-03), + (2452275.5, -7.638545140439133E+00, -2.872476061339242E+01, -6.661659431546195E+00, 3.083767140880280E-03, -9.244757445612359E-04, -1.223114825584274E-03), + (2452640.5, -6.504149412341547E+00, -2.903931663373079E+01, -7.102491787165612E+00, 3.113240807185833E-03, -8.152763790474739E-04, -1.186491657602311E-03), + (2453005.5, -5.359947844315259E+00, -2.931489840215487E+01, -7.533995151944797E+00, 3.146262917662253E-03, -6.999095106290063E-04, -1.154916579646506E-03), + (2453371.5, -4.204087023136169E+00, -2.955175968279115E+01, -7.956657750309403E+00, 3.178290837277117E-03, -5.843852917564050E-04, -1.145386774862678E-03), + (2453736.5, -3.044463853585526E+00, -2.974832495889198E+01, -8.367535827406339E+00, 3.188854450679817E-03, -4.823291891621170E-04, -1.123829281788257E-03), + (2454101.5, -1.879732559807145E+00, -2.990512167118369E+01, -8.767175819229980E+00, 3.191245711262341E-03, -3.813796878426014E-04, -1.090369751844992E-03), + (2454466.5, -7.118896500934316E-01, -3.002214251204781E+01, -9.155033041950716E+00, 3.191701033340104E-03, -2.759422650859224E-04, -1.046766910271526E-03), + (2454832.5, 4.601349131441423E-01, -3.009984102318462E+01, -9.531699411167892E+00, 3.203333385477300E-03, -1.548381665603214E-04, -9.987886538304568E-04), + (2455197.5, 1.627764779551908E+00, -3.013846272963070E+01, -9.894913822419660E+00, 3.204547802285510E-03, -4.431281118988360E-05, -9.728920796395279E-04), + (2455562.5, 2.792203841080158E+00, -3.013938989440460E+01, -1.024568137315396E+01, 3.193579081062848E-03, 5.542387357154243E-05, -9.511322172193718E-04), + (2455927.5, 3.951913396601101E+00, -3.010403967206498E+01, -1.058411110246148E+01, 3.172021323375001E-03, 1.453238771769705E-04, -9.242022549350356E-04), + (2456293.5, 5.109055644835958E+00, -3.003358246077481E+01, -1.091120294156248E+01, 3.142971675003234E-03, 2.301858333256390E-04, -8.741372503349338E-04), + (2456658.5, 6.256768870948246E+00, -2.992948063634049E+01, -1.122516201112801E+01, 3.129909949594010E-03, 3.275283449549523E-04, -8.308841317096223E-04), + (2457023.5, 7.397763344808193E+00, -2.979233083151589E+01, -1.152679951776820E+01, 3.119883879955790E-03, 4.258323984955835E-04, -7.968529494121634E-04), + (2457388.5, 8.531441934368171E+00, -2.962258090279658E+01, -1.181588969820174E+01, 3.105043408051680E-03, 5.189135823228555E-04, -7.718732552200091E-04), + (2457754.5, 9.660085861080269E+00, -2.941997124571435E+01, -1.209291572624804E+01, 3.071273606722714E-03, 5.952820848805522E-04, -7.527918936739235E-04), + (2458119.5, 1.077646387992418E+01, -2.918595419646968E+01, -1.235606372856955E+01, 3.036668983657279E-03, 6.757655218809740E-04, -7.098151652378854E-04), + (2458484.5, 1.188246857449102E+01, -2.892038924238634E+01, -1.260586701510031E+01, 3.004746645852544E-03, 7.618545510951966E-04, -6.607842252643893E-04), + (2458849.5, 1.297671169557805E+01, -2.862382234843843E+01, -1.284217154706602E+01, 2.976610294329993E-03, 8.528571600242669E-04, -6.154559982486487E-04), + (2459215.5, 1.406062197346471E+01, -2.829608856795623E+01, -1.306552658440872E+01, 2.952089562254464E-03, 9.454267931095353E-04, -5.925168856301941E-04), + (2459580.5, 1.512675095161139E+01, -2.794013582484430E+01, -1.327486658237742E+01, 2.905942089238448E-03, 1.018235455525850E-03, -5.668367891806289E-04), + (2459945.5, 1.617679912937429E+01, -2.755662570534217E+01, -1.347110722640734E+01, 2.851830021640499E-03, 1.083003017156927E-03, -5.332968797585270E-04), + (2460310.5, 1.720997344880075E+01, -2.714727103532763E+01, -1.365465473226774E+01, 2.797911684248677E-03, 1.145987613203648E-03, -4.906746606946035E-04), + (2460676.5, 1.822881632666475E+01, -2.671246592485958E+01, -1.382634607671631E+01, 2.758977855246929E-03, 1.220945634676860E-03, -4.386104907218678E-04), + (2461041.5, 1.922791145673266E+01, -2.625582897280144E+01, -1.398554010903664E+01, 2.721513871533877E-03, 1.289803673470060E-03, -4.110637408552129E-04), + (2461406.5, 2.021024701163194E+01, -2.577704528831479E+01, -1.413283210403028E+01, 2.678564902304545E-03, 1.350486925612457E-03, -3.904567101734841E-04), + (2461771.5, 2.117586318437240E+01, -2.527667895416873E+01, -1.426822131032855E+01, 2.627602565182471E-03, 1.403036654741806E-03, -3.671891133479322E-04), + (2462137.5, 2.212712159302168E+01, -2.475367671887746E+01, -1.439196266759494E+01, 2.565423318212450E-03, 1.448120597947316E-03, -3.229295117302272E-04), + (2462502.5, 2.305843257326669E+01, -2.421123807764124E+01, -1.450326999081021E+01, 2.519382350269308E-03, 1.508553365152900E-03, -2.782868666301392E-04), + (2462867.5, 2.397179280618194E+01, -2.364837400199433E+01, -1.460247194530545E+01, 2.477594157943876E-03, 1.572233785043254E-03, -2.414605086532621E-04), + (2463232.5, 2.486639003321053E+01, -2.306560987141454E+01, -1.468958985003291E+01, 2.432826458848738E-03, 1.632078763878100E-03, -2.155476071913217E-04), + (2463598.5, 2.574366115906538E+01, -2.246203407289350E+01, -1.476495452720017E+01, 2.371641495460486E-03, 1.675031138215754E-03, -2.033724712508495E-04), + (2463963.5, 2.659784573840894E+01, -2.184206040152024E+01, -1.482840937347996E+01, 2.305128331391802E-03, 1.714816947920545E-03, -1.684803817125219E-04), + (2464328.5, 2.743070164725547E+01, -2.120545692060811E+01, -1.488059190060908E+01, 2.241938346266671E-03, 1.755996429792915E-03, -1.269137508624319E-04), + (2464693.5, 2.824205236010003E+01, -2.055378314199683E+01, -1.492201584148443E+01, 2.187079957273273E-03, 1.800467902013376E-03, -8.754817497449005E-05), + (2465059.5, 2.903435469889409E+01, -1.988657706677153E+01, -1.495321177916453E+01, 2.145840350410795E-03, 1.850227707525045E-03, -6.803176868357458E-05), + (2465424.5, 2.980389342881118E+01, -1.920848185571601E+01, -1.497435346236052E+01, 2.089309483168412E-03, 1.881383022648677E-03, -5.296913854910193E-05), + (2465789.5, 3.055344606013271E+01, -1.851828337411905E+01, -1.498566716712463E+01, 2.027588801343806E-03, 1.906129284851806E-03, -3.143741200100036E-05), + (2466154.5, 3.128339864378729E+01, -1.781625641019653E+01, -1.498715551875686E+01, 1.965691150302006E-03, 1.931112183477582E-03, 9.321524477910376E-07), + (2466520.5, 3.199580649376074E+01, -1.710058467479160E+01, -1.497872711475281E+01, 1.915345744056856E-03, 1.969363466040519E-03, 4.981029558993471E-05), + (2466885.5, 3.268666763766827E+01, -1.637527690214586E+01, -1.496039061984861E+01, 1.870442446243869E-03, 2.009053745352112E-03, 7.543033536395087E-05), + (2467250.5, 3.335758149840562E+01, -1.563858054849254E+01, -1.493212315367193E+01, 1.820347674786278E-03, 2.043225865948037E-03, 9.200734553817862E-05), + (2467615.5, 3.400797057501950E+01, -1.489083658287318E+01, -1.489397428179097E+01, 1.760639582017394E-03, 2.068846948924628E-03, 1.076099619345343E-04), + (2467981.5, 3.463879340699513E+01, -1.413054490381694E+01, -1.484595721855883E+01, 1.684690992795949E-03, 2.081684789544205E-03, 1.389045273770534E-04), + (2468346.5, 3.524591494766432E+01, -1.336276126468996E+01, -1.478859389322809E+01, 1.623268738604813E-03, 2.107711952726605E-03, 1.764825142002855E-04), + (2468711.5, 3.583067258859100E+01, -1.258666666813096E+01, -1.472223908851554E+01, 1.568809659679664E-03, 2.136157641864261E-03, 2.073924290913530E-04), + (2469076.5, 3.639312292070380E+01, -1.180361065062943E+01, -1.464741989545553E+01, 1.517129292428206E-03, 2.161093576623372E-03, 2.261174215580900E-04), + (2469442.5, 3.693528849187014E+01, -1.101258939752859E+01, -1.456437421540441E+01, 1.457647800429287E-03, 2.171805554641526E-03, 2.252468116498830E-04), + (2469807.5, 3.745495460095810E+01, -1.021872007456490E+01, -1.447384526263690E+01, 1.392370903692414E-03, 2.176444556266527E-03, 2.458315094105067E-04), + (2470172.5, 3.795438436502259E+01, -9.420185752723159E+00, -1.437572212798797E+01, 1.331295370267911E-03, 2.184425174703182E-03, 2.760966993522682E-04), + (2470537.5, 3.843409940418992E+01, -8.617087426945703E+00, -1.427001439967884E+01, 1.278952124360422E-03, 2.199919597505479E-03, 3.088889735297985E-04), + (2470903.5, 3.889557870937291E+01, -7.807171697779048E+00, -1.415634857644673E+01, 1.242318352246991E-03, 2.227894838138849E-03, 3.283386365787276E-04), + (2471268.5, 3.933628934981480E+01, -6.994841512308379E+00, -1.403534076127380E+01, 1.190383153485331E-03, 2.240379132350606E-03, 3.371604220930138E-04), + (2471633.5, 3.975725010546244E+01, -6.177957247495000E+00, -1.390666725283457E+01, 1.129847480595618E-03, 2.245926472588622E-03, 3.497533502467638E-04), + (2471998.5, 4.015798831822092E+01, -5.356731586371458E+00, -1.377037144147323E+01, 1.064623301513915E-03, 2.249069165928278E-03, 3.723549733239661E-04), + (2472364.5, 4.053893197093115E+01, -4.529382426683693E+00, -1.362620079659849E+01, 1.004772924456369E-03, 2.260457917081915E-03, 4.151509327837853E-04), + (2472729.5, 4.089748032886435E+01, -3.701238957806800E+00, -1.347526683551805E+01, 9.546358613493238E-04, 2.275807211596259E-03, 4.362480312172370E-04), + (2473094.5, 4.123446094434872E+01, -2.871175331580939E+00, -1.331765812896511E+01, 9.028695427204384E-04, 2.284847992211299E-03, 4.455309692418163E-04), + (2473459.5, 4.155014730802925E+01, -2.040421945198928E+00, -1.315389961785356E+01, 8.455490598037934E-04, 2.283663956362725E-03, 4.495605373843989E-04), + (2473825.5, 4.184603142164504E+01, -1.207686078475497E+00, -1.298395202890678E+01, 7.739008868360029E-04, 2.266223301212838E-03, 4.629440326180878E-04), + (2474190.5, 4.212143518350400E+01, -3.780637718158579E-01, -1.280895026559894E+01, 7.181166927606046E-04, 2.262454331885514E-03, 4.897262786548237E-04), + (2474555.5, 4.237804132802949E+01, 4.505651841833170E-01, -1.262853091590877E+01, 6.724659301334474E-04, 2.265782932280042E-03, 5.142496941238193E-04), + (2474920.5, 4.261644794291820E+01, 1.278300089835983E+00, -1.244266828012242E+01, 6.321844373727909E-04, 2.271898065602078E-03, 5.291418352828017E-04), + (2475286.5, 4.283756610132880E+01, 2.107602329386866E+00, -1.225076843395794E+01, 5.874992491968888E-04, 2.270971555025732E-03, 5.220879456089059E-04), + (2475651.5, 4.304019798363991E+01, 2.934097555407267E+00, -1.205380669858291E+01, 5.302658127899948E-04, 2.261448124024032E-03, 5.335676027696499E-04), + (2476016.5, 4.322477227572593E+01, 3.760177362531742E+00, -1.185119460317883E+01, 4.722365762932041E-04, 2.253801988844702E-03, 5.558341729390314E-04), + (2476381.5, 4.339088565504657E+01, 4.585775944590959E+00, -1.164294707355231E+01, 4.193844236209352E-04, 2.252649576936043E-03, 5.834234794182475E-04), + (2476747.5, 4.353836481806592E+01, 5.412814237941888E+00, -1.142859591276333E+01, 3.822699694530241E-04, 2.265048617533419E-03, 6.034367329126820E-04), + (2477112.5, 4.366594018697124E+01, 6.236079826260672E+00, -1.120964514420232E+01, 3.327238416514926E-04, 2.261983488227215E-03, 6.058183888101337E-04), + (2477477.5, 4.377386713623287E+01, 7.056807439467285E+00, -1.098594764378755E+01, 2.755910568057512E-04, 2.248632811956934E-03, 6.075134072201805E-04), + (2477842.5, 4.386248099561087E+01, 7.873958564066644E+00, -1.075795690572084E+01, 2.148059283057414E-04, 2.229036083588566E-03, 6.168906714529154E-04), + (2478208.5, 4.393272098280193E+01, 8.688964113053624E+00, -1.052538377502615E+01, 1.583932906165908E-04, 2.213419769748344E-03, 6.489502027950776E-04), + (2478573.5, 4.398513591188632E+01, 9.497038846890627E+00, -1.028967213429051E+01, 1.189923133867912E-04, 2.208327452208475E-03, 6.647748920263430E-04), + (2478938.5, 4.402072587052679E+01, 1.030041996743705E+01, -1.005023549270804E+01, 8.223705522486805E-05, 2.202847377946927E-03, 6.698356917439385E-04), +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/earth.rs b/01_yachay/cosmos/cosmos-ephemeris/src/earth.rs new file mode 100644 index 0000000..baed7cc --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/earth.rs @@ -0,0 +1,172 @@ +use cosmos_coords::Vector3; +use cosmos_core::constants::{AU_KM, MOON_EARTH_MASS_RATIO}; +use cosmos_core::AstroResult; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +use crate::moon::ElpMpp02Moon; +use crate::planets::Vsop2013Emb; + +const DT_DAYS: f64 = 1.0 / cosmos_core::constants::SECONDS_PER_DAY_F64; + +pub struct Vsop2013Earth { + emb: Vsop2013Emb, + moon: ElpMpp02Moon, +} + +impl Default for Vsop2013Earth { + fn default() -> Self { + Self::new() + } +} + +impl Vsop2013Earth { + pub fn new() -> Self { + Self { + emb: Vsop2013Emb, + moon: ElpMpp02Moon::new(), + } + } + + pub fn heliocentric_position(&self, tdb: &TDB) -> AstroResult { + let emb_pos = self.emb.heliocentric_position(tdb)?; + let moon_geo_km = self.moon.geocentric_position_icrs(tdb)?; + let moon_geo_au = [ + moon_geo_km[0] / AU_KM, + moon_geo_km[1] / AU_KM, + moon_geo_km[2] / AU_KM, + ]; + + Ok(Vector3::new( + emb_pos.x - moon_geo_au[0] * MOON_EARTH_MASS_RATIO, + emb_pos.y - moon_geo_au[1] * MOON_EARTH_MASS_RATIO, + emb_pos.z - moon_geo_au[2] * MOON_EARTH_MASS_RATIO, + )) + } + + pub fn heliocentric_state(&self, tdb: &TDB) -> AstroResult<(Vector3, Vector3)> { + let pos = self.heliocentric_position(tdb)?; + let jd = tdb.to_julian_date(); + let t_minus = TDB::from_julian_date(JulianDate::new(jd.jd1(), jd.jd2() - DT_DAYS)); + let t_plus = TDB::from_julian_date(JulianDate::new(jd.jd1(), jd.jd2() + DT_DAYS)); + let p_minus = self.heliocentric_position(&t_minus)?; + let p_plus = self.heliocentric_position(&t_plus)?; + let inv_2dt = 1.0 / (2.0 * DT_DAYS); + let vel = Vector3::new( + (p_plus.x - p_minus.x) * inv_2dt, + (p_plus.y - p_minus.y) * inv_2dt, + (p_plus.z - p_minus.z) * inv_2dt, + ); + Ok((pos, vel)) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_core::constants::J2000_JD; + use cosmos_time::julian::JulianDate; + + #[test] + fn earth_differs_from_emb() { + let earth = Vsop2013Earth::new(); + let emb = Vsop2013Emb; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let earth_pos = earth.heliocentric_position(&tdb).unwrap(); + let emb_pos = emb.heliocentric_position(&tdb).unwrap(); + + let diff_au = libm::sqrt( + (earth_pos.x - emb_pos.x).powi(2) + + (earth_pos.y - emb_pos.y).powi(2) + + (earth_pos.z - emb_pos.z).powi(2), + ); + let diff_km = diff_au * AU_KM; + + println!("Earth-EMB difference at J2000: {:.1} km", diff_km); + assert!( + diff_km > 4000.0 && diff_km < 5000.0, + "Earth-EMB difference {} km should be ~4670 km (Moon pulls EMB toward it)", + diff_km + ); + } + + #[test] + fn earth_heliocentric_distance() { + let earth = Vsop2013Earth::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let pos = earth.heliocentric_position(&tdb).unwrap(); + let dist_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + + assert!( + dist_au > 0.98 && dist_au < 1.02, + "Earth heliocentric distance {} AU should be ~1 AU", + dist_au + ); + } + + #[test] + fn earth_heliocentric_seasonal_variation() { + let earth = Vsop2013Earth::new(); + + let perihelion_jd = 2451547.5; + let aphelion_jd = 2451730.5; + + let tdb_peri = TDB::from_julian_date(JulianDate::new(perihelion_jd, 0.0)); + let tdb_aph = TDB::from_julian_date(JulianDate::new(aphelion_jd, 0.0)); + + let pos_peri = earth.heliocentric_position(&tdb_peri).unwrap(); + let pos_aph = earth.heliocentric_position(&tdb_aph).unwrap(); + + let dist_peri = libm::sqrt(pos_peri.x.powi(2) + pos_peri.y.powi(2) + pos_peri.z.powi(2)); + let dist_aph = libm::sqrt(pos_aph.x.powi(2) + pos_aph.y.powi(2) + pos_aph.z.powi(2)); + + println!("Perihelion distance: {:.6} AU", dist_peri); + println!("Aphelion distance: {:.6} AU", dist_aph); + + assert!( + dist_peri < dist_aph, + "Perihelion {} AU should be less than aphelion {} AU", + dist_peri, + dist_aph + ); + assert!( + dist_peri > 0.98 && dist_peri < 0.985, + "Perihelion {} AU should be ~0.983 AU", + dist_peri + ); + assert!( + dist_aph > 1.01 && dist_aph < 1.02, + "Aphelion {} AU should be ~1.017 AU", + dist_aph + ); + } + + #[test] + fn earth_default_impl() { + let earth: Vsop2013Earth = Default::default(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = earth.heliocentric_position(&tdb).unwrap(); + + let dist_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + assert!(dist_au > 0.98 && dist_au < 1.02); + } + + #[test] + fn earth_heliocentric_state_velocity() { + let earth = Vsop2013Earth::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let (pos, vel) = earth.heliocentric_state(&tdb).unwrap(); + + let dist_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + assert!(dist_au > 0.98 && dist_au < 1.02); + + let speed_au_day = libm::sqrt(vel.x.powi(2) + vel.y.powi(2) + vel.z.powi(2)); + assert!( + speed_au_day > 0.016 && speed_au_day < 0.018, + "Earth orbital speed {} AU/day should be ~0.017 AU/day (~30 km/s)", + speed_au_day + ); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/jpl/chebyshev.rs b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/chebyshev.rs new file mode 100644 index 0000000..ca06d6d --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/chebyshev.rs @@ -0,0 +1,231 @@ +use super::SpkError; + +pub fn evaluate_chebyshev( + coeffs: &[f64], + n_coeffs: usize, + t_normalized: f64, +) -> Result { + if n_coeffs == 0 { + return Err(SpkError::InvalidData("Empty coefficient array".into())); + } + if coeffs.len() < n_coeffs { + return Err(SpkError::InvalidData("Insufficient coefficients".into())); + } + let mut b_k1 = 0.0; + let mut b_k = 0.0; + let two_t = 2.0 * t_normalized; + for i in (1..n_coeffs).rev() { + let b_k_prev = b_k; + b_k = two_t * b_k - b_k1 + coeffs[i]; + b_k1 = b_k_prev; + } + Ok(t_normalized * b_k - b_k1 + coeffs[0]) +} + +pub fn evaluate_chebyshev_derivative( + coeffs: &[f64], + n_coeffs: usize, + t_normalized: f64, + half_interval: f64, +) -> Result { + if n_coeffs < 2 { + return Ok(0.0); + } + if coeffs.len() < n_coeffs { + return Err(SpkError::InvalidData("Insufficient coefficients".into())); + } + let two_t = 2.0 * t_normalized; + let mut u_prev = 1.0; + let mut u_curr = two_t; + let mut derivative = coeffs[1]; + for (i, &coeff) in coeffs.iter().enumerate().take(n_coeffs).skip(2) { + derivative += (i as f64) * coeff * u_curr; + let u_next = two_t * u_curr - u_prev; + u_prev = u_curr; + u_curr = u_next; + } + Ok(derivative / half_interval) +} + +pub fn evaluate_position_velocity( + coeffs_x: &[f64], + coeffs_y: &[f64], + coeffs_z: &[f64], + n_coeffs: usize, + t_normalized: f64, + half_interval: f64, +) -> Result<([f64; 3], [f64; 3]), SpkError> { + let px = evaluate_chebyshev(coeffs_x, n_coeffs, t_normalized)?; + let py = evaluate_chebyshev(coeffs_y, n_coeffs, t_normalized)?; + let pz = evaluate_chebyshev(coeffs_z, n_coeffs, t_normalized)?; + let vx = evaluate_chebyshev_derivative(coeffs_x, n_coeffs, t_normalized, half_interval)?; + let vy = evaluate_chebyshev_derivative(coeffs_y, n_coeffs, t_normalized, half_interval)?; + let vz = evaluate_chebyshev_derivative(coeffs_z, n_coeffs, t_normalized, half_interval)?; + Ok(([px, py, pz], [vx, vy, vz])) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_chebyshev_constant() { + let coeffs = [5.0, 0.0, 0.0]; + let result = evaluate_chebyshev(&coeffs, 3, 0.0).unwrap(); + assert!((result - 5.0).abs() < 1e-14); + let result = evaluate_chebyshev(&coeffs, 3, 0.5).unwrap(); + assert!((result - 5.0).abs() < 1e-14); + } + + #[test] + fn test_chebyshev_linear() { + let coeffs = [0.0, 1.0, 0.0]; + let result = evaluate_chebyshev(&coeffs, 3, 0.5).unwrap(); + assert!((result - 0.5).abs() < 1e-14); + let result = evaluate_chebyshev(&coeffs, 3, -0.5).unwrap(); + assert!((result - (-0.5)).abs() < 1e-14); + } + + #[test] + fn test_chebyshev_derivative_linear() { + let coeffs = [0.0, 3.0, 0.0]; + let half_interval = 2.0; + let result = evaluate_chebyshev_derivative(&coeffs, 3, 0.0, half_interval).unwrap(); + assert!((result - 1.5).abs() < 1e-14); + let half_interval = 1.0; + let result = evaluate_chebyshev_derivative(&coeffs, 3, 0.0, half_interval).unwrap(); + assert!((result - 3.0).abs() < 1e-14); + } + + #[test] + fn test_chebyshev_empty_coeffs() { + let coeffs: [f64; 0] = []; + let result = evaluate_chebyshev(&coeffs, 0, 0.0); + assert!(result.is_err()); + match result.unwrap_err() { + SpkError::InvalidData(msg) => assert!(msg.contains("Empty")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_chebyshev_insufficient_coeffs() { + let coeffs = [1.0, 2.0]; + let result = evaluate_chebyshev(&coeffs, 5, 0.0); + assert!(result.is_err()); + match result.unwrap_err() { + SpkError::InvalidData(msg) => assert!(msg.contains("Insufficient")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_chebyshev_derivative_less_than_two_coeffs() { + let coeffs = [1.0]; + let result = evaluate_chebyshev_derivative(&coeffs, 1, 0.0, 1.0).unwrap(); + assert!((result - 0.0).abs() < 1e-14); + } + + #[test] + fn test_chebyshev_derivative_insufficient_coeffs() { + let coeffs = [1.0, 2.0]; + let result = evaluate_chebyshev_derivative(&coeffs, 5, 0.0, 1.0); + assert!(result.is_err()); + match result.unwrap_err() { + SpkError::InvalidData(msg) => assert!(msg.contains("Insufficient")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_evaluate_position_velocity_basic() { + let coeffs_x = [1.0, 0.5, 0.0]; + let coeffs_y = [2.0, 0.3, 0.0]; + let coeffs_z = [3.0, 0.1, 0.0]; + let n_coeffs = 3; + let t_normalized = 0.0; + let half_interval = 1.0; + + let (pos, vel) = evaluate_position_velocity( + &coeffs_x, + &coeffs_y, + &coeffs_z, + n_coeffs, + t_normalized, + half_interval, + ) + .unwrap(); + + // At t=0, position should be just the first coefficient + assert!((pos[0] - 1.0).abs() < 1e-14); + assert!((pos[1] - 2.0).abs() < 1e-14); + assert!((pos[2] - 3.0).abs() < 1e-14); + + // Velocity is derivative of position + assert!((vel[0] - 0.5).abs() < 1e-14); + assert!((vel[1] - 0.3).abs() < 1e-14); + assert!((vel[2] - 0.1).abs() < 1e-14); + } + + #[test] + fn test_evaluate_position_velocity_at_nonzero_t() { + let coeffs_x = [0.0, 1.0, 0.0]; + let coeffs_y = [0.0, 2.0, 0.0]; + let coeffs_z = [0.0, 3.0, 0.0]; + let n_coeffs = 3; + let t_normalized = 0.5; + let half_interval = 1.0; + + let (pos, _vel) = evaluate_position_velocity( + &coeffs_x, + &coeffs_y, + &coeffs_z, + n_coeffs, + t_normalized, + half_interval, + ) + .unwrap(); + + // Linear: pos = t + assert!((pos[0] - 0.5).abs() < 1e-14); + assert!((pos[1] - 1.0).abs() < 1e-14); + assert!((pos[2] - 1.5).abs() < 1e-14); + } + + #[test] + fn test_evaluate_position_velocity_error_propagation() { + let coeffs_x = [1.0]; + let coeffs_y = [2.0, 0.3, 0.0]; + let coeffs_z = [3.0, 0.1, 0.0]; + + // coeffs_x is too short for 3 coefficients + let result = evaluate_position_velocity(&coeffs_x, &coeffs_y, &coeffs_z, 3, 0.0, 1.0); + assert!(result.is_err()); + } + + #[test] + fn test_chebyshev_quadratic() { + // T_2(x) = 2x^2 - 1 + // So if coeffs = [a, b, c], f(x) = a*T_0 + b*T_1 + c*T_2 = a + b*x + c*(2x^2-1) + // With [1, 0, 1]: f(x) = 1 + 0 + (2x^2 - 1) = 2x^2 + let coeffs = [1.0, 0.0, 1.0]; + let result = evaluate_chebyshev(&coeffs, 3, 0.5).unwrap(); + // Expected: 2 * 0.25 = 0.5 + assert!((result - 0.5).abs() < 1e-14); + + let result = evaluate_chebyshev(&coeffs, 3, 1.0).unwrap(); + // Expected: 2 * 1 = 2 + assert!((result - 2.0).abs() < 1e-14); + } + + #[test] + fn test_chebyshev_derivative_quadratic() { + // f(x) = a + b*x + c*(2x^2-1) + // f'(x) = b + 4cx + // With [1, 0, 1] and half_interval=1: f'(x) = 0 + 4*1*x = 4x + let coeffs = [1.0, 0.0, 1.0]; + let result = evaluate_chebyshev_derivative(&coeffs, 3, 0.5, 1.0).unwrap(); + // Expected: 4 * 0.5 = 2 + assert!((result - 2.0).abs() < 1e-14); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/jpl/daf.rs b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/daf.rs new file mode 100644 index 0000000..fdee8ad --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/daf.rs @@ -0,0 +1,695 @@ +use super::SpkError; +use memmap2::Mmap; +use std::fs::File; +use std::path::Path; + +const DAF_RECORD_SIZE: usize = 1024; +const FTPSTR: &[u8] = b"FTPSTR:\r:\n:\r\n:\r\x00:\x81:\x10\xce:ENDFTP"; + +pub struct DafFile { + pub mmap: Mmap, + pub endian: Endian, + pub nd: usize, + pub ni: usize, + pub summary_size: usize, + pub fward: usize, +} + +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum Endian { + Little, + Big, +} + +impl Endian { + pub fn read_f64(&self, bytes: &[u8]) -> f64 { + let arr: [u8; 8] = bytes[..8].try_into().unwrap(); + match self { + Endian::Little => f64::from_le_bytes(arr), + Endian::Big => f64::from_be_bytes(arr), + } + } + + pub fn read_i32(&self, bytes: &[u8]) -> i32 { + let arr: [u8; 4] = bytes[..4].try_into().unwrap(); + match self { + Endian::Little => i32::from_le_bytes(arr), + Endian::Big => i32::from_be_bytes(arr), + } + } +} + +impl DafFile { + pub fn open>(path: P) -> Result { + let file = File::open(path.as_ref()).map_err(|e| SpkError::Io(e.to_string()))?; + let mmap = unsafe { Mmap::map(&file).map_err(|e| SpkError::Io(e.to_string()))? }; + Self::from_mmap(mmap) + } + + fn from_mmap(mmap: Mmap) -> Result { + if mmap.len() < DAF_RECORD_SIZE { + return Err(SpkError::InvalidFormat("File too small for DAF".into())); + } + let locidw = &mmap[0..8]; + if !locidw.starts_with(b"DAF/") { + return Err(SpkError::InvalidFormat(format!( + "Invalid DAF signature: {:?}", + String::from_utf8_lossy(locidw) + ))); + } + let endian = Self::detect_endian(&mmap)?; + let nd = endian.read_i32(&mmap[8..12]) as usize; + let ni = endian.read_i32(&mmap[12..16]) as usize; + let fward = endian.read_i32(&mmap[76..80]) as usize; + let summary_size = nd + ni.div_ceil(2); + Self::verify_ftp(&mmap)?; + Ok(Self { + mmap, + endian, + nd, + ni, + summary_size, + fward, + }) + } + + fn detect_endian(mmap: &Mmap) -> Result { + let nd_le = i32::from_le_bytes(mmap[8..12].try_into().unwrap()); + let nd_be = i32::from_be_bytes(mmap[8..12].try_into().unwrap()); + if (1..=100).contains(&nd_le) { + Ok(Endian::Little) + } else if (1..=100).contains(&nd_be) { + Ok(Endian::Big) + } else { + Err(SpkError::InvalidFormat( + "Cannot determine endianness".into(), + )) + } + } + + fn verify_ftp(mmap: &Mmap) -> Result<(), SpkError> { + if mmap.len() >= 1000 && &mmap[699..727] != FTPSTR { + return Err(SpkError::InvalidFormat("FTP corruption detected".into())); + } + Ok(()) + } + + pub fn iter_summaries(&self) -> SummaryIterator<'_> { + SummaryIterator { + daf: self, + record_num: self.fward, + record_offset: 0, + next_record: 0, + index: 0, + count: 0, + } + } + + pub fn read_array(&self, start: usize, end: usize) -> Result<&[u8], SpkError> { + let byte_start = (start - 1) * 8; + let byte_end = end * 8; + if byte_end > self.mmap.len() { + return Err(SpkError::InvalidData("Array range out of bounds".into())); + } + Ok(&self.mmap[byte_start..byte_end]) + } + + pub fn read_f64_array(&self, start: usize, count: usize) -> Result, SpkError> { + let bytes = self.read_array(start, start + count - 1)?; + let mut result = Vec::with_capacity(count); + for i in 0..count { + result.push(self.endian.read_f64(&bytes[i * 8..])); + } + Ok(result) + } +} + +pub struct SummaryIterator<'a> { + daf: &'a DafFile, + record_num: usize, + record_offset: usize, + next_record: usize, + index: usize, + count: usize, +} + +impl<'a> Iterator for SummaryIterator<'a> { + type Item = Result; + + fn next(&mut self) -> Option { + loop { + if self.index < self.count { + let summary_start = 24 + self.index * self.daf.summary_size * 8; + let offset = self.record_offset + summary_start; + self.index += 1; + if offset + self.daf.summary_size * 8 > self.daf.mmap.len() { + return Some(Err(SpkError::InvalidData("Summary out of bounds".into()))); + } + let summary_bytes = &self.daf.mmap[offset..offset + self.daf.summary_size * 8]; + return Some(self.parse_summary(summary_bytes)); + } + if self.next_record != 0 { + self.record_num = self.next_record; + } else if self.count > 0 { + return None; + } + if self.record_num == 0 { + return None; + } + self.record_offset = (self.record_num - 1) * DAF_RECORD_SIZE; + if self.record_offset + DAF_RECORD_SIZE > self.daf.mmap.len() { + return Some(Err(SpkError::InvalidData( + "Summary record out of bounds".into(), + ))); + } + let record = &self.daf.mmap[self.record_offset..self.record_offset + DAF_RECORD_SIZE]; + self.next_record = self.daf.endian.read_f64(&record[0..8]) as usize; + self.count = self.daf.endian.read_f64(&record[16..24]) as usize; + self.index = 0; + if self.count == 0 && self.next_record == 0 { + return None; + } + } + } +} + +impl<'a> SummaryIterator<'a> { + fn parse_summary(&self, bytes: &[u8]) -> Result { + let mut doubles = Vec::with_capacity(self.daf.nd); + for i in 0..self.daf.nd { + doubles.push(self.daf.endian.read_f64(&bytes[i * 8..])); + } + let int_offset = self.daf.nd * 8; + let mut ints = Vec::with_capacity(self.daf.ni); + for i in 0..self.daf.ni { + ints.push(self.daf.endian.read_i32(&bytes[int_offset + i * 4..])); + } + Ok(DafSummary { doubles, ints }) + } +} + +#[derive(Debug, Clone)] +pub struct DafSummary { + pub doubles: Vec, + pub ints: Vec, +} + +#[cfg(test)] +mod tests { + use super::*; + use tempfile::TempDir; + + fn create_minimal_daf_header(nd: i32, ni: i32, fward: i32) -> Vec { + let mut data = vec![0u8; DAF_RECORD_SIZE]; + + // LOCIDW: "DAF/SPK " (8 bytes) + data[0..8].copy_from_slice(b"DAF/SPK "); + + // ND (number of double components in summary) at offset 8 + data[8..12].copy_from_slice(&nd.to_le_bytes()); + + // NI (number of integer components in summary) at offset 12 + data[12..16].copy_from_slice(&ni.to_le_bytes()); + + // Internal file name at offset 16 (60 bytes) + data[16..76].copy_from_slice(&[b' '; 60]); + + // FWARD (first summary record) at offset 76 + data[76..80].copy_from_slice(&fward.to_le_bytes()); + + // BWARD (backward pointer) at offset 80 + data[80..84].copy_from_slice(&0i32.to_le_bytes()); + + // FREE (first free address) at offset 84 + data[84..88].copy_from_slice(&0i32.to_le_bytes()); + + // FTP string at offset 699-727 + if data.len() >= 727 { + data[699..727].copy_from_slice(FTPSTR); + } + + data + } + + fn create_summary_record(next_record: f64, prev_record: f64, count: f64) -> Vec { + let mut record = vec![0u8; DAF_RECORD_SIZE]; + record[0..8].copy_from_slice(&next_record.to_le_bytes()); + record[8..16].copy_from_slice(&prev_record.to_le_bytes()); + record[16..24].copy_from_slice(&count.to_le_bytes()); + record + } + + #[test] + fn test_endian_read_f64_little() { + let val: f64 = 123.456789; + let bytes = val.to_le_bytes(); + let result = Endian::Little.read_f64(&bytes); + assert!((result - val).abs() < 1e-15); + } + + #[test] + fn test_endian_read_f64_big() { + let val: f64 = 987.654321; + let bytes = val.to_be_bytes(); + let result = Endian::Big.read_f64(&bytes); + assert!((result - val).abs() < 1e-15); + } + + #[test] + fn test_endian_read_i32_little() { + let val: i32 = 12345; + let bytes = val.to_le_bytes(); + let result = Endian::Little.read_i32(&bytes); + assert_eq!(result, val); + } + + #[test] + fn test_endian_read_i32_big() { + let val: i32 = -54321; + let bytes = val.to_be_bytes(); + let result = Endian::Big.read_i32(&bytes); + assert_eq!(result, val); + } + + #[test] + fn test_daf_file_too_small() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("small.daf"); + std::fs::write(&file_path, b"small").unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidFormat(msg)) => assert!(msg.contains("too small")), + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_daf_invalid_signature() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("bad.daf"); + + let mut data = vec![0u8; DAF_RECORD_SIZE]; + data[0..8].copy_from_slice(b"NOTADAF!"); + std::fs::write(&file_path, &data).unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidFormat(msg)) => assert!(msg.contains("Invalid DAF signature")), + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_daf_cannot_determine_endianness() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("badendian.daf"); + + let mut data = vec![0u8; DAF_RECORD_SIZE]; + data[0..8].copy_from_slice(b"DAF/SPK "); + // Write an invalid ND value (neither LE nor BE gives 1-100) + data[8..12].copy_from_slice(&[0xFF, 0xFF, 0xFF, 0xFF]); + // FTP string + data[699..727].copy_from_slice(FTPSTR); + + std::fs::write(&file_path, &data).unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidFormat(msg)) => assert!(msg.contains("endianness")), + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_daf_ftp_corruption() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("corrupt.daf"); + + let mut data = create_minimal_daf_header(2, 6, 2); + // Corrupt the FTP string + data[699..727].copy_from_slice(&[0x00; 28]); + + std::fs::write(&file_path, &data).unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidFormat(msg)) => assert!(msg.contains("FTP corruption")), + _ => panic!("Expected InvalidFormat error"), + } + } + + #[test] + fn test_daf_open_valid() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("valid.daf"); + + let data = create_minimal_daf_header(2, 6, 0); + std::fs::write(&file_path, &data).unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_ok()); + + let daf = result.unwrap(); + assert_eq!(daf.nd, 2); + assert_eq!(daf.ni, 6); + assert_eq!(daf.endian, Endian::Little); + } + + #[test] + fn test_daf_open_nonexistent_file() { + let result = DafFile::open("/nonexistent/path/file.bsp"); + assert!(result.is_err()); + match result { + Err(SpkError::Io(_)) => {} + _ => panic!("Expected Io error"), + } + } + + #[test] + fn test_daf_read_array_out_of_bounds() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("valid.daf"); + + let data = create_minimal_daf_header(2, 6, 0); + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + + // Try to read beyond the file + let result = daf.read_array(1, 1000); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidData(msg)) => assert!(msg.contains("out of bounds")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_daf_read_array_valid() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("valid.daf"); + + let data = create_minimal_daf_header(2, 6, 0); + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + + // Read first 10 doubles (80 bytes) + let result = daf.read_array(1, 10); + assert!(result.is_ok()); + assert_eq!(result.unwrap().len(), 80); + } + + #[test] + fn test_daf_read_f64_array() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("valid.daf"); + + let mut data = create_minimal_daf_header(2, 6, 0); + + // Add some known f64 values at known positions + // Start after the header (byte 88) to not overwrite required fields + let test_vals = [1.0f64, 2.0, 3.0, 4.0, 5.0]; + let start_offset = 88; + for (i, &val) in test_vals.iter().enumerate() { + let offset = start_offset + i * 8; + data[offset..offset + 8].copy_from_slice(&val.to_le_bytes()); + } + + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + + // Read 5 doubles starting at position 12 (byte 88) + let result = daf.read_f64_array(12, 5).unwrap(); + assert_eq!(result.len(), 5); + for (i, &val) in test_vals.iter().enumerate() { + assert!((result[i] - val).abs() < 1e-14); + } + } + + #[test] + fn test_iter_summaries_empty() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("empty_summaries.daf"); + + // fward = 0 means no summary records + let data = create_minimal_daf_header(2, 6, 0); + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let mut iter = daf.iter_summaries(); + + assert!(iter.next().is_none()); + } + + #[test] + fn test_iter_summaries_with_record() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("with_summaries.daf"); + + // Create header pointing to record 2 + let header = create_minimal_daf_header(2, 6, 2); + + // Create summary record with 1 summary + let mut summary_record = create_summary_record(0.0, 0.0, 1.0); + + // Add a summary starting at offset 24 + // Summary has 2 doubles + 3 integers (6 ints / 2 = 3 packed) + // Total summary size = 2 + 3 = 5 words + let d1 = 100.0f64; + let d2 = 200.0f64; + summary_record[24..32].copy_from_slice(&d1.to_le_bytes()); + summary_record[32..40].copy_from_slice(&d2.to_le_bytes()); + + // 6 integers packed + let i1: i32 = 1; + let i2: i32 = 2; + let i3: i32 = 3; + let i4: i32 = 4; + let i5: i32 = 5; + let i6: i32 = 6; + summary_record[40..44].copy_from_slice(&i1.to_le_bytes()); + summary_record[44..48].copy_from_slice(&i2.to_le_bytes()); + summary_record[48..52].copy_from_slice(&i3.to_le_bytes()); + summary_record[52..56].copy_from_slice(&i4.to_le_bytes()); + summary_record[56..60].copy_from_slice(&i5.to_le_bytes()); + summary_record[60..64].copy_from_slice(&i6.to_le_bytes()); + + // Combine header and summary record + let mut data = header; + data.extend(summary_record); + + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let summaries: Vec<_> = daf.iter_summaries().collect(); + + assert_eq!(summaries.len(), 1); + let summary = summaries[0].as_ref().unwrap(); + assert_eq!(summary.doubles.len(), 2); + assert!((summary.doubles[0] - 100.0).abs() < 1e-14); + assert!((summary.doubles[1] - 200.0).abs() < 1e-14); + assert_eq!(summary.ints.len(), 6); + assert_eq!(summary.ints[0], 1); + assert_eq!(summary.ints[5], 6); + } + + #[test] + fn test_endian_equality() { + assert_eq!(Endian::Little, Endian::Little); + assert_eq!(Endian::Big, Endian::Big); + assert_ne!(Endian::Little, Endian::Big); + } + + #[test] + fn test_daf_summary_struct() { + let summary = DafSummary { + doubles: vec![1.0, 2.0], + ints: vec![10, 20, 30], + }; + + assert_eq!(summary.doubles.len(), 2); + assert_eq!(summary.ints.len(), 3); + + // Test Clone + let cloned = summary.clone(); + assert_eq!(cloned.doubles, summary.doubles); + assert_eq!(cloned.ints, summary.ints); + } + + #[test] + fn test_summary_iterator_record_out_of_bounds() { + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("bad_record.daf"); + + // Create header pointing to a record that doesn't exist + let data = create_minimal_daf_header(2, 6, 10); + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let mut iter = daf.iter_summaries(); + + let result = iter.next(); + assert!(result.is_some()); + assert!(result.unwrap().is_err()); + } + + #[test] + fn test_big_endian_detection() { + // Line 82: Big-endian DAF detection + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("big_endian.daf"); + + let mut data = vec![0u8; DAF_RECORD_SIZE]; + + // DAF signature + data[0..8].copy_from_slice(b"DAF/SPK "); + + // ND = 2 in big-endian (value that's in 1..=100 when read as BE but not LE) + // Write 2 as big-endian + let nd_be: i32 = 2; + data[8..12].copy_from_slice(&nd_be.to_be_bytes()); + + // NI = 6 in big-endian + let ni_be: i32 = 6; + data[12..16].copy_from_slice(&ni_be.to_be_bytes()); + + // fward = 0 in big-endian + let fward_be: i32 = 0; + data[76..80].copy_from_slice(&fward_be.to_be_bytes()); + + // FTP string + data[699..727].copy_from_slice(FTPSTR); + + std::fs::write(&file_path, &data).unwrap(); + + let result = DafFile::open(&file_path); + assert!(result.is_ok()); + let daf = result.unwrap(); + assert_eq!(daf.endian, Endian::Big); + } + + #[test] + fn test_summary_iterator_with_multiple_records() { + // This tests line 152: when next_record != 0, we follow to the next record + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("multi_record.daf"); + + // Create header pointing to record 2 + let header = create_minimal_daf_header(2, 6, 2); + + // Create first summary record that points to record 3 + let mut record2 = create_summary_record(3.0, 0.0, 1.0); // next_record=3, count=1 + + // Add a summary at offset 24 + let d1 = 100.0f64; + let d2 = 200.0f64; + record2[24..32].copy_from_slice(&d1.to_le_bytes()); + record2[32..40].copy_from_slice(&d2.to_le_bytes()); + // 6 integers + for i in 0..6 { + let val: i32 = (i + 1) as i32; + record2[40 + i * 4..44 + i * 4].copy_from_slice(&val.to_le_bytes()); + } + + // Create second summary record (record 3) with no next + let mut record3 = create_summary_record(0.0, 0.0, 1.0); // next_record=0, count=1 + + // Add a summary at offset 24 + let d3 = 300.0f64; + let d4 = 400.0f64; + record3[24..32].copy_from_slice(&d3.to_le_bytes()); + record3[32..40].copy_from_slice(&d4.to_le_bytes()); + for i in 0..6 { + let val: i32 = (i + 10) as i32; + record3[40 + i * 4..44 + i * 4].copy_from_slice(&val.to_le_bytes()); + } + + // Combine all records + let mut data = header; + data.extend(record2); + data.extend(record3); + + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let summaries: Vec<_> = daf.iter_summaries().collect(); + + assert_eq!(summaries.len(), 2); + let s1 = summaries[0].as_ref().unwrap(); + let s2 = summaries[1].as_ref().unwrap(); + assert!((s1.doubles[0] - 100.0).abs() < 1e-10); + assert!((s2.doubles[0] - 300.0).abs() < 1e-10); + } + + #[test] + fn test_summary_iterator_empty_record_with_next() { + // This tests line 170: count == 0 && next_record == 0 after reading record + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("empty_record.daf"); + + // Create header pointing to record 2 + let header = create_minimal_daf_header(2, 6, 2); + + // Create summary record with 0 summaries and no next record + let record = create_summary_record(0.0, 0.0, 0.0); // next_record=0, count=0 + + let mut data = header; + data.extend(record); + + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let summaries: Vec<_> = daf.iter_summaries().collect(); + + assert!(summaries.is_empty()); + } + + #[test] + fn test_summary_out_of_bounds() { + // This tests line 146: summary extends beyond file length + let temp_dir = TempDir::new().unwrap(); + let file_path = temp_dir.path().join("truncated.daf"); + + // Create header pointing to record 2 + let header = create_minimal_daf_header(2, 6, 2); + + // Create summary record claiming 100 summaries (but we won't have space) + let record = create_summary_record(0.0, 0.0, 100.0); // count=100 + + let mut data = header; + data.extend(record); + // Don't add enough data for all summaries + + std::fs::write(&file_path, &data).unwrap(); + + let daf = DafFile::open(&file_path).unwrap(); + let mut iter = daf.iter_summaries(); + + // First summary should succeed (offset 24 of record) + let first = iter.next(); + assert!(first.is_some()); + let first_result = first.unwrap(); + assert!(first_result.is_ok()); + + // Eventually we'll hit out of bounds + let mut found_error = false; + for result in iter { + if result.is_err() { + found_error = true; + match result { + Err(SpkError::InvalidData(msg)) => assert!(msg.contains("out of bounds")), + _ => panic!("Expected InvalidData error"), + } + break; + } + } + assert!(found_error, "Should have found an out of bounds error"); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/jpl/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/mod.rs new file mode 100644 index 0000000..23cefba --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/mod.rs @@ -0,0 +1,283 @@ +mod chebyshev; +mod daf; +mod spk; + +pub use spk::{SpkFile, SpkSegment}; + +#[derive(Debug, Clone, PartialEq)] +pub enum SpkError { + Io(String), + InvalidFormat(String), + InvalidData(String), + SegmentNotFound { body: i32, center: i32, epoch: f64 }, + UnsupportedType(i32), +} + +impl std::fmt::Display for SpkError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SpkError::Io(msg) => write!(f, "IO error: {}", msg), + SpkError::InvalidFormat(msg) => write!(f, "Invalid SPK format: {}", msg), + SpkError::InvalidData(msg) => write!(f, "Invalid SPK data: {}", msg), + SpkError::SegmentNotFound { + body, + center, + epoch, + } => { + write!( + f, + "No segment found for body {} relative to {} at JD {}", + body, center, epoch + ) + } + SpkError::UnsupportedType(t) => write!(f, "Unsupported SPK type: {}", t), + } + } +} + +impl std::error::Error for SpkError {} + +pub mod bodies { + pub const SOLAR_SYSTEM_BARYCENTER: i32 = 0; + pub const MERCURY_BARYCENTER: i32 = 1; + pub const VENUS_BARYCENTER: i32 = 2; + pub const EARTH_MOON_BARYCENTER: i32 = 3; + pub const MARS_BARYCENTER: i32 = 4; + pub const JUPITER_BARYCENTER: i32 = 5; + pub const SATURN_BARYCENTER: i32 = 6; + pub const URANUS_BARYCENTER: i32 = 7; + pub const NEPTUNE_BARYCENTER: i32 = 8; + pub const PLUTO_BARYCENTER: i32 = 9; + pub const SUN: i32 = 10; + pub const MOON: i32 = 301; + pub const EARTH: i32 = 399; +} + +#[cfg(test)] +mod tests { + use super::*; + use std::path::PathBuf; + + #[test] + fn test_spk_error_display_io() { + let err = SpkError::Io("file not found".to_string()); + let display = format!("{}", err); + assert!(display.contains("IO error")); + assert!(display.contains("file not found")); + } + + #[test] + fn test_spk_error_display_invalid_format() { + let err = SpkError::InvalidFormat("bad format".to_string()); + let display = format!("{}", err); + assert!(display.contains("Invalid SPK format")); + assert!(display.contains("bad format")); + } + + #[test] + fn test_spk_error_display_invalid_data() { + let err = SpkError::InvalidData("corrupted data".to_string()); + let display = format!("{}", err); + assert!(display.contains("Invalid SPK data")); + assert!(display.contains("corrupted data")); + } + + #[test] + fn test_spk_error_display_segment_not_found() { + let err = SpkError::SegmentNotFound { + body: 399, + center: 0, + epoch: 2451545.0, + }; + let display = format!("{}", err); + assert!(display.contains("No segment found")); + assert!(display.contains("body 399")); + assert!(display.contains("relative to 0")); + assert!(display.contains("2451545")); + } + + #[test] + fn test_spk_error_display_unsupported_type() { + let err = SpkError::UnsupportedType(99); + let display = format!("{}", err); + assert!(display.contains("Unsupported SPK type")); + assert!(display.contains("99")); + } + + #[test] + fn test_spk_error_debug() { + let err = SpkError::Io("test".to_string()); + let debug = format!("{:?}", err); + assert!(debug.contains("Io")); + } + + #[test] + fn test_spk_error_clone() { + let err = SpkError::InvalidFormat("test".to_string()); + let cloned = err.clone(); + assert_eq!(err, cloned); + } + + #[test] + fn test_spk_error_partial_eq() { + let err1 = SpkError::Io("test".to_string()); + let err2 = SpkError::Io("test".to_string()); + let err3 = SpkError::Io("different".to_string()); + + assert_eq!(err1, err2); + assert_ne!(err1, err3); + } + + #[test] + fn test_spk_error_is_error() { + let err: Box = Box::new(SpkError::Io("test".to_string())); + assert!(!err.to_string().is_empty()); + } + + #[test] + fn test_bodies_constants() { + assert_eq!(bodies::SOLAR_SYSTEM_BARYCENTER, 0); + assert_eq!(bodies::SUN, 10); + assert_eq!(bodies::EARTH, 399); + assert_eq!(bodies::MOON, 301); + assert_eq!(bodies::EARTH_MOON_BARYCENTER, 3); + } + + fn get_de432s_path() -> Option { + let test_file = + std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/data/de432s.bsp"); + if test_file.exists() { + Some(test_file) + } else { + None + } + } + + #[test] + fn test_de432s_segment_count() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).expect("Failed to open de432s.bsp"); + let segments = spk.segments(); + println!("Found {} segments in de432s.bsp:", segments.len()); + for seg in segments { + println!( + " Body {:3} -> Center {:3}, type {}, JD {:.1} to {:.1}", + seg.body_id, + seg.center_id, + seg.data_type, + seg.start_jd(), + seg.end_jd() + ); + } + assert!( + segments.len() >= 14, + "de432s.bsp should have at least 14 segments, found {}", + segments.len() + ); + } + + fn get_de440_path() -> Option { + if let Ok(path) = std::env::var("DE440_PATH") { + let p = PathBuf::from(path); + if p.exists() { + return Some(p); + } + } + let home = std::env::var("HOME").ok()?; + let candidates = [ + format!("{}/.local/share/ephemeris/de440.bsp", home), + format!("{}/ephemeris/de440.bsp", home), + "/usr/local/share/ephemeris/de440.bsp".to_string(), + ]; + for path in candidates { + let p = PathBuf::from(&path); + if p.exists() { + return Some(p); + } + } + None + } + + #[test] + #[ignore] + fn test_open_de440() { + let path = get_de440_path().expect("DE440 file not found - set DE440_PATH env var"); + let spk = SpkFile::open(&path).expect("Failed to open DE440"); + let segments = spk.segments(); + assert!(!segments.is_empty(), "No segments found in DE440"); + println!("Found {} segments", segments.len()); + for seg in segments.iter().take(10) { + println!( + "Body {} -> Center {}, JD {:.1} to {:.1}", + seg.body_id, + seg.center_id, + seg.start_jd(), + seg.end_jd() + ); + } + } + + #[test] + #[ignore] + fn test_compute_earth_position() { + let path = get_de440_path().expect("DE440 file not found"); + let spk = SpkFile::open(&path).expect("Failed to open DE440"); + let jd_j2000 = 2451545.0; + let (pos, vel) = spk + .compute_state( + bodies::EARTH_MOON_BARYCENTER, + bodies::SOLAR_SYSTEM_BARYCENTER, + jd_j2000, + ) + .expect("Failed to compute Earth state"); + let distance_au = + libm::sqrt(pos[0].powi(2) + pos[1].powi(2) + pos[2].powi(2)) / 149597870.7; + println!("Earth-Moon barycenter at J2000.0:"); + println!( + " Position: [{:.3}, {:.3}, {:.3}] km", + pos[0], pos[1], pos[2] + ); + println!( + " Velocity: [{:.6}, {:.6}, {:.6}] km/s", + vel[0], vel[1], vel[2] + ); + println!(" Distance from SSB: {:.6} AU", distance_au); + assert!( + distance_au > 0.98 && distance_au < 1.02, + "Earth should be ~1 AU from SSB" + ); + } + + #[test] + #[ignore] + fn test_compute_mars_position() { + let path = get_de440_path().expect("DE440 file not found"); + let spk = SpkFile::open(&path).expect("Failed to open DE440"); + let jd = 2460000.5; + let (pos, vel) = spk + .compute_state(bodies::MARS_BARYCENTER, bodies::SOLAR_SYSTEM_BARYCENTER, jd) + .expect("Failed to compute Mars state"); + let distance_au = + libm::sqrt(pos[0].powi(2) + pos[1].powi(2) + pos[2].powi(2)) / 149597870.7; + println!("Mars barycenter at JD {}:", jd); + println!( + " Position: [{:.3}, {:.3}, {:.3}] km", + pos[0], pos[1], pos[2] + ); + println!( + " Velocity: [{:.6}, {:.6}, {:.6}] km/s", + vel[0], vel[1], vel[2] + ); + println!(" Distance from SSB: {:.6} AU", distance_au); + assert!( + distance_au > 1.3 && distance_au < 1.7, + "Mars should be 1.4-1.7 AU from SSB" + ); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/jpl/spk.rs b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/spk.rs new file mode 100644 index 0000000..e35df29 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/jpl/spk.rs @@ -0,0 +1,755 @@ +use super::chebyshev::evaluate_position_velocity; +use super::daf::{DafFile, DafSummary}; +use super::SpkError; +use cosmos_core::constants::{J2000_JD, SECONDS_PER_DAY_F64}; +use std::path::Path; + +fn jd_to_seconds_from_j2000(jd: f64) -> f64 { + (jd - J2000_JD) * SECONDS_PER_DAY_F64 +} + +fn seconds_from_j2000_to_jd(seconds: f64) -> f64 { + J2000_JD + seconds / SECONDS_PER_DAY_F64 +} + +#[derive(Debug, Clone)] +pub struct SpkSegment { + pub body_id: i32, + pub center_id: i32, + pub frame_id: i32, + pub data_type: i32, + pub start_epoch: f64, + pub end_epoch: f64, + pub start_index: usize, + pub end_index: usize, +} + +impl SpkSegment { + pub fn from_summary(summary: &DafSummary) -> Result { + if summary.doubles.len() < 2 || summary.ints.len() < 6 { + return Err(SpkError::InvalidData("Incomplete SPK summary".into())); + } + Ok(Self { + start_epoch: summary.doubles[0], + end_epoch: summary.doubles[1], + body_id: summary.ints[0], + center_id: summary.ints[1], + frame_id: summary.ints[2], + data_type: summary.ints[3], + start_index: summary.ints[4] as usize, + end_index: summary.ints[5] as usize, + }) + } + + pub fn contains_epoch(&self, jd_tdb: f64) -> bool { + let epoch_seconds = jd_to_seconds_from_j2000(jd_tdb); + epoch_seconds >= self.start_epoch && epoch_seconds <= self.end_epoch + } + + pub fn start_jd(&self) -> f64 { + seconds_from_j2000_to_jd(self.start_epoch) + } + + pub fn end_jd(&self) -> f64 { + seconds_from_j2000_to_jd(self.end_epoch) + } +} + +struct Type2Metadata { + init: f64, + intlen: f64, + rsize: usize, + n_records: usize, + n_coeffs: usize, +} + +/// Metadata for a Type 21 (Extended Modified Difference Arrays) segment. +/// +/// Type 21 segments store the trajectory of a small body via the +/// Modified Difference Arrays scheme described in Newhall (1989). They +/// are the standard format produced by JPL Horizons for centaurs +/// (Chiron, Pholus), TNOs (Eris, Sedna), and many comets. +/// +/// Segment layout (TDB seconds past J2000 throughout): +/// +/// ```text +/// [start_index] Record 0 (4·MAXDIM + 11 doubles) +/// Record 1 +/// ... +/// Record NUMREC-1 +/// Epoch directory (NUMREC doubles — final epoch of each record) +/// [end_index-1] MAXDIM (as a double, integer-valued) +/// [end_index] NUMREC (as a double, integer-valued) +/// ``` +/// +/// Each record itself contains: +/// +/// ```text +/// record[0] TL — final epoch of this record +/// record[1 .. 1+MAXDIM] G(1..MAXDIM) — step sizes +/// record[1+MAXDIM .. 4+MAXDIM] REFPOS(1..3) — reference position (km) +/// record[4+MAXDIM .. 7+MAXDIM] REFVEL(1..3) — reference velocity (km/s) +/// record[7+MAXDIM .. 7+MAXDIM+3·MAXDIM] +/// DT(MAXDIM, 3) — modified divided differences +/// record[7+MAXDIM+3·MAXDIM] KQMAX1 — max integration order + 1 +/// record[8+MAXDIM+3·MAXDIM .. 11+MAXDIM+3·MAXDIM] +/// KQ(1..3) — integration orders per component +/// ``` +/// +/// Interpolation (Newhall 1989, JPL MAO/D-2706) reconstructs the +/// state `(position, velocity)` at the target TDB by applying the +/// Newton-style recurrence on `DT` with the cumulative G coefficients. +/// That mathematical step is **not yet implemented** in this crate; +/// today `compute_state` reaches a Type 21 segment, parses the record +/// successfully, and returns `SpkError::UnsupportedType(21)` with a +/// pointer to this TODO. Loading a Type-21-bearing kernel no longer +/// silently drops the body. +#[derive(Debug, Clone, Copy)] +struct Type21Metadata { + /// Per-record header size in doubles. Equals `4·MAXDIM + 11`. + record_size: usize, + /// Maximum integration order stored per record. Typically 15 in + /// JPL Horizons output, but anywhere in `1..=25` is allowed. + maxdim: usize, + /// Number of records in the segment. + n_records: usize, +} + +/// Parsed Type 21 record, ready for interpolation. +/// +/// Fields are read but not yet consumed — the Newhall MDA integration +/// step will use them in a follow-up. Marked `dead_code`-allow so the +/// parsing layer compiles cleanly today without losing the metadata +/// structure that the interpolation will build on top of. +#[derive(Debug, Clone)] +#[allow(dead_code)] +struct Type21Record { + /// Final epoch of the record (TDB seconds past J2000). + tl: f64, + /// Step sizes `G(1..MAXDIM)`, in seconds. + g: Vec, + /// Reference position (km) at `TL`. + refpos: [f64; 3], + /// Reference velocity (km/s) at `TL`. + refvel: [f64; 3], + /// Modified divided differences, stored as `DT[component][order]` + /// with `component ∈ {0,1,2}` (X, Y, Z) and `order ∈ {0..MAXDIM-1}`. + dt: [Vec; 3], + /// Maximum integration order plus one (= max KQ[j] + 1). + kqmax1: i32, + /// Integration orders per component `KQ(1..3)`. + kq: [i32; 3], +} + +pub struct SpkFile { + daf: DafFile, + segments: Vec, +} + +impl SpkFile { + pub fn open>(path: P) -> Result { + let daf = DafFile::open(path)?; + let segments = Self::load_segments(&daf)?; + Ok(Self { daf, segments }) + } + + fn load_segments(daf: &DafFile) -> Result, SpkError> { + let mut segments = Vec::new(); + for summary_result in daf.iter_summaries() { + let summary = summary_result?; + let segment = SpkSegment::from_summary(&summary)?; + // Accept the SPK record types this crate either fully + // handles (Type 2 Chebyshev) or parses + flags for later + // interpolation (Type 21 Modified Difference Arrays). + // Other types are silently skipped — they would only + // surface as `SegmentNotFound` on lookup, which mirrors + // the historical behaviour for unsupported types. + if matches!(segment.data_type, 2 | 21) { + segments.push(segment); + } + } + Ok(segments) + } + + pub fn segments(&self) -> &[SpkSegment] { + &self.segments + } + + pub fn find_segment(&self, body: i32, center: i32, jd_tdb: f64) -> Option<&SpkSegment> { + self.segments + .iter() + .find(|s| s.body_id == body && s.center_id == center && s.contains_epoch(jd_tdb)) + } + + fn read_type2_metadata(&self, segment: &SpkSegment) -> Result { + let meta = self.daf.read_f64_array(segment.end_index - 3, 4)?; + let init = meta[0]; + let intlen = meta[1]; + let rsize = meta[2] as usize; + let n_records = meta[3] as usize; + let n_coeffs = (rsize - 2) / 3; + Ok(Type2Metadata { + init, + intlen, + rsize, + n_records, + n_coeffs, + }) + } + + fn find_record_index(&self, meta: &Type2Metadata, jd_tdb: f64) -> usize { + let epoch_seconds = jd_to_seconds_from_j2000(jd_tdb); + let seconds_from_init = epoch_seconds - meta.init; + let record_index = libm::floor(seconds_from_init / meta.intlen) as usize; + record_index.min(meta.n_records - 1) + } + + fn read_type2_record( + &self, + segment: &SpkSegment, + meta: &Type2Metadata, + record_index: usize, + ) -> Result<(Vec, f64, f64), SpkError> { + let record_start = segment.start_index + record_index * meta.rsize; + let record = self.daf.read_f64_array(record_start, meta.rsize)?; + let mid = record[0]; + let radius = record[1]; + Ok((record, mid, radius)) + } + + pub fn compute_position( + &self, + body: i32, + center: i32, + jd_tdb: f64, + ) -> Result<[f64; 3], SpkError> { + let (pos, _) = self.compute_state(body, center, jd_tdb)?; + Ok(pos) + } + + pub fn compute_state( + &self, + body: i32, + center: i32, + jd_tdb: f64, + ) -> Result<([f64; 3], [f64; 3]), SpkError> { + let segment = self.find_segment(body, center, jd_tdb).ok_or({ + SpkError::SegmentNotFound { + body, + center, + epoch: jd_tdb, + } + })?; + match segment.data_type { + 2 => self.compute_state_type2(segment, jd_tdb), + 21 => self.compute_state_type21(segment, jd_tdb), + other => Err(SpkError::UnsupportedType(other)), + } + } + + fn compute_state_type2( + &self, + segment: &SpkSegment, + jd_tdb: f64, + ) -> Result<([f64; 3], [f64; 3]), SpkError> { + let meta = self.read_type2_metadata(segment)?; + let record_index = self.find_record_index(&meta, jd_tdb); + let (record, mid, radius) = self.read_type2_record(segment, &meta, record_index)?; + let epoch_seconds = jd_to_seconds_from_j2000(jd_tdb); + let t_normalized = (epoch_seconds - mid) / radius; + let coeffs = &record[2..]; + let n = meta.n_coeffs; + let coeffs_x = &coeffs[0..n]; + let coeffs_y = &coeffs[n..2 * n]; + let coeffs_z = &coeffs[2 * n..3 * n]; + evaluate_position_velocity(coeffs_x, coeffs_y, coeffs_z, n, t_normalized, radius) + } + + /// Parse a Type 21 record fully and surface a structured "not yet + /// implemented" error. The parsing path is exercised so a kernel + /// containing only Type 21 segments can be opened and inspected; + /// only the Newhall (1989) Modified-Difference-Arrays interpolation + /// step is missing. + fn compute_state_type21( + &self, + segment: &SpkSegment, + jd_tdb: f64, + ) -> Result<([f64; 3], [f64; 3]), SpkError> { + let meta = self.read_type21_metadata(segment)?; + let record_index = self.find_type21_record_index(segment, &meta, jd_tdb)?; + // Read but discard the parsed record (asserts parsing path). + let _ = self.read_type21_record(segment, &meta, record_index)?; + Err(SpkError::UnsupportedType(21)) + } + + /// Read the trailing `MAXDIM` and `NUMREC` from a Type 21 segment. + fn read_type21_metadata(&self, segment: &SpkSegment) -> Result { + let trailer = self.daf.read_f64_array(segment.end_index - 1, 2)?; + let maxdim = trailer[0] as usize; + let n_records = trailer[1] as usize; + if maxdim == 0 || maxdim > 25 { + return Err(SpkError::InvalidData(format!( + "Type 21 MAXDIM = {} out of valid range 1..=25", + maxdim + ))); + } + if n_records == 0 { + return Err(SpkError::InvalidData( + "Type 21 NUMREC = 0 — segment has no records".into(), + )); + } + let record_size = 4 * maxdim + 11; + // Sanity: total segment length should equal n_records * record_size + n_records + 2. + // (records + epoch directory + MAXDIM + NUMREC). Off-by-one tolerance for + // 0-vs-1-based indexing. + Ok(Type21Metadata { + record_size, + maxdim, + n_records, + }) + } + + /// Binary search the Type 21 epoch directory for the record that + /// covers `jd_tdb`. The directory stores the *final* epoch of each + /// record in TDB seconds past J2000, in ascending order. + fn find_type21_record_index( + &self, + segment: &SpkSegment, + meta: &Type21Metadata, + jd_tdb: f64, + ) -> Result { + // Epoch directory sits at [end_index - 1 - n_records .. end_index - 2]. + let dir_start = segment.end_index - 1 - meta.n_records; + let epochs = self.daf.read_f64_array(dir_start, meta.n_records)?; + let target = jd_to_seconds_from_j2000(jd_tdb); + // partition_point gives the first index where epochs[i] >= target. + let idx = epochs.partition_point(|&e| e < target); + if idx >= meta.n_records { + // Clamp to the final record — handles the segment's end_epoch. + Ok(meta.n_records - 1) + } else { + Ok(idx) + } + } + + fn read_type21_record( + &self, + segment: &SpkSegment, + meta: &Type21Metadata, + record_index: usize, + ) -> Result { + let record_start = segment.start_index + record_index * meta.record_size; + let raw = self.daf.read_f64_array(record_start, meta.record_size)?; + + let tl = raw[0]; + let g: Vec = raw[1..1 + meta.maxdim].to_vec(); + let refpos = [ + raw[1 + meta.maxdim], + raw[2 + meta.maxdim], + raw[3 + meta.maxdim], + ]; + let refvel = [ + raw[4 + meta.maxdim], + raw[5 + meta.maxdim], + raw[6 + meta.maxdim], + ]; + + // DT is stored as DT(MAXDIM, 3) in column-major (Fortran) order: + // raw[7+M .. 7+M+M] = DT[*, 0] (X component, all orders) + // raw[7+2M .. 7+3M] = DT[*, 1] (Y component) + // raw[7+3M .. 7+4M] = DT[*, 2] (Z component) + let m = meta.maxdim; + let dt_x = raw[7 + m..7 + 2 * m].to_vec(); + let dt_y = raw[7 + 2 * m..7 + 3 * m].to_vec(); + let dt_z = raw[7 + 3 * m..7 + 4 * m].to_vec(); + let dt = [dt_x, dt_y, dt_z]; + + let kqmax1 = raw[7 + 4 * m] as i32; + let kq = [ + raw[8 + 4 * m] as i32, + raw[9 + 4 * m] as i32, + raw[10 + 4 * m] as i32, + ]; + + Ok(Type21Record { + tl, + g, + refpos, + refvel, + dt, + kqmax1, + kq, + }) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_segment_contains_epoch() { + let start_jd = cosmos_core::constants::J2000_JD; + let end_jd = 2451645.0; + let segment = SpkSegment { + body_id: 3, + center_id: 0, + frame_id: 1, + data_type: 2, + start_epoch: jd_to_seconds_from_j2000(start_jd), + end_epoch: jd_to_seconds_from_j2000(end_jd), + start_index: 0, + end_index: 0, + }; + assert!(segment.contains_epoch(2451545.0)); + assert!(segment.contains_epoch(2451600.0)); + assert!(segment.contains_epoch(2451645.0)); + assert!(!segment.contains_epoch(2451544.9)); + assert!(!segment.contains_epoch(2451645.1)); + assert_eq!(segment.start_jd(), start_jd); + assert_eq!(segment.end_jd(), end_jd); + } + + #[test] + fn test_epoch_conversions() { + let jd = 2451545.0; + let seconds = jd_to_seconds_from_j2000(jd); + assert_eq!(seconds, 0.0); + assert_eq!(seconds_from_j2000_to_jd(seconds), jd); + let jd2 = 2460000.5; + let seconds2 = jd_to_seconds_from_j2000(jd2); + assert_eq!(seconds_from_j2000_to_jd(seconds2), jd2); + let expected_seconds = (jd2 - J2000_JD) * SECONDS_PER_DAY_F64; + assert_eq!(seconds2, expected_seconds); + } + + #[test] + fn test_spk_segment_from_summary() { + let summary = DafSummary { + doubles: vec![0.0, cosmos_core::constants::SECONDS_PER_DAY_F64], // start and end epoch + ints: vec![399, 0, 1, 2, 100, 200], // body, center, frame, type, start_idx, end_idx + }; + + let segment = SpkSegment::from_summary(&summary).unwrap(); + assert_eq!(segment.body_id, 399); + assert_eq!(segment.center_id, 0); + assert_eq!(segment.frame_id, 1); + assert_eq!(segment.data_type, 2); + assert_eq!(segment.start_index, 100); + assert_eq!(segment.end_index, 200); + assert!((segment.start_epoch - 0.0).abs() < 1e-10); + assert!((segment.end_epoch - cosmos_core::constants::SECONDS_PER_DAY_F64).abs() < 1e-10); + } + + #[test] + fn test_spk_segment_from_summary_insufficient_doubles() { + let summary = DafSummary { + doubles: vec![0.0], // only 1 double, need 2 + ints: vec![399, 0, 1, 2, 100, 200], + }; + + let result = SpkSegment::from_summary(&summary); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidData(msg)) => assert!(msg.contains("Incomplete")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_spk_segment_from_summary_insufficient_ints() { + let summary = DafSummary { + doubles: vec![0.0, cosmos_core::constants::SECONDS_PER_DAY_F64], + ints: vec![399, 0, 1, 2, 100], // only 5 ints, need 6 + }; + + let result = SpkSegment::from_summary(&summary); + assert!(result.is_err()); + match result { + Err(SpkError::InvalidData(msg)) => assert!(msg.contains("Incomplete")), + _ => panic!("Expected InvalidData error"), + } + } + + #[test] + fn test_spk_segment_clone() { + let segment = SpkSegment { + body_id: 399, + center_id: 0, + frame_id: 1, + data_type: 2, + start_epoch: 0.0, + end_epoch: cosmos_core::constants::SECONDS_PER_DAY_F64, + start_index: 100, + end_index: 200, + }; + + let cloned = segment.clone(); + assert_eq!(cloned.body_id, segment.body_id); + assert_eq!(cloned.center_id, segment.center_id); + assert_eq!(cloned.frame_id, segment.frame_id); + assert_eq!(cloned.data_type, segment.data_type); + } + + #[test] + fn test_spk_segment_debug() { + let segment = SpkSegment { + body_id: 399, + center_id: 0, + frame_id: 1, + data_type: 2, + start_epoch: 0.0, + end_epoch: cosmos_core::constants::SECONDS_PER_DAY_F64, + start_index: 100, + end_index: 200, + }; + + let debug = format!("{:?}", segment); + assert!(debug.contains("SpkSegment")); + assert!(debug.contains("body_id: 399")); + } + + #[test] + fn test_type21_record_size_formula() { + // Type 21 record size = 4 * MAXDIM + 11. + for maxdim in [1usize, 5, 10, 15, 25] { + let expected = 4 * maxdim + 11; + // Sanity: matches the layout sum + // 1 (TL) + MAXDIM (G) + 3 (REFPOS) + 3 (REFVEL) + // + 3*MAXDIM (DT) + 1 (KQMAX1) + 3 (KQ) + // = 4*MAXDIM + 11. + assert_eq!(expected, 1 + maxdim + 3 + 3 + 3 * maxdim + 1 + 3); + } + } + + #[test] + fn test_compute_state_type2_path_still_works() { + // Regression: after adding the Type 21 dispatch, the Type 2 + // path must still produce the same Earth-Moon barycenter + // state at J2000. Uses de432s if available. + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + let (pos, vel) = spk.compute_state(3, 0, J2000_JD).unwrap(); + let dist = libm::sqrt(pos[0].powi(2) + pos[1].powi(2) + pos[2].powi(2)); + assert!((dist / 149597870.7 - 1.0).abs() < 0.05); + let vel_mag = libm::sqrt(vel[0].powi(2) + vel[1].powi(2) + vel[2].powi(2)); + assert!(vel_mag > 20.0 && vel_mag < 40.0); + } + + #[test] + fn test_type2_metadata_struct() { + let meta = Type2Metadata { + init: 0.0, + intlen: cosmos_core::constants::SECONDS_PER_DAY_F64, + rsize: 50, + n_records: 100, + n_coeffs: 16, + }; + + assert_eq!(meta.init, 0.0); + assert_eq!(meta.intlen, cosmos_core::constants::SECONDS_PER_DAY_F64); + assert_eq!(meta.rsize, 50); + assert_eq!(meta.n_records, 100); + assert_eq!(meta.n_coeffs, 16); + } + + #[test] + fn test_jd_to_seconds_roundtrip() { + let test_jds = [ + 2451545.0, // J2000.0 + 2451545.5, // J2000.0 + 12 hours + 2460000.0, // future date + 2440000.0, // past date + ]; + + for &jd in &test_jds { + let seconds = jd_to_seconds_from_j2000(jd); + let reconstructed = seconds_from_j2000_to_jd(seconds); + assert!( + (jd - reconstructed).abs() < 1e-10, + "Failed for JD {}: got {}", + jd, + reconstructed + ); + } + } + + #[test] + fn test_spk_file_open_nonexistent() { + let result = SpkFile::open("/nonexistent/path/file.bsp"); + assert!(result.is_err()); + } + + fn get_de432s_path() -> Option { + let test_file = + std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/data/de432s.bsp"); + if test_file.exists() { + Some(test_file) + } else { + None + } + } + + #[test] + fn test_spk_segments_accessor() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + let segments = spk.segments(); + assert!(!segments.is_empty()); + } + + #[test] + fn test_spk_find_segment() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + + // Earth-Moon barycenter (3) relative to SSB (0) at J2000 + let seg = spk.find_segment(3, 0, J2000_JD); + assert!( + seg.is_some(), + "Should find segment for Earth-Moon barycenter" + ); + + // Non-existent body + let seg = spk.find_segment(999, 0, J2000_JD); + assert!(seg.is_none(), "Should not find segment for body 999"); + } + + #[test] + fn test_spk_compute_position() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + + // Compute Earth-Moon barycenter position at J2000 + let result = spk.compute_position(3, 0, J2000_JD); + assert!(result.is_ok(), "Should compute position"); + + let pos = result.unwrap(); + let dist = libm::sqrt(pos[0].powi(2) + pos[1].powi(2) + pos[2].powi(2)); + // Earth-Moon barycenter should be ~1 AU from SSB (in km) + let dist_au = dist / 149597870.7; + assert!( + dist_au > 0.98 && dist_au < 1.02, + "Earth should be ~1 AU from SSB, got {} AU", + dist_au + ); + } + + #[test] + fn test_spk_compute_state() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + + // Compute Earth-Moon barycenter state at J2000 + let result = spk.compute_state(3, 0, J2000_JD); + assert!(result.is_ok(), "Should compute state"); + + let (pos, vel) = result.unwrap(); + + // Check position is reasonable + let dist = libm::sqrt(pos[0].powi(2) + pos[1].powi(2) + pos[2].powi(2)); + assert!(dist > 1e8, "Position magnitude should be > 100 million km"); + + // Check velocity is reasonable (Earth orbital velocity ~30 km/s) + let vel_mag = libm::sqrt(vel[0].powi(2) + vel[1].powi(2) + vel[2].powi(2)); + assert!( + vel_mag > 20.0 && vel_mag < 40.0, + "Velocity should be ~30 km/s, got {} km/s", + vel_mag + ); + } + + #[test] + fn test_spk_segment_not_found_error() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + + // Request a non-existent body + let result = spk.compute_position(999, 0, J2000_JD); + assert!(result.is_err()); + match result { + Err(SpkError::SegmentNotFound { + body, + center, + epoch, + }) => { + assert_eq!(body, 999); + assert_eq!(center, 0); + assert!((epoch - J2000_JD).abs() < 1e-10); + } + _ => panic!("Expected SegmentNotFound error"), + } + } + + #[test] + fn test_spk_compute_position_different_epochs() { + let path = match get_de432s_path() { + Some(p) => p, + None => { + eprintln!("Skipping: de432s.bsp not found"); + return; + } + }; + let spk = SpkFile::open(&path).unwrap(); + + // Compute at different epochs + let epochs = [J2000_JD, J2000_JD + 100.0, J2000_JD + 365.25]; + let mut prev_pos: Option<[f64; 3]> = None; + + for epoch in epochs { + let result = spk.compute_position(3, 0, epoch); + assert!(result.is_ok(), "Should compute position at epoch {}", epoch); + + let pos = result.unwrap(); + if let Some(prev) = prev_pos { + // Positions should be different at different epochs + let diff = libm::sqrt( + (pos[0] - prev[0]).powi(2) + + (pos[1] - prev[1]).powi(2) + + (pos[2] - prev[2]).powi(2), + ); + assert!( + diff > 1e6, + "Positions should differ significantly between epochs" + ); + } + prev_pos = Some(pos); + } + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/lib.rs b/01_yachay/cosmos/cosmos-ephemeris/src/lib.rs new file mode 100644 index 0000000..b0f4f92 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/lib.rs @@ -0,0 +1,11 @@ +pub mod earth; +pub mod jpl; +pub mod moon; +pub mod planets; +pub mod sun; + +pub(crate) mod lunar_coefficients; +pub(crate) mod planetary_coefficients; + +pub use earth::Vsop2013Earth; +pub use sun::Vsop2013Sun; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/mod.rs new file mode 100644 index 0000000..e807e08 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/mod.rs @@ -0,0 +1,2 @@ +pub mod moon; +pub use moon::*; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/moon.rs b/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/moon.rs new file mode 100644 index 0000000..7a7c6b9 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/lunar_coefficients/moon.rs @@ -0,0 +1,24383 @@ +#![allow(clippy::excessive_precision)] +#![allow(clippy::unreadable_literal)] +#![allow(clippy::approx_constant)] + +//! ELP/MPP02 coefficients for the Moon +//! +//! Generated from official ELP/MPP02 data files +//! Threshold: 1e-3 +//! Generated: 2026-01-09 +//! +//! Reference: Chapront & Francou (2003) +//! "The lunar theory ELP revisited. Introduction of new planetary perturbations" +//! Astronomy & Astrophysics, 404, 735-742 + +/// Main problem term with Delaunay argument multipliers +#[derive(Debug, Clone, Copy)] +pub struct MainTerm { + /// Multipliers for D, F, l, l' (Delaunay arguments) + pub delaunay: [i8; 4], + /// Polynomial coefficients A0 through A6 + pub coeffs: [f64; 7], +} + +/// Perturbation term with full argument multipliers +#[derive(Debug, Clone, Copy)] +pub struct PertTerm { + /// Amplitude (sqrt(S^2 + C^2)) + pub amplitude: f64, + /// Phase angle (atan2(C, S)) + pub phase: f64, + /// Multipliers: [D, F, l, l', Me, Ve, Te, Ma, Ju, Sa, Ur, Ne, zeta, ?, ?, ?] + pub multipliers: [i8; 16], +} + +/// Perturbation block for a specific time power +#[derive(Debug, Clone, Copy)] +pub struct PertBlock { + /// Power of T (0, 1, 2, 3) + pub power: u8, + /// Terms for this power + pub terms: &'static [PertTerm], +} + +/// Main problem terms for LONGITUDE (373 of 1023 terms) +pub const MAIN_LONGITUDE: &[MainTerm] = &[ + MainTerm { + delaunay: [0, 0, 1, 0], + coeffs: [ + 22639.55000000000, + 0.00000, + 0.00000, + 412529.61000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 0], + coeffs: [ + 4586.43061000000, + 87132.46000, + -842.12000, + 83586.18000, + -191.17000, + 20.31000, + -0.17000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 0], + coeffs: [ + 2369.91227000000, + 69551.14000, + -1472.50000, + 10817.07000, + -255.36000, + 22.07000, + -0.15000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 0], + coeffs: [ + 769.02326000000, + -257.51000, + -47.39000, + 28008.99000, + -6.83000, + -0.56000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 1], + coeffs: [ + -666.44186000000, + -5206.84000, + 258.79000, + -555.98000, + -39887.79000, + 1.73000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 0], + coeffs: [ + -411.60287000000, + 168.48000, + -18433.81000, + -121.62000, + 0.40000, + -0.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 0], + coeffs: [ + 211.65487000000, + 4685.54000, + -42.06000, + 7715.64000, + 7.86000, + 2.12000, + -0.01000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -1], + coeffs: [ + 205.44315000000, + 4157.78000, + -32.99000, + 3751.43000, + 12284.72000, + -0.13000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 0], + coeffs: [ + 191.95575000000, + 5619.27000, + -153.09000, + 4250.55000, + -30.10000, + 2.78000, + -0.02000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -1], + coeffs: [ + 164.73458000000, + 5378.28000, + -77.43000, + 545.71000, + 9844.15000, + -0.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 1], + coeffs: [ + -147.32654000000, + -3778.62000, + 68.68000, + -2688.53000, + -8829.17000, + -0.76000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 0], + coeffs: [ + -124.98806000000, + -2831.88000, + 136.18000, + -86.60000, + -2.68000, + -48598.15000, + 256.21000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 1], + coeffs: [ + -109.38419000000, + -2193.78000, + 51.64000, + -2018.13000, + -6556.10000, + 0.54000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, 0], + coeffs: [ + 55.17801000000, + 530.97000, + 2463.55000, + -15.35000, + -6.96000, + 1.20000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 1, 0], + coeffs: [ + -45.10032000000, + 17.41000, + -2019.78000, + -830.20000, + 0.09000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 1, 0], + coeffs: [ + 39.53393000000, + -395.24000, + 1788.33000, + 720.91000, + -2.60000, + 0.90000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 0], + coeffs: [ + 38.42974000000, + 1853.28000, + -37.86000, + 849.77000, + -9.84000, + 0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 0], + coeffs: [ + 36.12364000000, + -28.42000, + -5.10000, + 1972.74000, + -0.93000, + -0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 0], + coeffs: [ + 30.77247000000, + 1164.74000, + -12.42000, + 1123.35000, + -4.25000, + 1.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 1], + coeffs: [ + -28.39810000000, + 915.46000, + -16.70000, + -528.73000, + -1693.30000, + -0.38000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 1], + coeffs: [ + -24.35910000000, + -661.00000, + 29.13000, + -128.06000, + -1457.61000, + -5.21000, + 0.03000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 0], + coeffs: [ + -18.58467000000, + -437.66000, + 18.91000, + -346.51000, + -1.00000, + -7226.22000, + 38.10000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 1], + coeffs: [ + 17.95512000000, + 6.59000, + -11.64000, + 21.84000, + 1074.24000, + 6981.34000, + -36.80000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -1], + coeffs: [ + 14.53078000000, + 497.46000, + -9.38000, + 307.25000, + 867.99000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, 0], + coeffs: [ + 14.37964000000, + 417.80000, + -13.71000, + 577.47000, + -3.08000, + 0.28000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 0], + coeffs: [ + 13.89903000000, + 782.37000, + -19.88000, + 215.74000, + -5.22000, + 1.37000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 0], + coeffs: [ + 13.19400000000, + 279.87000, + -3.19000, + 721.29000, + 0.65000, + 0.14000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 1], + coeffs: [ + -9.67938000000, + -235.29000, + 4.90000, + -352.52000, + -579.94000, + -0.15000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, 0], + coeffs: [ + -9.36601000000, + -173.58000, + -417.66000, + -173.70000, + 0.48000, + -0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -1], + coeffs: [ + 8.60582000000, + 187.04000, + -1.14000, + 313.85000, + 515.03000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 0], + coeffs: [ + -8.45308000000, + -187.78000, + 10.10000, + -158.62000, + 0.77000, + -3286.75000, + 17.33000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -2], + coeffs: [ + 8.05076000000, + 289.14000, + -3.14000, + 21.09000, + 962.91000, + -0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 1], + coeffs: [ + -7.63041000000, + -156.07000, + 4.09000, + -279.89000, + -457.41000, + 0.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 2], + coeffs: [ + -7.44804000000, + -12.64000, + 2.98000, + -9.32000, + -891.27000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -2], + coeffs: [ + 7.37173000000, + 165.38000, + -1.06000, + 134.79000, + 881.89000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 0], + coeffs: [ + -6.38325000000, + -72.70000, + -288.51000, + -117.47000, + 1.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, 0], + coeffs: [ + -5.74170000000, + -155.85000, + -254.00000, + -59.77000, + 0.64000, + -0.10000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -1], + coeffs: [ + 4.37416000000, + 221.00000, + -3.71000, + 93.87000, + 260.99000, + -0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 2, 0], + coeffs: [ + -3.99767000000, + 2.40000, + -178.94000, + -146.18000, + 0.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, 0], + coeffs: [ + -3.20968000000, + -121.62000, + 3.09000, + -62.39000, + 1.61000, + -1248.01000, + 6.58000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 1], + coeffs: [ + -2.91464000000, + -100.96000, + 4.26000, + -66.13000, + -174.49000, + -0.75000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -1], + coeffs: [ + 2.73198000000, + 106.73000, + -1.04000, + 99.83000, + 163.20000, + 0.11000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 2], + coeffs: [ + -2.56813000000, + -81.06000, + 1.44000, + -46.94000, + -307.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 2], + coeffs: [ + -2.52138000000, + -84.66000, + 0.74000, + -46.07000, + -302.13000, + 0.07000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 1], + coeffs: [ + 2.48897000000, + 257.30000, + -3.72000, + 89.71000, + 150.19000, + 0.26000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -1], + coeffs: [ + 2.14619000000, + 18.77000, + 95.81000, + -0.84000, + 128.22000, + 0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, 0], + coeffs: [ + 1.97772000000, + 113.34000, + -3.31000, + 59.21000, + -0.94000, + 0.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 4, 0], + coeffs: [ + 1.93367000000, + -2.65000, + -0.44000, + 140.75000, + -0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -1], + coeffs: [ + 1.87083000000, + 111.80000, + -2.35000, + 25.65000, + 111.49000, + 0.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 0], + coeffs: [ + -1.75296000000, + -48.87000, + 1.67000, + -64.28000, + -0.51000, + -681.60000, + 3.59000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, 1], + coeffs: [ + -1.43724000000, + -23.32000, + -64.11000, + -0.16000, + -86.03000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 2, 0], + coeffs: [ + -1.37259000000, + -7.58000, + -62.49000, + -50.12000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 1], + coeffs: [ + 1.26186000000, + 1.83000, + -0.90000, + 24.50000, + 75.50000, + 490.64000, + -2.59000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, 0], + coeffs: [ + -1.22412000000, + -28.10000, + 0.42000, + -44.73000, + -0.15000, + -475.97000, + 2.51000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 0], + coeffs: [ + 1.18682000000, + 52.89000, + -0.50000, + 64.88000, + 0.22000, + 0.25000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -1], + coeffs: [ + 1.17704000000, + 41.72000, + -0.96000, + 46.23000, + 70.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 2], + coeffs: [ + -1.16177000000, + -19.75000, + 0.43000, + -21.52000, + -139.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 1], + coeffs: [ + 1.07773000000, + 9.38000, + -1.15000, + 21.49000, + 64.24000, + 418.88000, + -2.21000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, 0], + coeffs: [ + 1.05949000000, + 30.46000, + -1.16000, + 61.74000, + -0.30000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 1, 0], + coeffs: [ + -0.99023000000, + -27.73000, + -43.70000, + -25.33000, + 0.16000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, 0], + coeffs: [ + 0.94827000000, + 19.71000, + -0.30000, + 69.11000, + 0.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -2], + coeffs: [ + 0.75173000000, + 29.04000, + -0.43000, + 15.47000, + 89.90000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -3, 1], + coeffs: [ + -0.66940000000, + -15.55000, + 0.38000, + -36.53000, + -40.10000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 1], + coeffs: [ + -0.63523000000, + -17.62000, + 0.74000, + -14.32000, + -38.11000, + -0.21000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, 0], + coeffs: [ + -0.58399000000, + -12.36000, + 0.75000, + -21.52000, + 0.13000, + -227.07000, + 1.20000, + ], + }, + MainTerm { + delaunay: [1, -2, 0, 0], + coeffs: [ + -0.58332000000, + -5.89000, + -25.98000, + -0.12000, + 0.00000, + -226.81000, + 1.20000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, 0], + coeffs: [ + 0.57156000000, + 38.34000, + -0.75000, + 22.97000, + -0.26000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, 0], + coeffs: [ + -0.56065000000, + -14.54000, + -24.99000, + -20.69000, + -0.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -1], + coeffs: [ + -0.55694000000, + -40.23000, + 1.70000, + -0.01000, + -33.62000, + -216.55000, + 1.14000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 1], + coeffs: [ + -0.54594000000, + -11.18000, + 0.34000, + -29.97000, + -32.73000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -2, 0], + coeffs: [ + -0.53572000000, + -4.50000, + -24.12000, + -19.50000, + 0.04000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, -1], + coeffs: [ + 0.47842000000, + 8.72000, + -0.05000, + 26.15000, + 28.63000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, 0], + coeffs: [ + -0.45380000000, + -4.94000, + -20.52000, + -16.63000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, -1], + coeffs: [ + -0.42624000000, + -8.30000, + -19.01000, + -7.93000, + -25.48000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 4, 0, 0], + coeffs: [ + 0.42034000000, + -0.39000, + 37.65000, + 0.57000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 1], + coeffs: [ + 0.41342000000, + 1.50000, + 18.15000, + 1.19000, + 24.72000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 0], + coeffs: [ + 0.40423000000, + -12.92000, + 2.28000, + -14.17000, + 1.05000, + 157.17000, + -0.83000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, 0], + coeffs: [ + 0.39451000000, + 30.10000, + -0.74000, + 11.79000, + -0.25000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, -1], + coeffs: [ + -0.38215000000, + -11.75000, + -16.94000, + -3.10000, + -22.84000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, -1], + coeffs: [ + -0.37453000000, + -6.50000, + -16.89000, + -6.91000, + -22.36000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 1], + coeffs: [ + -0.35759000000, + 7.75000, + -0.18000, + -13.13000, + -21.49000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 1], + coeffs: [ + 0.34966000000, + 5.36000, + -0.11000, + 12.83000, + 20.95000, + 135.95000, + -0.72000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -3], + coeffs: [ + 0.33983000000, + 13.41000, + -0.12000, + 0.74000, + 60.98000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 3, 0], + coeffs: [ + -0.32866000000, + 0.32000, + -14.70000, + -17.99000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -2], + coeffs: [ + 0.30874000000, + 16.37000, + -0.23000, + 6.49000, + 36.90000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -1, 1], + coeffs: [ + 0.30157000000, + 6.60000, + 13.34000, + 5.61000, + 18.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, 0], + coeffs: [ + 0.30086000000, + 5.06000, + 13.37000, + 5.39000, + -0.19000, + 0.15000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -2], + coeffs: [ + 0.29422000000, + 6.88000, + -0.03000, + 10.73000, + 35.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, 0], + coeffs: [ + 0.29255000000, + 16.72000, + -0.19000, + 16.04000, + -0.08000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, 1], + coeffs: [ + -0.29023000000, + -11.13000, + 0.47000, + -11.80000, + -17.38000, + -0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 1], + coeffs: [ + -0.28911000000, + -15.10000, + 0.59000, + -4.73000, + -17.30000, + -0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -1], + coeffs: [ + 0.28251000000, + 17.39000, + -0.42000, + 8.05000, + 16.82000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, 1], + coeffs: [ + 0.27377000000, + 5.06000, + -0.24000, + 5.22000, + 16.36000, + 106.45000, + -0.56000, + ], + }, + MainTerm { + delaunay: [0, 2, 1, 1], + coeffs: [ + 0.26338000000, + 4.53000, + 11.65000, + 5.03000, + 15.78000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 0, 0], + coeffs: [ + 0.25429000000, + 5.73000, + 11.11000, + 0.26000, + 0.00000, + 98.87000, + -0.52000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, 0], + coeffs: [ + -0.25304000000, + -3.60000, + -11.27000, + 0.10000, + 0.08000, + -98.39000, + 0.52000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 2], + coeffs: [ + -0.24990000000, + -10.76000, + 0.11000, + -9.20000, + -29.88000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -3], + coeffs: [ + 0.24697000000, + 6.33000, + -0.03000, + 4.52000, + 44.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, -1], + coeffs: [ + -0.23141000000, + -9.24000, + 0.19000, + -4.48000, + -13.78000, + -89.98000, + 0.47000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, 0], + coeffs: [ + 0.21853000000, + 12.57000, + -0.41000, + 10.19000, + -0.13000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -1, 0], + coeffs: [ + -0.20134000000, + -9.45000, + -8.85000, + -5.16000, + 0.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 2], + coeffs: [ + -0.19311000000, + -6.23000, + 0.13000, + -7.04000, + -23.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 2], + coeffs: [ + -0.18576000000, + -6.48000, + 0.33000, + -6.56000, + -22.26000, + 0.39000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 0], + coeffs: [ + 0.17903000000, + -34.06000, + 7.98000, + 1.01000, + 0.03000, + 0.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 1], + coeffs: [ + 0.17624000000, + 15.80000, + -0.23000, + 9.59000, + 10.63000, + 0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -2, 0], + coeffs: [ + -0.16977000000, + -6.36000, + -7.54000, + -6.26000, + 0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -2], + coeffs: [ + 0.15781000000, + 6.46000, + -0.06000, + 5.77000, + 18.87000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -2], + coeffs: [ + 0.15227000000, + 9.62000, + -0.17000, + 1.88000, + 18.19000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 1], + coeffs: [ + 0.14990000000, + 4.45000, + -0.27000, + 1.61000, + 8.95000, + 58.29000, + -0.31000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, -1], + coeffs: [ + -0.13636000000, + -3.24000, + 0.19000, + -2.41000, + -8.17000, + -53.02000, + 0.28000, + ], + }, + MainTerm { + delaunay: [1, 0, -3, 0], + coeffs: [ + -0.12812000000, + -3.66000, + 0.13000, + -7.03000, + -0.05000, + -49.82000, + 0.26000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, 0], + coeffs: [ + 0.12616000000, + 10.43000, + -0.29000, + 3.57000, + -0.10000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 2, 0], + coeffs: [ + -0.12386000000, + -3.49000, + -5.45000, + -5.28000, + 0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, -1], + coeffs: [ + -0.12073000000, + -6.32000, + 0.25000, + -2.38000, + -7.23000, + -46.94000, + 0.25000, + ], + }, + MainTerm { + delaunay: [0, 0, 5, 0], + coeffs: [ + 0.11100000000, + -0.23000, + -0.04000, + 10.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 3], + coeffs: [ + -0.10136000000, + 1.16000, + 0.04000, + -0.20000, + -18.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, -1], + coeffs: [ + 0.09982000000, + 4.58000, + -0.04000, + 5.46000, + 5.98000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, -1], + coeffs: [ + 0.09320000000, + 3.39000, + -0.09000, + 5.36000, + 5.56000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, 1], + coeffs: [ + 0.09205000000, + 0.22000, + -0.07000, + 3.46000, + 5.51000, + 35.79000, + -0.19000, + ], + }, + MainTerm { + delaunay: [2, -2, -3, 0], + coeffs: [ + -0.09154000000, + -2.11000, + -4.08000, + -5.03000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 4, 1, 0], + coeffs: [ + 0.09092000000, + -0.07000, + 8.14000, + 1.73000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, -1], + coeffs: [ + 0.09033000000, + 6.23000, + -0.11000, + 3.59000, + 5.38000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, 0, 0], + coeffs: [ + -0.08500000000, + -4.56000, + -3.71000, + -1.97000, + 0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 1], + coeffs: [ + 0.08472000000, + -0.38000, + 3.85000, + 1.59000, + 5.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, -1], + coeffs: [ + -0.08311000000, + -1.91000, + 0.02000, + -3.04000, + -4.98000, + -32.32000, + 0.17000, + ], + }, + MainTerm { + delaunay: [0, -2, 1, 1], + coeffs: [ + -0.08282000000, + 1.73000, + -3.73000, + -1.50000, + -4.95000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -1, 1], + coeffs: [ + -0.08049000000, + 0.25000, + -3.63000, + -1.39000, + -4.82000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -4, 1, 0], + coeffs: [ + -0.08019000000, + 0.77000, + -7.22000, + -1.46000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, 0], + coeffs: [ + 0.07765000000, + 2.20000, + -0.10000, + 5.93000, + -0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 0, 0], + coeffs: [ + -0.07518000000, + -0.70000, + -6.72000, + 0.06000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 0, 1], + coeffs: [ + 0.07501000000, + -6.72000, + 3.04000, + 0.85000, + 4.46000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 1, -1], + coeffs: [ + -0.07373000000, + -2.45000, + -3.26000, + -1.77000, + -4.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, -1], + coeffs: [ + 0.07142000000, + 5.64000, + -0.12000, + 2.05000, + 4.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, 0], + coeffs: [ + 0.06850000000, + 1.40000, + -0.03000, + 6.24000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, 1], + coeffs: [ + 0.06742000000, + -1.63000, + 3.04000, + 1.29000, + 4.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 1, 0], + coeffs: [ + -0.06601000000, + -2.12000, + -2.98000, + -1.62000, + 0.03000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, 1], + coeffs: [ + 0.06541000000, + 1.46000, + 2.86000, + 0.75000, + 3.91000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 2], + coeffs: [ + -0.06513000000, + -0.79000, + 0.02000, + -2.39000, + -7.80000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, -1], + coeffs: [ + 0.06507000000, + -0.18000, + 0.16000, + -1.04000, + 3.93000, + 25.30000, + -0.13000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -2], + coeffs: [ + 0.06439000000, + 2.63000, + -0.05000, + 2.50000, + 7.70000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -2], + coeffs: [ + 0.06314000000, + 0.43000, + 2.82000, + -0.04000, + 7.55000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, -1], + coeffs: [ + -0.06103000000, + -3.57000, + -2.72000, + -1.22000, + -3.65000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, 0], + coeffs: [ + -0.05725000000, + -3.18000, + 0.07000, + -2.18000, + 0.05000, + -22.26000, + 0.12000, + ], + }, + MainTerm { + delaunay: [0, -2, 3, 0], + coeffs: [ + -0.05684000000, + 0.38000, + -2.65000, + -3.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -2, 1], + coeffs: [ + 0.05165000000, + 1.17000, + 2.29000, + 1.89000, + 3.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 3], + coeffs: [ + -0.05142000000, + -1.82000, + 0.03000, + -0.94000, + -9.24000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, 1], + coeffs: [ + -0.05070000000, + -2.99000, + 0.12000, + -1.55000, + -3.03000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -4, 1], + coeffs: [ + -0.04702000000, + -1.04000, + 0.03000, + -3.42000, + -2.82000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 1, 0], + coeffs: [ + 0.04450000000, + 0.98000, + 1.94000, + 0.84000, + 0.00000, + 17.30000, + -0.09000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, 0], + coeffs: [ + -0.04442000000, + -0.91000, + 0.00000, + -2.43000, + -0.03000, + -17.27000, + 0.09000, + ], + }, + MainTerm { + delaunay: [0, 2, 2, 1], + coeffs: [ + 0.04338000000, + 0.81000, + 1.92000, + 1.61000, + 2.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -2], + coeffs: [ + 0.04304000000, + -0.01000, + 0.00000, + 0.06000, + 5.14000, + 16.74000, + -0.09000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, 1], + coeffs: [ + -0.04189000000, + -2.51000, + 0.02000, + -1.50000, + -2.52000, + -16.29000, + 0.09000, + ], + }, + MainTerm { + delaunay: [1, 0, 3, 0], + coeffs: [ + -0.04074000000, + -0.81000, + 0.06000, + -2.24000, + 0.02000, + -15.84000, + 0.08000, + ], + }, + MainTerm { + delaunay: [1, -2, 1, 0], + coeffs: [ + -0.04012000000, + -0.22000, + -1.80000, + -0.72000, + 0.00000, + -15.60000, + 0.08000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 2], + coeffs: [ + -0.03968000000, + -0.61000, + 0.04000, + -0.07000, + -4.75000, + -15.43000, + 0.08000, + ], + }, + MainTerm { + delaunay: [0, 0, 4, 1], + coeffs: [ + -0.03947000000, + -0.80000, + 0.03000, + -2.89000, + -2.37000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, -1], + coeffs: [ + 0.03900000000, + 2.28000, + -0.02000, + 2.14000, + 2.33000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 0, 1], + coeffs: [ + -0.03587000000, + 0.00000, + -1.58000, + -0.05000, + -2.15000, + -13.95000, + 0.07000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 2], + coeffs: [ + -0.03514000000, + -2.04000, + 0.02000, + -1.29000, + -4.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 3, 0], + coeffs: [ + -0.03336000000, + -0.35000, + -1.51000, + -1.83000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -3], + coeffs: [ + 0.03300000000, + 1.42000, + -0.02000, + 0.67000, + 5.92000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, -1], + coeffs: [ + 0.03274000000, + 2.05000, + -0.06000, + 1.49000, + 1.95000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, -1, 0], + coeffs: [ + -0.02979000000, + -0.39000, + -1.33000, + -0.54000, + 0.00000, + -11.59000, + 0.06000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, -1], + coeffs: [ + 0.02949000000, + 0.41000, + 0.00000, + 2.15000, + 1.77000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, -1], + coeffs: [ + -0.02887000000, + -0.54000, + -1.30000, + -1.06000, + -1.72000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, -1], + coeffs: [ + -0.02804000000, + -0.74000, + -1.25000, + -1.03000, + -1.68000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 1], + coeffs: [ + 0.02682000000, + 3.50000, + -0.05000, + 1.45000, + 1.60000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 2, 1], + coeffs: [ + 0.02677000000, + 1.10000, + 1.20000, + 0.97000, + 1.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, 1], + coeffs: [ + -0.02676000000, + -1.08000, + 0.05000, + -1.57000, + -1.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 4, 0], + coeffs: [ + -0.02602000000, + 0.04000, + -1.16000, + -1.90000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, -1], + coeffs: [ + 0.02510000000, + 2.16000, + -0.05000, + 0.66000, + 1.49000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -2, 1], + coeffs: [ + 0.02429000000, + 0.74000, + 1.09000, + 0.89000, + 1.46000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -2], + coeffs: [ + 0.02411000000, + 1.58000, + -0.03000, + 0.66000, + 2.88000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, 0], + coeffs: [ + -0.02391000000, + 4.23000, + -1.47000, + -2.51000, + -0.04000, + 0.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -1, 0], + coeffs: [ + -0.02379000000, + 0.12000, + -1.09000, + -0.42000, + 0.00000, + -9.25000, + 0.05000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, 2], + coeffs: [ + -0.02349000000, + -0.29000, + -0.90000, + 0.49000, + -2.75000, + 0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -3, 1], + coeffs: [ + 0.02296000000, + 0.30000, + 0.00000, + 1.26000, + 1.38000, + 8.93000, + -0.05000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, -1], + coeffs: [ + 0.02289000000, + 0.27000, + 1.02000, + 0.41000, + 1.36000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 1, 0], + coeffs: [ + 0.02285000000, + 1.93000, + -0.06000, + 0.91000, + -0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -1, -1], + coeffs: [ + -0.02273000000, + -1.12000, + -1.00000, + -0.56000, + -1.36000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 1, 1], + coeffs: [ + 0.02244000000, + 0.70000, + -0.04000, + 0.59000, + 1.34000, + 8.73000, + -0.05000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 2], + coeffs: [ + -0.02171000000, + -1.51000, + 0.03000, + -0.57000, + -2.60000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -2, -1], + coeffs: [ + -0.02157000000, + -0.21000, + -0.97000, + -0.79000, + -1.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 3, 0], + coeffs: [ + 0.02149000000, + 1.24000, + -0.04000, + 1.38000, + -0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 4, -1, 0], + coeffs: [ + 0.01993000000, + 0.36000, + 1.78000, + 0.39000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, -1], + coeffs: [ + -0.01948000000, + -0.34000, + -0.87000, + 0.00000, + -1.16000, + -7.57000, + 0.04000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, 1], + coeffs: [ + -0.01875000000, + -0.68000, + -0.83000, + -0.35000, + -1.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, 1], + coeffs: [ + 0.01819000000, + 1.37000, + -0.02000, + 1.32000, + 1.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, -2], + coeffs: [ + -0.01816000000, + -0.62000, + -0.81000, + -0.12000, + -2.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 3], + coeffs: [ + -0.01796000000, + -0.30000, + 0.00000, + -0.33000, + -3.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, 1, 0], + coeffs: [ + -0.01781000000, + -0.99000, + -0.77000, + -0.63000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -3], + coeffs: [ + 0.01741000000, + 0.97000, + -0.01000, + 0.36000, + 3.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -3, 0], + coeffs: [ + -0.01686000000, + -0.72000, + 0.00000, + -0.92000, + 0.00000, + -6.56000, + 0.03000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, -2], + coeffs: [ + -0.01644000000, + -0.38000, + -0.74000, + -0.30000, + -1.97000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 1, 1], + coeffs: [ + 0.01605000000, + 0.51000, + 0.70000, + 0.42000, + 0.96000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -1, 0], + coeffs: [ + 0.01598000000, + 0.32000, + 0.69000, + 0.30000, + 0.00000, + 6.21000, + -0.03000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, -2], + coeffs: [ + 0.01544000000, + 0.29000, + 0.00000, + 0.84000, + 1.85000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, -2], + coeffs: [ + -0.01541000000, + -0.33000, + -0.69000, + -0.29000, + -1.84000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -2, -1], + coeffs: [ + -0.01533000000, + -0.59000, + -0.68000, + -0.57000, + -0.92000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -3, 2], + coeffs: [ + -0.01514000000, + -0.50000, + 0.01000, + -0.83000, + -1.81000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, -1], + coeffs: [ + -0.01483000000, + -0.72000, + 0.03000, + -0.56000, + -0.89000, + -5.77000, + 0.03000, + ], + }, + MainTerm { + delaunay: [6, 0, -4, 0], + coeffs: [ + 0.01376000000, + 0.88000, + 0.00000, + 1.00000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 4, 0, 0], + coeffs: [ + 0.01372000000, + 0.35000, + 1.22000, + 0.21000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -1, 0], + coeffs: [ + -0.01350000000, + -1.57000, + 0.09000, + -0.64000, + 0.06000, + -5.25000, + 0.03000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 2], + coeffs: [ + -0.01343000000, + -0.46000, + 0.03000, + -0.71000, + -1.61000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 3, 0], + coeffs: [ + -0.01332000000, + -0.37000, + -0.59000, + -0.80000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -4], + coeffs: [ + 0.01331000000, + 0.58000, + 0.00000, + 0.02000, + 3.18000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 4, 2, 0], + coeffs: [ + 0.01297000000, + -0.01000, + 1.16000, + 0.48000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, 1], + coeffs: [ + -0.01282000000, + -0.47000, + 0.02000, + -0.52000, + -0.77000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 0, -1], + coeffs: [ + -0.01281000000, + -0.13000, + -0.57000, + 0.00000, + -0.77000, + -4.98000, + 0.03000, + ], + }, + MainTerm { + delaunay: [3, 2, -1, 0], + coeffs: [ + 0.01215000000, + 0.48000, + 0.53000, + 0.25000, + 0.00000, + 4.72000, + -0.02000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, -2], + coeffs: [ + -0.01182000000, + -0.50000, + 0.00000, + -0.23000, + -1.41000, + -4.60000, + 0.02000, + ], + }, + MainTerm { + delaunay: [4, 2, 0, -1], + coeffs: [ + -0.01114000000, + -0.64000, + -0.49000, + -0.23000, + -0.66000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -4, 0], + coeffs: [ + -0.01077000000, + -0.24000, + -0.48000, + -0.79000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, 1], + coeffs: [ + -0.01064000000, + -0.66000, + 0.02000, + -0.32000, + -0.64000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 1, 0], + coeffs: [ + -0.01062000000, + -0.05000, + -0.47000, + -0.18000, + 0.00000, + -4.13000, + 0.02000, + ], + }, + MainTerm { + delaunay: [2, 2, 2, -1], + coeffs: [ + -0.01007000000, + -0.35000, + -0.44000, + -0.42000, + -0.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 2, 0], + coeffs: [ + -0.00980000000, + -0.35000, + -0.44000, + -0.41000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -3], + coeffs: [ + 0.00971000000, + 0.65000, + 0.00000, + 0.11000, + 1.74000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -3], + coeffs: [ + 0.00965000000, + 0.26000, + 0.00000, + 0.35000, + 1.73000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -4, 0], + coeffs: [ + -0.00955000000, + -0.28000, + 0.01000, + -0.70000, + 0.00000, + -3.71000, + 0.02000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 2], + coeffs: [ + -0.00944000000, + -0.26000, + 0.00000, + -0.53000, + -1.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -3, 0], + coeffs: [ + -0.00934000000, + -0.29000, + -0.42000, + -0.51000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, 1], + coeffs: [ + 0.00891000000, + 0.14000, + 0.40000, + -0.01000, + 0.53000, + 3.46000, + -0.02000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, 1], + coeffs: [ + 0.00889000000, + 0.07000, + 0.40000, + 0.33000, + 0.53000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -2, 0], + coeffs: [ + 0.00866000000, + 0.83000, + -0.02000, + 0.40000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, -1, 0], + coeffs: [ + -0.00850000000, + 0.00000, + -0.76000, + -0.14000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 2], + coeffs: [ + -0.00849000000, + -0.16000, + 0.00000, + -0.17000, + -1.02000, + -3.30000, + 0.02000, + ], + }, + MainTerm { + delaunay: [8, 0, -3, 0], + coeffs: [ + 0.00840000000, + 0.72000, + -0.01000, + 0.49000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, -2], + coeffs: [ + 0.00836000000, + 0.59000, + 0.00000, + 0.33000, + 1.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -4], + coeffs: [ + 0.00812000000, + 0.24000, + 0.00000, + 0.15000, + 1.94000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -3], + coeffs: [ + 0.00755000000, + 0.33000, + 0.00000, + 0.28000, + 1.35000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, -2], + coeffs: [ + 0.00744000000, + 0.61000, + -0.01000, + 0.21000, + 0.89000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 1, -1], + coeffs: [ + -0.00732000000, + -0.28000, + -0.33000, + -0.18000, + -0.44000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, -1], + coeffs: [ + 0.00730000000, + 0.27000, + 0.00000, + 0.55000, + 0.44000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, -1], + coeffs: [ + -0.00694000000, + -0.25000, + 0.00000, + -0.23000, + -0.42000, + -2.70000, + 0.01000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, -1], + coeffs: [ + -0.00693000000, + -0.40000, + 0.00000, + -0.26000, + -0.41000, + -2.70000, + 0.01000, + ], + }, + MainTerm { + delaunay: [1, 0, 3, 1], + coeffs: [ + 0.00679000000, + 0.02000, + 0.00000, + 0.38000, + 0.41000, + 2.64000, + -0.01000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, 1], + coeffs: [ + -0.00668000000, + -0.42000, + 0.02000, + -0.32000, + -0.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, -1], + coeffs: [ + 0.00666000000, + 0.75000, + 0.26000, + -0.27000, + 0.39000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 6, 0], + coeffs: [ + 0.00665000000, + -0.02000, + 0.00000, + 0.73000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -2, 0], + coeffs: [ + 0.00662000000, + 0.09000, + 0.29000, + 0.24000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 1, 1], + coeffs: [ + -0.00659000000, + 0.00000, + -0.29000, + -0.13000, + -0.39000, + -2.56000, + 0.01000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 2], + coeffs: [ + -0.00654000000, + -0.24000, + -0.29000, + -0.09000, + -0.78000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -3, 1], + coeffs: [ + 0.00623000000, + 0.14000, + 0.28000, + 0.34000, + 0.37000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, 1], + coeffs: [ + -0.00623000000, + -0.30000, + 0.00000, + -0.34000, + -0.37000, + -2.42000, + 0.01000, + ], + }, + MainTerm { + delaunay: [2, 0, 5, 0], + coeffs: [ + 0.00568000000, + 0.16000, + 0.00000, + 0.54000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, -2], + coeffs: [ + 0.00560000000, + 0.27000, + 0.00000, + 0.31000, + 0.67000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 2, 0], + coeffs: [ + 0.00540000000, + 0.12000, + 0.24000, + 0.20000, + 0.00000, + 2.10000, + -0.01000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, -2], + coeffs: [ + 0.00538000000, + 0.23000, + 0.00000, + 0.31000, + 0.64000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 3, 1], + coeffs: [ + 0.00526000000, + 0.10000, + 0.23000, + 0.29000, + 0.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 2], + coeffs: [ + 0.00519000000, + -0.03000, + 0.23000, + 0.02000, + 0.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, -2], + coeffs: [ + 0.00518000000, + 0.05000, + 0.00000, + -0.05000, + 0.62000, + 2.01000, + -0.01000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, 2], + coeffs: [ + 0.00515000000, + 0.17000, + 0.23000, + 0.10000, + 0.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 2, -2, 0], + coeffs: [ + -0.00509000000, + -0.34000, + -0.22000, + -0.22000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -6, 0], + coeffs: [ + 0.00497000000, + 0.10000, + 0.00000, + 0.54000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, 1], + coeffs: [ + -0.00478000000, + 0.05000, + 0.00000, + -0.26000, + -0.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 1, -1], + coeffs: [ + 0.00477000000, + 0.42000, + -0.01000, + 0.18000, + 0.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -1, 1], + coeffs: [ + 0.00475000000, + 0.24000, + -0.01000, + 0.12000, + 0.28000, + 1.85000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -1, 2], + coeffs: [ + 0.00473000000, + 0.12000, + 0.21000, + 0.09000, + 0.57000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -3, 0], + coeffs: [ + 0.00467000000, + 0.38000, + 0.20000, + 0.24000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -1, 0], + coeffs: [ + 0.00455000000, + 0.47000, + -0.01000, + 0.18000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, 0], + coeffs: [ + 0.00439000000, + -0.05000, + 0.03000, + -0.18000, + 0.03000, + 1.71000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, -2], + coeffs: [ + -0.00434000000, + -0.20000, + -0.19000, + -0.08000, + -0.52000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -5, 0], + coeffs: [ + -0.00431000000, + -0.18000, + 0.00000, + -0.39000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 3], + coeffs: [ + -0.00416000000, + -0.15000, + 0.00000, + -0.15000, + -0.75000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, -2], + coeffs: [ + -0.00399000000, + -0.10000, + 0.00000, + -0.15000, + -0.48000, + -1.55000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, 1], + coeffs: [ + -0.00396000000, + -0.31000, + 0.01000, + -0.12000, + -0.24000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, 1], + coeffs: [ + 0.00392000000, + 0.12000, + 0.00000, + 0.15000, + 0.23000, + 1.52000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 2, 0], + coeffs: [ + -0.00389000000, + -0.50000, + 0.04000, + -0.26000, + 0.02000, + -1.51000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 1, -2], + coeffs: [ + -0.00378000000, + -0.14000, + -0.17000, + -0.09000, + -0.45000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 2, 0, 0], + coeffs: [ + 0.00375000000, + 0.24000, + 0.16000, + 0.11000, + 0.00000, + 1.46000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 2], + coeffs: [ + -0.00369000000, + -0.24000, + 0.00000, + -0.20000, + -0.44000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -3, -1], + coeffs: [ + -0.00365000000, + -0.08000, + -0.16000, + -0.20000, + -0.22000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, -2, 0], + coeffs: [ + 0.00364000000, + 0.13000, + 0.16000, + 0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 2], + coeffs: [ + 0.00361000000, + 0.16000, + 0.00000, + 0.13000, + 0.43000, + 1.40000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 2, -1, 0], + coeffs: [ + -0.00359000000, + -0.27000, + -0.16000, + -0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 0, 2], + coeffs: [ + -0.00355000000, + -0.26000, + -0.16000, + 0.02000, + -0.42000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 4, 0], + coeffs: [ + -0.00354000000, + 0.04000, + -0.17000, + -0.26000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -1, 1], + coeffs: [ + 0.00353000000, + 0.09000, + 0.15000, + 0.09000, + 0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, 1], + coeffs: [ + -0.00346000000, + -0.43000, + -0.15000, + -0.13000, + -0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 4, 1, 0], + coeffs: [ + 0.00344000000, + 0.09000, + 0.31000, + 0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 2], + coeffs: [ + -0.00341000000, + 0.00000, + 0.00000, + -0.19000, + -0.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 3, -1], + coeffs: [ + 0.00336000000, + 0.21000, + 0.00000, + 0.21000, + 0.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -2, -1, 0], + coeffs: [ + -0.00335000000, + -0.11000, + -0.15000, + -0.06000, + 0.00000, + -1.30000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -5, 1], + coeffs: [ + -0.00332000000, + -0.07000, + 0.00000, + -0.30000, + -0.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 1, -1], + coeffs: [ + 0.00330000000, + -0.25000, + 0.03000, + -0.05000, + 0.21000, + 1.28000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -4, 0], + coeffs: [ + 0.00324000000, + 0.25000, + 0.00000, + 0.24000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 2, 0], + coeffs: [ + 0.00318000000, + 0.27000, + 0.00000, + 0.18000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, -2], + coeffs: [ + 0.00312000000, + 0.19000, + 0.00000, + 0.17000, + 0.37000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 2], + coeffs: [ + -0.00300000000, + -0.18000, + 0.00000, + -0.05000, + -0.36000, + -1.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 2, -2, 0], + coeffs: [ + 0.00298000000, + 0.07000, + 0.13000, + 0.11000, + 0.00000, + 1.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, -1], + coeffs: [ + -0.00297000000, + -0.06000, + 0.00000, + -0.16000, + -0.18000, + -1.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -3], + coeffs: [ + 0.00295000000, + 0.14000, + 0.00000, + 0.11000, + 0.53000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, -2], + coeffs: [ + 0.00290000000, + 0.20000, + 0.00000, + 0.13000, + 0.35000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -2, 0], + coeffs: [ + 0.00289000000, + 0.14000, + 0.12000, + 0.11000, + 0.00000, + 1.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 5, 1], + coeffs: [ + -0.00287000000, + -0.06000, + 0.00000, + -0.26000, + -0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 2, -3, 0], + coeffs: [ + -0.00287000000, + -0.16000, + -0.13000, + -0.16000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 0, -1], + coeffs: [ + -0.00286000000, + -0.02000, + -0.26000, + 0.00000, + -0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 4, 0], + coeffs: [ + -0.00285000000, + -0.05000, + 0.00000, + -0.21000, + 0.00000, + -1.11000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, -2], + coeffs: [ + 0.00285000000, + 0.26000, + 0.00000, + 0.07000, + 0.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 4, -2, 0], + coeffs: [ + 0.00282000000, + 0.02000, + 0.25000, + 0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, 2, 0], + coeffs: [ + -0.00274000000, + -0.15000, + -0.12000, + -0.14000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 1, 2], + coeffs: [ + 0.00270000000, + 0.03000, + 0.12000, + 0.05000, + 0.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 2, 1], + coeffs: [ + 0.00262000000, + 0.10000, + 0.11000, + 0.11000, + 0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 2, 1], + coeffs: [ + 0.00256000000, + 0.08000, + 0.00000, + 0.11000, + 0.15000, + 1.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -3], + coeffs: [ + 0.00254000000, + 0.03000, + 0.00000, + 0.00000, + 0.45000, + 0.99000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, 1, -1], + coeffs: [ + -0.00251000000, + -0.15000, + -0.11000, + -0.08000, + -0.15000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 4, 0], + coeffs: [ + -0.00247000000, + -0.03000, + -0.11000, + -0.18000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, 1], + coeffs: [ + -0.00236000000, + -0.10000, + 0.00000, + -0.18000, + -0.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 3, -1], + coeffs: [ + -0.00232000000, + -0.05000, + -0.10000, + -0.13000, + -0.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, -2], + coeffs: [ + 0.00229000000, + 0.06000, + 0.00000, + 0.05000, + 0.27000, + 0.89000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 1], + coeffs: [ + -0.00228000000, + 0.76000, + -0.11000, + -0.05000, + -0.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -2, 1], + coeffs: [ + 0.00220000000, + -0.03000, + 0.10000, + 0.08000, + 0.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, 0, 0], + coeffs: [ + -0.00214000000, + -0.07000, + -0.10000, + -0.07000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 1, -1], + coeffs: [ + -0.00212000000, + -0.02000, + -0.09000, + -0.04000, + -0.13000, + -0.83000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 2], + coeffs: [ + -0.00208000000, + -0.16000, + 0.00000, + -0.12000, + -0.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 5, 0], + coeffs: [ + -0.00201000000, + 0.00000, + -0.09000, + -0.18000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 2], + coeffs: [ + -0.00200000000, + -0.12000, + -0.07000, + 0.00000, + -0.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 0, 1], + coeffs: [ + 0.00198000000, + 0.03000, + 0.18000, + 0.00000, + 0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 4, 0], + coeffs: [ + 0.00198000000, + 0.11000, + 0.00000, + 0.16000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -2, -1], + coeffs: [ + 0.00196000000, + 0.19000, + 0.00000, + 0.09000, + 0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 2], + coeffs: [ + -0.00191000000, + -0.05000, + 0.00000, + -0.02000, + -0.23000, + -0.74000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, -1, -1], + coeffs: [ + -0.00189000000, + -0.02000, + -0.08000, + -0.03000, + -0.11000, + -0.73000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -3, -1], + coeffs: [ + -0.00189000000, + -0.08000, + 0.00000, + -0.10000, + -0.11000, + -0.73000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 3], + coeffs: [ + -0.00188000000, + -0.12000, + 0.00000, + -0.03000, + -0.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, 0, 1], + coeffs: [ + 0.00186000000, + 0.09000, + 0.08000, + 0.05000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 1, 1], + coeffs: [ + 0.00183000000, + 0.03000, + 0.08000, + 0.04000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, 1], + coeffs: [ + 0.00181000000, + 0.11000, + 0.00000, + 0.05000, + 0.11000, + 0.70000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, -1], + coeffs: [ + 0.00178000000, + 0.01000, + 0.00000, + 0.16000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -4, -1], + coeffs: [ + 0.00176000000, + 0.11000, + 0.00000, + 0.13000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -4, 0], + coeffs: [ + -0.00174000000, + 0.00000, + 0.00000, + -0.13000, + 0.00000, + -0.68000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, 1], + coeffs: [ + 0.00173000000, + 0.12000, + 0.00000, + 0.16000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -3, -1], + coeffs: [ + 0.00170000000, + 0.15000, + 0.00000, + 0.10000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 3, 1], + coeffs: [ + 0.00166000000, + 0.06000, + 0.08000, + 0.09000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -3], + coeffs: [ + 0.00163000000, + 0.00000, + 0.07000, + 0.00000, + 0.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -3], + coeffs: [ + 0.00160000000, + 0.11000, + 0.00000, + 0.04000, + 0.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -1, -2], + coeffs: [ + -0.00160000000, + -0.08000, + -0.07000, + -0.04000, + -0.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 1, 1], + coeffs: [ + -0.00157000000, + 0.36000, + -0.04000, + -0.04000, + -0.07000, + -0.56000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 0, -1], + coeffs: [ + 0.00155000000, + 0.09000, + 0.07000, + 0.00000, + 0.09000, + 0.60000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -4, 1], + coeffs: [ + 0.00155000000, + 0.02000, + 0.00000, + 0.11000, + 0.09000, + 0.60000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -1, -1], + coeffs: [ + -0.00154000000, + -0.21000, + 0.01000, + -0.08000, + -0.09000, + -0.60000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 4, 3, 0], + coeffs: [ + 0.00153000000, + 0.00000, + 0.14000, + 0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 3, -1], + coeffs: [ + -0.00149000000, + -0.07000, + 0.00000, + -0.08000, + -0.09000, + -0.58000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -2, 0], + coeffs: [ + -0.00142000000, + 0.05000, + -0.07000, + -0.05000, + 0.00000, + -0.55000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, 0, 0], + coeffs: [ + 0.00139000000, + 0.15000, + 0.00000, + 0.06000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 2, -1, 1], + coeffs: [ + -0.00138000000, + -0.02000, + -0.06000, + -0.03000, + -0.08000, + -0.53000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -2, 0, 0], + coeffs: [ + -0.00137000000, + -0.06000, + -0.06000, + 0.00000, + 0.00000, + -0.53000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -4], + coeffs: [ + 0.00133000000, + 0.06000, + 0.00000, + 0.03000, + 0.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, -2], + coeffs: [ + -0.00133000000, + -0.03000, + -0.06000, + -0.05000, + -0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 2, 0, 0], + coeffs: [ + -0.00132000000, + -0.11000, + -0.06000, + -0.05000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 4, 0], + coeffs: [ + -0.00131000000, + -0.04000, + -0.06000, + -0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 4], + coeffs: [ + -0.00128000000, + 0.06000, + 0.00000, + 0.00000, + -0.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, 2], + coeffs: [ + -0.00127000000, + 0.07000, + 0.00000, + -0.03000, + -0.15000, + -0.49000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -4, 0, 0], + coeffs: [ + 0.00123000000, + 0.01000, + 0.11000, + 0.00000, + 0.00000, + 0.48000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 2, -1], + coeffs: [ + -0.00121000000, + -0.05000, + -0.05000, + -0.05000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -4, 2], + coeffs: [ + -0.00119000000, + -0.04000, + 0.00000, + -0.09000, + -0.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 3, -1], + coeffs: [ + -0.00117000000, + -0.04000, + -0.05000, + -0.07000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -3, 1], + coeffs: [ + -0.00116000000, + -0.10000, + -0.05000, + -0.06000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, -1, 1], + coeffs: [ + 0.00116000000, + 0.02000, + 0.05000, + 0.02000, + 0.07000, + 0.45000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -1, -1], + coeffs: [ + 0.00112000000, + 0.12000, + 0.00000, + 0.04000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, -2], + coeffs: [ + -0.00111000000, + -0.03000, + -0.05000, + -0.04000, + -0.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -5, 0], + coeffs: [ + -0.00111000000, + -0.02000, + -0.05000, + -0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 3, 0], + coeffs: [ + -0.00109000000, + -0.04000, + -0.05000, + -0.07000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 4], + coeffs: [ + -0.00108000000, + -0.04000, + 0.00000, + -0.02000, + -0.26000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, -2], + coeffs: [ + 0.00108000000, + 0.00000, + 0.05000, + 0.02000, + 0.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -3, 1], + coeffs: [ + 0.00106000000, + 0.02000, + 0.05000, + 0.06000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, 2], + coeffs: [ + -0.00102000000, + -0.02000, + 0.00000, + -0.04000, + -0.12000, + -0.40000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, -2], + coeffs: [ + -0.00102000000, + -0.02000, + -0.05000, + 0.00000, + -0.12000, + -0.40000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, -1], + coeffs: [ + 0.00102000000, + 0.01000, + 0.00000, + -0.02000, + 0.06000, + 0.40000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -2, 2], + coeffs: [ + 0.00100000000, + 0.03000, + 0.04000, + 0.04000, + 0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -1, -1], + coeffs: [ + -0.00100000000, + 0.00000, + -0.04000, + -0.02000, + -0.06000, + -0.39000, + 0.00000, + ], + }, +]; + +/// Main problem terms for LATITUDE (339 of 918 terms) +pub const MAIN_LATITUDE: &[MainTerm] = &[ + MainTerm { + delaunay: [0, 1, 0, 0], + coeffs: [ + 18461.40000000000, + 0.00000, + 412529.61000, + 0.00000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 1, 0], + coeffs: [ + 1010.17430000000, + -93.16000, + 22571.83000, + 18386.36000, + -0.76000, + -0.17000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 1, 0], + coeffs: [ + 999.70079000000, + -563.82000, + 22508.54000, + 18298.82000, + -0.92000, + -0.21000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, 0], + coeffs: [ + 623.65783000000, + 9963.62000, + 13978.19000, + 245.16000, + -70.26000, + 5.00000, + -0.03000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, 0], + coeffs: [ + 199.48515000000, + 3726.28000, + 4413.25000, + 3627.39000, + -8.68000, + 0.73000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, 0], + coeffs: [ + 166.57528000000, + 3219.29000, + 3695.90000, + 3042.80000, + -5.99000, + 0.39000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, 0], + coeffs: [ + 117.26161000000, + 3313.25000, + 2575.66000, + 874.52000, + -12.65000, + 1.79000, + -0.01000, + ], + }, + MainTerm { + delaunay: [0, 1, 2, 0], + coeffs: [ + 61.91229000000, + -23.73000, + 1382.40000, + 2253.18000, + -0.62000, + -0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, 0], + coeffs: [ + 33.35743000000, + 512.77000, + 735.76000, + 630.31000, + -5.21000, + 0.43000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 2, 0], + coeffs: [ + 31.75985000000, + -167.64000, + 723.95000, + 1159.97000, + -1.09000, + 0.22000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, -1], + coeffs: [ + 29.57794000000, + 553.39000, + 661.64000, + 12.43000, + 1767.42000, + 0.16000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -2, 0], + coeffs: [ + 15.56635000000, + 330.35000, + 344.99000, + 567.47000, + 0.23000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, 0], + coeffs: [ + 15.12165000000, + 433.44000, + 331.25000, + 359.20000, + -2.40000, + 0.31000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, 1], + coeffs: [ + -12.09470000000, + -205.76000, + -271.06000, + -3.14000, + -723.84000, + -0.31000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, -1], + coeffs: [ + 8.86853000000, + 174.25000, + 196.33000, + 161.68000, + 530.29000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, -1], + coeffs: [ + 7.95891000000, + 253.11000, + 175.21000, + 44.35000, + 475.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, -1], + coeffs: [ + 7.43488000000, + 154.99000, + 165.14000, + 135.90000, + 444.61000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, -1, 1], + coeffs: [ + -6.73173000000, + -159.36000, + -146.94000, + -122.89000, + -403.36000, + -0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, 0], + coeffs: [ + 6.57962000000, + 223.57000, + 146.75000, + 123.07000, + -1.94000, + 0.26000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 0, 1], + coeffs: [ + -6.46036000000, + 28.14000, + -136.25000, + -20.21000, + -386.09000, + 0.29000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 0, 0], + coeffs: [ + -6.29664000000, + 7.68000, + -422.65000, + -13.21000, + 0.02000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, -1, 1], + coeffs: [ + -5.63260000000, + -148.81000, + -123.96000, + -102.80000, + -337.62000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 0, 0], + coeffs: [ + -5.36844000000, + -119.82000, + -113.86000, + -3.16000, + -0.08000, + -2087.37000, + 11.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 1, 1], + coeffs: [ + -5.31151000000, + -99.03000, + -115.96000, + -99.19000, + -318.30000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 1, 1], + coeffs: [ + -5.07614000000, + -113.16000, + -112.23000, + -93.12000, + -304.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 0, 1], + coeffs: [ + -4.83983000000, + 70.86000, + -100.97000, + -8.74000, + -289.05000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 0, 0], + coeffs: [ + -4.80578000000, + -102.50000, + -103.39000, + -3.12000, + -0.09000, + -1868.59000, + 9.85000, + ], + }, + MainTerm { + delaunay: [0, 1, 3, 0], + coeffs: [ + 3.98407000000, + -3.30000, + 88.86000, + 217.43000, + -0.11000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 0, 0], + coeffs: [ + 3.67449000000, + 157.55000, + 81.63000, + 29.57000, + -1.61000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, 0], + coeffs: [ + 2.99850000000, + 142.57000, + 65.02000, + 71.12000, + -0.78000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, 1, 0], + coeffs: [ + 2.79871000000, + -17.13000, + 188.68000, + 50.78000, + -0.11000, + 0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -2, 0], + coeffs: [ + 2.41389000000, + 90.53000, + 52.84000, + 87.95000, + -0.35000, + 0.07000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 0, 0], + coeffs: [ + 2.18637000000, + 23.85000, + 146.45000, + -2.38000, + -0.27000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 2, 0], + coeffs: [ + 2.14618000000, + 33.22000, + 46.62000, + 80.12000, + -0.45000, + 0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, -1], + coeffs: [ + 1.76606000000, + 35.98000, + 38.73000, + 33.43000, + 105.50000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -2, 0], + coeffs: [ + -1.62443000000, + -20.88000, + -36.38000, + -59.20000, + 0.18000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 3, 0], + coeffs: [ + 1.58131000000, + -10.25000, + 36.06000, + 86.53000, + -0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 2, 0], + coeffs: [ + 1.51976000000, + 43.48000, + 33.21000, + 62.71000, + -0.33000, + 0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -3, 0], + coeffs: [ + 1.51564000000, + 31.76000, + 33.59000, + 82.84000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, 1], + coeffs: [ + -1.31788000000, + 39.71000, + -29.98000, + -24.58000, + -78.59000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, 1], + coeffs: [ + -1.26433000000, + -30.65000, + -27.38000, + -10.59000, + -75.65000, + -0.41000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 0, 0], + coeffs: [ + 1.19188000000, + 65.39000, + 25.66000, + 23.11000, + -0.45000, + 0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, -1], + coeffs: [ + 1.13466000000, + 38.36000, + 24.88000, + 25.43000, + 67.78000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, -2], + coeffs: [ + 1.08587000000, + 23.51000, + 24.25000, + 0.47000, + 129.87000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 1, 0], + coeffs: [ + -1.01941000000, + 0.95000, + -68.42000, + -19.88000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, 1], + coeffs: [ + -0.82275000000, + -17.02000, + -18.20000, + -15.41000, + -49.25000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 0, 1], + coeffs: [ + 0.80426000000, + 0.22000, + 17.53000, + 1.11000, + 48.12000, + 312.71000, + -1.65000, + ], + }, + MainTerm { + delaunay: [1, 1, 0, 1], + coeffs: [ + 0.80263000000, + 0.34000, + 17.41000, + 0.85000, + 48.02000, + 312.08000, + -1.65000, + ], + }, + MainTerm { + delaunay: [0, -1, -2, 1], + coeffs: [ + -0.79322000000, + -18.59000, + -17.32000, + -28.86000, + -47.52000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, 1], + coeffs: [ + -0.79105000000, + 41.53000, + -18.40000, + -14.91000, + -47.09000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 1, 0], + coeffs: [ + -0.66741000000, + -14.68000, + -14.15000, + -12.47000, + 0.07000, + -259.50000, + 1.37000, + ], + }, + MainTerm { + delaunay: [2, -1, -2, -1], + coeffs: [ + 0.65025000000, + 13.75000, + 14.46000, + 23.70000, + 38.91000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 2, 1], + coeffs: [ + -0.63884000000, + -12.56000, + -13.95000, + -23.51000, + -38.29000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -2, 0], + coeffs: [ + 0.63371000000, + 23.67000, + 13.99000, + 23.16000, + -0.03000, + 0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, -1], + coeffs: [ + 0.59580000000, + 21.19000, + 13.27000, + 11.16000, + 35.53000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 1, 0], + coeffs: [ + -0.58893000000, + -7.87000, + -13.10000, + -10.90000, + 0.03000, + -228.99000, + 1.21000, + ], + }, + MainTerm { + delaunay: [4, -1, 1, 0], + coeffs: [ + 0.47338000000, + 20.49000, + 10.32000, + 11.59000, + -0.25000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -1, 0], + coeffs: [ + -0.42989000000, + -13.13000, + -8.83000, + -8.15000, + -0.01000, + -167.15000, + 0.88000, + ], + }, + MainTerm { + delaunay: [4, -1, 0, -1], + coeffs: [ + 0.41496000000, + 19.00000, + 9.23000, + 2.87000, + 24.71000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, -2], + coeffs: [ + 0.38353000000, + 13.48000, + 8.45000, + 1.72000, + 45.87000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 0, 0], + coeffs: [ + -0.35183000000, + -11.87000, + -8.15000, + -0.99000, + 0.22000, + -136.80000, + 0.72000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, -1], + coeffs: [ + 0.33882000000, + 16.92000, + 7.36000, + 7.74000, + 20.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, -1, 0], + coeffs: [ + 0.32907000000, + 3.62000, + 22.03000, + 5.64000, + -0.02000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, -2], + coeffs: [ + 0.31474000000, + 6.78000, + 6.97000, + 5.75000, + 37.65000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 2, 1], + coeffs: [ + -0.31292000000, + -4.92000, + -6.96000, + -11.47000, + -18.75000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -1, 0], + coeffs: [ + -0.30517000000, + -7.43000, + -6.74000, + -5.66000, + 0.08000, + -118.66000, + 0.63000, + ], + }, + MainTerm { + delaunay: [0, 1, -2, 1], + coeffs: [ + -0.30129000000, + -4.79000, + -6.71000, + -11.01000, + -18.04000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 1, 0], + coeffs: [ + -0.29116000000, + -3.49000, + -19.63000, + -5.36000, + 0.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, -2], + coeffs: [ + 0.26865000000, + 6.32000, + 5.97000, + 4.91000, + 32.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 4, 0], + coeffs: [ + 0.26325000000, + -0.37000, + 5.86000, + 19.15000, + -0.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -3, 0], + coeffs: [ + 0.25408000000, + 3.88000, + 5.75000, + 13.92000, + 0.00000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -1, 0], + coeffs: [ + -0.24484000000, + -4.55000, + -16.39000, + -4.94000, + 0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, 1], + coeffs: [ + -0.23702000000, + -7.85000, + -5.10000, + -5.79000, + -14.19000, + -0.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -2, -1], + coeffs: [ + 0.21376000000, + 8.24000, + 4.68000, + 7.80000, + 12.77000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 1, 0], + coeffs: [ + 0.21259000000, + 11.97000, + 4.56000, + 6.92000, + -0.10000, + 0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, -1, 0], + coeffs: [ + -0.20593000000, + -7.88000, + -4.39000, + -4.05000, + 0.12000, + -80.07000, + 0.42000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, 1], + coeffs: [ + -0.17191000000, + -3.93000, + -3.89000, + -3.20000, + -10.30000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 0, -1], + coeffs: [ + 0.15791000000, + 9.24000, + 3.41000, + 2.73000, + 9.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 3, 0], + coeffs: [ + 0.14642000000, + 2.28000, + 3.13000, + 8.16000, + -0.04000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 0, 0], + coeffs: [ + -0.14453000000, + -3.71000, + -9.64000, + -2.05000, + 0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -1, 0], + coeffs: [ + 0.13928000000, + 1.86000, + 3.37000, + 2.46000, + 0.04000, + 54.16000, + -0.29000, + ], + }, + MainTerm { + delaunay: [2, 1, 3, 0], + coeffs: [ + 0.13795000000, + 3.92000, + 3.01000, + 8.15000, + -0.04000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, 2], + coeffs: [ + -0.13415000000, + -2.41000, + -3.04000, + -0.26000, + -16.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -4, 0], + coeffs: [ + 0.13381000000, + 2.77000, + 2.96000, + 9.75000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, 2, 0], + coeffs: [ + -0.13035000000, + -0.40000, + -8.78000, + -4.77000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 2, -1], + coeffs: [ + 0.12897000000, + 2.89000, + 2.78000, + 4.82000, + 7.70000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 2, -1], + coeffs: [ + 0.12387000000, + 4.35000, + 2.71000, + 4.97000, + 7.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 2, 0], + coeffs: [ + -0.11787000000, + 0.11000, + -7.91000, + -4.41000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, -1, 2], + coeffs: [ + -0.11335000000, + -3.25000, + -2.46000, + -2.07000, + -13.58000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, 2], + coeffs: [ + -0.11330000000, + -3.82000, + -2.50000, + -2.08000, + -13.58000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 0, 1], + coeffs: [ + -0.11308000000, + -4.83000, + -2.51000, + -0.93000, + -6.76000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -2, 0], + coeffs: [ + -0.10964000000, + -3.19000, + -2.33000, + -4.03000, + -0.02000, + -42.63000, + 0.22000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, 2], + coeffs: [ + -0.10535000000, + -3.66000, + -2.34000, + -1.91000, + -12.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 1, 1], + coeffs: [ + 0.10176000000, + 0.15000, + 2.20000, + 1.97000, + 6.09000, + 39.57000, + -0.21000, + ], + }, + MainTerm { + delaunay: [0, 1, -1, 2], + coeffs: [ + -0.09511000000, + -3.17000, + -2.08000, + -1.73000, + -11.39000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -1, 0], + coeffs: [ + 0.09403000000, + 5.84000, + 2.08000, + 2.28000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 4, 0], + coeffs: [ + 0.09157000000, + -0.70000, + 2.09000, + 6.68000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 0, -1], + coeffs: [ + 0.08815000000, + 0.98000, + 5.90000, + -0.13000, + 5.27000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -2, 0], + coeffs: [ + 0.08096000000, + 4.28000, + 1.79000, + 3.00000, + -0.04000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -2, 1], + coeffs: [ + 0.07913000000, + 12.08000, + 1.57000, + 2.84000, + 4.80000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -2, 0], + coeffs: [ + -0.07846000000, + -2.00000, + -1.72000, + -2.87000, + -0.03000, + -30.51000, + 0.16000, + ], + }, + MainTerm { + delaunay: [0, -1, -3, 1], + coeffs: [ + -0.07479000000, + -1.69000, + -1.63000, + -4.08000, + -4.48000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, -2], + coeffs: [ + 0.06915000000, + 1.69000, + 1.51000, + 1.31000, + 8.27000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -2, 0], + coeffs: [ + -0.06561000000, + -0.77000, + -4.41000, + -2.38000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 2, 0], + coeffs: [ + -0.06383000000, + -1.35000, + -1.35000, + -2.35000, + 0.02000, + -24.82000, + 0.13000, + ], + }, + MainTerm { + delaunay: [2, -1, 2, 1], + coeffs: [ + -0.06283000000, + -1.47000, + -1.37000, + -2.34000, + -3.76000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -3, 0, 0], + coeffs: [ + 0.06257000000, + 1.51000, + 4.19000, + -0.04000, + -0.03000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -2, -1], + coeffs: [ + -0.06208000000, + -0.48000, + -1.40000, + -2.27000, + -3.71000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 1, 2], + coeffs: [ + -0.06187000000, + -1.29000, + -1.37000, + -1.13000, + -7.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 3, 1], + coeffs: [ + -0.06176000000, + -1.23000, + -1.35000, + -3.40000, + -3.70000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -2, 0], + coeffs: [ + 0.05963000000, + 3.97000, + 1.28000, + 2.46000, + -0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, -2], + coeffs: [ + 0.05848000000, + 2.24000, + 1.28000, + 1.26000, + 6.99000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 0, 2], + coeffs: [ + -0.05729000000, + 2.09000, + -1.19000, + -0.39000, + -6.84000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 1, -1], + coeffs: [ + 0.05686000000, + 2.69000, + 1.24000, + 1.35000, + 3.38000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -1, 1], + coeffs: [ + -0.05590000000, + -0.18000, + -1.29000, + -0.97000, + -3.36000, + -21.74000, + 0.11000, + ], + }, + MainTerm { + delaunay: [0, 1, 1, 2], + coeffs: [ + -0.05504000000, + -0.81000, + -1.21000, + -1.04000, + -6.59000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -3, -1], + coeffs: [ + 0.05502000000, + 0.99000, + 1.23000, + 3.01000, + 3.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 0, 1], + coeffs: [ + -0.05457000000, + -0.95000, + -3.65000, + 0.01000, + -3.27000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -2, 1], + coeffs: [ + 0.05429000000, + 3.18000, + 1.16000, + 1.97000, + 3.26000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -2, -1], + coeffs: [ + 0.05251000000, + 1.99000, + 1.16000, + 1.92000, + 3.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, 1], + coeffs: [ + -0.05097000000, + -1.36000, + -1.11000, + -1.24000, + -3.06000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, -2, 0], + coeffs: [ + -0.04852000000, + -1.04000, + -1.06000, + -1.77000, + 0.00000, + -18.87000, + 0.10000, + ], + }, + MainTerm { + delaunay: [4, -1, 2, 0], + coeffs: [ + 0.04834000000, + 2.10000, + 1.03000, + 2.04000, + -0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -1, 0], + coeffs: [ + 0.04217000000, + 3.17000, + 0.89000, + 1.37000, + -0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -2, 0], + coeffs: [ + -0.03941000000, + -0.88000, + -0.87000, + -1.44000, + 0.00000, + -15.32000, + 0.08000, + ], + }, + MainTerm { + delaunay: [6, -1, 0, 0], + coeffs: [ + 0.03674000000, + 2.54000, + 0.80000, + 0.73000, + -0.03000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, -3], + coeffs: [ + 0.03647000000, + 0.91000, + 0.81000, + 0.02000, + 6.54000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 2, 0], + coeffs: [ + -0.03636000000, + -0.40000, + -0.81000, + -1.34000, + 0.00000, + -14.14000, + 0.07000, + ], + }, + MainTerm { + delaunay: [3, -1, 1, 0], + coeffs: [ + -0.03611000000, + -1.26000, + -0.83000, + -0.75000, + 0.03000, + -14.04000, + 0.07000, + ], + }, + MainTerm { + delaunay: [1, -1, 1, 1], + coeffs: [ + 0.03465000000, + 0.09000, + 0.75000, + 0.71000, + 2.07000, + 13.48000, + -0.07000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, -2], + coeffs: [ + 0.03462000000, + 1.29000, + 0.77000, + 0.65000, + 4.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 0, 1], + coeffs: [ + 0.03436000000, + 0.68000, + 0.77000, + 0.09000, + 2.05000, + 13.36000, + -0.07000, + ], + }, + MainTerm { + delaunay: [1, -3, 0, 0], + coeffs: [ + -0.03226000000, + -0.41000, + -2.15000, + 0.00000, + 0.00000, + -12.54000, + 0.07000, + ], + }, + MainTerm { + delaunay: [2, 1, 2, 1], + coeffs: [ + -0.03142000000, + -1.17000, + -0.67000, + -1.31000, + -1.88000, + -0.01000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -3, 0], + coeffs: [ + 0.03118000000, + 1.77000, + 0.68000, + 1.71000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 1, 0], + coeffs: [ + -0.03038000000, + -0.82000, + -2.02000, + -0.85000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 1, -1], + coeffs: [ + 0.03009000000, + 1.83000, + 0.65000, + 0.93000, + 1.79000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -2, 1], + coeffs: [ + -0.02957000000, + 0.54000, + -0.67000, + -1.08000, + -1.78000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 0, -2], + coeffs: [ + 0.02899000000, + 1.41000, + 0.65000, + 0.18000, + 3.46000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, 0, 0], + coeffs: [ + -0.02840000000, + -2.77000, + -0.49000, + -1.37000, + 0.10000, + -11.04000, + 0.06000, + ], + }, + MainTerm { + delaunay: [4, 1, 2, 0], + coeffs: [ + 0.02828000000, + 1.60000, + 0.60000, + 1.37000, + -0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 0, -1], + coeffs: [ + -0.02572000000, + -0.94000, + -0.60000, + -0.07000, + -1.53000, + -10.00000, + 0.05000, + ], + }, + MainTerm { + delaunay: [4, 1, 0, 1], + coeffs: [ + -0.02549000000, + -1.26000, + -0.54000, + -0.52000, + -1.53000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -4, 0], + coeffs: [ + 0.02496000000, + 0.39000, + 0.56000, + 1.82000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 3, 1], + coeffs: [ + -0.02419000000, + -0.36000, + -0.54000, + -1.33000, + -1.45000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, -2], + coeffs: [ + 0.02380000000, + 1.25000, + 0.52000, + 0.53000, + 2.85000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, -3, 1], + coeffs: [ + -0.02365000000, + -0.35000, + -0.53000, + -1.29000, + -1.42000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -2, -2], + coeffs: [ + 0.02285000000, + 0.53000, + 0.51000, + 0.83000, + 2.73000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -3, 0], + coeffs: [ + 0.02174000000, + 1.30000, + 0.47000, + 1.19000, + 0.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -1, -1], + coeffs: [ + -0.02104000000, + -0.53000, + -0.47000, + -0.39000, + -1.26000, + -8.18000, + 0.04000, + ], + }, + MainTerm { + delaunay: [3, 1, -1, 1], + coeffs: [ + 0.02083000000, + 0.37000, + 0.45000, + 0.39000, + 1.24000, + 8.10000, + -0.04000, + ], + }, + MainTerm { + delaunay: [2, -3, -2, 0], + coeffs: [ + 0.02045000000, + 0.10000, + 1.37000, + 0.70000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 1, -1], + coeffs: [ + -0.02012000000, + -0.42000, + -0.45000, + -0.38000, + -1.20000, + -7.83000, + 0.04000, + ], + }, + MainTerm { + delaunay: [1, 1, 0, -1], + coeffs: [ + -0.01829000000, + -1.52000, + -0.33000, + 0.00000, + -1.11000, + -7.11000, + 0.04000, + ], + }, + MainTerm { + delaunay: [2, -1, -3, 1], + coeffs: [ + 0.01818000000, + 1.67000, + 0.38000, + 0.99000, + 1.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 0, 2], + coeffs: [ + -0.01801000000, + 3.13000, + -0.33000, + -0.14000, + -2.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 5, 0], + coeffs: [ + 0.01768000000, + -0.04000, + 0.39000, + 1.61000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 1, 1], + coeffs: [ + -0.01692000000, + -0.79000, + -0.37000, + -0.42000, + -1.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -2, 1], + coeffs: [ + 0.01680000000, + 0.23000, + 0.38000, + 0.61000, + 1.01000, + 6.53000, + -0.03000, + ], + }, + MainTerm { + delaunay: [2, -3, 1, -1], + coeffs: [ + -0.01669000000, + -0.30000, + -1.12000, + -0.31000, + -1.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, -3], + coeffs: [ + 0.01603000000, + 0.62000, + 0.35000, + 0.06000, + 2.88000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -2, 1], + coeffs: [ + 0.01597000000, + 0.20000, + 0.35000, + 0.59000, + 0.96000, + 6.21000, + -0.03000, + ], + }, + MainTerm { + delaunay: [0, -1, -2, 2], + coeffs: [ + -0.01571000000, + -0.49000, + -0.34000, + -0.57000, + -1.88000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -1, -1], + coeffs: [ + 0.01486000000, + 0.96000, + 0.33000, + 0.35000, + 0.88000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 0, 2], + coeffs: [ + -0.01482000000, + -0.52000, + -0.32000, + -0.53000, + -1.78000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, 0, 0], + coeffs: [ + 0.01465000000, + 1.19000, + 0.31000, + 0.47000, + -0.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, -1, -1], + coeffs: [ + -0.01356000000, + -0.55000, + -0.29000, + -0.27000, + -0.81000, + -5.27000, + 0.03000, + ], + }, + MainTerm { + delaunay: [3, 1, 0, 1], + coeffs: [ + 0.01351000000, + 0.39000, + 0.29000, + 0.17000, + 0.81000, + 5.25000, + -0.03000, + ], + }, + MainTerm { + delaunay: [1, -1, 0, -1], + coeffs: [ + -0.01346000000, + -1.07000, + -0.27000, + 0.00000, + -0.82000, + -5.23000, + 0.03000, + ], + }, + MainTerm { + delaunay: [3, -1, -1, 1], + coeffs: [ + 0.01321000000, + 0.23000, + 0.29000, + 0.25000, + 0.79000, + 5.14000, + -0.03000, + ], + }, + MainTerm { + delaunay: [4, 1, 0, -2], + coeffs: [ + 0.01270000000, + 0.79000, + 0.27000, + 0.20000, + 1.52000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -2, 2], + coeffs: [ + -0.01262000000, + -0.47000, + -0.28000, + -0.46000, + -1.51000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -3, 0], + coeffs: [ + -0.01255000000, + -0.37000, + -0.27000, + -0.69000, + 0.00000, + -4.88000, + 0.03000, + ], + }, + MainTerm { + delaunay: [4, 1, -2, -2], + coeffs: [ + 0.01230000000, + 0.50000, + 0.27000, + 0.45000, + 1.47000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 3, -1], + coeffs: [ + 0.01211000000, + 0.44000, + 0.26000, + 0.70000, + 0.72000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 4, 0], + coeffs: [ + 0.01186000000, + 0.33000, + 0.26000, + 0.91000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 3, 0], + coeffs: [ + -0.01181000000, + 0.01000, + -0.79000, + -0.65000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -1, -1], + coeffs: [ + -0.01177000000, + -0.23000, + -0.79000, + -0.24000, + -0.70000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 0, 1], + coeffs: [ + 0.01157000000, + 0.06000, + 0.77000, + 0.04000, + 0.69000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -5, 0], + coeffs: [ + 0.01127000000, + 0.23000, + 0.25000, + 1.03000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -2, -1], + coeffs: [ + 0.01091000000, + 0.59000, + 0.24000, + 0.40000, + 0.65000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -1, -1, 0], + coeffs: [ + -0.01049000000, + -0.54000, + -0.24000, + -0.22000, + 0.01000, + -4.08000, + 0.02000, + ], + }, + MainTerm { + delaunay: [2, 1, -1, -3], + coeffs: [ + 0.01042000000, + 0.25000, + 0.23000, + 0.19000, + 1.87000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, -1, -1], + coeffs: [ + 0.01034000000, + 0.06000, + 0.69000, + 0.17000, + 0.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -1, -1], + coeffs: [ + 0.01031000000, + 0.07000, + 0.23000, + 0.20000, + 0.62000, + 4.01000, + -0.02000, + ], + }, + MainTerm { + delaunay: [2, -1, 4, 0], + coeffs: [ + 0.01027000000, + 0.16000, + 0.22000, + 0.76000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 2, 1], + coeffs: [ + 0.01016000000, + 0.03000, + 0.22000, + 0.38000, + 0.61000, + 3.95000, + -0.02000, + ], + }, + MainTerm { + delaunay: [3, -3, 0, 0], + coeffs: [ + -0.01009000000, + -0.13000, + -0.68000, + 0.00000, + 0.00000, + -3.92000, + 0.02000, + ], + }, + MainTerm { + delaunay: [2, -3, 2, 0], + coeffs: [ + -0.00995000000, + -0.12000, + -0.68000, + -0.36000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 3, -1], + coeffs: [ + 0.00985000000, + 0.24000, + 0.21000, + 0.55000, + 0.59000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 0, -1], + coeffs: [ + -0.00944000000, + -0.28000, + -0.63000, + -0.11000, + -0.56000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -2, -1], + coeffs: [ + 0.00939000000, + 0.64000, + 0.20000, + 0.38000, + 0.56000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -3, -1], + coeffs: [ + 0.00935000000, + 0.12000, + 0.21000, + 0.51000, + 0.56000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -1, -3], + coeffs: [ + 0.00914000000, + 0.25000, + 0.20000, + 0.17000, + 1.64000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, -1, 1], + coeffs: [ + -0.00911000000, + -0.20000, + -0.61000, + -0.15000, + -0.55000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 1, -1], + coeffs: [ + -0.00845000000, + -0.45000, + -0.17000, + -0.17000, + -0.51000, + -3.29000, + 0.02000, + ], + }, + MainTerm { + delaunay: [4, -1, -3, 0], + coeffs: [ + -0.00771000000, + -0.29000, + -0.17000, + -0.42000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -1, -1], + coeffs: [ + 0.00757000000, + 0.59000, + 0.16000, + 0.24000, + 0.45000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, 1, 1], + coeffs: [ + -0.00703000000, + -0.04000, + -0.47000, + -0.13000, + -0.42000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -3, 0], + coeffs: [ + 0.00702000000, + 0.40000, + 0.15000, + 0.38000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -4, 0], + coeffs: [ + -0.00680000000, + -0.28000, + -0.15000, + -0.50000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, -1, 1], + coeffs: [ + 0.00679000000, + 0.14000, + 0.45000, + 0.14000, + 0.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 2, -2], + coeffs: [ + 0.00677000000, + 0.27000, + 0.15000, + 0.27000, + 0.81000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 1, 1], + coeffs: [ + 0.00668000000, + 0.10000, + 0.45000, + 0.13000, + 0.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 3, -1, 0], + coeffs: [ + -0.00664000000, + -0.31000, + -0.44000, + -0.19000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, 1, 0], + coeffs: [ + -0.00658000000, + -0.56000, + -0.12000, + -0.29000, + 0.02000, + -2.56000, + 0.01000, + ], + }, + MainTerm { + delaunay: [6, -1, 1, 0], + coeffs: [ + 0.00654000000, + 0.46000, + 0.14000, + 0.22000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, 0, -1], + coeffs: [ + 0.00652000000, + 0.47000, + 0.14000, + 0.12000, + 0.39000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, -4, 1], + coeffs: [ + -0.00646000000, + -0.14000, + -0.14000, + -0.47000, + -0.39000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 3, 0, 0], + coeffs: [ + 0.00645000000, + 0.15000, + 0.43000, + 0.02000, + 0.00000, + 2.51000, + -0.01000, + ], + }, + MainTerm { + delaunay: [1, -1, -1, 1], + coeffs: [ + 0.00635000000, + -0.38000, + 0.07000, + 0.20000, + 0.36000, + 2.46000, + -0.01000, + ], + }, + MainTerm { + delaunay: [4, 3, -2, 0], + coeffs: [ + -0.00632000000, + -0.24000, + -0.42000, + -0.24000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, 2], + coeffs: [ + -0.00617000000, + -0.08000, + -0.14000, + -0.13000, + -0.74000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 2, -1], + coeffs: [ + 0.00614000000, + 0.30000, + 0.13000, + 0.25000, + 0.37000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 5, 0, 0], + coeffs: [ + 0.00592000000, + 0.00000, + 0.66000, + 0.02000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 5, 0], + coeffs: [ + 0.00566000000, + -0.05000, + 0.13000, + 0.51000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 1, 1], + coeffs: [ + -0.00558000000, + -0.32000, + -0.12000, + -0.19000, + -0.33000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 2, -2], + coeffs: [ + 0.00555000000, + 0.16000, + 0.12000, + 0.21000, + 0.66000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -3, -1, 0], + coeffs: [ + -0.00554000000, + -0.34000, + -0.37000, + -0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 3, 0], + coeffs: [ + -0.00553000000, + -0.11000, + -0.12000, + -0.30000, + 0.00000, + -2.15000, + 0.01000, + ], + }, + MainTerm { + delaunay: [4, -3, 1, 0], + coeffs: [ + -0.00552000000, + -0.15000, + -0.38000, + -0.11000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 4, 1], + coeffs: [ + -0.00548000000, + -0.11000, + -0.12000, + -0.40000, + -0.33000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -3, 0], + coeffs: [ + -0.00537000000, + -0.12000, + -0.12000, + -0.29000, + 0.00000, + -2.09000, + 0.01000, + ], + }, + MainTerm { + delaunay: [0, 1, -2, 2], + coeffs: [ + -0.00536000000, + -0.12000, + -0.12000, + -0.20000, + -0.64000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -3, 0, -1], + coeffs: [ + 0.00534000000, + 0.13000, + 0.36000, + 0.00000, + 0.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 2, 2], + coeffs: [ + -0.00528000000, + -0.06000, + -0.12000, + -0.19000, + -0.63000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 1, -2, 0], + coeffs: [ + -0.00519000000, + -0.29000, + -0.11000, + -0.20000, + 0.00000, + -2.02000, + 0.01000, + ], + }, + MainTerm { + delaunay: [5, -1, -2, 0], + coeffs: [ + -0.00505000000, + -0.21000, + -0.11000, + -0.19000, + 0.00000, + -1.96000, + 0.01000, + ], + }, + MainTerm { + delaunay: [2, 1, -2, 2], + coeffs: [ + -0.00504000000, + -0.27000, + -0.11000, + -0.19000, + -0.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 3, 1], + coeffs: [ + -0.00496000000, + -0.13000, + -0.11000, + -0.28000, + -0.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 1, 1], + coeffs: [ + 0.00465000000, + 0.02000, + 0.31000, + 0.09000, + 0.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 2, 0], + coeffs: [ + -0.00451000000, + -0.12000, + -0.30000, + -0.20000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 3, 0], + coeffs: [ + 0.00449000000, + 0.20000, + 0.09000, + 0.27000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, 2], + coeffs: [ + -0.00438000000, + -0.25000, + -0.09000, + -0.08000, + -0.52000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 1, 1], + coeffs: [ + 0.00426000000, + 0.09000, + 0.09000, + 0.09000, + 0.25000, + 1.66000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 2, -1], + coeffs: [ + 0.00421000000, + 0.26000, + 0.09000, + 0.20000, + 0.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 1, -2], + coeffs: [ + 0.00417000000, + 0.21000, + 0.09000, + 0.10000, + 0.50000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -4, -1], + coeffs: [ + 0.00416000000, + 0.06000, + 0.09000, + 0.30000, + 0.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -3, -1], + coeffs: [ + 0.00415000000, + 0.24000, + 0.09000, + 0.23000, + 0.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -3, -2, 0], + coeffs: [ + -0.00390000000, + -0.14000, + -0.26000, + -0.14000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -3, -1, 0], + coeffs: [ + -0.00369000000, + -0.04000, + -0.25000, + -0.07000, + 0.00000, + -1.44000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 3, 1], + coeffs: [ + -0.00355000000, + -0.14000, + -0.08000, + -0.21000, + -0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -1, 1], + coeffs: [ + -0.00350000000, + -0.19000, + -0.08000, + -0.08000, + -0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, -1, 1], + coeffs: [ + -0.00342000000, + 0.05000, + -0.23000, + -0.06000, + -0.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, -2, -1], + coeffs: [ + -0.00329000000, + -0.07000, + -0.07000, + -0.12000, + -0.20000, + -1.28000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 3, 0], + coeffs: [ + 0.00323000000, + 0.18000, + 0.07000, + 0.21000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 2, 0], + coeffs: [ + -0.00322000000, + -0.12000, + -0.07000, + -0.13000, + 0.00000, + -1.25000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 2, 1], + coeffs: [ + 0.00317000000, + 0.00000, + 0.07000, + 0.12000, + 0.19000, + 1.23000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, 1, 0], + coeffs: [ + 0.00305000000, + 0.25000, + 0.06000, + 0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -3, 0, 1], + coeffs: [ + -0.00304000000, + -0.09000, + -0.20000, + 0.00000, + -0.18000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 3, 0, 0], + coeffs: [ + -0.00288000000, + -0.15000, + -0.19000, + -0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, 0, -1], + coeffs: [ + 0.00288000000, + 0.24000, + 0.06000, + 0.09000, + 0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -3, 0], + coeffs: [ + -0.00287000000, + -0.04000, + -0.06000, + -0.16000, + 0.00000, + -1.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 2, 2], + coeffs: [ + -0.00284000000, + -0.02000, + -0.06000, + -0.10000, + -0.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -2, -2], + coeffs: [ + 0.00283000000, + 0.11000, + 0.06000, + 0.10000, + 0.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -2, -1], + coeffs: [ + -0.00282000000, + -0.07000, + -0.06000, + -0.10000, + -0.17000, + -1.10000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -2, 2], + coeffs: [ + -0.00277000000, + -0.16000, + -0.06000, + -0.10000, + -0.33000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 1, -1], + coeffs: [ + -0.00275000000, + -0.11000, + -0.06000, + -0.06000, + -0.16000, + -1.07000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 0, -2], + coeffs: [ + 0.00273000000, + 0.03000, + 0.18000, + 0.00000, + 0.33000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -2, -1], + coeffs: [ + -0.00267000000, + -0.03000, + -0.18000, + -0.10000, + -0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, -2, 1], + coeffs: [ + -0.00261000000, + -0.12000, + -0.06000, + -0.09000, + -0.16000, + -1.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, 1, 1], + coeffs: [ + 0.00258000000, + 0.08000, + 0.05000, + 0.07000, + 0.15000, + 1.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, -3], + coeffs: [ + 0.00256000000, + 0.11000, + 0.06000, + 0.05000, + 0.46000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -2, 1], + coeffs: [ + -0.00256000000, + -0.08000, + -0.06000, + -0.09000, + -0.15000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, 1, -2], + coeffs: [ + 0.00255000000, + 0.17000, + 0.06000, + 0.08000, + 0.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -1, 0, 0], + coeffs: [ + -0.00254000000, + -0.19000, + -0.06000, + -0.07000, + 0.00000, + -0.99000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 3, 0], + coeffs: [ + -0.00247000000, + -0.02000, + -0.05000, + -0.14000, + 0.00000, + -0.96000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -4, 1], + coeffs: [ + 0.00247000000, + 0.19000, + 0.05000, + 0.18000, + 0.15000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 1, -1, 0], + coeffs: [ + -0.00245000000, + -0.21000, + -0.05000, + -0.09000, + 0.00000, + -0.95000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 1, -3], + coeffs: [ + 0.00240000000, + 0.07000, + 0.05000, + 0.05000, + 0.43000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -5, 1, 0], + coeffs: [ + -0.00236000000, + 0.02000, + -0.26000, + -0.05000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 3, -1, 0], + coeffs: [ + 0.00234000000, + 0.05000, + 0.16000, + 0.04000, + 0.00000, + 0.91000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -3, 0], + coeffs: [ + 0.00232000000, + 0.05000, + 0.16000, + 0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -5, 0], + coeffs: [ + 0.00230000000, + 0.03000, + 0.05000, + 0.21000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 1, -1], + coeffs: [ + -0.00224000000, + -0.07000, + -0.15000, + -0.06000, + -0.13000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -5, 0, 0], + coeffs: [ + -0.00221000000, + -0.02000, + -0.25000, + 0.00000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, -1, 3], + coeffs: [ + -0.00216000000, + -0.07000, + -0.05000, + -0.04000, + -0.39000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 0, -2], + coeffs: [ + 0.00214000000, + 0.00000, + 0.05000, + 0.00000, + 0.26000, + 0.83000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 0, -2], + coeffs: [ + 0.00204000000, + 0.02000, + 0.05000, + 0.00000, + 0.24000, + 0.79000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 0, 2], + coeffs: [ + -0.00204000000, + -0.03000, + -0.04000, + 0.00000, + -0.24000, + -0.79000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -2, 1], + coeffs: [ + -0.00203000000, + 0.57000, + -0.05000, + -0.08000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 2, 1], + coeffs: [ + -0.00196000000, + -0.10000, + -0.04000, + -0.08000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -2, -2], + coeffs: [ + -0.00192000000, + 0.00000, + -0.04000, + -0.07000, + -0.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, -1, 1], + coeffs: [ + 0.00192000000, + -0.03000, + 0.13000, + 0.04000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -3, 1], + coeffs: [ + 0.00192000000, + 0.19000, + 0.04000, + 0.10000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, -2, 1], + coeffs: [ + 0.00191000000, + 0.06000, + 0.13000, + 0.07000, + 0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 4, 1], + coeffs: [ + -0.00191000000, + -0.03000, + -0.04000, + -0.14000, + -0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -3, -1], + coeffs: [ + 0.00191000000, + 0.12000, + 0.04000, + 0.10000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, -1, 3], + coeffs: [ + -0.00190000000, + -0.07000, + -0.04000, + -0.03000, + -0.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, -1, -2, 0], + coeffs: [ + 0.00189000000, + 0.15000, + 0.04000, + 0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, -4, 1], + coeffs: [ + -0.00186000000, + -0.02000, + -0.04000, + -0.14000, + -0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -3, 1], + coeffs: [ + 0.00186000000, + 0.02000, + 0.04000, + 0.10000, + 0.11000, + 0.72000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, 2], + coeffs: [ + -0.00179000000, + -0.12000, + -0.04000, + -0.05000, + -0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -3, -2], + coeffs: [ + 0.00178000000, + 0.03000, + 0.04000, + 0.10000, + 0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 3, 0, 1], + coeffs: [ + 0.00177000000, + 0.04000, + 0.12000, + 0.03000, + 0.11000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 2, -1], + coeffs: [ + -0.00175000000, + -0.04000, + -0.04000, + -0.06000, + -0.10000, + -0.68000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, 0, 2], + coeffs: [ + -0.00170000000, + -0.03000, + -0.04000, + 0.00000, + -0.20000, + -0.66000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, -3, 2], + coeffs: [ + -0.00169000000, + -0.05000, + -0.04000, + -0.09000, + -0.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -1, -3], + coeffs: [ + 0.00165000000, + 0.07000, + 0.04000, + 0.03000, + 0.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, -3, 1], + coeffs: [ + 0.00162000000, + 0.17000, + 0.03000, + 0.09000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, 0, -3], + coeffs: [ + 0.00161000000, + 0.08000, + 0.04000, + 0.00000, + 0.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 5, 1, 0], + coeffs: [ + 0.00156000000, + 0.00000, + 0.17000, + 0.03000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, -2, 1], + coeffs: [ + 0.00154000000, + 0.03000, + 0.10000, + 0.06000, + 0.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, 0, 1], + coeffs: [ + -0.00153000000, + -0.10000, + -0.03000, + -0.03000, + -0.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -2, 1], + coeffs: [ + -0.00152000000, + -0.09000, + -0.03000, + -0.06000, + -0.09000, + -0.59000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, 3, 0], + coeffs: [ + -0.00146000000, + 0.04000, + -0.10000, + -0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, 2, -1], + coeffs: [ + -0.00146000000, + -0.07000, + -0.03000, + -0.06000, + -0.09000, + -0.57000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 1, 2], + coeffs: [ + -0.00145000000, + -0.05000, + -0.03000, + -0.08000, + -0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 3, 1, 0], + coeffs: [ + 0.00142000000, + 0.03000, + 0.09000, + 0.03000, + 0.00000, + 0.55000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -3, 2, 1], + coeffs: [ + 0.00141000000, + 0.04000, + 0.09000, + 0.05000, + 0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 1, -2, -1], + coeffs: [ + -0.00137000000, + -0.03000, + -0.03000, + -0.05000, + -0.08000, + -0.53000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, -1, -2], + coeffs: [ + 0.00137000000, + 0.09000, + 0.03000, + 0.03000, + 0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -2, 1], + coeffs: [ + -0.00137000000, + -0.05000, + -0.03000, + -0.06000, + -0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 2, 1], + coeffs: [ + 0.00135000000, + 0.02000, + 0.09000, + 0.05000, + 0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 1, -1, -3], + coeffs: [ + 0.00134000000, + 0.07000, + 0.03000, + 0.03000, + 0.24000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, 0, -2], + coeffs: [ + -0.00131000000, + -0.05000, + -0.03000, + 0.00000, + -0.16000, + -0.51000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, -1, -1, 0], + coeffs: [ + 0.00130000000, + 0.12000, + 0.03000, + 0.04000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -3, -1, 0], + coeffs: [ + -0.00128000000, + -0.01000, + -0.09000, + -0.02000, + 0.00000, + -0.50000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 3, -3, 0], + coeffs: [ + -0.00127000000, + -0.04000, + -0.09000, + -0.07000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -1, -1, -1], + coeffs: [ + -0.00127000000, + -0.07000, + -0.03000, + -0.03000, + -0.08000, + -0.50000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 1, -3, 0], + coeffs: [ + -0.00124000000, + -0.05000, + -0.03000, + -0.07000, + 0.00000, + -0.48000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -1, -4, 0], + coeffs: [ + -0.00122000000, + -0.04000, + -0.03000, + -0.09000, + 0.00000, + -0.47000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -1, 1, -1], + coeffs: [ + 0.00122000000, + 0.09000, + 0.03000, + 0.04000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 1, 6, 0], + coeffs: [ + 0.00120000000, + 0.00000, + 0.03000, + 0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, 0, -4], + coeffs: [ + 0.00118000000, + 0.03000, + 0.03000, + 0.00000, + 0.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -5, 0], + coeffs: [ + -0.00116000000, + -0.05000, + -0.03000, + -0.11000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 1, -1, 1], + coeffs: [ + -0.00116000000, + -0.07000, + -0.02000, + -0.04000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -1, -2, 2], + coeffs: [ + -0.00114000000, + -0.07000, + -0.02000, + -0.04000, + -0.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 1, 4, -1], + coeffs: [ + 0.00111000000, + 0.04000, + 0.02000, + 0.08000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 1, -2, 0], + coeffs: [ + 0.00111000000, + 0.11000, + 0.02000, + 0.05000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 3, 4, 0], + coeffs: [ + -0.00109000000, + 0.00000, + -0.07000, + -0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -1, 1, 3], + coeffs: [ + -0.00109000000, + -0.02000, + -0.02000, + -0.02000, + -0.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 1, 2, 0], + coeffs: [ + -0.00108000000, + -0.08000, + -0.02000, + -0.06000, + 0.00000, + -0.42000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 1, -3, 0], + coeffs: [ + 0.00108000000, + 0.09000, + 0.02000, + 0.06000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -3, -1, 0], + coeffs: [ + 0.00107000000, + 0.04000, + 0.07000, + 0.02000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, -1, -3, 0], + coeffs: [ + 0.00107000000, + 0.08000, + 0.02000, + 0.06000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -3, 0, 2], + coeffs: [ + -0.00103000000, + -0.02000, + -0.06000, + 0.02000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -1, -3, 2], + coeffs: [ + -0.00102000000, + -0.03000, + -0.02000, + -0.06000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -1, -1, -2], + coeffs: [ + -0.00101000000, + -0.03000, + -0.02000, + -0.02000, + -0.12000, + -0.39000, + 0.00000, + ], + }, +]; + +/// Main problem terms for DISTANCE (313 of 704 terms) +pub const MAIN_DISTANCE: &[MainTerm] = &[ + MainTerm { + delaunay: [0, 0, 0, 0], + coeffs: [ + 385000.52718999999, + -7992.63000, + -11.06000, + 21578.08000, + -4.53000, + 11.39000, + -0.06000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 0], + coeffs: [ + -20905.32206000000, + 6888.23000, + -35.83000, + -380331.74000, + 22.31000, + 1.77000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 0], + coeffs: [ + -3699.10468000000, + -63127.05000, + 818.00000, + -67236.74000, + 147.86000, + -15.95000, + 0.14000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 0], + coeffs: [ + -2955.96651000000, + -86674.51000, + 507.99000, + -7597.69000, + 323.54000, + -19.09000, + 0.14000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 0], + coeffs: [ + -569.92332000000, + 374.44000, + -1.99000, + -20737.33000, + 5.79000, + 0.44000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 0], + coeffs: [ + 246.15768000000, + 4806.36000, + -51.78000, + 8962.91000, + -0.43000, + 1.11000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -1], + coeffs: [ + -204.59357000000, + -6583.80000, + 38.79000, + -377.95000, + -12225.82000, + 0.27000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 0], + coeffs: [ + -170.73274000000, + -4963.30000, + 29.72000, + -3579.16000, + 26.82000, + -1.82000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -1], + coeffs: [ + -152.14314000000, + -2564.20000, + 30.40000, + -2771.74000, + -9097.84000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 1], + coeffs: [ + -129.62476000000, + -3122.77000, + 61.80000, + -2362.46000, + -7767.84000, + -0.74000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 0], + coeffs: [ + 108.74265000000, + 2351.06000, + -120.48000, + 69.82000, + 2.01000, + 42281.56000, + -222.90000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 1], + coeffs: [ + 104.75896000000, + 2165.07000, + -47.62000, + 1929.10000, + 6279.07000, + -0.60000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 1, 0], + coeffs: [ + 79.66183000000, + -359.45000, + 3583.79000, + 1454.02000, + -2.37000, + 0.85000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 1], + coeffs: [ + 48.89010000000, + 1082.40000, + -25.99000, + 156.78000, + 2926.50000, + -3.76000, + 0.02000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 0], + coeffs: [ + -34.78245000000, + -1678.73000, + 13.50000, + -725.23000, + 8.97000, + 0.88000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 1], + coeffs: [ + 30.82498000000, + 873.36000, + -8.40000, + 94.40000, + 1844.57000, + 3.86000, + -0.02000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 1], + coeffs: [ + 24.20935000000, + -837.26000, + 13.30000, + 449.34000, + 1443.45000, + 0.26000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 0], + coeffs: [ + -23.21032000000, + 26.49000, + -0.14000, + -1266.64000, + 0.63000, + 0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 0], + coeffs: [ + -21.63627000000, + -808.81000, + 9.47000, + -788.01000, + 2.77000, + -1.21000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 1], + coeffs: [ + -16.67533000000, + -4.78000, + 10.81000, + -19.36000, + -997.67000, + -6483.73000, + 34.18000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 0], + coeffs: [ + 14.40262000000, + 282.85000, + -2.35000, + 786.99000, + 0.58000, + 0.14000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -1], + coeffs: [ + -12.83185000000, + -434.14000, + 2.98000, + -260.02000, + -766.51000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 0], + coeffs: [ + -11.64993000000, + -657.42000, + 4.13000, + -155.60000, + 4.42000, + -2.17000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, 0], + coeffs: [ + -10.44472000000, + -300.48000, + 1.81000, + -410.75000, + 2.24000, + -0.17000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, 0], + coeffs: [ + 10.32129000000, + 282.08000, + 460.16000, + -60.76000, + -1.29000, + 0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -1], + coeffs: [ + 10.05654000000, + 188.87000, + -1.29000, + 366.36000, + 601.57000, + -0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -2], + coeffs: [ + -9.88519000000, + -346.35000, + 1.99000, + -14.48000, + -1182.31000, + 0.07000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 0], + coeffs: [ + 8.75170000000, + 133.45000, + 390.01000, + 155.98000, + -0.28000, + 0.20000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 0], + coeffs: [ + -8.37909000000, + -219.27000, + 9.53000, + -156.07000, + -0.84000, + -3257.99000, + 17.18000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 1], + coeffs: [ + -7.00293000000, + -161.63000, + 3.29000, + -254.78000, + -419.55000, + -0.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 0], + coeffs: [ + 6.32199000000, + 138.54000, + -6.74000, + 118.10000, + -0.56000, + 2458.13000, + -12.96000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 1], + coeffs: [ + 5.75105000000, + 119.47000, + -2.62000, + 210.76000, + 344.76000, + -0.09000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -2], + coeffs: [ + -4.95049000000, + -84.90000, + 0.91000, + -90.35000, + -592.24000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 2, 0], + coeffs: [ + -4.42124000000, + 18.29000, + -198.91000, + -161.90000, + 0.14000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 0], + coeffs: [ + 4.13118000000, + 20.86000, + 186.87000, + 75.09000, + -0.76000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -1], + coeffs: [ + -3.95812000000, + -199.78000, + 1.54000, + -80.75000, + -236.16000, + 0.15000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, 0], + coeffs: [ + 3.25823000000, + 117.77000, + -2.27000, + 61.91000, + -1.34000, + 1266.88000, + -6.68000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 0], + coeffs: [ + -3.14837000000, + -204.48000, + -138.94000, + 159.64000, + -0.39000, + 0.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 1], + coeffs: [ + 2.61650000000, + 90.88000, + -1.01000, + 56.02000, + 156.64000, + 0.49000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 2], + coeffs: [ + 2.35380000000, + 79.52000, + -0.72000, + 42.86000, + 282.05000, + -0.06000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 2], + coeffs: [ + -2.11728000000, + -59.78000, + 1.22000, + -38.70000, + -253.61000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -1], + coeffs: [ + -1.89710000000, + -73.13000, + 0.79000, + -69.17000, + -113.34000, + -0.12000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 0], + coeffs: [ + -1.73852000000, + -48.13000, + 1.59000, + -63.71000, + -0.50000, + -675.99000, + 3.56000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -1], + coeffs: [ + -1.57145000000, + -94.02000, + 0.59000, + -18.48000, + -93.65000, + -0.26000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, 0], + coeffs: [ + -1.42255000000, + -81.30000, + 0.50000, + -40.47000, + 0.68000, + -0.21000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 0], + coeffs: [ + -1.41893000000, + -19.43000, + -0.69000, + 10.76000, + -0.63000, + -551.71000, + 2.91000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 2], + coeffs: [ + 1.16562000000, + 22.20000, + -0.39000, + 21.49000, + 139.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 4, 0], + coeffs: [ + -1.11693000000, + 1.98000, + 0.00000, + -81.26000, + 0.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 2], + coeffs: [ + 1.06575000000, + 16.47000, + -0.60000, + 3.28000, + 127.54000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 1], + coeffs: [ + -0.93335000000, + -1.07000, + 0.64000, + -18.08000, + -55.84000, + -362.91000, + 1.91000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, 0], + coeffs: [ + 0.86243000000, + 16.64000, + -0.34000, + 31.48000, + 0.13000, + 335.34000, + -1.77000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 1], + coeffs: [ + 0.85127000000, + -2.92000, + -0.50000, + 15.94000, + 50.91000, + 330.99000, + -1.74000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -1], + coeffs: [ + -0.84883000000, + -29.75000, + 0.22000, + -32.80000, + -50.68000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 0, 0], + coeffs: [ + -0.79564000000, + -11.23000, + -35.24000, + -0.22000, + 0.00000, + -309.37000, + 1.63000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, 0], + coeffs: [ + 0.77854000000, + 15.43000, + -0.13000, + 56.71000, + 0.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -2, 0], + coeffs: [ + 0.77405000000, + 9.68000, + 34.65000, + 28.17000, + -0.04000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, 0], + coeffs: [ + -0.66968000000, + -19.02000, + 0.12000, + -38.59000, + 0.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -2], + coeffs: [ + -0.65758000000, + -25.02000, + 0.18000, + -13.07000, + -78.64000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -1], + coeffs: [ + 0.65710000000, + 17.83000, + 29.30000, + -2.92000, + 39.26000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, 0], + coeffs: [ + 0.59633000000, + 12.13000, + 26.76000, + 14.46000, + -0.08000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 1], + coeffs: [ + 0.57881000000, + 16.49000, + -0.10000, + 12.27000, + 34.72000, + 0.13000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 0], + coeffs: [ + -0.51423000000, + -25.81000, + 0.28000, + -28.10000, + -0.19000, + -0.15000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, 0], + coeffs: [ + -0.50793000000, + -21.44000, + -22.55000, + 1.37000, + 0.28000, + -0.17000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -1], + coeffs: [ + 0.49757000000, + 32.61000, + -1.42000, + 0.14000, + 30.00000, + 193.46000, + -1.02000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, -1], + coeffs: [ + 0.49506000000, + 7.68000, + 0.00000, + 27.04000, + 29.62000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, 0], + coeffs: [ + 0.47263000000, + 7.20000, + 21.06000, + 16.92000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, 0], + coeffs: [ + -0.42250000000, + -28.36000, + 0.26000, + -16.58000, + 0.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -3, 1], + coeffs: [ + -0.42242000000, + -9.35000, + 0.20000, + -23.04000, + -25.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -3], + coeffs: [ + -0.41076000000, + -15.67000, + 0.09000, + -0.51000, + -73.71000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, 0], + coeffs: [ + 0.37852000000, + 7.87000, + -0.40000, + 13.92000, + -0.09000, + 147.18000, + -0.78000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 1], + coeffs: [ + 0.35509000000, + 7.33000, + -0.16000, + 19.48000, + 21.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -2], + coeffs: [ + 0.34304000000, + 6.87000, + -0.03000, + 12.50000, + 41.04000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -1, 1], + coeffs: [ + 0.33465000000, + 7.26000, + 14.91000, + 5.99000, + 20.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 1], + coeffs: [ + 0.33226000000, + 4.67000, + -0.10000, + 12.19000, + 19.90000, + 129.18000, + -0.68000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, -1], + coeffs: [ + 0.32336000000, + 4.56000, + 14.42000, + 5.73000, + 19.34000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, 0], + coeffs: [ + -0.32176000000, + -7.98000, + -14.29000, + -5.95000, + 0.15000, + -0.11000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, 0], + coeffs: [ + -0.28663000000, + -21.86000, + 0.16000, + -8.12000, + 0.18000, + -0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, 0], + coeffs: [ + 0.28399000000, + 2.90000, + 12.83000, + 10.35000, + -0.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -2], + coeffs: [ + -0.27906000000, + -14.76000, + 0.11000, + -5.61000, + -33.36000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, -1], + coeffs: [ + 0.25561000000, + 9.61000, + -0.15000, + 4.83000, + 15.24000, + 99.38000, + -0.52000, + ], + }, + MainTerm { + delaunay: [0, -2, 1, 1], + coeffs: [ + -0.24811000000, + -2.72000, + -11.08000, + -4.50000, + -14.87000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 1], + coeffs: [ + 0.24453000000, + 12.94000, + -0.10000, + 3.44000, + 14.63000, + 0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 1], + coeffs: [ + 0.23696000000, + -7.25000, + 0.12000, + 8.69000, + 14.25000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, 1], + coeffs: [ + -0.21259000000, + -4.00000, + 0.17000, + -4.03000, + -12.70000, + -82.66000, + 0.44000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, 1], + coeffs: [ + 0.21252000000, + 8.11000, + -0.09000, + 8.45000, + 12.72000, + 0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, -1], + coeffs: [ + 0.20942000000, + 1.81000, + 9.46000, + 3.82000, + 12.50000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -1], + coeffs: [ + -0.20286000000, + -12.45000, + 0.08000, + -5.51000, + -12.08000, + -0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, 0], + coeffs: [ + 0.20099000000, + 2.46000, + 8.95000, + -0.04000, + -0.07000, + 78.15000, + -0.41000, + ], + }, + MainTerm { + delaunay: [0, -2, 0, 1], + coeffs: [ + -0.18568000000, + -4.48000, + -8.29000, + 0.54000, + -11.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, 0], + coeffs: [ + -0.18316000000, + -10.48000, + 0.12000, + -10.02000, + 0.05000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 1], + coeffs: [ + 0.16858000000, + 15.79000, + -0.24000, + 9.16000, + 10.17000, + 0.05000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 1], + coeffs: [ + -0.15803000000, + -3.35000, + -7.06000, + -0.08000, + -9.46000, + -0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, -1], + coeffs: [ + -0.15708000000, + -2.88000, + -0.04000, + 0.83000, + -9.42000, + -61.08000, + 0.32000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -3], + coeffs: [ + -0.14808000000, + -2.64000, + 0.03000, + -2.71000, + -26.58000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, 2], + coeffs: [ + 0.14764000000, + 4.88000, + -0.05000, + 4.90000, + 17.69000, + -0.29000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 1], + coeffs: [ + 0.14368000000, + 122.13000, + -1.91000, + 4.58000, + 9.23000, + 0.13000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, 0], + coeffs: [ + -0.13922000000, + -7.97000, + 0.05000, + -6.33000, + 0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 2], + coeffs: [ + -0.13618000000, + -4.10000, + 0.09000, + -4.96000, + -16.31000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, 1], + coeffs: [ + -0.13572000000, + -4.94000, + -6.04000, + 0.54000, + -8.13000, + 0.03000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -2], + coeffs: [ + -0.12806000000, + -8.09000, + 0.05000, + -1.35000, + -15.30000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, -1], + coeffs: [ + 0.11411000000, + 0.00000, + -0.02000, + 2.31000, + 6.80000, + 44.37000, + -0.23000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, -1], + coeffs: [ + 0.10998000000, + 5.32000, + -0.17000, + 2.14000, + 6.59000, + 42.76000, + -0.23000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, 2], + coeffs: [ + -0.10888000000, + -2.72000, + 0.00000, + -3.96000, + -13.05000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -2], + coeffs: [ + -0.10834000000, + -4.38000, + 0.04000, + -3.95000, + -12.96000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 1], + coeffs: [ + -0.10766000000, + -3.22000, + 0.12000, + -1.09000, + -6.42000, + -41.86000, + 0.22000, + ], + }, + MainTerm { + delaunay: [0, 2, 1, 0], + coeffs: [ + -0.10326000000, + -9.14000, + -4.53000, + 8.08000, + 0.00000, + 0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -3, 0], + coeffs: [ + -0.09938000000, + -2.83000, + 0.09000, + -5.45000, + -0.04000, + -38.64000, + 0.20000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, 0], + coeffs: [ + -0.08587000000, + -7.10000, + 0.05000, + -2.25000, + 0.07000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -2, 0], + coeffs: [ + -0.07982000000, + -2.91000, + -3.54000, + -2.91000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, -1], + coeffs: [ + -0.06678000000, + -4.61000, + 0.04000, + -2.60000, + -3.98000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 1, 0], + coeffs: [ + -0.06545000000, + 0.72000, + -0.10000, + -0.32000, + -0.11000, + -25.45000, + 0.13000, + ], + }, + MainTerm { + delaunay: [1, -2, 1, 0], + coeffs: [ + 0.06055000000, + 0.87000, + 2.67000, + 1.14000, + 0.00000, + 23.54000, + -0.12000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, 1], + coeffs: [ + -0.05904000000, + -0.12000, + 0.04000, + -2.22000, + -3.53000, + -22.96000, + 0.12000, + ], + }, + MainTerm { + delaunay: [0, 0, 5, 0], + coeffs: [ + -0.05888000000, + 0.15000, + 0.00000, + -5.35000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, -1], + coeffs: [ + -0.05850000000, + -2.10000, + 0.00000, + -3.33000, + -3.49000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, -1], + coeffs: [ + -0.05789000000, + -2.54000, + -2.57000, + 0.14000, + -3.44000, + -0.02000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 1], + coeffs: [ + -0.05527000000, + 1.02000, + -2.52000, + -1.02000, + -3.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, -1], + coeffs: [ + 0.05293000000, + 0.92000, + 0.00000, + 1.93000, + 3.17000, + 20.58000, + -0.11000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, -1], + coeffs: [ + -0.05191000000, + -4.10000, + 0.03000, + -1.42000, + -3.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 2, 2], + coeffs: [ + 0.05072000000, + 0.70000, + 0.00000, + 1.86000, + 6.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -2, 1], + coeffs: [ + -0.05020000000, + -1.17000, + -2.24000, + -1.83000, + -3.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, 0], + coeffs: [ + -0.04843000000, + -0.72000, + 0.00000, + -2.65000, + -0.03000, + -18.83000, + 0.10000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, 0], + coeffs: [ + 0.04740000000, + 0.93000, + 0.00000, + 4.32000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 1], + coeffs: [ + -0.04736000000, + 2.58000, + -2.16000, + -0.89000, + -2.82000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -2], + coeffs: [ + -0.04608000000, + -1.86000, + 0.00000, + -1.76000, + -5.51000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, 0], + coeffs: [ + 0.04591000000, + 2.50000, + -0.04000, + 1.73000, + -0.03000, + 17.85000, + -0.09000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, 0], + coeffs: [ + -0.04422000000, + -1.24000, + 0.00000, + -3.36000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, -1], + coeffs: [ + -0.04316000000, + -2.19000, + 0.02000, + -2.36000, + -2.59000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -1, 0], + coeffs: [ + -0.04232000000, + -0.60000, + -1.87000, + -0.77000, + 0.00000, + -16.45000, + 0.09000, + ], + }, + MainTerm { + delaunay: [0, 0, -1, 3], + coeffs: [ + -0.03894000000, + -1.14000, + 0.03000, + -0.71000, + -6.99000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, 1], + coeffs: [ + 0.03810000000, + 2.03000, + 0.00000, + 1.37000, + 2.29000, + 14.82000, + -0.08000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, -1], + coeffs: [ + 0.03734000000, + 0.84000, + 1.68000, + 0.85000, + 2.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, 2], + coeffs: [ + 0.03729000000, + 0.60000, + -0.03000, + 0.07000, + 4.47000, + 14.50000, + -0.08000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, 1], + coeffs: [ + 0.03682000000, + 2.17000, + -0.02000, + 1.07000, + 2.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 0, 1], + coeffs: [ + 0.03379000000, + 0.04000, + 1.48000, + 0.11000, + 2.02000, + 13.14000, + -0.07000, + ], + }, + MainTerm { + delaunay: [0, -2, 2, 1], + coeffs: [ + 0.03265000000, + 0.36000, + 1.45000, + 1.20000, + 1.96000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, 0], + coeffs: [ + 0.03143000000, + -0.69000, + 1.43000, + 2.99000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -2, -1], + coeffs: [ + 0.03024000000, + 0.36000, + 1.36000, + 1.10000, + 1.81000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -2], + coeffs: [ + -0.02948000000, + 0.18000, + 0.00000, + -0.03000, + -3.52000, + -11.46000, + 0.06000, + ], + }, + MainTerm { + delaunay: [4, 0, -4, 0], + coeffs: [ + -0.02939000000, + -0.87000, + 0.00000, + -2.14000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -3, 0], + coeffs: [ + 0.02910000000, + 0.44000, + 1.30000, + 1.57000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -3], + coeffs: [ + -0.02855000000, + -1.20000, + 0.00000, + -0.56000, + -5.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -2], + coeffs: [ + 0.02839000000, + 0.78000, + 1.27000, + -0.11000, + 3.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, -1], + coeffs: [ + -0.02698000000, + -0.67000, + -1.20000, + -0.50000, + -1.61000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -4, 1], + coeffs: [ + -0.02674000000, + -0.56000, + 0.00000, + -1.94000, + -1.60000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, 2], + coeffs: [ + 0.02658000000, + 1.57000, + 0.00000, + 0.97000, + 3.18000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -1, 0], + coeffs: [ + -0.02471000000, + -0.50000, + -1.08000, + -0.46000, + 0.00000, + -9.61000, + 0.05000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, -1], + coeffs: [ + -0.02436000000, + -1.43000, + 0.00000, + -1.33000, + -1.45000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 1], + coeffs: [ + -0.02399000000, + -2.48000, + 0.03000, + -1.30000, + -1.43000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 3, 0], + coeffs: [ + 0.02368000000, + 0.46000, + -0.02000, + 1.30000, + 0.00000, + 9.21000, + -0.05000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, -1], + coeffs: [ + 0.02334000000, + 0.28000, + 0.00000, + 1.70000, + 1.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 4, 1], + coeffs: [ + 0.02304000000, + 0.47000, + 0.00000, + 1.68000, + 1.38000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 0, 3], + coeffs: [ + 0.02127000000, + 0.03000, + 0.00000, + 0.08000, + 3.82000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, -1], + coeffs: [ + -0.02079000000, + -1.29000, + 0.00000, + -0.92000, + -1.24000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -3, 0], + coeffs: [ + -0.02008000000, + -0.43000, + -0.89000, + -1.09000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, 1], + coeffs: [ + 0.01969000000, + 0.95000, + 0.87000, + 0.00000, + 1.18000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 1, 0], + coeffs: [ + 0.01938000000, + 0.76000, + 0.89000, + 0.57000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 1, 3], + coeffs: [ + 0.01912000000, + 0.39000, + 0.00000, + 0.35000, + 3.43000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 0, 0], + coeffs: [ + -0.01874000000, + -0.51000, + -0.83000, + -0.13000, + 0.00000, + -7.29000, + 0.04000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, 2], + coeffs: [ + 0.01868000000, + 1.31000, + 0.00000, + 0.45000, + 2.24000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 1, 0], + coeffs: [ + -0.01866000000, + -0.11000, + -1.67000, + -0.33000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 3, 0], + coeffs: [ + 0.01811000000, + 0.19000, + 0.82000, + 0.99000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, -1], + coeffs: [ + 0.01804000000, + 0.34000, + 0.81000, + 0.66000, + 1.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -3, 1], + coeffs: [ + 0.01729000000, + 0.21000, + 0.00000, + 0.95000, + 1.04000, + 6.72000, + -0.04000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -2], + coeffs: [ + -0.01728000000, + -1.13000, + 0.00000, + -0.45000, + -2.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, -1], + coeffs: [ + -0.01709000000, + -1.47000, + 0.00000, + -0.42000, + -1.01000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, 1], + coeffs: [ + 0.01704000000, + 0.68000, + 0.00000, + 0.99000, + 1.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 0, -4], + coeffs: [ + -0.01578000000, + -0.66000, + 0.00000, + 0.00000, + -3.78000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -1, -3], + coeffs: [ + -0.01571000000, + -0.87000, + 0.00000, + -0.31000, + -2.82000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, 1], + coeffs: [ + 0.01551000000, + 0.50000, + 0.69000, + 0.29000, + 0.92000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -2, -1], + coeffs: [ + 0.01518000000, + 0.17000, + 0.68000, + 0.54000, + 0.91000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, -2], + coeffs: [ + 0.01517000000, + 0.23000, + 0.00000, + 0.83000, + 1.81000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -2, 0], + coeffs: [ + 0.01483000000, + 0.60000, + 0.66000, + 0.61000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 1, 1], + coeffs: [ + -0.01448000000, + -0.44000, + 0.00000, + -0.37000, + -0.86000, + -5.63000, + 0.03000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, -1], + coeffs: [ + 0.01441000000, + 0.21000, + 0.64000, + 0.00000, + 0.86000, + 5.61000, + -0.03000, + ], + }, + MainTerm { + delaunay: [6, 0, 1, 0], + coeffs: [ + -0.01420000000, + -1.20000, + 0.00000, + -0.55000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -4, 1], + coeffs: [ + 0.01417000000, + 1.08000, + 0.00000, + 1.03000, + 0.85000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -1, -2], + coeffs: [ + 0.01389000000, + 0.55000, + 0.00000, + 0.26000, + 1.66000, + 5.40000, + -0.03000, + ], + }, + MainTerm { + delaunay: [1, -2, 0, -1], + coeffs: [ + -0.01366000000, + -0.21000, + -0.61000, + 0.00000, + -0.82000, + -5.31000, + 0.03000, + ], + }, + MainTerm { + delaunay: [4, 0, 3, 0], + coeffs: [ + -0.01243000000, + -0.71000, + 0.00000, + -0.78000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -3, 0], + coeffs: [ + 0.01149000000, + 0.49000, + 0.00000, + 0.63000, + 0.00000, + 4.47000, + -0.02000, + ], + }, + MainTerm { + delaunay: [1, 0, 2, -1], + coeffs: [ + 0.01121000000, + 0.52000, + 0.00000, + 0.42000, + 0.67000, + 4.36000, + -0.02000, + ], + }, + MainTerm { + delaunay: [2, 0, -2, -3], + coeffs: [ + 0.01116000000, + 0.26000, + 0.00000, + 0.41000, + 2.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, 2], + coeffs: [ + -0.01072000000, + -0.37000, + -0.47000, + -0.17000, + -1.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, -2], + coeffs: [ + -0.01048000000, + -0.23000, + 0.00000, + 0.04000, + -1.25000, + -4.07000, + 0.02000, + ], + }, + MainTerm { + delaunay: [2, 0, -3, 2], + coeffs: [ + -0.01036000000, + -0.29000, + 0.00000, + -0.58000, + -1.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -1, -2], + coeffs: [ + 0.00957000000, + 0.13000, + 0.43000, + 0.17000, + 1.15000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, 1], + coeffs: [ + 0.00948000000, + 0.35000, + 0.00000, + 0.37000, + 0.57000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -3, 2], + coeffs: [ + -0.00938000000, + -0.29000, + 0.00000, + -0.51000, + -1.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -3, 0], + coeffs: [ + 0.00925000000, + 0.29000, + 0.41000, + 0.50000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, 2], + coeffs: [ + 0.00912000000, + 0.29000, + 0.00000, + 0.46000, + 1.09000, + -0.04000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 1, -1], + coeffs: [ + -0.00887000000, + -0.03000, + 0.00000, + -0.09000, + -0.54000, + -3.45000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, -1, 0], + coeffs: [ + -0.00868000000, + 0.00000, + -0.39000, + -0.14000, + 0.00000, + -3.38000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, -2], + coeffs: [ + 0.00844000000, + 0.10000, + 0.00000, + 0.17000, + 1.01000, + 3.28000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -4, 2, 0], + coeffs: [ + -0.00837000000, + 0.07000, + -0.75000, + -0.31000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, -3], + coeffs: [ + -0.00817000000, + -0.54000, + 0.00000, + -0.08000, + -1.47000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, 0], + coeffs: [ + -0.00814000000, + -0.25000, + 0.00000, + 0.07000, + 0.00000, + -3.17000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 0, 1], + coeffs: [ + -0.00808000000, + -0.12000, + -0.36000, + 0.00000, + -0.48000, + -3.14000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, -2], + coeffs: [ + 0.00792000000, + 0.09000, + 0.36000, + 0.14000, + 0.95000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, -1, 0], + coeffs: [ + -0.00785000000, + -0.44000, + -0.35000, + -0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, 1], + coeffs: [ + 0.00780000000, + 0.49000, + 0.00000, + 0.22000, + 0.47000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, -1, 1], + coeffs: [ + -0.00769000000, + -0.15000, + -0.34000, + -0.04000, + -0.46000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 0, 0], + coeffs: [ + -0.00745000000, + -0.11000, + -0.67000, + -0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -3, 0], + coeffs: [ + -0.00744000000, + -0.27000, + -0.33000, + -0.41000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 1, 1], + coeffs: [ + -0.00682000000, + -0.05000, + -0.31000, + -0.17000, + -0.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, 1], + coeffs: [ + -0.00680000000, + -0.29000, + 0.00000, + -0.37000, + -0.41000, + -2.64000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, 1, 0], + coeffs: [ + 0.00671000000, + 0.02000, + 0.30000, + 0.12000, + 0.00000, + 2.61000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -2, -1], + coeffs: [ + -0.00661000000, + -0.25000, + -0.29000, + -0.24000, + -0.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -4, 0], + coeffs: [ + -0.00659000000, + -0.45000, + 0.00000, + -0.48000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, 2], + coeffs: [ + 0.00646000000, + 0.12000, + 0.00000, + 0.13000, + 0.77000, + 2.51000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -4, 0], + coeffs: [ + -0.00636000000, + -0.18000, + 0.00000, + -0.46000, + 0.00000, + -2.47000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -2, -2], + coeffs: [ + -0.00618000000, + -0.44000, + 0.00000, + -0.24000, + -0.74000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, 1], + coeffs: [ + -0.00588000000, + -0.10000, + -0.26000, + -0.14000, + -0.35000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, -1], + coeffs: [ + 0.00573000000, + 0.32000, + 0.00000, + 0.22000, + 0.34000, + 2.23000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 1, 1], + coeffs: [ + -0.00562000000, + 0.00000, + -0.25000, + -0.11000, + -0.34000, + -2.18000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -2, 0], + coeffs: [ + -0.00559000000, + -0.53000, + 0.00000, + -0.25000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 0, 2], + coeffs: [ + -0.00558000000, + -0.14000, + -0.25000, + 0.00000, + -0.67000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -1, 0], + coeffs: [ + 0.00550000000, + 0.25000, + 0.25000, + 0.21000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -5, 0], + coeffs: [ + -0.00542000000, + -0.21000, + 0.00000, + -0.49000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -1, -2], + coeffs: [ + -0.00541000000, + -0.44000, + 0.00000, + -0.14000, + -0.65000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -3, 0], + coeffs: [ + -0.00539000000, + -0.46000, + 0.00000, + -0.31000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 2, 1], + coeffs: [ + -0.00537000000, + -0.03000, + -0.24000, + -0.20000, + -0.32000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -2, -3], + coeffs: [ + -0.00513000000, + -0.22000, + 0.00000, + -0.19000, + -0.92000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -2, 0], + coeffs: [ + 0.00457000000, + 0.03000, + 0.20000, + 0.16000, + 0.00000, + 1.78000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, -1, 2], + coeffs: [ + 0.00450000000, + 0.12000, + 0.20000, + 0.08000, + 0.54000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -1, 2], + coeffs: [ + 0.00438000000, + 0.14000, + 0.00000, + 0.08000, + 0.52000, + 1.70000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, 1], + coeffs: [ + 0.00430000000, + 0.27000, + 0.00000, + 0.20000, + 0.26000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, -4], + coeffs: [ + -0.00426000000, + -0.08000, + 0.00000, + -0.08000, + -1.02000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, -1], + coeffs: [ + -0.00422000000, + -0.24000, + 0.00000, + -0.13000, + -0.26000, + -1.64000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, -1], + coeffs: [ + -0.00413000000, + -0.15000, + 0.00000, + -0.31000, + -0.25000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 0, -2], + coeffs: [ + -0.00403000000, + -0.18000, + -0.18000, + 0.00000, + -0.48000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 2, 0], + coeffs: [ + 0.00400000000, + 0.16000, + 0.18000, + 0.17000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 3, 1], + coeffs: [ + -0.00392000000, + 0.00000, + 0.00000, + -0.22000, + -0.23000, + -1.52000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 0, 2], + coeffs: [ + -0.00342000000, + -0.07000, + -0.15000, + 0.00000, + -0.41000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 3, -2], + coeffs: [ + -0.00335000000, + -0.14000, + 0.00000, + -0.19000, + -0.40000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -3, -1], + coeffs: [ + -0.00334000000, + -0.05000, + 0.00000, + -0.18000, + -0.20000, + -1.30000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -1, 1], + coeffs: [ + 0.00331000000, + -0.02000, + 0.15000, + 0.06000, + 0.20000, + 1.29000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 6, 0], + coeffs: [ + -0.00329000000, + 0.00000, + 0.00000, + -0.36000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, -2, 0], + coeffs: [ + -0.00326000000, + -0.13000, + -0.14000, + -0.12000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -2, 2], + coeffs: [ + 0.00324000000, + 0.14000, + 0.00000, + 0.12000, + 0.39000, + 1.26000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -1, 1], + coeffs: [ + -0.00311000000, + -0.16000, + 0.00000, + -0.08000, + -0.19000, + -1.21000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -6, 0], + coeffs: [ + 0.00304000000, + 0.06000, + 0.00000, + 0.33000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 5, 0], + coeffs: [ + -0.00298000000, + -0.08000, + 0.00000, + -0.28000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 1, -1], + coeffs: [ + -0.00296000000, + -0.26000, + 0.00000, + -0.11000, + -0.18000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -2, 3], + coeffs: [ + -0.00287000000, + -0.10000, + 0.00000, + -0.10000, + -0.51000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -1, 0], + coeffs: [ + -0.00285000000, + -0.29000, + 0.00000, + -0.11000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -2, -1, 0], + coeffs: [ + 0.00281000000, + 0.10000, + 0.12000, + 0.05000, + 0.00000, + 1.09000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -2, 0], + coeffs: [ + -0.00278000000, + -0.04000, + -0.12000, + -0.10000, + 0.00000, + -1.08000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, 1], + coeffs: [ + 0.00278000000, + -0.06000, + 0.00000, + 0.15000, + 0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, 1, -1], + coeffs: [ + 0.00272000000, + 0.12000, + 0.12000, + 0.07000, + 0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, 1], + coeffs: [ + 0.00272000000, + 0.21000, + 0.00000, + 0.07000, + 0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, 0, 0], + coeffs: [ + -0.00270000000, + -0.19000, + -0.12000, + 0.00000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -2, 1], + coeffs: [ + -0.00256000000, + -0.07000, + 0.00000, + -0.10000, + -0.15000, + -1.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, 2], + coeffs: [ + 0.00252000000, + 0.17000, + 0.00000, + 0.14000, + 0.30000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -1, 0], + coeffs: [ + -0.00248000000, + 0.57000, + -0.02000, + 0.22000, + -0.04000, + -0.96000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -3, -2], + coeffs: [ + -0.00239000000, + -0.12000, + 0.00000, + -0.13000, + -0.29000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 1, 2], + coeffs: [ + -0.00237000000, + 0.00000, + -0.11000, + -0.04000, + -0.28000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, -4, -1], + coeffs: [ + -0.00230000000, + -0.06000, + 0.00000, + -0.17000, + -0.14000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 3, 2], + coeffs: [ + 0.00228000000, + 0.00000, + 0.00000, + 0.13000, + 0.27000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -2, -2], + coeffs: [ + 0.00224000000, + 0.03000, + 0.00000, + 0.08000, + 0.27000, + 0.87000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -4, 2, 0], + coeffs: [ + 0.00219000000, + 0.00000, + 0.20000, + 0.08000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 2, -3], + coeffs: [ + -0.00209000000, + -0.10000, + 0.00000, + -0.08000, + -0.38000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -1, 3], + coeffs: [ + 0.00208000000, + 0.14000, + 0.00000, + 0.03000, + 0.37000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, -2, -2, 0], + coeffs: [ + -0.00206000000, + 0.00000, + -0.09000, + -0.07000, + 0.00000, + -0.80000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, 2, 0], + coeffs: [ + 0.00203000000, + 0.00000, + 0.09000, + 0.07000, + 0.00000, + 0.79000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -2, 1], + coeffs: [ + -0.00203000000, + 0.31000, + -0.10000, + -0.08000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, -3, -2], + coeffs: [ + -0.00195000000, + -0.12000, + 0.00000, + -0.11000, + -0.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 3, -1], + coeffs: [ + -0.00194000000, + -0.12000, + 0.00000, + -0.12000, + -0.12000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 0, -2], + coeffs: [ + -0.00194000000, + -0.17000, + 0.00000, + -0.04000, + -0.23000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, -4, 0], + coeffs: [ + 0.00188000000, + 0.03000, + 0.08000, + 0.14000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 1, 2], + coeffs: [ + 0.00187000000, + 0.11000, + 0.07000, + 0.00000, + 0.22000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 2, -2], + coeffs: [ + -0.00184000000, + -0.12000, + 0.00000, + -0.08000, + -0.22000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -4, 0], + coeffs: [ + -0.00184000000, + -0.14000, + 0.00000, + -0.13000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, 0, 2, 0], + coeffs: [ + -0.00182000000, + -0.16000, + 0.00000, + -0.10000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 1, 0], + coeffs: [ + 0.00181000000, + -0.12000, + 0.08000, + 0.32000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, -5, 1], + coeffs: [ + -0.00174000000, + -0.03000, + 0.00000, + -0.16000, + -0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, -4, 0], + coeffs: [ + -0.00170000000, + 0.00000, + 0.00000, + -0.12000, + 0.00000, + -0.66000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, -1, -2], + coeffs: [ + 0.00168000000, + 0.04000, + 0.08000, + 0.04000, + 0.20000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, 1, 0], + coeffs: [ + -0.00164000000, + -0.05000, + -0.07000, + -0.04000, + 0.00000, + -0.64000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 0, 2], + coeffs: [ + 0.00162000000, + 0.04000, + 0.00000, + 0.00000, + 0.19000, + 0.63000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 0, -3], + coeffs: [ + -0.00161000000, + 0.00000, + 0.00000, + 0.00000, + -0.29000, + -0.63000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 2, -2, -1], + coeffs: [ + 0.00160000000, + 0.07000, + 0.07000, + 0.06000, + 0.10000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 1, -2], + coeffs: [ + 0.00159000000, + 0.16000, + 0.00000, + 0.03000, + 0.19000, + 0.62000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, -2, -1, 1], + coeffs: [ + 0.00156000000, + 0.00000, + 0.07000, + 0.03000, + 0.09000, + 0.61000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 0, 5, 1], + coeffs: [ + 0.00153000000, + 0.03000, + 0.00000, + 0.14000, + 0.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, -1], + coeffs: [ + -0.00153000000, + -0.06000, + 0.00000, + 0.00000, + -0.09000, + -0.60000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, 4, 0], + coeffs: [ + 0.00152000000, + 0.03000, + 0.00000, + 0.11000, + 0.00000, + 0.59000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 2, 1], + coeffs: [ + -0.00150000000, + -0.05000, + 0.00000, + -0.07000, + -0.09000, + -0.58000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 2, -2, 1], + coeffs: [ + -0.00148000000, + 0.00000, + -0.07000, + -0.05000, + -0.09000, + -0.58000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, -2, -1, -2], + coeffs: [ + -0.00145000000, + -0.04000, + -0.06000, + -0.03000, + -0.17000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, 1], + coeffs: [ + -0.00143000000, + -0.04000, + -0.06000, + -0.04000, + -0.09000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, -2, 0, 0], + coeffs: [ + 0.00142000000, + 0.07000, + 0.06000, + 0.00000, + 0.00000, + 0.55000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 0, 2], + coeffs: [ + 0.00136000000, + 0.11000, + 0.00000, + 0.09000, + 0.16000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 4, 1], + coeffs: [ + 0.00135000000, + 0.06000, + 0.00000, + 0.10000, + 0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, -3, -1], + coeffs: [ + 0.00128000000, + 0.06000, + 0.00000, + 0.07000, + 0.08000, + 0.50000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 3, -1], + coeffs: [ + 0.00127000000, + 0.03000, + 0.06000, + 0.07000, + 0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -2, -1], + coeffs: [ + -0.00126000000, + -0.12000, + 0.00000, + -0.06000, + -0.08000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [6, -2, -1, -1], + coeffs: [ + -0.00121000000, + -0.07000, + -0.05000, + -0.02000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, -1], + coeffs: [ + 0.00119000000, + 0.00000, + 0.00000, + 0.11000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 4, 0], + coeffs: [ + 0.00119000000, + 0.00000, + 0.05000, + 0.09000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, -5, 1], + coeffs: [ + 0.00116000000, + 0.08000, + 0.00000, + 0.11000, + 0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 1, -3], + coeffs: [ + -0.00114000000, + -0.08000, + 0.00000, + -0.03000, + -0.21000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 0, 1, -4], + coeffs: [ + -0.00113000000, + -0.05000, + 0.00000, + -0.02000, + -0.27000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, -2, 3, 0], + coeffs: [ + -0.00111000000, + 0.00000, + 0.00000, + -0.05000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 0, 2, 0], + coeffs: [ + -0.00111000000, + 0.21000, + 0.00000, + 0.03000, + 0.00000, + -0.43000, + 0.00000, + ], + }, + MainTerm { + delaunay: [5, 0, 0, 1], + coeffs: [ + -0.00111000000, + -0.07000, + 0.00000, + -0.03000, + -0.07000, + -0.43000, + 0.00000, + ], + }, + MainTerm { + delaunay: [8, 0, -3, -1], + coeffs: [ + -0.00109000000, + -0.10000, + 0.00000, + -0.06000, + -0.07000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, 2, 0, -1], + coeffs: [ + 0.00108000000, + -0.09000, + 0.05000, + 0.21000, + 0.06000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [4, 0, 4, 0], + coeffs: [ + -0.00106000000, + -0.06000, + 0.00000, + -0.09000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [2, -2, 0, -3], + coeffs: [ + 0.00104000000, + 0.03000, + 0.05000, + 0.00000, + 0.19000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [0, 2, 2, 0], + coeffs: [ + -0.00102000000, + -0.37000, + -0.04000, + 0.62000, + 0.00000, + 0.00000, + 0.00000, + ], + }, + MainTerm { + delaunay: [1, 0, -4, 1], + coeffs: [ + 0.00101000000, + 0.00000, + 0.00000, + 0.07000, + 0.06000, + 0.39000, + 0.00000, + ], + }, + MainTerm { + delaunay: [3, 2, -2, 0], + coeffs: [ + -0.00101000000, + -0.03000, + -0.04000, + -0.04000, + 0.00000, + -0.39000, + 0.00000, + ], + }, +]; + +/// Perturbation terms for LONGITUDE T^0 (1015 of 11314 terms) +const PERT_LONGITUDE_T0: &[PertTerm] = &[ + PertTerm { + amplitude: 14.2514575732437, + phase: 2.6783098746173, + multipliers: [0, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 7.0629899999995, + phase: 3.1415762474948, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 1.1429948417380, + phase: -3.1395235990410, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.8761090183292, + phase: -1.2976374727714, + multipliers: [0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.8216317407937, + phase: -3.1414113342924, + multipliers: [0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.7883480816740, + phase: 2.6783114513256, + multipliers: [0, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.7395662920415, + phase: 0.4632965527683, + multipliers: [0, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.6437493518577, + phase: 3.1413585915171, + multipliers: [2, 0, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.6388374280988, + phase: 0.0214808472196, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.5649469798692, + phase: -2.7397159690123, + multipliers: [0, 0, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4933000000000, + phase: 3.1415704879083, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4914100000000, + phase: 3.1415704879083, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4453106748602, + phase: 0.1756001353502, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3606000000000, + phase: 0.0000123918377, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3435257625097, + phase: -1.5716348465535, + multipliers: [0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3246011050174, + phase: -0.7305994331283, + multipliers: [0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3015568220643, + phase: 0.0035458422765, + multipliers: [0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2852151591999, + phase: 1.6539598367356, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2828745744326, + phase: 0.1750172277252, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2451572971199, + phase: 0.0014903304862, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2266430449331, + phase: -2.1679300766033, + multipliers: [0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2110903509937, + phase: 3.1111542551782, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1944626706083, + phase: -0.0041097170739, + multipliers: [0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1846309648043, + phase: -3.1340051681080, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1825375868586, + phase: -3.1413364931908, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1810834683943, + phase: -1.3170041004288, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1810572158436, + phase: -1.8245796022396, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1751117340386, + phase: -1.5534756724412, + multipliers: [0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1670695979670, + phase: 2.6783205522172, + multipliers: [2, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1649207540733, + phase: 3.1100760639656, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1644306784164, + phase: 2.6783108360175, + multipliers: [2, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1642357718651, + phase: -1.0292826421357, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1630592044968, + phase: 0.4632839953990, + multipliers: [2, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1608372862501, + phase: 3.1361610504009, + multipliers: [2, 0, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1571207473399, + phase: 0.4632846427285, + multipliers: [2, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1537931189494, + phase: -0.0002128407972, + multipliers: [0, 0, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1513031316274, + phase: -0.3561584732328, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1436078617798, + phase: 3.1199434575896, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1369847814296, + phase: -1.2761516294442, + multipliers: [2, 0, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1368613048996, + phase: -1.8654125355707, + multipliers: [2, 0, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1360027654544, + phase: 0.0000222423502, + multipliers: [2, 0, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1342728512505, + phase: 3.1352160498853, + multipliers: [2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1312406803239, + phase: 0.0002961234672, + multipliers: [2, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1274624296550, + phase: -3.1413229990284, + multipliers: [0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1251819963153, + phase: 3.1394182058622, + multipliers: [0, 0, 1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1100670258712, + phase: 0.0193462945180, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1062967725112, + phase: -1.6024441837682, + multipliers: [2, 0, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1049969527921, + phase: 1.8310906495006, + multipliers: [0, 0, 1, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1040494851615, + phase: -1.5644083106506, + multipliers: [1, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0992855492807, + phase: 0.0002822226758, + multipliers: [2, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0964200000000, + phase: 0.0000157079633, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0951922869368, + phase: -0.1773602444836, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0917852887306, + phase: -1.0445056552802, + multipliers: [0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0897319664747, + phase: -1.2847521412789, + multipliers: [2, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0896374897039, + phase: -1.8567790569680, + multipliers: [2, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0890954347100, + phase: -0.0150006331558, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0863304133000, + phase: -1.2806045416113, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0840349869456, + phase: -0.0166483153728, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0827761271044, + phase: -0.2694852727560, + multipliers: [0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0823989449571, + phase: -3.1413836927133, + multipliers: [2, 0, -1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0767555464763, + phase: 2.9183179493716, + multipliers: [2, 0, -1, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0720733007609, + phase: 0.0007532081043, + multipliers: [2, 0, -2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0686640034913, + phase: -3.1393822488278, + multipliers: [2, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0683140285364, + phase: -2.8644660976721, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0683030771832, + phase: -0.2771413653771, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0675368485330, + phase: 1.6876838207004, + multipliers: [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0671329241864, + phase: -3.1291472464588, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0656900000000, + phase: 3.1415752002973, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0652001321323, + phase: -1.5654765297025, + multipliers: [1, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0645600000000, + phase: 0.0000073303829, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0640906264606, + phase: -0.8122127537132, + multipliers: [0, 0, 1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0636880091326, + phase: 2.8582727458423, + multipliers: [1, -1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0632401444103, + phase: -2.3263136211783, + multipliers: [0, 0, 1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0618059546650, + phase: -1.5981603953958, + multipliers: [2, 0, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0614501506201, + phase: 1.6606909449120, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0608300703727, + phase: 1.6605964940302, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0605518140297, + phase: -1.5483724237052, + multipliers: [0, 0, 1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0594711060480, + phase: 2.9169988914639, + multipliers: [2, 0, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0590389689208, + phase: -3.1220192969593, + multipliers: [2, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0584492727191, + phase: 2.6392139960023, + multipliers: [1, 0, 0, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0575431011588, + phase: -3.1386757256978, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0573999686733, + phase: 0.0013419826075, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0561583454196, + phase: 3.1346221918011, + multipliers: [0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0555438442626, + phase: -1.5956376561050, + multipliers: [0, 0, 1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0535563134757, + phase: 2.6783114112346, + multipliers: [0, 0, 3, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0527338082823, + phase: -0.0668130941504, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0527173233204, + phase: -1.5308076704186, + multipliers: [2, -2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0516429748943, + phase: -2.9597863182096, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0509578008364, + phase: 0.0098495148382, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0505838431384, + phase: 0.0026421419959, + multipliers: [0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0503500000000, + phase: 0.0000085521133, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0502456524404, + phase: 0.4632959983916, + multipliers: [0, 0, 1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0496300000000, + phase: 3.1415875921350, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0474600000000, + phase: 3.1415793890875, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0466882262621, + phase: -0.5217860483762, + multipliers: [0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0465886526669, + phase: -1.5816421900707, + multipliers: [2, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0463207117031, + phase: -3.1402894539216, + multipliers: [0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0461325456053, + phase: -3.1168279854513, + multipliers: [2, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0456295914832, + phase: -2.1992954604681, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0447853650779, + phase: 1.8102936774957, + multipliers: [0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0434153758041, + phase: 3.1258877696980, + multipliers: [0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0427674347230, + phase: -0.2451564910505, + multipliers: [1, 1, -1, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0427122465449, + phase: 2.6483070771322, + multipliers: [2, 0, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0421907506664, + phase: -3.1332844815492, + multipliers: [0, 0, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0421880058944, + phase: -1.5956426374869, + multipliers: [2, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0405167690874, + phase: -2.0064927386351, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0404751580150, + phase: -1.1571189860837, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0401186355086, + phase: -0.5184033982612, + multipliers: [0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0395663939663, + phase: -1.5910028318365, + multipliers: [0, 0, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0390015037651, + phase: -0.9353229288713, + multipliers: [0, 0, 1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0389879389606, + phase: 0.0075721436016, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0389416182597, + phase: -2.2064150852309, + multipliers: [0, 0, 1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0386914685315, + phase: -1.0118449315727, + multipliers: [2, 0, -1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0383971661257, + phase: -2.1299920040075, + multipliers: [2, 0, -1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0383800000000, + phase: 0.0000122173048, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0378262484451, + phase: -2.1116935759281, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0377059524043, + phase: -3.1405684331869, + multipliers: [2, 0, -1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0367119338927, + phase: -1.5806928497954, + multipliers: [2, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0363800000000, + phase: -0.0000198967535, + multipliers: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0355531896624, + phase: -0.0001943787363, + multipliers: [2, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0354684026573, + phase: -0.6635672759970, + multipliers: [2, 0, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0348181060182, + phase: -0.8458765452973, + multipliers: [2, 0, -1, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0347729734580, + phase: -2.1997080896166, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0342894396059, + phase: -1.5529403860286, + multipliers: [2, 0, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0340100000000, + phase: 3.1415706624412, + multipliers: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0334084009332, + phase: -3.1348267913761, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0331332284445, + phase: -1.0061053938809, + multipliers: [2, 0, -1, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0330380991048, + phase: -3.1407528839058, + multipliers: [0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0330219739995, + phase: -3.0562565458065, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0327900000000, + phase: 3.1415703133754, + multipliers: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0326673175110, + phase: 0.0014442866339, + multipliers: [0, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0326117840565, + phase: 2.5865021619382, + multipliers: [0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0324216063383, + phase: 0.0013368321296, + multipliers: [0, 0, 1, 0, 0, -21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0319278993976, + phase: -2.4594897614703, + multipliers: [2, 0, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0318654722087, + phase: 3.0916430434059, + multipliers: [0, 0, 1, 0, 0, -15, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0317144673600, + phase: 0.1760945823894, + multipliers: [2, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0315391006584, + phase: -0.4019754486666, + multipliers: [0, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0312900147011, + phase: -2.7396828725373, + multipliers: [0, 0, 2, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0310272620213, + phase: 0.0076051500204, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0302443493642, + phase: 3.1408737072503, + multipliers: [2, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0297158222212, + phase: 1.5946975569892, + multipliers: [2, 0, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0293381622407, + phase: 1.4654490231997, + multipliers: [2, 0, -1, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0291198506189, + phase: -1.5520851239091, + multipliers: [0, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0288880695393, + phase: -1.0205872104729, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0284231495512, + phase: -0.2402081414786, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0281105488903, + phase: -0.4632825145283, + multipliers: [0, 2, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0281082346055, + phase: -2.6783101199594, + multipliers: [0, 2, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0260709800984, + phase: 2.7113181576989, + multipliers: [0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0258589138560, + phase: -0.2924618147803, + multipliers: [0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0254022152781, + phase: 1.3186948264387, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0251682347935, + phase: 2.6818410937354, + multipliers: [2, 0, -1, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0251047807549, + phase: -0.6944173599548, + multipliers: [2, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0241065594626, + phase: -0.9990703450339, + multipliers: [2, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0238661196922, + phase: -2.1431920388229, + multipliers: [2, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0233530770714, + phase: 0.0120922293009, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0231286990351, + phase: -0.9670314235583, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0230379527451, + phase: -0.2266446683529, + multipliers: [2, 0, -1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0230076194605, + phase: -2.4121325987321, + multipliers: [2, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0229277972689, + phase: 1.2258580070096, + multipliers: [0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0228244185918, + phase: -1.5372518508074, + multipliers: [2, 0, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0226057357439, + phase: -3.1413130275871, + multipliers: [0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0219241373901, + phase: -3.1411718989694, + multipliers: [2, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0216783979673, + phase: 3.0320177891175, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0216427571743, + phase: -1.5700652866454, + multipliers: [2, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0212732539501, + phase: -3.1410416653158, + multipliers: [2, 0, -1, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0202166926916, + phase: -1.0060137496146, + multipliers: [2, 0, -2, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0200927155459, + phase: -1.0333055324868, + multipliers: [0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0200854828594, + phase: -3.1083197825031, + multipliers: [2, 0, -1, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0199953280687, + phase: 2.6783109277047, + multipliers: [2, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0194721926251, + phase: 0.4633029351534, + multipliers: [2, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0192198517657, + phase: -2.8947025730401, + multipliers: [2, 0, -1, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0187634982867, + phase: -3.1412121921753, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0186723385027, + phase: -1.7342649630445, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0184411081849, + phase: -0.1778120634055, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0182916490375, + phase: 0.6406465144331, + multipliers: [1, 1, -2, 0, 0, 0, -3, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0181846083147, + phase: -1.0171444003119, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0181307242297, + phase: -0.1793949378511, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0180865611646, + phase: 2.9543747239239, + multipliers: [1, -1, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0176531007405, + phase: -1.0809788782162, + multipliers: [0, 0, 1, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0172463545948, + phase: 1.1475978675302, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0170728808897, + phase: 1.6627039530027, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0170616111827, + phase: -2.0570219446716, + multipliers: [0, 0, 1, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0170445404351, + phase: -1.2992399536723, + multipliers: [2, 0, -1, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0170444774175, + phase: -1.8423470416790, + multipliers: [2, 0, -1, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0167719453397, + phase: -0.4951000086583, + multipliers: [2, 0, -2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0167341549515, + phase: -1.5468790106841, + multipliers: [0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0163746162503, + phase: -1.4723512212876, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0158900093894, + phase: 0.0018768416859, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0158743603408, + phase: -1.5664224437947, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0154459746819, + phase: -3.1414481924519, + multipliers: [0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0153094863511, + phase: -1.4815746662280, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0149849362627, + phase: 3.0919952995632, + multipliers: [2, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0149200000000, + phase: -0.0000150098316, + multipliers: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0148154135452, + phase: 3.0952382413212, + multipliers: [2, 0, -1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0146906750262, + phase: -0.3710393279699, + multipliers: [0, 0, 1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0145920196010, + phase: 1.3997017942743, + multipliers: [1, 0, 0, 0, 0, -15, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0145445352805, + phase: -3.0953385691191, + multipliers: [0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0145089378957, + phase: 1.4351474985197, + multipliers: [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0145004948633, + phase: 3.1089037579573, + multipliers: [2, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0144416472093, + phase: -2.9166911926308, + multipliers: [0, 0, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0143755259842, + phase: 3.1099385314455, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0143567911518, + phase: -3.1413572244034, + multipliers: [0, 0, 2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0142893029628, + phase: 0.0306614610458, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0142743356949, + phase: -2.5951919793838, + multipliers: [2, 0, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0142678844421, + phase: -0.5019833996594, + multipliers: [1, 0, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0142534126423, + phase: -0.2343494645669, + multipliers: [2, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0141073599156, + phase: -1.0258615096020, + multipliers: [0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0139610148026, + phase: -2.7606970337698, + multipliers: [0, 0, 1, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0134019612605, + phase: -1.3459593171192, + multipliers: [2, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0131415029784, + phase: 0.0078497997842, + multipliers: [2, 0, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0131020934127, + phase: 0.3448051705296, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0130999754453, + phase: -0.9229504185638, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0130023102761, + phase: -3.1411001358043, + multipliers: [2, 0, -1, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0128669973458, + phase: -0.9878833984011, + multipliers: [2, 0, -1, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0125924934651, + phase: 3.1404618446801, + multipliers: [2, 0, -1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0123400000000, + phase: 0.0000178023584, + multipliers: [2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0122979494039, + phase: -3.1048639310828, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0122968825569, + phase: -1.3169581636519, + multipliers: [0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0122955022356, + phase: -1.8246173500587, + multipliers: [0, 0, 2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0122765885832, + phase: -3.1394824443841, + multipliers: [4, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0122569972092, + phase: 0.2101639193692, + multipliers: [1, 0, 0, 0, 0, -23, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0121961072876, + phase: -3.1412426289690, + multipliers: [1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0120937608556, + phase: 3.1297173641733, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0119933276422, + phase: -3.1367526438687, + multipliers: [1, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0119619523626, + phase: -1.3451149499507, + multipliers: [2, 0, -1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0119410925005, + phase: 1.5644376298752, + multipliers: [1, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0118206880587, + phase: 1.7546522090294, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0114187642883, + phase: -1.8082789846749, + multipliers: [2, 0, 1, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0113369049804, + phase: 2.2604894424189, + multipliers: [2, 0, -1, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0112662425351, + phase: -0.5019217187844, + multipliers: [1, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0112330652990, + phase: 3.1339950344580, + multipliers: [2, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0111638989891, + phase: 0.5137445552733, + multipliers: [0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0110037411940, + phase: -1.5451009771553, + multipliers: [0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0109552049895, + phase: -2.5873209498713, + multipliers: [2, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0109289507311, + phase: -1.3003534763419, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0109213004107, + phase: 2.8585246611962, + multipliers: [1, -1, -1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108984349340, + phase: 2.8585242054099, + multipliers: [1, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108679629689, + phase: -3.0191321412368, + multipliers: [0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108145480030, + phase: -2.6352264331689, + multipliers: [2, 0, -1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0106804727764, + phase: -2.8653988518104, + multipliers: [2, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0106483828362, + phase: 3.1415453558517, + multipliers: [0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0105226211973, + phase: 0.0154246655825, + multipliers: [0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0103680900898, + phase: -3.1396072693615, + multipliers: [4, 0, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102530920194, + phase: -0.0001873313558, + multipliers: [0, 0, 2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102356342127, + phase: -2.1388916836700, + multipliers: [2, 0, -1, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102262218154, + phase: -1.9642429872745, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0101646253047, + phase: 3.1321609107046, + multipliers: [2, 0, -3, 0, 0, 24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0099328117453, + phase: -2.6119294339836, + multipliers: [0, 0, 1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0098821115930, + phase: 1.3355586912979, + multipliers: [1, -1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0097894616966, + phase: 3.1300407613022, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0095760088268, + phase: 0.5180431179459, + multipliers: [2, 0, -1, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0095669254787, + phase: 0.0005779363766, + multipliers: [2, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0095415347762, + phase: 3.1288430068945, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0095017794041, + phase: 2.6670560991146, + multipliers: [0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0094781841792, + phase: -0.0877591886496, + multipliers: [2, 0, -1, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0094477773940, + phase: 3.1187064692238, + multipliers: [0, 0, 2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0093618103056, + phase: 0.1753428136907, + multipliers: [2, 0, -3, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0093382855276, + phase: 1.7958312267941, + multipliers: [2, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0093250624473, + phase: 0.0016696696752, + multipliers: [2, 0, -1, 0, 0, -18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0093160649214, + phase: 0.0002627745166, + multipliers: [2, 0, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0092651103991, + phase: 1.2990751429800, + multipliers: [0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0092203010106, + phase: -1.9535897347896, + multipliers: [2, 0, -2, 0, 0, -2, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091400000000, + phase: 3.1415729313692, + multipliers: [2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091315731545, + phase: 0.0013034256577, + multipliers: [2, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089964420062, + phase: 0.5124264024455, + multipliers: [2, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089722870519, + phase: 0.1739326480780, + multipliers: [4, 0, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089403125642, + phase: 1.8035479597079, + multipliers: [1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089139888595, + phase: -0.0789311490658, + multipliers: [2, 0, 0, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0088673379591, + phase: 3.1122999297904, + multipliers: [2, 0, -2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0088600000000, + phase: -0.0000082030475, + multipliers: [2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0088020024348, + phase: -1.2903626841452, + multipliers: [2, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087993441571, + phase: -3.1412963253992, + multipliers: [0, 0, 2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087944588315, + phase: -1.8511600791830, + multipliers: [2, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087839550957, + phase: 3.1392034131775, + multipliers: [0, 0, 2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087715455588, + phase: 1.7968086729024, + multipliers: [2, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087404399887, + phase: 0.0148425710719, + multipliers: [2, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087385815470, + phase: 1.8515783585068, + multipliers: [0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087377387166, + phase: -1.0002483906433, + multipliers: [2, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087309503111, + phase: -1.8812415744164, + multipliers: [0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087221437601, + phase: -0.9776745556973, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086474635539, + phase: 3.1366412978156, + multipliers: [0, 0, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086286267667, + phase: 3.1336923371759, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086003996075, + phase: -1.8423468661470, + multipliers: [2, 0, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086003288839, + phase: -1.2992459015452, + multipliers: [2, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0085722352547, + phase: 1.8189223655476, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084983289449, + phase: -1.4126973521954, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084979770119, + phase: 0.0006630334988, + multipliers: [2, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084946926695, + phase: 2.9631729953712, + multipliers: [0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084859288574, + phase: -1.7296164675874, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084358991827, + phase: -2.6164080707008, + multipliers: [0, 0, 1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083694365899, + phase: -2.6383997437928, + multipliers: [0, 0, 1, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0082897116313, + phase: -3.1412969192326, + multipliers: [2, 0, -1, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0082805359411, + phase: -1.5665207843333, + multipliers: [2, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081885149882, + phase: 2.9758337265495, + multipliers: [0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081811026018, + phase: -1.5565491851116, + multipliers: [2, 0, -1, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081700000000, + phase: 0.0000123918377, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081480996322, + phase: -2.9557617678851, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081370793880, + phase: -1.3404561974123, + multipliers: [0, 0, 1, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081164727978, + phase: -0.7642374258634, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0080895990222, + phase: 1.0074230317672, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079138893586, + phase: 1.7236507433709, + multipliers: [2, 0, -2, 0, 0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079088607385, + phase: -0.5127982250198, + multipliers: [0, 0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078111718246, + phase: 2.8846314211615, + multipliers: [2, 0, -1, 0, 0, -19, 21, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0077544015315, + phase: 1.6355685295655, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076796266064, + phase: 0.0182973112130, + multipliers: [0, 0, 2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076476703025, + phase: 3.1412539587666, + multipliers: [4, 0, -2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075822428231, + phase: -3.1404133130099, + multipliers: [0, 0, 1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075434677415, + phase: -0.5278411296609, + multipliers: [0, 0, 1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074850898517, + phase: -1.8082678142286, + multipliers: [2, 0, 0, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074766600867, + phase: 3.1276631458378, + multipliers: [0, 0, 1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074444208832, + phase: -1.5299663651022, + multipliers: [2, -2, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074267611811, + phase: 3.1413779629214, + multipliers: [0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0073939759607, + phase: 1.4931088005136, + multipliers: [1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0073736562185, + phase: -2.6352875748496, + multipliers: [2, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0073685068466, + phase: -1.5299329412404, + multipliers: [2, -2, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072829573576, + phase: 1.6881426264665, + multipliers: [1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072824944837, + phase: -3.1398975759519, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072808655277, + phase: -1.6640717805497, + multipliers: [1, 1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072060381225, + phase: -2.1705368897959, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0071040682863, + phase: 0.0005551656436, + multipliers: [2, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070389455347, + phase: 1.8206162587352, + multipliers: [2, 0, -1, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070367235435, + phase: 2.2600192880722, + multipliers: [2, 0, -2, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0069795098885, + phase: -0.9389788472421, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0069404182966, + phase: 3.1370404924669, + multipliers: [2, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0069018976857, + phase: -2.1087328225992, + multipliers: [2, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0069004428261, + phase: 3.1300966989687, + multipliers: [2, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0067796717582, + phase: -2.0549047340821, + multipliers: [0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0067494436995, + phase: -3.0124672982865, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0067302390281, + phase: -2.7847109666980, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0066532508656, + phase: 3.1414568823298, + multipliers: [1, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0066089180138, + phase: 1.0018235167985, + multipliers: [0, 0, 1, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065858013785, + phase: -1.3680956348404, + multipliers: [1, -3, 0, 0, 0, 43, -42, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065671958231, + phase: 0.0069573429815, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065546467028, + phase: 1.7147689709475, + multipliers: [0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065487551453, + phase: -0.5026677738099, + multipliers: [2, 0, -1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065204579029, + phase: -0.4022897094113, + multipliers: [2, 0, -1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065133883700, + phase: -2.7393203297187, + multipliers: [2, 0, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065015069614, + phase: 0.2881541093358, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064600000000, + phase: 0.0000158824962, + multipliers: [2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063545948429, + phase: -0.1622132308481, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063501628778, + phase: 0.0166832625347, + multipliers: [2, 0, -1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063068150119, + phase: -1.6086023962564, + multipliers: [0, 0, 1, 0, 0, -23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062731478811, + phase: -0.4026782297160, + multipliers: [2, 0, -2, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062218927927, + phase: -2.7390321395822, + multipliers: [2, 0, 0, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0060218437633, + phase: 1.6701907473213, + multipliers: [3, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059526732724, + phase: 1.9760086223887, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059437972209, + phase: -1.5500023262966, + multipliers: [0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059429317720, + phase: -1.3386864012174, + multipliers: [0, 0, 1, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059254830899, + phase: -1.6017910808061, + multipliers: [2, 0, -2, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059155924783, + phase: -2.9792657527367, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058521313172, + phase: -2.2585255309312, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058358368037, + phase: 0.5423038580617, + multipliers: [0, 0, 1, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058334423368, + phase: -1.5891028340561, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058293286349, + phase: 2.5993078998645, + multipliers: [0, 0, 1, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058267409090, + phase: -1.5594328672868, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058068799048, + phase: 1.8311329619383, + multipliers: [0, 0, 2, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057642442952, + phase: 3.1413668885260, + multipliers: [4, 0, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057407821764, + phase: 0.0004143102142, + multipliers: [2, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057393996906, + phase: 2.6491762487532, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057099834781, + phase: -0.0012230759722, + multipliers: [2, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055860551740, + phase: 3.1225072999863, + multipliers: [0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055539146439, + phase: 2.9198659377123, + multipliers: [2, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055418416290, + phase: -3.0686548296166, + multipliers: [0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055412259474, + phase: 0.0011074440887, + multipliers: [2, 0, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055273918694, + phase: 0.2592308027520, + multipliers: [2, 0, -1, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054910889212, + phase: 3.1401655599245, + multipliers: [0, 0, 0, 0, 0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054707720131, + phase: -1.7981449873747, + multipliers: [1, -1, 1, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054647383664, + phase: -3.1410631622117, + multipliers: [0, 0, 1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054266394339, + phase: -1.5820691709545, + multipliers: [0, 0, 1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054210467090, + phase: -3.1415233130016, + multipliers: [2, 0, -1, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053523915999, + phase: 1.2296200942282, + multipliers: [2, 0, -1, 0, 0, 0, 10, -19, 0, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053515205976, + phase: 1.9119767889204, + multipliers: [2, 0, -1, 0, 0, 0, -10, 19, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053502199619, + phase: 0.5686157033749, + multipliers: [2, 0, -1, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053458627960, + phase: 2.1570161624335, + multipliers: [0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053197264217, + phase: 2.5730556882087, + multipliers: [2, 0, -1, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052442444025, + phase: -0.0241352290470, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052424800204, + phase: 3.1412093842061, + multipliers: [0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052092306391, + phase: 0.0336471763664, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051462490539, + phase: -2.8462384047559, + multipliers: [0, 0, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051335599912, + phase: -1.8082553481563, + multipliers: [0, 0, 2, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051125464094, + phase: 0.0003457305669, + multipliers: [2, 0, -2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050851723443, + phase: -0.4451519505848, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050822150663, + phase: -2.1270045019752, + multipliers: [2, 0, -1, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050481687931, + phase: -2.5627792694985, + multipliers: [0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050345606117, + phase: 1.3100837779039, + multipliers: [0, 0, 0, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050296863913, + phase: -1.5156748150433, + multipliers: [2, 0, -1, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050273393348, + phase: -3.1395086065522, + multipliers: [2, 0, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050138462413, + phase: 0.4566538786598, + multipliers: [0, 0, 1, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049905181184, + phase: -3.1404675888504, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049798617606, + phase: 2.6844366888410, + multipliers: [0, 0, 1, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049510454390, + phase: -2.3302097738064, + multipliers: [0, 0, 1, 0, 0, -18, 12, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048603936553, + phase: 1.0079080899049, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048577501986, + phase: 1.2902525969007, + multipliers: [0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048300000000, + phase: 3.1415755493631, + multipliers: [2, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048222362431, + phase: -0.5167627594537, + multipliers: [0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048162536110, + phase: 2.2610401856914, + multipliers: [0, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047900000000, + phase: 0.0000122173048, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047761839295, + phase: 3.1220860787646, + multipliers: [1, 1, -1, 0, -1, -15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047663151064, + phase: -1.5354180701126, + multipliers: [0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047614523486, + phase: -0.5216472172742, + multipliers: [2, 0, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047377382124, + phase: -1.1800967449127, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046503690344, + phase: -0.4632825454583, + multipliers: [0, 2, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046451681345, + phase: -1.5224962298121, + multipliers: [2, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046450414268, + phase: 3.1302230833310, + multipliers: [2, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046433348722, + phase: -2.8645460539901, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046384138935, + phase: -0.2773166674457, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046336555319, + phase: -1.2612804106680, + multipliers: [2, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046261860194, + phase: -1.8803578975152, + multipliers: [2, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046164208272, + phase: -1.5163791254611, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046100000033, + phase: -0.0000047725857, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046034337803, + phase: -3.1294324184019, + multipliers: [1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046023035427, + phase: -3.1280765626417, + multipliers: [2, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045882135933, + phase: -2.2096337458223, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045537327985, + phase: -1.8420647096881, + multipliers: [0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045528580053, + phase: -2.6783034988015, + multipliers: [0, 2, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045444205487, + phase: -1.3368519601136, + multipliers: [2, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045375037397, + phase: 0.0002124840073, + multipliers: [2, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045373081046, + phase: -1.1374593810224, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045271007134, + phase: -0.0541097323736, + multipliers: [0, 0, 1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045260423631, + phase: -1.5879240812582, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045081916540, + phase: 0.0062412132374, + multipliers: [2, 0, -1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045069136909, + phase: 0.2552947865609, + multipliers: [3, 0, -3, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044610685795, + phase: 0.1734762044634, + multipliers: [4, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044558157037, + phase: 1.7541857301538, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044510046104, + phase: -0.1278851089004, + multipliers: [2, 0, -1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044394697653, + phase: -2.9198983000127, + multipliers: [1, -1, -1, 0, 0, 23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044315500681, + phase: 3.0991322456752, + multipliers: [4, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044300757978, + phase: -1.4824562547443, + multipliers: [3, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044250852830, + phase: 1.8027640735931, + multipliers: [1, -1, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044161281293, + phase: -1.5656974484838, + multipliers: [1, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044117376801, + phase: 0.1748584401020, + multipliers: [4, 0, -3, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044019685959, + phase: 1.8181292856869, + multipliers: [0, 0, 1, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043827245442, + phase: -2.1047555119896, + multipliers: [2, 0, -1, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043694250381, + phase: -0.2942401060498, + multipliers: [0, 0, 1, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043373467382, + phase: -3.1283540199990, + multipliers: [2, 0, -1, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043344604709, + phase: -2.2586277344644, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043324620296, + phase: -0.8103530642024, + multipliers: [0, 0, 2, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043262254343, + phase: -0.4632695105423, + multipliers: [1, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043157453797, + phase: -2.3245732551268, + multipliers: [0, 0, 2, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043117237240, + phase: -2.6783137694443, + multipliers: [1, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042889185810, + phase: 0.0016009635347, + multipliers: [4, 0, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042862959294, + phase: -1.5327881398108, + multipliers: [2, 0, -1, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042769747057, + phase: 1.9645235269055, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042694069567, + phase: 1.3854958772215, + multipliers: [0, 2, -1, 0, -4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042645386696, + phase: 1.3193951756874, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042601266272, + phase: 1.6613182624544, + multipliers: [1, -1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042565499368, + phase: -2.4224703955453, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042496210330, + phase: -0.7322153367494, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042354678726, + phase: 1.3194514104463, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042349664265, + phase: -0.3541911656198, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042289390912, + phase: -1.3404532954522, + multipliers: [2, 0, -1, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041857546034, + phase: -0.9607373218835, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041789998104, + phase: -1.3386762268143, + multipliers: [2, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041500845058, + phase: 2.2604710922255, + multipliers: [0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041462438457, + phase: -2.8942336992491, + multipliers: [2, 0, -1, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041440269631, + phase: -2.1868662064125, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041228004203, + phase: 0.3953758443014, + multipliers: [2, 0, -1, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041122452473, + phase: 1.9346914660981, + multipliers: [0, 0, 1, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041024226920, + phase: -1.5496705350062, + multipliers: [0, 0, 2, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040951045593, + phase: -2.0984839541554, + multipliers: [0, 0, 1, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040851551598, + phase: 1.6007291441193, + multipliers: [2, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040688231027, + phase: -1.1315938520931, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040655404354, + phase: 1.5109458681488, + multipliers: [2, 0, -1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040651306653, + phase: 2.6783165108027, + multipliers: [4, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040593726395, + phase: -1.5706603855955, + multipliers: [1, 0, -2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040353511436, + phase: -3.1116154833917, + multipliers: [2, 0, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040311885454, + phase: -0.1375683267968, + multipliers: [2, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040300106814, + phase: 1.6601120482732, + multipliers: [1, -1, -2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040298304214, + phase: 2.2094715363381, + multipliers: [0, 0, 0, 0, 0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040236788545, + phase: -2.9452870015088, + multipliers: [0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040103196478, + phase: 2.2578683515542, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039834820382, + phase: -1.5925995567735, + multipliers: [2, 0, 1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039683003044, + phase: 2.7450140214183, + multipliers: [2, 0, -1, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039649586962, + phase: -3.1407835459483, + multipliers: [2, -2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039620685052, + phase: 0.4632838695705, + multipliers: [4, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039528511363, + phase: -1.8052523637215, + multipliers: [1, -1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039388402741, + phase: 2.0368764823999, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039364904695, + phase: 1.2047745965265, + multipliers: [0, 0, 1, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039196213895, + phase: -1.6246010719056, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038947443072, + phase: -1.5515696019370, + multipliers: [0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038700000000, + phase: -3.1415884647996, + multipliers: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038700000000, + phase: 3.1415720587046, + multipliers: [0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038684773071, + phase: -1.5297338240624, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038465318039, + phase: 1.5462115192692, + multipliers: [0, 0, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038262418605, + phase: -0.0139499201130, + multipliers: [2, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038253101071, + phase: -0.1512375980882, + multipliers: [0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038120639642, + phase: -2.2597871080284, + multipliers: [0, 0, 2, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037995023644, + phase: 2.7453687008492, + multipliers: [0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037742375854, + phase: -1.5973203634871, + multipliers: [0, 0, 2, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037735459921, + phase: 2.6783114452155, + multipliers: [0, 0, 4, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037686905968, + phase: -3.1415573335517, + multipliers: [0, 0, 1, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037647455640, + phase: -0.4995427366401, + multipliers: [2, 0, -1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037501379583, + phase: 3.1410615376204, + multipliers: [0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037426392621, + phase: -1.0465183741665, + multipliers: [0, 0, 1, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037420133383, + phase: -2.0464433969147, + multipliers: [0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037187638067, + phase: 2.6822983387817, + multipliers: [2, 0, 0, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037041755573, + phase: 0.3309256705898, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036869107058, + phase: -1.1724770315094, + multipliers: [0, 0, 0, 0, 0, 6, -10, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036756145645, + phase: -0.5144128413083, + multipliers: [2, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036595992036, + phase: 3.1329455181714, + multipliers: [0, 0, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036497612145, + phase: -1.8119040908712, + multipliers: [2, 0, -1, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036494449816, + phase: 0.0916842486461, + multipliers: [2, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036470245879, + phase: 0.5027081969497, + multipliers: [0, 0, 1, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036132675456, + phase: 0.2025900167621, + multipliers: [2, 0, -1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036050160595, + phase: 3.1413947356484, + multipliers: [2, 0, -1, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035923165603, + phase: -1.5241547260174, + multipliers: [0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035880983105, + phase: -0.0033205273662, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035790981751, + phase: 1.5676466432509, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035737281915, + phase: -0.0914393591339, + multipliers: [0, 0, 1, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035719646557, + phase: 1.8076698617468, + multipliers: [0, 0, 0, 0, 0, 18, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035700342772, + phase: 0.0013566694857, + multipliers: [0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035404056156, + phase: 0.4632981720577, + multipliers: [0, 0, 2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035399468521, + phase: -0.0036349328592, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035369153632, + phase: -0.0000379227771, + multipliers: [2, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034589093862, + phase: 0.0067637070675, + multipliers: [2, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034397306741, + phase: 3.1316657081676, + multipliers: [4, 0, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034274573517, + phase: -2.6046428067596, + multipliers: [0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034216352006, + phase: 1.8762501480098, + multipliers: [2, 0, -1, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034200000000, + phase: -3.1415772946924, + multipliers: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034074236786, + phase: -2.1266216099329, + multipliers: [2, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033964737299, + phase: -1.0099921985123, + multipliers: [2, 0, -1, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033953292841, + phase: 3.1334536005007, + multipliers: [0, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033897093237, + phase: 1.5035601157242, + multipliers: [2, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033893039512, + phase: -0.2450725440836, + multipliers: [1, 1, 0, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033759524112, + phase: 0.5637812596558, + multipliers: [2, 0, 0, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033697494354, + phase: 1.6135533522003, + multipliers: [2, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033680125343, + phase: 1.9845426170631, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033518300456, + phase: 2.5780129158846, + multipliers: [2, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033357503320, + phase: -3.0443770227692, + multipliers: [1, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033347071080, + phase: -0.8715001943852, + multipliers: [1, -1, -1, 0, 0, 18, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033264021630, + phase: -1.5806236608827, + multipliers: [2, 0, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033100000000, + phase: 0.0000120427718, + multipliers: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033034540092, + phase: -2.1004559684449, + multipliers: [2, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032905829724, + phase: -0.9416901031936, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032775138355, + phase: -0.0007540247291, + multipliers: [2, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032636986459, + phase: -1.5850095566753, + multipliers: [0, 0, 1, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032548943314, + phase: 2.6392152581695, + multipliers: [1, 0, 1, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032548943314, + phase: 2.6392152581695, + multipliers: [1, 0, -1, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032438745909, + phase: -3.0911317784883, + multipliers: [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032062463019, + phase: -0.1794626330605, + multipliers: [0, 0, 2, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031717776226, + phase: 1.1406135506548, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031638130364, + phase: 0.2128314130514, + multipliers: [0, 0, 1, 0, 0, -20, 19, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031600000000, + phase: 0.3654475107581, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031524399402, + phase: 2.9033453486803, + multipliers: [1, -1, -1, 0, 0, 26, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031310471786, + phase: 1.3328437470759, + multipliers: [1, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031193102234, + phase: 2.0115146333155, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031081893636, + phase: -2.1928397034294, + multipliers: [2, 0, 1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031027920798, + phase: -1.5521422435025, + multipliers: [0, 0, 1, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031025331569, + phase: -1.8484104754086, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030988677763, + phase: 0.0416430709195, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030984425273, + phase: 3.1376919347274, + multipliers: [2, 0, -1, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030868165259, + phase: -2.8917115527572, + multipliers: [2, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030753077468, + phase: 1.9891906981787, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030550437224, + phase: 0.5909339765146, + multipliers: [0, 0, 1, 0, 0, -20, 16, 7, -8, 6, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030439717381, + phase: -3.0865580241183, + multipliers: [0, 0, 1, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030386338645, + phase: -1.4823409693166, + multipliers: [2, -2, -1, 0, 0, 23, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030161616299, + phase: 0.0010135840608, + multipliers: [2, -2, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030069769360, + phase: -0.3443640103015, + multipliers: [0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030011756690, + phase: -1.6037770450037, + multipliers: [2, 0, 0, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029847819957, + phase: 1.7966265785922, + multipliers: [1, -1, -1, 0, 0, 21, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029832218267, + phase: 1.6511170361601, + multipliers: [0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029764461555, + phase: -1.8073541829133, + multipliers: [1, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029743258649, + phase: -1.5425538398607, + multipliers: [0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029486491078, + phase: -2.0975243944666, + multipliers: [0, 0, 1, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029419421174, + phase: 0.0073680201391, + multipliers: [0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029370910456, + phase: 0.1284587661989, + multipliers: [0, 0, 0, 0, 0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029300000000, + phase: -0.0000202458193, + multipliers: [0, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029016840840, + phase: -3.1412880491418, + multipliers: [1, 0, -1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029011833024, + phase: 0.1979968681801, + multipliers: [2, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028974794569, + phase: 0.4682769845752, + multipliers: [0, 0, 1, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028900000000, + phase: 0.0000071558499, + multipliers: [2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028716272436, + phase: -3.1410899488696, + multipliers: [2, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028647748236, + phase: -2.9805327442896, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028551844009, + phase: 2.8660203461257, + multipliers: [2, 0, -1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028275792482, + phase: 1.8591185074811, + multipliers: [2, 0, -1, 0, -4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028259732037, + phase: 0.4151770071695, + multipliers: [2, 0, -1, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028236889350, + phase: 3.1001473172955, + multipliers: [4, 0, -2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028200000000, + phase: 3.1415809598838, + multipliers: [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027968230711, + phase: -1.1675917299120, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027766976019, + phase: 1.4859774202421, + multipliers: [2, 0, -1, 0, 0, -22, 28, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027688821011, + phase: 1.8029824518513, + multipliers: [1, -1, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027543957385, + phase: -3.1281142006511, + multipliers: [0, 0, 2, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027314712753, + phase: 2.9562766539247, + multipliers: [1, -1, -1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027310207340, + phase: -2.1833222982220, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027282046371, + phase: 0.3896291436666, + multipliers: [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027215857774, + phase: 0.3419370910363, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027185308300, + phase: 3.1408711132647, + multipliers: [0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027169512771, + phase: -0.0003556147490, + multipliers: [2, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027066895297, + phase: 1.5833403911808, + multipliers: [2, 0, -2, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027040258163, + phase: -1.7473381890052, + multipliers: [0, 0, 1, 0, 0, -18, 20, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027039573011, + phase: -2.0173361985803, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027028189079, + phase: 0.0006747444929, + multipliers: [4, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027003319636, + phase: 1.2296214526238, + multipliers: [2, 0, 0, 0, 0, 0, 10, -19, 0, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026998703991, + phase: 1.9119803575660, + multipliers: [2, 0, 0, 0, 0, 0, -10, 19, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026950511923, + phase: 2.9564864218676, + multipliers: [1, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026895008524, + phase: 1.5413753127356, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026842665989, + phase: -1.5323297707079, + multipliers: [2, 0, -1, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026759948789, + phase: 0.4063493903675, + multipliers: [2, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026654961859, + phase: -1.5936861890771, + multipliers: [0, 0, 2, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026611686172, + phase: -0.8231856419552, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026515975750, + phase: -0.3373452798091, + multipliers: [2, 0, -1, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026491799267, + phase: -0.9353802401142, + multipliers: [0, 0, 2, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026472296335, + phase: -0.0021442566335, + multipliers: [1, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026450728330, + phase: -2.2064539203238, + multipliers: [0, 0, 2, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026371836329, + phase: -1.3441110074128, + multipliers: [0, 0, 1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026360466264, + phase: -0.3015260234807, + multipliers: [0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026315137182, + phase: 2.6305403723919, + multipliers: [2, 0, -1, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026198704294, + phase: 2.6483763840339, + multipliers: [2, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026164932604, + phase: 3.1323622651764, + multipliers: [2, 0, -1, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026100000000, + phase: -0.0000176278254, + multipliers: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026028294329, + phase: -1.2809772859351, + multipliers: [4, 0, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026025260292, + phase: -0.3454698525598, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026007217354, + phase: -1.8605906129762, + multipliers: [4, 0, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025984519683, + phase: -0.4960225726976, + multipliers: [2, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025858359734, + phase: 3.1413661813390, + multipliers: [0, 0, 1, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025853041099, + phase: -2.1006644469658, + multipliers: [0, 0, 2, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025758232559, + phase: -1.6212502938464, + multipliers: [2, 0, -1, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025658080098, + phase: 3.1408379286707, + multipliers: [1, 0, 0, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025648514130, + phase: 0.3402178595221, + multipliers: [2, 0, -1, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025554048712, + phase: 2.7319295806122, + multipliers: [2, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025551519094, + phase: -0.7134741663306, + multipliers: [2, 0, 1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025385705279, + phase: -1.5304164942384, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025350239215, + phase: -0.3786555467785, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025273518823, + phase: 1.2628618117708, + multipliers: [2, 0, -1, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025239351023, + phase: 1.2445475121969, + multipliers: [0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025194166764, + phase: 0.4082375319811, + multipliers: [2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025079775343, + phase: -1.2081392975310, + multipliers: [0, 1, 0, 0, 0, -23, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025009123957, + phase: -3.1396282602317, + multipliers: [2, -2, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025000000000, + phase: 3.1415676953815, + multipliers: [0, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024900000000, + phase: -0.0000363028484, + multipliers: [2, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024896289907, + phase: -3.1262153650869, + multipliers: [2, 0, -2, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024877748873, + phase: 3.0568552820562, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024712656067, + phase: -0.3423213940211, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024614861441, + phase: 1.9319309054868, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024603415953, + phase: 3.0482431598009, + multipliers: [0, 0, 1, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024318789125, + phase: 3.1410946637779, + multipliers: [2, 0, -1, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024297543613, + phase: -1.8484718516950, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024211629602, + phase: -1.8423643668241, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024200000000, + phase: 3.1415708369741, + multipliers: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024200000000, + phase: 0.2803269304737, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024171139546, + phase: -1.0059084757464, + multipliers: [2, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024165801032, + phase: -2.3875675802829, + multipliers: [2, 0, 1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024100000000, + phase: -0.0000272271363, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024012359641, + phase: -0.3458458313206, + multipliers: [2, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024000000000, + phase: -0.0000137881011, + multipliers: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024000000000, + phase: -3.1415696152437, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023972947017, + phase: 1.8030567096458, + multipliers: [3, -1, -1, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023928975289, + phase: -3.0331134761469, + multipliers: [0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023900000000, + phase: -0.0000274016693, + multipliers: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023870133120, + phase: 1.8566912722890, + multipliers: [1, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023821102667, + phase: 1.2846648662466, + multipliers: [1, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023804813840, + phase: -1.0216680311811, + multipliers: [0, 0, 1, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023723601486, + phase: -0.2450766574357, + multipliers: [1, 1, -2, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023682725806, + phase: -0.1937706973677, + multipliers: [2, 0, -1, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023522546450, + phase: 1.4641079917261, + multipliers: [2, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023457244206, + phase: -1.4773531180673, + multipliers: [2, 0, -1, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023269518237, + phase: -3.1360727068543, + multipliers: [0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023182015989, + phase: 0.1397643960827, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023064261104, + phase: 0.9447620309856, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023007602463, + phase: -1.6003605280650, + multipliers: [2, 0, -2, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022983666241, + phase: 1.8840958961493, + multipliers: [2, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022937134493, + phase: 0.0061711482621, + multipliers: [0, 0, 2, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022918168297, + phase: 2.0481034589891, + multipliers: [1, -1, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022900000000, + phase: 3.1415701388424, + multipliers: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022899606564, + phase: 0.0030482204219, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022847346856, + phase: 0.8173957119598, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022841914135, + phase: -0.0299069224736, + multipliers: [1, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022825691161, + phase: -3.0982386286178, + multipliers: [0, 0, 1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022799106698, + phase: 0.5025402727046, + multipliers: [1, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022787979019, + phase: 0.3310568189286, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022779806431, + phase: 0.0336611423834, + multipliers: [2, 0, 0, 0, 0, -18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022744613313, + phase: -0.9902436808132, + multipliers: [2, 0, 1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022606146439, + phase: 0.0020961087326, + multipliers: [2, 2, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022549876989, + phase: 3.1093551256187, + multipliers: [2, -2, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022535395163, + phase: -2.1523613609860, + multipliers: [2, 0, 1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022521458842, + phase: 2.6785486140489, + multipliers: [4, 0, -1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022500000000, + phase: 3.1415872430691, + multipliers: [2, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022476611172, + phase: 0.3294465259732, + multipliers: [2, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022347239648, + phase: -1.5409785663550, + multipliers: [0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022181952672, + phase: 0.8227131409396, + multipliers: [2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022180990258, + phase: -0.1770662449278, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021947260324, + phase: 3.1091820072978, + multipliers: [2, 0, 1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021900245046, + phase: 0.1765644145282, + multipliers: [2, 0, 1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021829795392, + phase: -1.8031119034404, + multipliers: [1, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021819364537, + phase: -1.5838649367892, + multipliers: [0, 0, 1, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021800000000, + phase: 0.0000134390352, + multipliers: [4, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021745838065, + phase: -1.5792007425349, + multipliers: [2, 0, 1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021733633009, + phase: 0.7798566909074, + multipliers: [2, 0, -1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021722802848, + phase: -0.0001815406909, + multipliers: [2, -2, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021720670113, + phase: 0.0043737238924, + multipliers: [2, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021424765074, + phase: -0.0251345201605, + multipliers: [4, 0, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021409532809, + phase: -0.4019236341154, + multipliers: [0, 0, 1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021350106716, + phase: 0.0076241893847, + multipliers: [2, 0, -2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021239895125, + phase: -2.7397877048924, + multipliers: [0, 0, 3, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021170667631, + phase: 0.4632114729682, + multipliers: [4, 0, -3, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021001693126, + phase: -3.1343866029920, + multipliers: [4, -2, -1, 0, 0, -15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020942332572, + phase: 3.1325745320613, + multipliers: [4, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020831395316, + phase: -1.1099745905493, + multipliers: [2, 0, -1, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020702521242, + phase: 0.2202676567140, + multipliers: [0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020674873765, + phase: -0.0006934762116, + multipliers: [2, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020550317770, + phase: 3.1407681580341, + multipliers: [2, 0, 1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020524913317, + phase: 0.5408349251016, + multipliers: [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020478872312, + phase: -1.2850298858681, + multipliers: [2, -2, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020468487318, + phase: -1.8565009991085, + multipliers: [2, -2, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020355248607, + phase: 2.1725564218829, + multipliers: [0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020300000000, + phase: 0.4040431982379, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020265195271, + phase: 0.0009036898971, + multipliers: [1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020252491951, + phase: -1.5616884827330, + multipliers: [0, 0, 1, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020241995239, + phase: -1.3869064976501, + multipliers: [1, 1, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020238367641, + phase: -1.5503431131038, + multipliers: [0, 0, 2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020237146892, + phase: -1.0226980596993, + multipliers: [0, 0, 2, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020068850024, + phase: 2.6783836656588, + multipliers: [2, 0, 3, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020015540469, + phase: 3.1406543493742, + multipliers: [0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020007672667, + phase: -1.7981061288059, + multipliers: [0, 1, 0, 0, 0, -20, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019945984214, + phase: -1.5655358266301, + multipliers: [3, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019872779055, + phase: 0.5392315258009, + multipliers: [0, 0, 0, 0, 0, 0, 1, -2, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019833063248, + phase: -1.0268611603902, + multipliers: [1, -1, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019807717104, + phase: 1.8034408320094, + multipliers: [1, -1, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019780462846, + phase: 1.8423471407329, + multipliers: [0, 0, 1, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019779336393, + phase: 1.2992410622291, + multipliers: [0, 0, 1, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019632720077, + phase: -1.7555393668790, + multipliers: [2, 0, -1, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019579294101, + phase: -0.8455090202846, + multipliers: [2, 0, -2, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019544455231, + phase: 1.9550767327680, + multipliers: [2, 0, -1, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019522253531, + phase: 2.7553425309914, + multipliers: [0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019480166453, + phase: -1.8035729256739, + multipliers: [1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019421205255, + phase: 2.6783842298840, + multipliers: [4, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019365989913, + phase: 0.4632028459782, + multipliers: [2, 0, 1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019306363068, + phase: -1.0251094305403, + multipliers: [2, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019295149206, + phase: -2.0455638379279, + multipliers: [2, 0, -1, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019277037674, + phase: 2.9174838978542, + multipliers: [2, 0, -3, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019254248642, + phase: -1.5382354567744, + multipliers: [0, 0, 0, 0, 0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019231596070, + phase: 0.0015826668137, + multipliers: [2, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019219330432, + phase: -2.1957789337157, + multipliers: [2, 0, -2, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019148473205, + phase: 0.4632139462771, + multipliers: [4, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019121356811, + phase: -1.5837700018457, + multipliers: [2, 0, -2, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019068667899, + phase: 1.6735270938718, + multipliers: [0, 0, 1, 0, 0, -16, 16, -7, 8, -6, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019007870719, + phase: 2.7839631969930, + multipliers: [1, -1, -1, 0, 0, 29, -33, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018971842998, + phase: 0.0016817724817, + multipliers: [2, 0, -1, 0, 0, -19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018952629004, + phase: -1.6403686026867, + multipliers: [2, 0, -2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018931716017, + phase: -0.8404398885344, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018850192593, + phase: 1.2992481225692, + multipliers: [0, 0, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018834339489, + phase: 0.0412773817926, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018816394698, + phase: -3.1415716797133, + multipliers: [2, -2, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018766687582, + phase: 3.0982247523845, + multipliers: [4, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018711146861, + phase: 1.4224958282906, + multipliers: [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018700000000, + phase: -0.0000246091425, + multipliers: [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018700000000, + phase: 3.1415795636204, + multipliers: [2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018611571535, + phase: -1.5173107216334, + multipliers: [2, 0, -1, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018590326217, + phase: 2.1248224912365, + multipliers: [2, 0, -1, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018502113047, + phase: -0.0004515959197, + multipliers: [4, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018417832480, + phase: 0.1974348763384, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018386076182, + phase: -1.2761451932107, + multipliers: [4, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018366273893, + phase: -1.2987128393418, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018365890863, + phase: -1.8654036679012, + multipliers: [4, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018257966975, + phase: -2.0148316780155, + multipliers: [2, 0, -1, 0, -5, 0, 13, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018256453108, + phase: 3.1396055757812, + multipliers: [2, 0, -2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018254830921, + phase: 0.0015771353049, + multipliers: [0, 0, 2, 0, 0, -21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018223261811, + phase: -3.1190885307251, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018221640775, + phase: -2.3064911362272, + multipliers: [2, 0, -1, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018191742338, + phase: -1.9642363753618, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018177788561, + phase: -1.9642345651191, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018091544383, + phase: -1.8966981351411, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017996990520, + phase: -1.3066848476071, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017982870076, + phase: 1.3855328320874, + multipliers: [3, -1, -2, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017843300701, + phase: -0.0019065758593, + multipliers: [0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017838676719, + phase: -1.5318735147659, + multipliers: [2, 0, -1, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017832165137, + phase: 3.1411164505268, + multipliers: [0, 0, 1, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017830723828, + phase: 1.1485666082485, + multipliers: [0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017780516870, + phase: 0.4736516773343, + multipliers: [0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017771201083, + phase: -3.1183334186433, + multipliers: [0, 0, 1, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017661833013, + phase: 3.0899977362274, + multipliers: [0, 0, 2, 0, 0, -15, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017625690462, + phase: -1.0116349820136, + multipliers: [2, 0, -1, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017577010503, + phase: 0.0499773014132, + multipliers: [0, 0, 0, 0, 0, 15, -9, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017546449247, + phase: 0.0006861576388, + multipliers: [4, 0, -2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017509536249, + phase: -0.4685497836929, + multipliers: [2, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017350064539, + phase: -0.2835308975607, + multipliers: [1, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017338656981, + phase: -2.0443552381963, + multipliers: [0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017335109636, + phase: -0.4448297861863, + multipliers: [2, 0, -1, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017285710480, + phase: 0.3458874634344, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017269363987, + phase: 0.2820783560806, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017244562643, + phase: 3.0060743266836, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017223071664, + phase: -0.0008898244532, + multipliers: [4, 0, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017203878630, + phase: -2.2679951281667, + multipliers: [1, -2, 0, 0, 0, 20, -18, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017067708412, + phase: -3.1395675311089, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017000046378, + phase: -1.6199380657316, + multipliers: [2, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016983333677, + phase: -2.2602293501838, + multipliers: [2, 0, 1, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016869328315, + phase: 1.0092605647349, + multipliers: [2, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016822554722, + phase: 1.8082807078982, + multipliers: [2, 0, -1, 0, 0, 18, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016777851844, + phase: 1.7129760159214, + multipliers: [2, 0, -1, 0, 0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016750126457, + phase: -0.0243143140763, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016712992823, + phase: -1.5395676274990, + multipliers: [0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016617098435, + phase: 2.9162792713716, + multipliers: [4, 0, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016508087465, + phase: 1.7545661804981, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016503467998, + phase: 1.2445390699495, + multipliers: [2, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016503258950, + phase: 2.6383910315900, + multipliers: [2, 0, 1, 0, -12, 0, 12, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016496425197, + phase: 0.0025319296761, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016495245914, + phase: -1.3443075224115, + multipliers: [2, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016493818304, + phase: 3.1407830015736, + multipliers: [2, 0, -1, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016454618075, + phase: -0.1872659120766, + multipliers: [1, 1, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016445712381, + phase: 1.4659946063029, + multipliers: [2, 0, -2, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016424171633, + phase: -1.3365463236708, + multipliers: [1, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016407558163, + phase: 0.2631340182171, + multipliers: [0, 0, 0, 0, 0, 0, 8, -16, 6, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016327609792, + phase: 1.3314957871784, + multipliers: [1, -1, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016207839965, + phase: -1.6334879800928, + multipliers: [2, 0, -1, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016191994378, + phase: -1.4890702323967, + multipliers: [2, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016190812467, + phase: -2.6762570823975, + multipliers: [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016132678133, + phase: -1.0155556970928, + multipliers: [0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015961206364, + phase: 1.6920809708965, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015898618698, + phase: 0.9338038445065, + multipliers: [2, 0, -1, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015876732120, + phase: 3.1355258258798, + multipliers: [2, -2, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015801546923, + phase: 0.0074875493632, + multipliers: [2, -2, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015793882496, + phase: -1.2094376681247, + multipliers: [1, 1, -2, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015768150138, + phase: 0.9783028343688, + multipliers: [0, 0, 1, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015708135120, + phase: 1.7545893039290, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015645293549, + phase: 1.6862805501954, + multipliers: [3, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015636525517, + phase: 0.0002538769171, + multipliers: [2, -2, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015612119189, + phase: -0.0010550444935, + multipliers: [2, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015610172710, + phase: -1.5528042949602, + multipliers: [3, -2, 0, 0, 0, -18, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015598484157, + phase: -1.6640052764893, + multipliers: [1, -1, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015532247112, + phase: -1.8223014434477, + multipliers: [1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015528621807, + phase: -0.9728711541098, + multipliers: [1, 0, 0, 0, 0, 0, -31, 35, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015325878351, + phase: 2.6650198823071, + multipliers: [0, 0, 1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015308577695, + phase: -2.0180648265496, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015306973495, + phase: -1.1236313380116, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 1, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015224156236, + phase: 0.0002600884484, + multipliers: [2, -2, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015208287291, + phase: 1.5800747691324, + multipliers: [2, 0, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015204386360, + phase: -3.1370215039901, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015192144070, + phase: -1.8082061985662, + multipliers: [2, 0, 2, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015161105961, + phase: -1.4537032763670, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015149735245, + phase: 1.3444985061907, + multipliers: [1, 1, -1, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015087639524, + phase: -1.8524705099001, + multipliers: [0, 0, 1, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015056759373, + phase: 2.2484321815730, + multipliers: [2, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014979530210, + phase: 3.1404149977114, + multipliers: [0, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014934959954, + phase: -1.5612613847894, + multipliers: [3, 0, -2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014890867101, + phase: -1.5155240850012, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014820334665, + phase: 0.1280268737737, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014769897597, + phase: 3.1304908004884, + multipliers: [4, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014754772135, + phase: -1.6059955818729, + multipliers: [2, 0, -1, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014635225266, + phase: 0.4634145272259, + multipliers: [0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014605374243, + phase: 1.5241370358634, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014570134450, + phase: 1.8033809768558, + multipliers: [1, -1, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014567401583, + phase: 1.5644565252810, + multipliers: [1, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014542710429, + phase: -0.0374845569684, + multipliers: [2, 0, -1, 0, 0, 0, -3, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014526550849, + phase: -1.1162655537798, + multipliers: [2, 0, -1, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014504155533, + phase: 0.1595734835040, + multipliers: [0, 0, 1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014308955089, + phase: -1.0306108610672, + multipliers: [2, 0, -2, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014300000000, + phase: -3.1415366285208, + multipliers: [2, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014204728199, + phase: -3.1396965029219, + multipliers: [4, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014179850367, + phase: -2.1104864236967, + multipliers: [2, 0, -2, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014139060995, + phase: -0.8708915782102, + multipliers: [2, 0, -1, 0, 0, 0, -33, 40, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014133346909, + phase: 0.0048277065568, + multipliers: [1, 0, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014100000000, + phase: 3.1415786909558, + multipliers: [4, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014098389180, + phase: 1.8038028368179, + multipliers: [1, -1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014062371807, + phase: -2.2906014323575, + multipliers: [0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014034210879, + phase: -0.4631976654124, + multipliers: [0, 2, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014018723848, + phase: 0.9272237731092, + multipliers: [2, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014014309909, + phase: -2.0240571399088, + multipliers: [2, 0, -1, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013968544754, + phase: 2.6807537606188, + multipliers: [2, 0, -2, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013930029893, + phase: 1.6124745288119, + multipliers: [2, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013898727090, + phase: -1.2552063494956, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013777607253, + phase: -2.5178443341663, + multipliers: [0, 0, 1, 0, 0, 0, 8, -16, 6, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013766830169, + phase: -0.6237732182620, + multipliers: [0, 0, 1, 0, 0, 0, -8, 16, -6, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013765263557, + phase: 1.5722214590077, + multipliers: [2, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013704625817, + phase: -1.3220429202249, + multipliers: [0, 0, 1, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013561459725, + phase: 1.9493592724315, + multipliers: [2, 0, -2, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013551651689, + phase: -2.1258224227299, + multipliers: [2, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013534111535, + phase: 0.0006015726710, + multipliers: [4, 0, -3, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013501186496, + phase: 1.3350375098244, + multipliers: [1, -1, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013445309344, + phase: 1.6328619523272, + multipliers: [2, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013351384686, + phase: 0.0123574292286, + multipliers: [1, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013312629386, + phase: 2.9787014024662, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013295767037, + phase: -2.6783819178734, + multipliers: [0, 2, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013249997525, + phase: 2.9621521996705, + multipliers: [0, 0, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013216291383, + phase: 2.7907357428201, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013157549197, + phase: -1.0708240380689, + multipliers: [0, 0, 1, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013144748278, + phase: 1.8307593958675, + multipliers: [2, 0, 0, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013127530969, + phase: -3.1401234605980, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013094477818, + phase: 2.7380316423375, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013086182704, + phase: 0.0414489052380, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012980850106, + phase: 1.1694645557493, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012979746762, + phase: 1.9721468131192, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012961763385, + phase: 1.4428796254166, + multipliers: [2, 0, -1, 0, 0, -17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012959527208, + phase: -1.8010750897170, + multipliers: [1, -1, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012954914079, + phase: 2.4571728261357, + multipliers: [2, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012952249411, + phase: -0.0340207772542, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012952018864, + phase: -0.2401859900116, + multipliers: [2, 0, 1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012927516222, + phase: 2.4032555484274, + multipliers: [0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012922303583, + phase: 3.1394295546931, + multipliers: [2, -2, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012915562700, + phase: 0.1522869739383, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012914713654, + phase: 0.6536312347067, + multipliers: [0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012909691720, + phase: 0.0015197613347, + multipliers: [0, 0, 1, 0, 0, -22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012891322235, + phase: 2.9897662729940, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012809689517, + phase: -1.3378250922116, + multipliers: [2, 0, -1, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012797035021, + phase: 1.6129864973373, + multipliers: [2, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012785993921, + phase: -0.0002720750748, + multipliers: [2, 2, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012765920185, + phase: -1.5389429309621, + multipliers: [0, 0, 1, 0, 0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012699954127, + phase: 3.1397033218865, + multipliers: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012696070728, + phase: -0.7361344173624, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012661045548, + phase: 3.1172474798461, + multipliers: [1, 0, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012648833335, + phase: -0.1150984164584, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012600000000, + phase: 0.0000188495559, + multipliers: [2, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012585521050, + phase: 1.7159732142511, + multipliers: [0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012569383607, + phase: -0.5245623537382, + multipliers: [2, 0, -1, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012532086290, + phase: -1.5384567147661, + multipliers: [0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012490629610, + phase: 1.3346668510131, + multipliers: [1, -1, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012444390625, + phase: 1.8037868682959, + multipliers: [1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012433506915, + phase: 3.0234033314808, + multipliers: [0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012428152304, + phase: -2.0741825595945, + multipliers: [0, 0, 1, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012420958168, + phase: -0.4666229833809, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012368080226, + phase: 3.1408293379834, + multipliers: [0, 0, 1, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012334740041, + phase: -0.0024724688977, + multipliers: [2, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012329089068, + phase: 1.5645344562197, + multipliers: [1, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012300000000, + phase: -0.0000134390352, + multipliers: [2, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012298178672, + phase: -1.6010506067580, + multipliers: [4, 0, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012284959753, + phase: -1.5314677616814, + multipliers: [2, 0, -1, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012246944296, + phase: -3.1391719241952, + multipliers: [2, 0, -2, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012200002990, + phase: 0.0022571811875, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012172989808, + phase: 1.8310692523450, + multipliers: [2, 0, 1, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012142671102, + phase: -3.1016769980295, + multipliers: [4, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012114249995, + phase: 2.6442399762991, + multipliers: [0, 0, 0, 0, 0, 0, 9, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012113818682, + phase: -0.0457549049417, + multipliers: [0, 0, 0, 0, 0, 0, 7, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012073283841, + phase: 1.9372018643227, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012061014875, + phase: -0.0234475566459, + multipliers: [4, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012038556934, + phase: -3.0129619344703, + multipliers: [2, 0, -1, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011961248214, + phase: 1.3105772780640, + multipliers: [2, 0, -1, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011931935009, + phase: 3.1355977178514, + multipliers: [1, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011925623464, + phase: -1.3468820193258, + multipliers: [2, 0, 1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011920755563, + phase: -1.0787833935943, + multipliers: [0, 0, 2, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011910957854, + phase: 0.0012473219836, + multipliers: [0, 0, 1, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011907394547, + phase: -1.8062501688553, + multipliers: [1, 1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011869047774, + phase: 0.4625959146129, + multipliers: [0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011858449620, + phase: -1.6025194830089, + multipliers: [4, 0, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011834576057, + phase: 1.6539487577039, + multipliers: [2, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011775964492, + phase: 1.3372093610027, + multipliers: [1, 1, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011756587465, + phase: 1.3238373795036, + multipliers: [2, 0, -1, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011712173367, + phase: -0.0014871482880, + multipliers: [2, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011711318896, + phase: 3.1081512771128, + multipliers: [2, 0, 2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011665183622, + phase: -1.6031089073147, + multipliers: [4, 0, -2, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011654554960, + phase: -2.0546873136877, + multipliers: [0, 0, 2, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011630885855, + phase: 1.6458560117379, + multipliers: [2, 0, -1, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011615715172, + phase: 1.5059173464417, + multipliers: [0, 0, 1, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011600000000, + phase: 0.0000157079633, + multipliers: [4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011600000000, + phase: -1.6581437726719, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011573027029, + phase: 1.3105440581534, + multipliers: [2, 0, -2, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011490295100, + phase: 1.6176564376459, + multipliers: [2, 0, -1, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011456493092, + phase: -2.9298852665194, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011456217508, + phase: 3.1401688051088, + multipliers: [0, 0, 0, 0, 0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011409139221, + phase: 0.0006578671801, + multipliers: [4, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011376373878, + phase: 0.4973457379851, + multipliers: [2, 0, -1, 0, 0, 0, -9, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011376350362, + phase: -0.0457614637024, + multipliers: [2, 0, -1, 0, 0, 0, 7, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011323239041, + phase: 0.0016002313102, + multipliers: [2, 0, -3, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011321764201, + phase: 2.7103391921529, + multipliers: [1, 1, -1, 0, -4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011315650878, + phase: 0.0010454475826, + multipliers: [1, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011303347363, + phase: 1.7369781682124, + multipliers: [1, -1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011300000000, + phase: -3.1415772946924, + multipliers: [2, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011266993471, + phase: 3.1404024473757, + multipliers: [2, 0, -1, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011251200408, + phase: -1.5935348616465, + multipliers: [2, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011235046414, + phase: -2.0247188467689, + multipliers: [2, 0, -1, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011225551325, + phase: -0.8456065501168, + multipliers: [2, 0, 0, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011148682130, + phase: 1.6130746086085, + multipliers: [2, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011138217530, + phase: 0.4017847432559, + multipliers: [0, 2, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011138217530, + phase: 2.7398079103338, + multipliers: [0, 2, -1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011103995892, + phase: -2.7766897929473, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011101262692, + phase: -1.3379234070503, + multipliers: [1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011100358709, + phase: -1.5168853633434, + multipliers: [2, 0, -2, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011094376853, + phase: 3.1411007392894, + multipliers: [4, 0, -2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011008358997, + phase: -3.1122034818940, + multipliers: [2, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011000974537, + phase: -0.6058841160565, + multipliers: [2, 0, -2, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010919910429, + phase: 2.5543444419928, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010903003804, + phase: -1.6042932163847, + multipliers: [2, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010890437946, + phase: -2.0426030769529, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010887497206, + phase: 1.6683822605528, + multipliers: [3, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010865463155, + phase: 1.8033410298848, + multipliers: [1, -1, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010864582302, + phase: 2.2184857790261, + multipliers: [0, 0, 0, 0, 0, 0, 11, -21, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010855891598, + phase: -2.7617360581591, + multipliers: [2, 0, -1, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010837776850, + phase: 3.0146092215590, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010812161220, + phase: -2.0894439514441, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010805440784, + phase: -3.1411610203943, + multipliers: [0, 0, 3, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010794296412, + phase: -1.4035015763343, + multipliers: [0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010784929157, + phase: -1.5334171111748, + multipliers: [2, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010725286189, + phase: -1.7622386850090, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010711541643, + phase: -3.0074443805819, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010665972878, + phase: -2.9584348939392, + multipliers: [1, 1, -1, 0, 0, -20, 12, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010629071580, + phase: 1.3702767279489, + multipliers: [2, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010583221131, + phase: -0.0502477121564, + multipliers: [0, 0, 1, 0, 0, 0, -7, 13, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010569965440, + phase: 0.0171996062767, + multipliers: [0, 0, 1, 0, 0, -3, 5, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010555013041, + phase: 0.4045162328970, + multipliers: [0, 0, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010554029197, + phase: 0.2607549958975, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010543785792, + phase: -2.2545107373988, + multipliers: [2, 0, 0, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010526862571, + phase: -1.2847424288710, + multipliers: [4, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010516170404, + phase: -1.8567430697668, + multipliers: [4, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010496273169, + phase: -2.9635333566602, + multipliers: [2, 0, -1, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010456741299, + phase: 0.3481154414587, + multipliers: [2, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010433697927, + phase: 3.1243657396398, + multipliers: [0, 0, 1, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010389706736, + phase: -0.1589789045765, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010370454804, + phase: 2.5194604259244, + multipliers: [2, 0, -1, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010347315399, + phase: -3.0928257853358, + multipliers: [0, 0, 1, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010346230494, + phase: -1.3687316001504, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010338625420, + phase: 1.5365854326361, + multipliers: [2, 0, -1, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010321970355, + phase: -2.7963860238724, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010308327779, + phase: -0.1690194888234, + multipliers: [2, 0, -1, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010306283206, + phase: 3.1321938228964, + multipliers: [2, 0, -2, 0, 0, 24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010277153730, + phase: 3.1381648053855, + multipliers: [4, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010275813540, + phase: -0.4886941927526, + multipliers: [2, 0, -1, 0, -4, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010246959254, + phase: -3.1005403968307, + multipliers: [2, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010196915544, + phase: 1.4938962580769, + multipliers: [1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010184813193, + phase: -0.0715230724163, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010148453229, + phase: 1.8050943878143, + multipliers: [1, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010130114866, + phase: 1.3874002325614, + multipliers: [1, -1, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010116640678, + phase: 0.1634806141341, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010094002079, + phase: 0.2547864720184, + multipliers: [1, -1, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010052433311, + phase: -0.3628267227363, + multipliers: [0, 0, 2, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010024432139, + phase: -0.3205239768321, + multipliers: [0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010022993250, + phase: -1.5728528436995, + multipliers: [4, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010002815603, + phase: 0.0193930078290, + multipliers: [2, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for LONGITUDE T^1 (76 of 1199 terms) +const PERT_LONGITUDE_T1: &[PertTerm] = &[ + PertTerm { + amplitude: 1.6768000000000, + phase: 0.0000000000000, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.5164200000000, + phase: 3.1415926535898, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4138300000000, + phase: 3.1415926535898, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3711500000000, + phase: 3.1415926535898, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2756000000000, + phase: 0.0000000000000, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2459863051979, + phase: 1.1395252607520, + multipliers: [0, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0711800000000, + phase: 0.0000000000000, + multipliers: [2, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0612800000000, + phase: 0.0000000000000, + multipliers: [2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0451600000000, + phase: 3.1415926535898, + multipliers: [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0404800000000, + phase: 3.1415926535898, + multipliers: [2, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0374700000000, + phase: 0.0000000000000, + multipliers: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0370700000000, + phase: 3.1415926535898, + multipliers: [2, 0, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0364900000000, + phase: 3.1415926535898, + multipliers: [2, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0243800000000, + phase: 3.1415926535898, + multipliers: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0216500000000, + phase: 3.1415926535898, + multipliers: [2, 0, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0192300000000, + phase: 0.0000000000000, + multipliers: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0169191002908, + phase: 1.8636576298540, + multipliers: [0, 0, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0136092975756, + phase: 1.1395420030381, + multipliers: [0, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0129300000000, + phase: 3.1415926535898, + multipliers: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0127635118562, + phase: 2.0020511200750, + multipliers: [0, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0127000000000, + phase: 0.0000000000000, + multipliers: [2, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0109700000000, + phase: 3.1415926535898, + multipliers: [4, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108770732846, + phase: 0.0018471316335, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083453599048, + phase: 0.0023917742748, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0073400000000, + phase: 0.0000000000000, + multipliers: [2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068600000000, + phase: 3.1415926535898, + multipliers: [4, 0, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063100000000, + phase: 3.1415926535898, + multipliers: [2, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058500000000, + phase: 0.0000000000000, + multipliers: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056619807849, + phase: 0.1215625017144, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056611068538, + phase: 3.0200381469835, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053900000000, + phase: 3.1415926535898, + multipliers: [2, -2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050937252062, + phase: 1.3371284112758, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046900000000, + phase: 3.1415926535898, + multipliers: [4, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038723575556, + phase: -0.8171754212099, + multipliers: [0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037800000000, + phase: 3.1415926535898, + multipliers: [2, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036200000000, + phase: 0.0000000000000, + multipliers: [2, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031700000000, + phase: 3.1415926535898, + multipliers: [1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030265170196, + phase: 0.2681666327539, + multipliers: [0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030000000000, + phase: 0.0000000000000, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029500000000, + phase: 3.1415926535898, + multipliers: [2, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028925319854, + phase: 1.1393887176712, + multipliers: [2, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028467780381, + phase: 1.1393765356199, + multipliers: [2, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028320556956, + phase: 1.6083877052495, + multipliers: [0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028229930855, + phase: 2.0022191702438, + multipliers: [2, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027755230992, + phase: 0.8917887300609, + multipliers: [0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027200641052, + phase: 2.0022106562061, + multipliers: [2, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027000000000, + phase: 3.1415926535898, + multipliers: [1, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025600000000, + phase: 3.1415926535898, + multipliers: [2, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024350269406, + phase: -0.6688013980414, + multipliers: [0, 0, 1, 0, 0, -15, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023951159061, + phase: 1.0624919209569, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023901365119, + phase: -2.8849777613081, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021566458249, + phase: 1.0106648428715, + multipliers: [2, 0, -1, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018600000000, + phase: 3.1415926535898, + multipliers: [2, 0, -1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016900000000, + phase: 3.1415926535898, + multipliers: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016113451361, + phase: 1.8410860644654, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016108183402, + phase: 1.3003866070879, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016000000000, + phase: 0.0000000000000, + multipliers: [4, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015619738963, + phase: 0.3157659204104, + multipliers: [0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015500000000, + phase: 3.1415926535898, + multipliers: [4, 0, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015216239436, + phase: 1.0621800324851, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015046083924, + phase: 0.4572179111552, + multipliers: [0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015010567723, + phase: -2.0748450796082, + multipliers: [0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014800000000, + phase: 3.1415926535898, + multipliers: [2, 0, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014126173985, + phase: -0.0140494865262, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014100000000, + phase: 0.0000000000000, + multipliers: [1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013800000000, + phase: 0.0000000000000, + multipliers: [0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012900000000, + phase: 0.0000000000000, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012600000000, + phase: 0.0000000000000, + multipliers: [2, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012413671623, + phase: 0.7426455374172, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012000000000, + phase: 3.1415926535898, + multipliers: [2, 0, -3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011780629945, + phase: -2.4513872790785, + multipliers: [2, 0, -1, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010700000000, + phase: 0.0000000000000, + multipliers: [2, 2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010400000000, + phase: 3.1415926535898, + multipliers: [0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010270133644, + phase: 2.8211236335260, + multipliers: [2, 0, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010183723059, + phase: -0.0765714710370, + multipliers: [2, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010174618777, + phase: -3.0650381417679, + multipliers: [2, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for LONGITUDE T^2 (5 of 219 terms) +const PERT_LONGITUDE_T2: &[PertTerm] = &[ + PertTerm { + amplitude: 0.0048700000000, + phase: 0.0000000000000, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022800067089, + phase: -0.4111853258909, + multipliers: [0, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015000000000, + phase: 3.1415926535898, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012000000000, + phase: 3.1415926535898, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010800000000, + phase: 3.1415926535898, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for LONGITUDE T^3 (0 of 2 terms) +const PERT_LONGITUDE_T3: &[PertTerm] = &[]; + +/// All perturbation blocks for LONGITUDE +pub const PERT_LONGITUDE: &[PertBlock] = &[ + PertBlock { + power: 0, + terms: PERT_LONGITUDE_T0, + }, + PertBlock { + power: 1, + terms: PERT_LONGITUDE_T1, + }, + PertBlock { + power: 2, + terms: PERT_LONGITUDE_T2, + }, + PertBlock { + power: 3, + terms: PERT_LONGITUDE_T3, + }, +]; + +/// Perturbation terms for LATITUDE T^0 (446 of 6462 terms) +const PERT_LATITUDE_T0: &[PertTerm] = &[ + PertTerm { + amplitude: 8.0450399999997, + phase: -3.1415802617521, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 1.5102092344719, + phase: -1.4542071233696, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.6305204338642, + phase: 0.4632824713635, + multipliers: [0, 1, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.6302719068325, + phase: 2.6783100900632, + multipliers: [0, 1, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4558600000000, + phase: 3.1415795636204, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4157100000000, + phase: -3.1415806108180, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3262200000000, + phase: 3.1415776437582, + multipliers: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2985500000000, + phase: 3.1415800872192, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0850171270850, + phase: 1.6868301502553, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0835000000000, + phase: -3.1415799126863, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0804300000000, + phase: 3.1415772946924, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0799129253387, + phase: -1.4532739327539, + multipliers: [1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0733300000000, + phase: 3.1415802617521, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0696620630446, + phase: 2.6783107666446, + multipliers: [0, 1, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0675009230342, + phase: 0.4632893541039, + multipliers: [0, 1, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0666351166713, + phase: -1.5306606655468, + multipliers: [2, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0521942916837, + phase: -3.1395627272410, + multipliers: [2, -1, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0507004305141, + phase: -3.1395201837461, + multipliers: [2, 1, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0496783957672, + phase: 1.7546215628756, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0463800000000, + phase: -3.1415804362850, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0459806524890, + phase: 1.4764606287361, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0421419643807, + phase: 0.0008138635014, + multipliers: [2, -1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0397800000000, + phase: 3.1415736295009, + multipliers: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0388526771989, + phase: 2.8581369757295, + multipliers: [1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0371247114417, + phase: 2.9543725080699, + multipliers: [1, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0348291849445, + phase: 1.3191874902993, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0309474180556, + phase: 3.1414349568043, + multipliers: [2, -1, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0304505196952, + phase: 3.1100933560873, + multipliers: [2, -1, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0288368710316, + phase: 1.3354052797368, + multipliers: [1, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0286432684905, + phase: 3.1413507109333, + multipliers: [2, 1, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0273469171056, + phase: 1.8035949345762, + multipliers: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0249789692534, + phase: -2.7397897045430, + multipliers: [0, 1, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0249776961345, + phase: -0.4018021844412, + multipliers: [0, 1, -1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0240400000000, + phase: -3.1415811344167, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0235957561639, + phase: -3.1408792090747, + multipliers: [2, -1, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0233752910414, + phase: -1.2848922340516, + multipliers: [2, -1, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0233619997153, + phase: -1.8566440402596, + multipliers: [2, -1, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0224669028215, + phase: 3.1353178072736, + multipliers: [2, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0219534244698, + phase: 0.0006655042171, + multipliers: [2, -1, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0218118589862, + phase: 2.6783098208838, + multipliers: [2, -1, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0217781545290, + phase: 0.4632825080373, + multipliers: [2, -1, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0201246975418, + phase: 0.1755733701781, + multipliers: [2, 1, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0200547268558, + phase: 0.0002858850727, + multipliers: [2, -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0199918366236, + phase: -0.0001494670014, + multipliers: [2, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0191412979231, + phase: 0.1754303965311, + multipliers: [2, -1, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0174400000000, + phase: 3.1415809598838, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0164911273395, + phase: -1.4547087451932, + multipliers: [3, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0164700000000, + phase: 3.1415795636204, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0164436039730, + phase: 1.9891942444733, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0140765274270, + phase: 2.6783155652527, + multipliers: [2, 1, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0140746608691, + phase: 0.0072125004030, + multipliers: [2, -1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0140500000000, + phase: 3.1415800872192, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0139244418712, + phase: -2.1111456900356, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0139000260929, + phase: 1.4481845047243, + multipliers: [1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0138896268499, + phase: -1.8049044385929, + multipliers: [1, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0136474998143, + phase: 0.4632834945713, + multipliers: [2, 1, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0134937114599, + phase: 1.8030579749800, + multipliers: [1, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0128455993862, + phase: 2.6952335902406, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0123058481265, + phase: -0.0160845790942, + multipliers: [2, -1, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0121590772845, + phase: 2.6783108866965, + multipliers: [2, 1, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0120530118543, + phase: 0.4632836821472, + multipliers: [2, 1, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0110312983020, + phase: 2.6790673407446, + multipliers: [1, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102116817241, + phase: -1.8090398016275, + multipliers: [1, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0100500000000, + phase: 0.0000178023584, + multipliers: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0098590644490, + phase: -1.5959384577268, + multipliers: [2, -1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0093557877619, + phase: -1.4536434616263, + multipliers: [3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0092600269410, + phase: 1.3334583648697, + multipliers: [1, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091173241123, + phase: 3.1111527978926, + multipliers: [2, 1, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091013728645, + phase: 1.6559203798361, + multipliers: [1, -2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0090144032343, + phase: -3.0373580613512, + multipliers: [1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084587816088, + phase: -3.1171514237704, + multipliers: [2, -1, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084520279275, + phase: -1.3149168393097, + multipliers: [0, 1, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084509147919, + phase: -1.8266662138171, + multipliers: [0, 1, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083806000886, + phase: -3.0555785636746, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083400000000, + phase: 0.0000123918377, + multipliers: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083249023132, + phase: 1.8030940053078, + multipliers: [1, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083000585702, + phase: -3.1414633544711, + multipliers: [0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0080877797030, + phase: -3.1410543006201, + multipliers: [2, -1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079820918120, + phase: -3.1403323949794, + multipliers: [2, -1, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079771728179, + phase: 3.1100507584027, + multipliers: [2, 1, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079638366959, + phase: 1.6885105909812, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078319711678, + phase: -3.1412881193010, + multipliers: [0, 1, 1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0077804818292, + phase: -0.2444096669575, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076402262249, + phase: 3.1111607883242, + multipliers: [2, -1, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076201730727, + phase: -1.8223820622170, + multipliers: [0, 1, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076197843017, + phase: -1.3192172807731, + multipliers: [0, 1, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075414804468, + phase: -1.8032282146161, + multipliers: [1, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074728497163, + phase: -1.8035132988236, + multipliers: [1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0071834222111, + phase: -0.0001980224823, + multipliers: [0, 1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070808702668, + phase: -0.0001094040425, + multipliers: [0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068925081940, + phase: 3.1361031795252, + multipliers: [2, 1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068868022816, + phase: -1.8703427380576, + multipliers: [0, 1, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068856163150, + phase: -1.2712458703573, + multipliers: [0, 1, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068415168030, + phase: -1.5806665496758, + multipliers: [2, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068062629712, + phase: 0.1751972476328, + multipliers: [2, -1, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0067200000000, + phase: 3.1415811344167, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065837328262, + phase: -2.2011505071743, + multipliers: [2, -1, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065578329185, + phase: 3.1198708441838, + multipliers: [0, 1, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065475312542, + phase: -0.0003306406522, + multipliers: [0, 1, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064921524938, + phase: -1.3367670739055, + multipliers: [1, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064252824928, + phase: 2.6783109927598, + multipliers: [0, 1, 3, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064187950963, + phase: 3.1351387062649, + multipliers: [2, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063322794558, + phase: -1.5704276208013, + multipliers: [2, -1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063310780340, + phase: -0.6951807164623, + multipliers: [2, -1, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062500951706, + phase: -0.9990183127520, + multipliers: [2, -1, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062315328955, + phase: 0.0014236838381, + multipliers: [2, 1, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062109705882, + phase: -2.1432591483938, + multipliers: [2, -1, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061956397941, + phase: -3.1413298842483, + multipliers: [0, 1, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061596087744, + phase: 0.4632918245514, + multipliers: [0, 1, 1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061547079140, + phase: 1.7363658413417, + multipliers: [1, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061535124088, + phase: -2.4101497404181, + multipliers: [2, -1, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0060446090479, + phase: 0.0000041595778, + multipliers: [2, 1, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0060325452824, + phase: -1.2760878721562, + multipliers: [2, 1, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0060271868255, + phase: -1.8654759106018, + multipliers: [2, 1, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059663424436, + phase: -3.1413593012448, + multipliers: [0, 1, -1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059146763797, + phase: 0.0225340216993, + multipliers: [0, 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058900000000, + phase: -0.0000123918377, + multipliers: [2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058406588260, + phase: 3.1362126116300, + multipliers: [2, -1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058360597600, + phase: -3.1394537939932, + multipliers: [2, 1, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057370148335, + phase: 0.0002791537294, + multipliers: [2, 1, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056439778298, + phase: 1.8034892852926, + multipliers: [1, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056300000000, + phase: -3.1415809598838, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056200000000, + phase: 3.1415764220277, + multipliers: [2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056108515190, + phase: -0.0002976436863, + multipliers: [0, 1, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056100000000, + phase: 3.1415813089497, + multipliers: [2, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055537409463, + phase: 0.0214845011172, + multipliers: [0, 1, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053186020284, + phase: 3.1393293078895, + multipliers: [0, 1, 1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053070086163, + phase: 0.0195043619156, + multipliers: [0, 1, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051768255127, + phase: -3.1410731904624, + multipliers: [2, -1, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051005457395, + phase: 0.1750018963417, + multipliers: [2, 1, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050752490843, + phase: 3.1223503759837, + multipliers: [0, 1, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050047583139, + phase: 0.0000194059068, + multipliers: [2, -1, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049863001522, + phase: -1.8005628965122, + multipliers: [1, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049134701514, + phase: -1.2762203353325, + multipliers: [2, -1, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049087525052, + phase: -1.8653487230051, + multipliers: [2, -1, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048753105326, + phase: 0.0002776475165, + multipliers: [2, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047872272542, + phase: -1.6024557481518, + multipliers: [2, 1, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047795274544, + phase: -1.6024601456435, + multipliers: [2, -1, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047416885433, + phase: 1.9359668177979, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047218320461, + phase: -1.4524027664707, + multipliers: [1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047194995279, + phase: 0.0002871728690, + multipliers: [2, -1, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047051889946, + phase: 1.3314529867903, + multipliers: [1, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046475127038, + phase: 1.3104938682263, + multipliers: [0, 1, -1, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046435729798, + phase: 1.8311008303195, + multipliers: [0, 1, 1, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046249138603, + phase: 2.9705067985963, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045383517668, + phase: 0.0022232768806, + multipliers: [0, 1, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044986340646, + phase: 3.1188869569075, + multipliers: [0, 1, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044833314262, + phase: -1.2846218645550, + multipliers: [2, 1, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044787627899, + phase: -1.8569148328350, + multipliers: [2, 1, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044200000000, + phase: -0.0000158824962, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043700000000, + phase: 0.0000106465084, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043664906880, + phase: 0.1851931966881, + multipliers: [2, -1, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042400000000, + phase: 3.1415774692253, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042029703383, + phase: 0.9575948031736, + multipliers: [1, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041937054610, + phase: -3.1408913614796, + multipliers: [2, -1, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041503334278, + phase: -1.0277979239776, + multipliers: [1, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040834601586, + phase: -0.1774285736421, + multipliers: [0, 1, 1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040490275619, + phase: 0.0148850074563, + multipliers: [2, -1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039812712784, + phase: -1.5304555117410, + multipliers: [2, -1, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039667747625, + phase: 1.8034440564659, + multipliers: [1, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039001540893, + phase: -0.0170779593351, + multipliers: [2, 1, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038102895686, + phase: -0.0150228545017, + multipliers: [2, 1, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037700000000, + phase: 3.1415724077705, + multipliers: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037200000000, + phase: -3.1415799126863, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037093722672, + phase: -3.1414132024285, + multipliers: [2, 1, -1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035632099787, + phase: 1.8051507788971, + multipliers: [1, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035265668122, + phase: -0.2349698097690, + multipliers: [2, -1, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035147477042, + phase: -2.9642998191893, + multipliers: [0, 1, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034951253479, + phase: 1.3874903370215, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034805423859, + phase: 2.9182531563722, + multipliers: [2, 1, -1, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034737978420, + phase: -1.5487132267653, + multipliers: [0, 1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034459824150, + phase: -1.3362132367824, + multipliers: [1, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033633980147, + phase: -0.9413864015312, + multipliers: [2, -1, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032900000000, + phase: 3.1415802617521, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032828771659, + phase: 2.9180102242662, + multipliers: [2, -1, -1, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032767362441, + phase: -1.5944471500847, + multipliers: [0, 1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032734531523, + phase: -1.8002508370779, + multipliers: [1, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032600719659, + phase: -0.0149416988672, + multipliers: [2, -1, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032200000000, + phase: 3.1415802617521, + multipliers: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032000134299, + phase: 1.6607725516836, + multipliers: [1, -2, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031500000000, + phase: -3.1415804362850, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031029704299, + phase: -0.2653326197696, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031019111371, + phase: -2.8762154085622, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030661751700, + phase: 0.2534611959959, + multipliers: [1, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030084112461, + phase: -3.1292123757466, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030039751025, + phase: -1.5654662570383, + multipliers: [1, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029920742735, + phase: -0.8029488043186, + multipliers: [0, 1, 1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029648248353, + phase: -2.3354509591351, + multipliers: [0, 1, 1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029620523661, + phase: -2.8519840703309, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029610874039, + phase: -0.2896665283570, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029566001526, + phase: -3.1291845810733, + multipliers: [1, 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029464774003, + phase: -2.8636793342820, + multipliers: [2, -1, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029400000000, + phase: 1.6603681948035, + multipliers: [1, 0, -2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029300000000, + phase: -0.0000150098316, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028782272704, + phase: 3.1411048949794, + multipliers: [2, 1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028725245743, + phase: -1.5514037829623, + multipliers: [0, 1, 1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028336375349, + phase: 1.8033898328222, + multipliers: [1, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028127115329, + phase: -0.1857801752031, + multipliers: [1, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028063669624, + phase: 1.7546136072025, + multipliers: [1, 0, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027737206755, + phase: -1.5653831853925, + multipliers: [1, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027729505322, + phase: -0.4018551586827, + multipliers: [0, 1, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027618147587, + phase: -2.7397976884775, + multipliers: [0, 1, 2, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027600000000, + phase: -3.1415807853509, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027599678407, + phase: 1.3289868607642, + multipliers: [1, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027300000000, + phase: 3.1415792145546, + multipliers: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027211251533, + phase: -1.5991048180314, + multipliers: [2, 1, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026763179315, + phase: -2.3190098407572, + multipliers: [0, 1, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026762270453, + phase: -1.3869617327534, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026761692272, + phase: -1.5924448619281, + multipliers: [0, 1, 1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026742245538, + phase: -0.8251950474547, + multipliers: [0, 1, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026399988901, + phase: 0.0011556017299, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026117278322, + phase: 2.8581631064066, + multipliers: [1, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026059899678, + phase: 2.6392138982104, + multipliers: [1, 1, 0, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026059899678, + phase: 2.6392138982104, + multipliers: [1, -1, 0, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025935115513, + phase: -2.5231860339722, + multipliers: [0, 1, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025799990701, + phase: 0.0009469459965, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025700000000, + phase: 3.1415797381533, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025543620386, + phase: -3.1217086896470, + multipliers: [2, 1, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025432992376, + phase: -0.6154401216220, + multipliers: [0, 1, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025334964894, + phase: -0.1777647571986, + multipliers: [2, -1, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025312619793, + phase: 3.1345481639140, + multipliers: [0, 1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025260768440, + phase: 0.0034010592298, + multipliers: [0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025200000000, + phase: -0.0000101229097, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025123100451, + phase: 0.1756518157988, + multipliers: [2, 1, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025028771272, + phase: -3.1410326276780, + multipliers: [2, -1, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024995244567, + phase: 3.1409181946066, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024940260598, + phase: -1.3405670576010, + multipliers: [1, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024659311887, + phase: 2.9517842387127, + multipliers: [1, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024600599829, + phase: 1.4793964628500, + multipliers: [1, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024394672137, + phase: 0.0025147252051, + multipliers: [0, 1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024332643171, + phase: 3.1415008568006, + multipliers: [2, -1, -1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024305858864, + phase: 1.1754874798371, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024218622586, + phase: -1.5968508496915, + multipliers: [0, 1, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024192459372, + phase: 1.6083948727697, + multipliers: [2, -1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023900000000, + phase: 3.1415114957796, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023819309585, + phase: 3.1387882112376, + multipliers: [0, 1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023427276241, + phase: -1.5425324734269, + multipliers: [0, 1, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023385956277, + phase: 2.6783832753804, + multipliers: [2, -1, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023174074072, + phase: -0.0025377045812, + multipliers: [0, 1, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023049267394, + phase: 0.0098392863545, + multipliers: [2, 1, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022939999929, + phase: -0.0660741843283, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022832165615, + phase: 0.0006615859146, + multipliers: [2, 1, -2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022700000000, + phase: -0.0000130899694, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022700000000, + phase: 1.4812211426606, + multipliers: [1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022670803766, + phase: -1.8423508698395, + multipliers: [2, -1, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022670028812, + phase: -1.2992448792754, + multipliers: [2, -1, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022669927281, + phase: -1.4749484663355, + multipliers: [2, -1, 0, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022642114574, + phase: 0.4632009211587, + multipliers: [2, -1, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022558819584, + phase: 1.6149975581642, + multipliers: [2, -1, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022401895309, + phase: -3.1174225698889, + multipliers: [2, 1, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022266421916, + phase: 0.0007482019260, + multipliers: [2, -1, 1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022178108206, + phase: -0.2450481614726, + multipliers: [1, 0, -1, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022157060016, + phase: -1.8035750601677, + multipliers: [1, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022135008361, + phase: -1.5976879320407, + multipliers: [2, -1, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021800000000, + phase: 0.0000123918377, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021661752769, + phase: -3.0628474339588, + multipliers: [1, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021609247544, + phase: -2.1271838708650, + multipliers: [0, 1, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021588822068, + phase: -1.0144621144144, + multipliers: [0, 1, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021580724765, + phase: 0.0068653970096, + multipliers: [0, 1, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021511958046, + phase: 2.9547331590507, + multipliers: [1, 0, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021473726830, + phase: -1.0001846344477, + multipliers: [2, -1, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021393920371, + phase: -3.1222118437050, + multipliers: [2, -1, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021200000000, + phase: 0.0000122173048, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021100000000, + phase: -0.0000127409035, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021017027714, + phase: 2.6783835777227, + multipliers: [2, 1, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020939170958, + phase: 1.3193577844755, + multipliers: [1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020927256499, + phase: -1.5956092034757, + multipliers: [2, 1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020906928545, + phase: -3.1318377123192, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020600000000, + phase: 0.0000165806279, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020580418071, + phase: 0.4632069177661, + multipliers: [2, 1, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020513748850, + phase: -2.5877132345209, + multipliers: [2, -1, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020513070863, + phase: 1.5307473744524, + multipliers: [0, 1, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020473058557, + phase: 0.0004975824742, + multipliers: [0, 1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020398009901, + phase: 1.8032879146756, + multipliers: [1, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020289437608, + phase: -1.5646126808248, + multipliers: [1, -1, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020176442180, + phase: -1.5816058813650, + multipliers: [2, 1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020063594347, + phase: -0.0060674404699, + multipliers: [0, 1, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019783723835, + phase: -0.0002433486718, + multipliers: [2, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019750791385, + phase: -2.2013760551548, + multipliers: [2, 1, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019461244693, + phase: -1.5301325943463, + multipliers: [2, -1, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019429106551, + phase: 2.6482551161498, + multipliers: [2, -1, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019366957413, + phase: 3.0882842627458, + multipliers: [2, -1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019289438061, + phase: -3.1328904960275, + multipliers: [0, 1, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019206132035, + phase: 1.6560264846668, + multipliers: [1, -2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019181040103, + phase: -0.0648536601785, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019180400301, + phase: -0.2450719813153, + multipliers: [1, 2, -1, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019096742527, + phase: -2.9522979899050, + multipliers: [1, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019034159238, + phase: -1.5466406830636, + multipliers: [2, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019033427674, + phase: -2.1076454840193, + multipliers: [2, -1, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018880806642, + phase: 2.8646440925136, + multipliers: [1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018854401906, + phase: 2.6484447561854, + multipliers: [2, 1, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018746036021, + phase: 0.0000506870126, + multipliers: [2, -1, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018700000000, + phase: 3.1415799126863, + multipliers: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018598882598, + phase: -0.1876364698957, + multipliers: [1, 0, -1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018579751875, + phase: -0.9403575549819, + multipliers: [0, 1, 1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018553436305, + phase: -2.2013577736776, + multipliers: [0, 1, 1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018483448145, + phase: -0.0045468104511, + multipliers: [0, 1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018258896283, + phase: -1.9832086927915, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018146065313, + phase: -1.5908426033467, + multipliers: [0, 1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018071572106, + phase: 3.1088206834384, + multipliers: [2, -1, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018056745274, + phase: -1.1395916971734, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017875295794, + phase: -1.5647998514150, + multipliers: [1, 1, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017847784741, + phase: -1.1556174651398, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017826852354, + phase: -1.5806474821150, + multipliers: [2, 1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017740558261, + phase: -2.0110293899485, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017581146196, + phase: -0.0001245556419, + multipliers: [2, -1, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017467559728, + phase: -2.6771886501009, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017321420937, + phase: 3.1288724135352, + multipliers: [2, -1, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017309318807, + phase: 1.3259977299099, + multipliers: [1, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017283115043, + phase: -2.1112493221780, + multipliers: [0, 1, 1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017204750345, + phase: 0.4199795986823, + multipliers: [1, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017203627006, + phase: -3.0166780077102, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017197423008, + phase: -0.1250818312089, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017188044153, + phase: -1.5531631203803, + multipliers: [0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017158000599, + phase: -1.3242474640061, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017142833436, + phase: -3.1405130345383, + multipliers: [2, 1, -1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017099512653, + phase: -1.3459504827568, + multipliers: [2, -1, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017080215205, + phase: -1.0118574333325, + multipliers: [2, 1, -1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016955949046, + phase: -2.1299601933777, + multipliers: [2, 1, -1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016895314015, + phase: -2.2040173154428, + multipliers: [2, 1, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016871753665, + phase: -1.8227846723246, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016828169301, + phase: -1.5816710086170, + multipliers: [2, -1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016691843930, + phase: 0.0100507902543, + multipliers: [2, -1, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016628322536, + phase: -1.3255842051918, + multipliers: [1, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016528062300, + phase: -2.2004915680559, + multipliers: [2, -1, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016359620795, + phase: -1.5310795661492, + multipliers: [2, -3, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016298102271, + phase: -2.6353396414204, + multipliers: [2, -1, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016275545521, + phase: -3.0585977591011, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016236490658, + phase: -0.2835611456642, + multipliers: [1, 0, -1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016236444771, + phase: -0.0078835408773, + multipliers: [0, 1, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016188856075, + phase: -2.0112053696044, + multipliers: [2, -1, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016186535645, + phase: 1.3351774763578, + multipliers: [1, 0, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016154642429, + phase: 0.0078570707136, + multipliers: [2, 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016075253783, + phase: 1.3289239526304, + multipliers: [2, -1, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016051936005, + phase: -2.2120518895192, + multipliers: [0, 1, -1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016039533058, + phase: -0.9294477124533, + multipliers: [0, 1, -1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016038920269, + phase: 0.5123299507984, + multipliers: [2, -1, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015926562504, + phase: -3.1412083632382, + multipliers: [2, -1, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015898035793, + phase: -0.0789859834184, + multipliers: [2, -1, 0, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015818905632, + phase: 0.0016555891296, + multipliers: [0, 1, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015800105158, + phase: 0.0051192014746, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015681794157, + phase: -0.6623588502538, + multipliers: [2, 1, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015678069663, + phase: -0.8458737584541, + multipliers: [2, 1, -1, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015655555987, + phase: -0.8458749657891, + multipliers: [2, -1, -1, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015637626438, + phase: 1.6890972167147, + multipliers: [1, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015500000000, + phase: -0.0000186750230, + multipliers: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015347017181, + phase: 1.8036191092228, + multipliers: [1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015315135336, + phase: -1.5531711863920, + multipliers: [2, 1, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015288494955, + phase: -1.8029133973448, + multipliers: [1, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015167786024, + phase: -1.2905273881118, + multipliers: [2, -1, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015160212184, + phase: -1.8510045165678, + multipliers: [2, -1, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015140283904, + phase: -1.5517915786453, + multipliers: [0, 1, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015137397157, + phase: -3.1346228273360, + multipliers: [0, 1, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015093248041, + phase: 1.6357970480504, + multipliers: [2, -1, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015050242914, + phase: 3.1403976569814, + multipliers: [0, 1, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014966354704, + phase: -1.0061929720555, + multipliers: [2, 1, -1, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014855360412, + phase: -0.4629013703598, + multipliers: [0, 1, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014736585261, + phase: -2.9554164656132, + multipliers: [2, -1, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014698997264, + phase: -1.0332572889270, + multipliers: [0, 1, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014685817109, + phase: 1.8031395990720, + multipliers: [1, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014590212318, + phase: -1.0254180789301, + multipliers: [0, 1, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014500000000, + phase: -3.1415818325484, + multipliers: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014440161362, + phase: 3.1378908275647, + multipliers: [0, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014320711261, + phase: 0.0013386283413, + multipliers: [0, 1, 1, 0, 0, -21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014234191824, + phase: -2.4608614194441, + multipliers: [2, 1, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014207562679, + phase: 1.3754312106404, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014203977784, + phase: -1.0062489940634, + multipliers: [2, -1, -1, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014137350781, + phase: 3.1402531800093, + multipliers: [0, 1, -1, 0, 0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014109098564, + phase: -1.5519284186451, + multipliers: [0, 1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014101107213, + phase: -0.2381884881427, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014091755230, + phase: 3.0916470699361, + multipliers: [0, 1, 1, 0, 0, -15, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014091755230, + phase: 0.0499455836537, + multipliers: [0, 1, -1, 0, 0, 15, -9, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014051804265, + phase: -3.1395800212232, + multipliers: [4, -1, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014026805155, + phase: -3.1360951973415, + multipliers: [0, 1, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014000004549, + phase: 0.0000658003623, + multipliers: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013878470782, + phase: -1.0116804173103, + multipliers: [2, -1, -1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013866460904, + phase: -1.0212645280189, + multipliers: [0, 1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013800000000, + phase: 0.0000195476876, + multipliers: [2, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013772920661, + phase: -2.1300414815312, + multipliers: [2, -1, -1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013743806474, + phase: 2.9168443509402, + multipliers: [2, -1, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013741730433, + phase: 1.7966831684123, + multipliers: [2, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013355407765, + phase: -1.5846476247756, + multipliers: [0, 1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013330975434, + phase: -1.5893442396011, + multipliers: [0, 1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013319760175, + phase: -1.8058936565251, + multipliers: [1, 0, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013203896455, + phase: -2.1218264702465, + multipliers: [0, 1, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013200000000, + phase: 0.0000122173048, + multipliers: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013188611305, + phase: 1.4654426539880, + multipliers: [2, -1, -1, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013187888916, + phase: 1.5944327992065, + multipliers: [2, 1, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013169698453, + phase: 1.4654834650710, + multipliers: [2, 1, -1, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013116782655, + phase: -3.1409527890303, + multipliers: [2, -1, 1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013085319210, + phase: -2.8601821330995, + multipliers: [1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012836457933, + phase: 0.0002385133099, + multipliers: [2, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012769410555, + phase: -3.1377611608988, + multipliers: [2, -1, -1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012699680203, + phase: -0.6655276617394, + multipliers: [2, -1, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012558736951, + phase: -0.6933478089755, + multipliers: [2, 1, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012469323329, + phase: 3.1339083367494, + multipliers: [2, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012456150635, + phase: 1.4481468265657, + multipliers: [1, 0, -2, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012085776074, + phase: -1.5522166744771, + multipliers: [2, -1, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012044268215, + phase: -0.9993773701051, + multipliers: [2, 1, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011928684434, + phase: -2.1428474967787, + multipliers: [2, 1, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011917404057, + phase: 1.7466167905045, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011827176294, + phase: 2.6478436979953, + multipliers: [2, -1, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011757400418, + phase: -0.5159116932713, + multipliers: [2, -1, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011727329917, + phase: 1.5925006396341, + multipliers: [2, -1, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011700750450, + phase: -0.0007226717097, + multipliers: [2, -1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011613728434, + phase: 2.1414773467384, + multipliers: [2, -1, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011573856177, + phase: -2.4136868744526, + multipliers: [2, 1, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011568211093, + phase: -2.9651926890736, + multipliers: [1, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011557278459, + phase: -1.4536650043617, + multipliers: [3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011469858897, + phase: -1.3380017158792, + multipliers: [1, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011451599121, + phase: -0.2238348250715, + multipliers: [1, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011400000000, + phase: -3.1415802617521, + multipliers: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011327675195, + phase: -3.1410843371847, + multipliers: [2, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011326401775, + phase: 3.1088225743600, + multipliers: [2, 1, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011322180085, + phase: -2.4593086625160, + multipliers: [2, -1, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011320049987, + phase: 0.4632077793494, + multipliers: [0, 1, -3, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011305719562, + phase: 2.6818537885176, + multipliers: [2, -1, -1, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011284831636, + phase: -0.4908752736330, + multipliers: [2, -1, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011243938625, + phase: 2.6818425697542, + multipliers: [2, 1, -1, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011208179706, + phase: 1.3225884258545, + multipliers: [1, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011206776414, + phase: -2.1128108183257, + multipliers: [0, 1, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011138205452, + phase: 2.9499137931040, + multipliers: [1, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011000000000, + phase: 3.1415792145546, + multipliers: [2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010979015183, + phase: -1.5700386022257, + multipliers: [2, 1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010832716574, + phase: 2.9164536651980, + multipliers: [2, 1, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010780160426, + phase: -3.1411987499910, + multipliers: [0, 1, 2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010656307883, + phase: -1.8026236879568, + multipliers: [1, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010653787309, + phase: 1.8029294356105, + multipliers: [1, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010580965705, + phase: 0.0009230690049, + multipliers: [2, -1, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010550721992, + phase: -1.6998591846406, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010516041840, + phase: -1.6252576371140, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010512642559, + phase: -2.9657858518397, + multipliers: [0, 1, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010475411312, + phase: 0.0078891089957, + multipliers: [2, -1, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010418666457, + phase: -3.1414384833018, + multipliers: [2, -1, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010411476077, + phase: -3.1395075229732, + multipliers: [4, 1, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010400000000, + phase: 3.1415745021656, + multipliers: [2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010389232051, + phase: -1.8082071259344, + multipliers: [2, -1, 1, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010359687625, + phase: 2.2605282583058, + multipliers: [2, -1, -1, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010130478732, + phase: -1.3159107218379, + multipliers: [0, 1, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010129401730, + phase: -1.8256649607544, + multipliers: [0, 1, 2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010109559475, + phase: -1.9474161795054, + multipliers: [1, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010097040623, + phase: -0.2255876495337, + multipliers: [2, 1, -1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010085064543, + phase: 3.1302868039571, + multipliers: [2, -1, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010052959622, + phase: -1.5370870536329, + multipliers: [2, 1, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010051995380, + phase: -1.5293501842525, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010013270525, + phase: 2.6783357327977, + multipliers: [0, 1, -1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for LATITUDE T^1 (35 of 516 terms) +const PERT_LATITUDE_T1: &[PertTerm] = &[ + PertTerm { + amplitude: 0.0743000000000, + phase: 3.1415926535898, + multipliers: [2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0304300000000, + phase: 0.0000000000000, + multipliers: [2, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0222900000000, + phase: 3.1415926535898, + multipliers: [2, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0199900000000, + phase: 3.1415926535898, + multipliers: [2, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0186900000000, + phase: 3.1415926535898, + multipliers: [2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0169600000000, + phase: 3.1415926535898, + multipliers: [0, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0162300000000, + phase: 0.0000000000000, + multipliers: [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0141900000000, + phase: 0.0000000000000, + multipliers: [0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0133800000000, + phase: 0.0000000000000, + multipliers: [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0130375585487, + phase: 0.2520457602653, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0127900000000, + phase: 3.1415926535898, + multipliers: [0, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0121500000000, + phase: 3.1415926535898, + multipliers: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108830814585, + phase: 2.0020668213495, + multipliers: [0, 1, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108787690507, + phase: 1.1395258209980, + multipliers: [0, 1, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054600000000, + phase: 3.1415926535898, + multipliers: [2, -1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044300000000, + phase: 3.1415926535898, + multipliers: [2, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034200000000, + phase: 0.0000000000000, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033000000000, + phase: 0.0000000000000, + multipliers: [2, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031800000000, + phase: 0.0000000000000, + multipliers: [2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029566112801, + phase: -0.0167817358061, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028500000000, + phase: 3.1415926535898, + multipliers: [2, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020700000000, + phase: 0.0000000000000, + multipliers: [2, -1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020200000000, + phase: 3.1415926535898, + multipliers: [1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020200000000, + phase: 3.1415926535898, + multipliers: [1, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020000000000, + phase: 3.1415926535898, + multipliers: [0, 1, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019800000000, + phase: 0.0000000000000, + multipliers: [2, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019300000000, + phase: 3.1415926535898, + multipliers: [2, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016400000000, + phase: 3.1415926535898, + multipliers: [2, -1, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016100000000, + phase: 0.0000000000000, + multipliers: [0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015800000000, + phase: 3.1415926535898, + multipliers: [2, 1, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014900000000, + phase: 3.1415926535898, + multipliers: [4, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013500000000, + phase: 3.1415926535898, + multipliers: [2, -1, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012060890952, + phase: 1.1393731529888, + multipliers: [0, 1, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011686083171, + phase: 2.0022254148028, + multipliers: [0, 1, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010400000000, + phase: 3.1415926535898, + multipliers: [4, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for LATITUDE T^2 (0 of 52 terms) +const PERT_LATITUDE_T2: &[PertTerm] = &[]; + +/// Perturbation terms for LATITUDE T^3 (0 of 0 terms) +const PERT_LATITUDE_T3: &[PertTerm] = &[]; + +/// All perturbation blocks for LATITUDE +pub const PERT_LATITUDE: &[PertBlock] = &[ + PertBlock { + power: 0, + terms: PERT_LATITUDE_T0, + }, + PertBlock { + power: 1, + terms: PERT_LATITUDE_T1, + }, + PertBlock { + power: 2, + terms: PERT_LATITUDE_T2, + }, + PertBlock { + power: 3, + terms: PERT_LATITUDE_T3, + }, +]; + +/// Perturbation terms for DISTANCE T^0 (753 of 12115 terms) +const PERT_DISTANCE_T0: &[PertTerm] = &[ + PertTerm { + amplitude: 1.0586189945469, + phase: 1.5728647584223, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.7280520195337, + phase: 1.1075151549610, + multipliers: [0, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.6828088005465, + phase: -1.1074996841673, + multipliers: [0, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.5982646659558, + phase: 1.5705635207645, + multipliers: [2, 0, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4564700000000, + phase: -1.5708183179435, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4527700000000, + phase: 1.5707739865805, + multipliers: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.4102063096352, + phase: -1.3952025962699, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2049874021822, + phase: 1.5392856801509, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2047639908486, + phase: 1.1075141371900, + multipliers: [2, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2037138749961, + phase: -1.1075128369872, + multipliers: [2, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1672076321725, + phase: -2.8878006779750, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1671895159531, + phase: 2.8878097870876, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1665926987810, + phase: 1.5644295199503, + multipliers: [2, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1574789204094, + phase: 1.5403418727092, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1445128962732, + phase: 1.5711596862453, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1382805236528, + phase: -1.5710083216338, + multipliers: [0, 0, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1347514951688, + phase: 1.1075243738887, + multipliers: [2, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1268190045816, + phase: 1.5491285841645, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1267148483649, + phase: -1.1075118776576, + multipliers: [2, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1235353734379, + phase: -1.5705142212624, + multipliers: [2, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1205865710074, + phase: -1.5707746903573, + multipliers: [2, 0, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1202805666279, + phase: 1.5710672741396, + multipliers: [0, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1161319013864, + phase: 1.5653496651162, + multipliers: [2, 0, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1119287621556, + phase: -2.8555572972586, + multipliers: [2, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1118114045507, + phase: 2.8556190355868, + multipliers: [2, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1104769201260, + phase: -2.8469488925985, + multipliers: [2, 0, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1103861684791, + phase: 2.8469755485544, + multipliers: [2, 0, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1068900000000, + phase: -1.5707802697658, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1052482894470, + phase: -1.5514708573239, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1051067104811, + phase: -1.5872052776383, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1006948682098, + phase: -1.5705017443420, + multipliers: [2, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0994148582110, + phase: 1.5685314980607, + multipliers: [0, 0, 1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0955300000000, + phase: 1.5707795716341, + multipliers: [2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0850800000000, + phase: -1.5707858548194, + multipliers: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0795275686573, + phase: 1.5710111681662, + multipliers: [2, 0, -1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0772254338804, + phase: -1.7481750079461, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0707245443314, + phase: 1.3475156929683, + multipliers: [2, 0, -1, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0630851377806, + phase: 1.8479275353974, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0630668125597, + phase: -1.8479460751116, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0620438540855, + phase: 1.5832310658754, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0610417803739, + phase: -1.5687625848667, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0608558872831, + phase: -1.5858002430818, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0601314809278, + phase: -3.1362819610707, + multipliers: [1, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0590171692112, + phase: -2.3828596184169, + multipliers: [0, 0, 1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0585539162153, + phase: 2.3862304346977, + multipliers: [0, 0, 1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0573276206042, + phase: 1.5955613138111, + multipliers: [2, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0567602742242, + phase: 0.0900006498493, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0561300027271, + phase: -3.0519379930231, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0553570067260, + phase: -3.1193740693593, + multipliers: [0, 0, 1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0534500000000, + phase: -1.5707888218791, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0526166241030, + phase: 3.1166248888354, + multipliers: [2, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0517624009576, + phase: 3.1165345657142, + multipliers: [0, 0, 1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0490304119861, + phase: 1.5638981539152, + multipliers: [0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0489031472172, + phase: -1.5681258523281, + multipliers: [0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0488553073725, + phase: 3.1143272705561, + multipliers: [2, 0, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0485799801999, + phase: -1.5696929790633, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0460798420754, + phase: 1.5740743791492, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0456097605077, + phase: 3.1317356923168, + multipliers: [2, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0439725468793, + phase: 1.5903663908031, + multipliers: [2, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0436949201317, + phase: -1.5609255408611, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0434920479551, + phase: 1.5732126687247, + multipliers: [2, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0432130178551, + phase: 2.5123114449874, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0428970386883, + phase: -1.5493364723757, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0428332214994, + phase: -1.6370383534159, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0425665736389, + phase: -1.5709916483874, + multipliers: [2, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0411977920064, + phase: 1.6554218659559, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0396929246016, + phase: 1.1075150956850, + multipliers: [0, 0, 3, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0395083605700, + phase: 1.0774913608747, + multipliers: [2, 0, -1, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0388618052428, + phase: -1.5633599645688, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0385600000000, + phase: 1.5707914398730, + multipliers: [2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0377810894628, + phase: 1.5718148687720, + multipliers: [2, 0, -1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0376041182304, + phase: 1.5709807285403, + multipliers: [0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0375630962219, + phase: -2.7277554956147, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0372456296743, + phase: 1.5791195237612, + multipliers: [0, 0, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0372362488874, + phase: -1.1074998164810, + multipliers: [0, 0, 1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0372182909263, + phase: 2.7060744309690, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0360065520601, + phase: -2.5061367305823, + multipliers: [0, 0, 1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0359629900428, + phase: 2.5059808880291, + multipliers: [0, 0, 1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0354417438571, + phase: -1.8121259040103, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0349959274452, + phase: 3.1215790917355, + multipliers: [0, 0, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0349039735773, + phase: 3.1307599469297, + multipliers: [2, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0345047901907, + phase: -1.5709419784513, + multipliers: [2, 0, -2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0343215701936, + phase: 2.5134687103682, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0334973240332, + phase: 2.6004213671582, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0328191585434, + phase: 1.5776481090597, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0312967577032, + phase: -2.2650340464584, + multipliers: [2, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0312306871168, + phase: -1.5693349814380, + multipliers: [0, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0311944252309, + phase: -2.5826432363620, + multipliers: [2, 0, -1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0309779852932, + phase: 2.5824070129348, + multipliers: [2, 0, -1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0305150962360, + phase: -2.5769040812596, + multipliers: [2, 0, -1, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0300673561702, + phase: -2.5698732987094, + multipliers: [2, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0297664902779, + phase: 2.5691946130812, + multipliers: [2, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0294400000000, + phase: 1.5707963267949, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0291234840221, + phase: -1.9727715618478, + multipliers: [0, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0288925293124, + phase: 1.9727053118965, + multipliers: [0, 0, 2, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0287119515094, + phase: 2.3004610340829, + multipliers: [2, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0284745630878, + phase: -2.2344889213990, + multipliers: [2, 0, -1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0281534260585, + phase: -3.1237390526404, + multipliers: [2, 0, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0280700000000, + phase: 1.5707961522620, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0277753165837, + phase: -3.1229010941556, + multipliers: [0, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0277379113656, + phase: 1.5712563635588, + multipliers: [2, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0275462594548, + phase: -2.5910731559573, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0270280456025, + phase: -3.1408115586722, + multipliers: [2, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0268909307392, + phase: 0.0238314745673, + multipliers: [2, 0, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0260554369519, + phase: -1.5669802202853, + multipliers: [0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0258666560542, + phase: 2.2527749033592, + multipliers: [2, 0, -1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0248700000000, + phase: -1.5708183179435, + multipliers: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0247000000000, + phase: 1.5707741611134, + multipliers: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0246553373459, + phase: -1.3939120342565, + multipliers: [2, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0235842118320, + phase: 1.7466917484420, + multipliers: [2, 0, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0221233745942, + phase: -1.7486114222722, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0220703461584, + phase: 1.5713337554239, + multipliers: [2, 0, -1, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0212650238830, + phase: -3.1081202760950, + multipliers: [2, 0, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0212563842752, + phase: 1.4638725557108, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0201360716198, + phase: -3.0438115816525, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0186577091854, + phase: 1.6040161788666, + multipliers: [2, 0, -1, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0184400114098, + phase: -1.5692302136684, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0183942525624, + phase: -1.7975004680937, + multipliers: [2, 0, -1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0177804203225, + phase: -1.8051449084013, + multipliers: [2, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0177739917249, + phase: 1.1075145257515, + multipliers: [2, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0175077487244, + phase: 1.5185982725601, + multipliers: [2, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0174976297779, + phase: 1.5711774244511, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0173224208623, + phase: -1.1074853693119, + multipliers: [2, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0164070908380, + phase: -2.9167081761980, + multipliers: [2, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0162111759555, + phase: -2.6516370125405, + multipliers: [0, 0, 1, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0158372312133, + phase: 2.6555096586413, + multipliers: [0, 0, 1, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0156928281944, + phase: -2.5908198306446, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0156543955978, + phase: 1.8176108718392, + multipliers: [2, 0, -1, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0148492326433, + phase: 1.7493948541940, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0145812617135, + phase: -1.5697822029907, + multipliers: [2, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0143471343142, + phase: -1.5701542898173, + multipliers: [2, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0142900291706, + phase: 0.0893432029074, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0141653266418, + phase: 2.9041098463831, + multipliers: [2, 0, 1, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0140945100377, + phase: 0.6897532626724, + multipliers: [2, 0, -1, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0139359591408, + phase: 1.5712615005998, + multipliers: [2, 0, -1, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0137461450093, + phase: 2.8700432506241, + multipliers: [2, 0, -1, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0137459119917, + phase: -2.8700352288818, + multipliers: [2, 0, -1, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0136212069061, + phase: 2.1250295849147, + multipliers: [2, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0134970226926, + phase: -1.9414324965371, + multipliers: [0, 0, 1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0133328958836, + phase: -1.5748712055747, + multipliers: [0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0133103019461, + phase: 1.8473540340504, + multipliers: [2, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0129526380157, + phase: 1.9521745639810, + multipliers: [0, 0, 1, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0128144052448, + phase: 1.5381113548474, + multipliers: [2, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0125006963127, + phase: -1.5701257506439, + multipliers: [2, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0124662695477, + phase: -1.7502224196551, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0121939840707, + phase: -2.4929545897827, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0120052309530, + phase: -1.2260862587221, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0118496020139, + phase: 1.5584192342906, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0116645557676, + phase: 1.7958743341037, + multipliers: [0, 0, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0115912699449, + phase: 1.5391005185459, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0115799975572, + phase: 1.5708093478624, + multipliers: [0, 0, 2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0115253667364, + phase: -1.5400868004758, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0115020894343, + phase: 0.2252526594184, + multipliers: [2, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0114660771603, + phase: 1.5686684256220, + multipliers: [2, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0113754584042, + phase: -3.1241558154629, + multipliers: [0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0112546067904, + phase: -1.5629614941767, + multipliers: [2, 0, -1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0111717107005, + phase: -1.0583695849574, + multipliers: [2, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0110932554465, + phase: 1.5756610300690, + multipliers: [1, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0110822935675, + phase: 1.5711397527865, + multipliers: [1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0110690557794, + phase: -1.6497300462669, + multipliers: [2, 0, 0, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0109737292908, + phase: -1.5557927331257, + multipliers: [2, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0108924844407, + phase: -2.5709206166005, + multipliers: [2, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0107249447366, + phase: 2.8700375658158, + multipliers: [2, 0, 0, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0107249425497, + phase: -2.8700447329808, + multipliers: [2, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0106913692305, + phase: 2.1171633971307, + multipliers: [2, 0, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0105327707694, + phase: 0.2479232885923, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0104608928334, + phase: -2.5330366288550, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0103903675996, + phase: -2.0727988708611, + multipliers: [1, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0103856453212, + phase: -1.5702394389741, + multipliers: [2, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0103693150709, + phase: -3.0521963062090, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0103576231997, + phase: -1.6000478539408, + multipliers: [2, 0, -2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102774582331, + phase: -2.5588083994292, + multipliers: [2, 0, -1, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0102280751288, + phase: 1.5695573888300, + multipliers: [2, 0, -1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0100844468310, + phase: -1.8538677794848, + multipliers: [1, -1, -1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0100636043065, + phase: 1.2877339563067, + multipliers: [1, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0100350746119, + phase: -2.6003057435100, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0099000000000, + phase: -1.5707780008378, + multipliers: [2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0098924765094, + phase: 1.5631841021882, + multipliers: [2, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0098721764025, + phase: 1.5234748018480, + multipliers: [2, 0, -1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0096334059574, + phase: -0.0063705444942, + multipliers: [1, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0092200000000, + phase: 1.5707774772390, + multipliers: [2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091905665206, + phase: 2.0770442796448, + multipliers: [2, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091606472768, + phase: 1.5710630728936, + multipliers: [2, 0, -1, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091129240376, + phase: -2.8877551810557, + multipliers: [0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0091121055359, + phase: 2.8877714627413, + multipliers: [0, 0, 2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089821635758, + phase: 1.5589184469016, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089447549901, + phase: 1.7461792082567, + multipliers: [2, 0, -3, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089014344912, + phase: 1.5727843389732, + multipliers: [4, 0, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0089000068391, + phase: 1.5716010170201, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0087998793132, + phase: 2.1004448379034, + multipliers: [0, 0, 1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086883213624, + phase: -0.2721752635799, + multipliers: [0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0086129361938, + phase: 2.6039452678203, + multipliers: [2, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0085300000000, + phase: -1.5708101148960, + multipliers: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0084384727487, + phase: 2.0772455553005, + multipliers: [2, 0, -1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083866412218, + phase: -1.5704158497587, + multipliers: [2, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083328350520, + phase: 2.5734120968229, + multipliers: [2, 0, -1, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0083238695041, + phase: -1.5752051413088, + multipliers: [2, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0082554262942, + phase: -1.5705254970896, + multipliers: [2, 0, 1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081309044267, + phase: -1.9730590281911, + multipliers: [2, 0, -1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081254775519, + phase: 1.9730491560240, + multipliers: [2, 0, 1, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0081043023534, + phase: 1.7567886117807, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0080750077939, + phase: -1.3966492690571, + multipliers: [4, 0, -2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0080143500657, + phase: -3.1268567264581, + multipliers: [2, 0, -1, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079337432732, + phase: 0.2803710627878, + multipliers: [0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0079027973660, + phase: -1.2899845329111, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078523927502, + phase: 2.9827680005832, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078460202886, + phase: 1.5593137135833, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078400000000, + phase: -1.5708085440997, + multipliers: [2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078313950901, + phase: -2.9834961137071, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078280646747, + phase: -2.8611602383681, + multipliers: [2, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078217834220, + phase: 2.8612284704668, + multipliers: [2, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0078038869586, + phase: -2.9157324467361, + multipliers: [2, 0, -1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076450667512, + phase: 2.0959201755152, + multipliers: [0, 0, 1, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0076035786342, + phase: 1.5628649021345, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075771555623, + phase: -3.1375762619177, + multipliers: [2, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075537592242, + phase: 1.5719575410934, + multipliers: [0, 0, 1, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075468973167, + phase: -2.0836475844596, + multipliers: [0, 0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0075069594687, + phase: -1.5709993408108, + multipliers: [0, 0, 2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074500000000, + phase: -1.5707802697658, + multipliers: [2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0074309410899, + phase: -2.0338401655136, + multipliers: [0, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072419808324, + phase: 1.5563369428377, + multipliers: [0, 0, 1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0072048353620, + phase: -1.5576767388297, + multipliers: [0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0071154678342, + phase: 1.5730391107082, + multipliers: [4, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070910998915, + phase: -1.0527558435780, + multipliers: [2, 0, -1, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070847542531, + phase: -2.0988331691199, + multipliers: [0, 0, 1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0070197045354, + phase: -1.6585566151932, + multipliers: [2, 0, -1, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0069178847748, + phase: 0.0407904395894, + multipliers: [2, -2, -1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068467038946, + phase: 1.5479393672659, + multipliers: [0, 0, 2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0068038524220, + phase: -3.1007264410997, + multipliers: [2, -2, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0066954745217, + phase: 2.0744804287509, + multipliers: [0, 0, 1, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0066406942523, + phase: -1.5705898699145, + multipliers: [2, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065825815220, + phase: 1.5685001061981, + multipliers: [0, 0, 2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065815552428, + phase: 1.5710871729394, + multipliers: [0, 0, 2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065800000000, + phase: 1.5707795716341, + multipliers: [2, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064415138895, + phase: 1.5707225637876, + multipliers: [2, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064220634716, + phase: -2.5097865224196, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063362273686, + phase: 1.5723226047130, + multipliers: [0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063302268362, + phase: 1.5717360962148, + multipliers: [0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0063074606552, + phase: 3.1395707953093, + multipliers: [0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062864230364, + phase: -1.5638450203565, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062509246775, + phase: 1.6999252164698, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0062100000000, + phase: -1.5708038317107, + multipliers: [2, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061658814561, + phase: 1.5708179160261, + multipliers: [2, 0, -1, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061615254725, + phase: 3.0470583553995, + multipliers: [1, 1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0061367549131, + phase: 0.2257370235959, + multipliers: [2, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059170543584, + phase: 1.5654724476665, + multipliers: [0, 0, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0059063015285, + phase: -2.9118165984212, + multipliers: [0, 0, 1, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058860542738, + phase: -1.7330057416842, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057920392112, + phase: 1.5593409250348, + multipliers: [2, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057855942534, + phase: -1.5524978380809, + multipliers: [0, 0, 2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057711855533, + phase: 1.7334688796878, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057635191030, + phase: 1.5711392446882, + multipliers: [2, 0, -2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0057257183372, + phase: -1.5541311666514, + multipliers: [2, 0, -1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0056668757413, + phase: -3.1036515962983, + multipliers: [2, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055904133977, + phase: -1.5244897899921, + multipliers: [2, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055859951427, + phase: -2.9078250042955, + multipliers: [2, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055620163307, + phase: 1.5713819466923, + multipliers: [0, 0, 1, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055429396431, + phase: 2.9041140920734, + multipliers: [2, 0, 0, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0055062924487, + phase: 1.5706648548748, + multipliers: [1, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054960466610, + phase: 1.5847563756459, + multipliers: [2, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054955163866, + phase: 0.1442569431402, + multipliers: [0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054625161322, + phase: -0.0309975602773, + multipliers: [2, 0, -2, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054443186877, + phase: -2.0732809527482, + multipliers: [2, 0, -1, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0054093746395, + phase: 1.5711537963936, + multipliers: [0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053963327064, + phase: 2.4538957552712, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053880699295, + phase: -1.0284949221373, + multipliers: [0, 0, 1, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053861480838, + phase: 0.3095345397277, + multipliers: [2, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053833397695, + phase: 1.0285113589473, + multipliers: [0, 0, 1, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053792584964, + phase: -0.3095501925680, + multipliers: [2, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053635290751, + phase: 0.2603359668470, + multipliers: [0, 0, 2, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053484592960, + phase: -0.5692136701429, + multipliers: [0, 0, 1, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053484391130, + phase: 1.5593125689260, + multipliers: [2, 0, -1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053112617388, + phase: 0.3937540468203, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052112265103, + phase: 0.6891609347223, + multipliers: [2, 0, -2, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0051829232167, + phase: -1.5708267952993, + multipliers: [2, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050589134875, + phase: -1.9734424954693, + multipliers: [2, 0, -2, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050499617861, + phase: 0.0893720553228, + multipliers: [3, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050496371005, + phase: -2.7025033926224, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050432776610, + phase: 1.5693755251294, + multipliers: [0, 0, 0, 0, 0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0050174940504, + phase: 1.9733239258491, + multipliers: [2, 0, 0, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049782480487, + phase: -1.7085108785866, + multipliers: [2, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049427519540, + phase: 1.5703374368187, + multipliers: [4, 0, -2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0049121417251, + phase: 1.5705502292728, + multipliers: [4, 0, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048906088548, + phase: 3.0876803914432, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048800000000, + phase: 1.5708071478363, + multipliers: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048244938157, + phase: -3.1005686111480, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0048088695972, + phase: -1.5371526029901, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047156158549, + phase: 3.1233329760878, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046866297830, + phase: -3.1301696648256, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046492154045, + phase: 1.8659902493986, + multipliers: [0, 0, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046469956229, + phase: -0.2607090844849, + multipliers: [0, 0, 0, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046255111858, + phase: -1.1141788210924, + multipliers: [0, 0, 1, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046121131751, + phase: -3.0864451199809, + multipliers: [2, 0, -1, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0046040827860, + phase: 1.1136212530116, + multipliers: [0, 0, 1, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045841899738, + phase: -1.5950008089399, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045824775511, + phase: -2.0857687685545, + multipliers: [2, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045453993319, + phase: 1.5571116160078, + multipliers: [2, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0045171121772, + phase: 2.9041343201004, + multipliers: [0, 0, 2, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044947521692, + phase: -1.5687848817920, + multipliers: [2, -2, -1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044819112007, + phase: -0.5628928420668, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044700000000, + phase: 1.5707961522620, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044638922880, + phase: 3.1311386381392, + multipliers: [0, 0, 1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044359282230, + phase: 2.4558402192711, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044333298225, + phase: 0.0329948323131, + multipliers: [2, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0044081777084, + phase: 0.4052245548297, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043903675415, + phase: 1.5711293447777, + multipliers: [0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043777607921, + phase: -1.5743819861898, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043666534216, + phase: 1.3507940447191, + multipliers: [2, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043599210215, + phase: -3.1036636589698, + multipliers: [2, 0, -1, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043424015953, + phase: -2.9082498309445, + multipliers: [0, 0, 1, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043287152005, + phase: 1.5717336375664, + multipliers: [2, 0, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043281005185, + phase: 3.1310493918286, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043161791874, + phase: -0.3411762678430, + multipliers: [2, 0, -1, 0, 0, 0, 10, -19, 0, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043155454777, + phase: 0.3411804856986, + multipliers: [2, 0, -1, 0, 0, 0, -10, 19, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043134331036, + phase: -1.0021886847628, + multipliers: [2, 0, -1, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0043045132590, + phase: 0.2496412509751, + multipliers: [2, 0, -1, 0, 0, 0, -3, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042950558477, + phase: -3.0871841736332, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042910891863, + phase: 1.0022578164920, + multipliers: [2, 0, -1, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042487815880, + phase: 2.5857010109302, + multipliers: [2, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042400000002, + phase: -1.5707978045619, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042370131485, + phase: 0.6902305547072, + multipliers: [0, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042354210700, + phase: -0.0667710924792, + multipliers: [2, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042202452654, + phase: 1.5717761200302, + multipliers: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042117585165, + phase: 1.5705528492802, + multipliers: [2, 0, -1, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042114657749, + phase: -1.0070204193588, + multipliers: [2, 0, 0, 0, 0, -3, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0042093777774, + phase: -1.5699963442533, + multipliers: [2, 0, -2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041810932665, + phase: 1.0071929169176, + multipliers: [2, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041116293336, + phase: -1.8651212728018, + multipliers: [0, 0, 1, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041097956527, + phase: 2.6118567635456, + multipliers: [2, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0041075472119, + phase: 2.5040936573954, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040818046230, + phase: -2.0932204790469, + multipliers: [2, 0, -1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040297916523, + phase: -1.7939370673240, + multipliers: [2, 0, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0040119287956, + phase: 1.5282701516160, + multipliers: [4, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039996029065, + phase: -1.5711262248488, + multipliers: [2, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039872780820, + phase: 2.5854340464838, + multipliers: [2, 0, -1, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039819043237, + phase: -2.5313537474600, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039637238747, + phase: -2.3027413227716, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039366995289, + phase: 2.8902008880487, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039127003850, + phase: -0.2513276628523, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039125737099, + phase: 0.1833799976187, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039106160851, + phase: 1.5707955486742, + multipliers: [0, 0, 1, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038900000000, + phase: 1.5708052279741, + multipliers: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038875552585, + phase: 2.2898087953643, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038671268789, + phase: -1.3971804850434, + multipliers: [4, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038626740227, + phase: -1.6250899534674, + multipliers: [0, 0, 1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038416666043, + phase: 1.8204682772653, + multipliers: [2, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038173318693, + phase: 2.5255234001220, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0038091123804, + phase: 0.4369473710505, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037914955719, + phase: 0.0002170945692, + multipliers: [1, 0, -2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037784626460, + phase: 0.3638207359366, + multipliers: [0, 0, 1, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037736111653, + phase: -2.7268358083017, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037715923510, + phase: -1.5646509224344, + multipliers: [2, 0, -1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037651040997, + phase: -2.0340645417842, + multipliers: [1, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037504227754, + phase: 2.0340735614349, + multipliers: [1, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0037254134161, + phase: 2.6137485373902, + multipliers: [0, 0, 1, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036996905318, + phase: -1.5691826176891, + multipliers: [4, 0, -3, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036769611547, + phase: 1.1075192238176, + multipliers: [4, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036531887672, + phase: -0.3661236523174, + multipliers: [0, 0, 1, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036515923709, + phase: 2.4526490388590, + multipliers: [0, 0, 2, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0036041231947, + phase: -1.3727031793050, + multipliers: [2, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035883354333, + phase: -1.1075127735988, + multipliers: [4, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035722662977, + phase: -2.9022408518937, + multipliers: [2, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035666021445, + phase: 1.6007427481895, + multipliers: [2, 0, 1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035388143474, + phase: 3.1197184940815, + multipliers: [2, 0, 1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035262145219, + phase: 2.9004343137215, + multipliers: [2, 0, -1, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035056285480, + phase: -2.6176642231943, + multipliers: [0, 0, 1, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034976477329, + phase: 1.5708252755268, + multipliers: [0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034970537049, + phase: -1.9250154648748, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034938930921, + phase: -1.5581342653395, + multipliers: [1, 0, -1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034805018895, + phase: -2.7506730562640, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034667072240, + phase: -1.3959005358138, + multipliers: [4, 0, -3, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034411445239, + phase: 1.8477922100621, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034372510175, + phase: -1.8481061504316, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034371992622, + phase: 1.1115311557850, + multipliers: [2, 0, 0, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034300000000, + phase: -1.5708169216801, + multipliers: [0, 1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034209094899, + phase: 0.2368087310488, + multipliers: [0, 0, 0, 0, 0, 18, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034118294205, + phase: -1.2398773067516, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034082970421, + phase: 1.5829334540107, + multipliers: [1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0034036238702, + phase: -1.3112124468832, + multipliers: [2, 0, -1, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033805868424, + phase: -2.0703036288414, + multipliers: [2, 0, -1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033687689837, + phase: -0.3411727873773, + multipliers: [2, 0, 0, 0, 0, 0, 10, -19, 0, 3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033678563427, + phase: 0.3411826930551, + multipliers: [2, 0, 0, 0, 0, 0, -10, 19, 0, -3, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033491668680, + phase: -0.0863918583874, + multipliers: [1, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033384918908, + phase: 0.0075241765550, + multipliers: [1, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033368172477, + phase: -1.1644969593969, + multipliers: [2, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033178915101, + phase: -1.1754311108497, + multipliers: [2, 0, -1, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033102662828, + phase: -3.0550043949027, + multipliers: [3, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032957239771, + phase: 2.6072728071164, + multipliers: [2, 0, -1, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032719395794, + phase: -3.1364460719792, + multipliers: [1, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032557814197, + phase: 0.2135545096443, + multipliers: [0, 0, 1, 0, 0, 0, -3, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032389415376, + phase: -2.0641270218485, + multipliers: [2, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032121142720, + phase: 1.8182926636184, + multipliers: [2, 0, -1, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032084699063, + phase: -1.0680902798422, + multipliers: [0, 0, 1, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032082153419, + phase: 1.5666147694681, + multipliers: [2, 0, -1, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032076279217, + phase: -2.3809009830639, + multipliers: [0, 0, 2, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032064187121, + phase: 1.1742220303099, + multipliers: [2, 0, -1, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0032028848864, + phase: 2.3880308091788, + multipliers: [0, 0, 2, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031875423204, + phase: 1.1611577270060, + multipliers: [2, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031734406937, + phase: -1.6986512059098, + multipliers: [2, 0, -1, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031450006688, + phase: -1.6622410624770, + multipliers: [0, 0, 1, 0, 0, 0, -5, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031335110019, + phase: -1.8159355511517, + multipliers: [1, 1, 0, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031124289412, + phase: -1.1627461175130, + multipliers: [2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031104683701, + phase: 1.5607898966245, + multipliers: [4, 0, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031005774802, + phase: 0.0917849268325, + multipliers: [1, -1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030922271462, + phase: -1.5643029692045, + multipliers: [2, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030705489399, + phase: -3.0498400559578, + multipliers: [1, -1, -2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030623144168, + phase: -1.5714573278715, + multipliers: [2, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030541503476, + phase: 1.5627321831001, + multipliers: [0, 0, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030294852761, + phase: -0.4314423110693, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030292617223, + phase: -0.0267791731058, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030289595431, + phase: -1.9129140453183, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030274666181, + phase: -3.1206497777069, + multipliers: [0, 0, 2, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030181274721, + phase: 2.8639721482124, + multipliers: [2, 0, 0, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030055638820, + phase: 1.0684189313747, + multipliers: [1, 0, 1, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0030055638820, + phase: -2.0731737222151, + multipliers: [1, 0, -1, 0, 0, 0, -34, 41, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029920503942, + phase: 3.1276459819188, + multipliers: [0, 0, 1, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029900000000, + phase: 1.5708116856923, + multipliers: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029814666929, + phase: -1.9165931335375, + multipliers: [2, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029779065698, + phase: -2.0926310050686, + multipliers: [0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029694821568, + phase: 0.4529038161258, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029688175123, + phase: 0.4125316601494, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029667488017, + phase: -0.0242577245956, + multipliers: [0, 0, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029652212181, + phase: -1.5708944619693, + multipliers: [2, -2, -1, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029585189420, + phase: 1.5729752672298, + multipliers: [2, 0, 1, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029414767157, + phase: 3.1317019611349, + multipliers: [2, 0, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029140079915, + phase: -1.6771496353793, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029064433347, + phase: -1.5561889092276, + multipliers: [2, 0, -2, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0029061613172, + phase: 1.5702243395460, + multipliers: [2, 0, -1, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028865196521, + phase: -1.5716234437129, + multipliers: [2, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028863713896, + phase: -3.1226406148854, + multipliers: [0, 0, 1, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028658636880, + phase: 0.3131789683040, + multipliers: [2, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028598412722, + phase: -2.9105747286512, + multipliers: [2, 0, -1, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028562228542, + phase: -0.0600714669013, + multipliers: [2, 0, -1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028514042762, + phase: -1.5291579167889, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028277297186, + phase: -2.0340674572529, + multipliers: [0, 2, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028242902410, + phase: -3.1032393818233, + multipliers: [2, 0, -1, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028106285979, + phase: -2.5807816020733, + multipliers: [2, 0, -1, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028100000000, + phase: 1.5707586276831, + multipliers: [2, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028096731770, + phase: 3.1148754952880, + multipliers: [0, 0, 2, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0028020772502, + phase: -1.2418369463542, + multipliers: [2, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027900000000, + phase: 1.5707760809756, + multipliers: [0, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027860226920, + phase: 3.1086242310625, + multipliers: [2, 0, 0, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027841626988, + phase: -1.5634604570941, + multipliers: [0, 0, 1, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027654621649, + phase: 1.5706289791270, + multipliers: [0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027631406829, + phase: -1.5632192780248, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027523136147, + phase: -0.7480142300305, + multipliers: [2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027483477625, + phase: 2.5194819493514, + multipliers: [2, 0, 1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027315031884, + phase: 0.3055282458559, + multipliers: [2, 0, -1, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027305994930, + phase: 1.5704816583209, + multipliers: [0, 0, 1, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0027028319935, + phase: -1.5694472552939, + multipliers: [0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026966957366, + phase: -1.5664462085944, + multipliers: [2, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026724362488, + phase: -0.0343193104595, + multipliers: [2, 0, -2, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026680471430, + phase: 1.6808742474785, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026670845038, + phase: 2.0340798599847, + multipliers: [0, 2, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026551549685, + phase: 1.5622251066171, + multipliers: [0, 0, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026400144241, + phase: -1.3682436532351, + multipliers: [2, 0, -1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026221132548, + phase: 2.6144454920777, + multipliers: [0, 0, 1, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026200374500, + phase: 1.5847375985176, + multipliers: [2, 0, -1, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0026195159588, + phase: -0.0252670977028, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025699995960, + phase: 1.5719071698220, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025692091947, + phase: 1.4783630099444, + multipliers: [0, 0, 1, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025680741087, + phase: 1.5713451905103, + multipliers: [2, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025474756178, + phase: 1.7320865398169, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025364043929, + phase: -3.1030809467920, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025198492114, + phase: -1.7561256022687, + multipliers: [1, -1, -1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025041051908, + phase: 1.0596355276477, + multipliers: [2, 0, -1, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025039862098, + phase: 1.2941733899509, + multipliers: [2, 0, -1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0025006310868, + phase: 1.5615878473181, + multipliers: [2, 0, -1, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024910328428, + phase: 1.3856887254495, + multipliers: [1, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024832677614, + phase: -1.1029374507889, + multipliers: [0, 0, 1, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024468998967, + phase: -1.5701041407134, + multipliers: [4, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024243255974, + phase: 1.1075131682754, + multipliers: [0, 0, 4, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024230211567, + phase: -1.5741289019610, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0024062815559, + phase: -2.5965649729570, + multipliers: [2, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023896474479, + phase: 1.6306573926420, + multipliers: [0, 0, 1, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023560073515, + phase: -2.8517851190912, + multipliers: [4, 0, -1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023538172789, + phase: 2.8517974350859, + multipliers: [4, 0, -1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023234941512, + phase: -1.5718264899743, + multipliers: [2, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023114190411, + phase: 2.8639894476076, + multipliers: [2, 0, -1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023096002491, + phase: -2.0645333035710, + multipliers: [2, 0, -2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022745434561, + phase: -1.1074990164898, + multipliers: [0, 0, 2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022706563738, + phase: -2.2845752584279, + multipliers: [2, 0, 1, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022687790990, + phase: -1.7644602613625, + multipliers: [2, 0, -1, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022663972870, + phase: -2.5927347867021, + multipliers: [0, 0, 1, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022568429424, + phase: 2.8153755257045, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022560524458, + phase: -1.9500305265117, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022534800678, + phase: 0.3610876219502, + multipliers: [1, 1, -1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022442370808, + phase: -2.8783493164146, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022315818884, + phase: -1.6000402940100, + multipliers: [1, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022300000000, + phase: 1.5707692741915, + multipliers: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022133783238, + phase: 1.6144910818719, + multipliers: [0, 0, 1, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022128740519, + phase: -0.6331083179139, + multipliers: [2, 0, -2, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022128249336, + phase: 0.2323163781690, + multipliers: [3, -1, -1, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022125536357, + phase: -0.0120825866478, + multipliers: [2, 0, -2, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022001862381, + phase: 1.3256212363279, + multipliers: [1, 1, -2, 0, 0, -20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022000000000, + phase: -1.5708239029971, + multipliers: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021900000000, + phase: -1.5707889964120, + multipliers: [2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021812488520, + phase: 1.5704580000228, + multipliers: [0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021800000000, + phase: 1.5707711940537, + multipliers: [0, 1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021725687217, + phase: -2.0327432024604, + multipliers: [2, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021708831375, + phase: -0.1063122307943, + multipliers: [2, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021513223463, + phase: 2.3250346663335, + multipliers: [2, 0, 1, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021416533718, + phase: -2.9110129220080, + multipliers: [0, 0, 1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021375312343, + phase: 2.8700052320951, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021362725676, + phase: 2.4522239849826, + multipliers: [2, 0, 1, 0, 0, -18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021357250360, + phase: -0.5549219276959, + multipliers: [2, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021273066988, + phase: 1.6386134708641, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021234642456, + phase: 0.2375241241757, + multipliers: [2, 0, -1, 0, 0, 18, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021220642339, + phase: 3.0922287800905, + multipliers: [2, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021183934000, + phase: -1.5370306359338, + multipliers: [2, 0, 0, 0, 0, -18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021000000000, + phase: -1.2593126511793, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020912839953, + phase: 0.0512549992530, + multipliers: [2, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020790612358, + phase: -2.7378737213751, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020771035049, + phase: -1.5683818369383, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020716967088, + phase: -1.5729578083818, + multipliers: [1, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020663953537, + phase: 3.0661046245820, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020643782095, + phase: 0.0421164550492, + multipliers: [2, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020585907275, + phase: -0.3262930337081, + multipliers: [2, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020585855044, + phase: 0.2858775738275, + multipliers: [1, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020567202553, + phase: -0.3079401724498, + multipliers: [2, 0, -1, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020537412390, + phase: -0.2861118623681, + multipliers: [1, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020513139622, + phase: -3.1360487760349, + multipliers: [3, 0, -1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020422796827, + phase: -1.5966833413346, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020305779135, + phase: -2.5607135618337, + multipliers: [2, 0, 1, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020302060042, + phase: 3.0910087434688, + multipliers: [2, 0, -1, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020270615562, + phase: -1.1556607011404, + multipliers: [2, 0, -1, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020251656956, + phase: 1.5698580240135, + multipliers: [2, 0, -1, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020177493490, + phase: -3.0599794260446, + multipliers: [2, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0020123825173, + phase: 2.5597969637892, + multipliers: [2, 0, 1, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019981611910, + phase: 2.6948327498276, + multipliers: [0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019979317999, + phase: 1.5842118430187, + multipliers: [0, 0, 2, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019887350858, + phase: 3.1285479521130, + multipliers: [0, 0, 1, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019634220820, + phase: -1.9081831772968, + multipliers: [2, 0, -1, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019631926936, + phase: -2.5060933312140, + multipliers: [0, 0, 2, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019608628711, + phase: 2.5059948563466, + multipliers: [0, 0, 2, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019603758841, + phase: -1.5677370216342, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019573459473, + phase: 1.5292972866732, + multipliers: [4, 0, -2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019455046277, + phase: -1.5958860975055, + multipliers: [4, 0, -1, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019417499486, + phase: 3.1319025028208, + multipliers: [2, 0, 1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019414251018, + phase: -1.7480053583852, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019395823818, + phase: 3.1180621562018, + multipliers: [0, 0, 2, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019376484829, + phase: -1.2293582299285, + multipliers: [2, 0, -1, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019372602716, + phase: -3.1027721548216, + multipliers: [2, 0, -1, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019300000000, + phase: -1.1662808424613, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019252181815, + phase: -1.5697315127991, + multipliers: [1, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019180561984, + phase: -3.0619892021751, + multipliers: [1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019177600637, + phase: 1.5382585809888, + multipliers: [2, 0, 1, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019154810055, + phase: -2.9150319099985, + multipliers: [2, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019134298735, + phase: -2.5762929630173, + multipliers: [2, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019119292767, + phase: 1.5701713088117, + multipliers: [0, 0, 1, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0019012298853, + phase: -0.1289039743943, + multipliers: [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018961110713, + phase: -3.1326708725144, + multipliers: [0, 0, 1, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018949490969, + phase: 2.6146693897686, + multipliers: [0, 0, 2, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018693458642, + phase: -0.6262480325854, + multipliers: [1, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018648709830, + phase: -1.5707351699798, + multipliers: [2, 0, -2, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018646742637, + phase: 0.0423434092572, + multipliers: [2, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018634200241, + phase: -3.0481914660228, + multipliers: [2, 0, -1, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018408973855, + phase: -1.0682314551711, + multipliers: [1, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018406261147, + phase: -0.1505232166333, + multipliers: [0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018372194576, + phase: 2.6681344104632, + multipliers: [2, 0, -1, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018310716608, + phase: -1.7948807778372, + multipliers: [2, 0, -3, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018278968770, + phase: 0.2715472154712, + multipliers: [0, 0, 1, 0, 0, 0, -8, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018276512879, + phase: -0.2715590413077, + multipliers: [0, 0, 1, 0, 0, 0, 8, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018269694171, + phase: 2.9566157458738, + multipliers: [2, 0, -1, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018100000000, + phase: -1.5708209359374, + multipliers: [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018052342582, + phase: 0.7252844341289, + multipliers: [2, 0, -2, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018043253317, + phase: -1.5729771153794, + multipliers: [2, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0018007437248, + phase: 0.3842048151369, + multipliers: [2, 0, -1, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017989091496, + phase: -1.9161647321700, + multipliers: [2, 0, -1, 0, 0, 0, -2, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017871859028, + phase: -2.6831309739461, + multipliers: [2, 0, -1, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017777360197, + phase: 1.5764222713006, + multipliers: [0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017700000000, + phase: -1.5707439669173, + multipliers: [2, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017608770533, + phase: 0.5538946643741, + multipliers: [2, 0, -1, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017600000000, + phase: -1.5707827132267, + multipliers: [4, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017559203792, + phase: -2.8695269131395, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017515430399, + phase: 0.5649502992092, + multipliers: [2, 0, -2, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017511916513, + phase: -1.5723322792257, + multipliers: [2, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017440441556, + phase: -1.8081930550644, + multipliers: [0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017334733113, + phase: -0.6437111158105, + multipliers: [2, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017277585702, + phase: -1.5645697953362, + multipliers: [0, 0, 2, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017261961393, + phase: 1.0774637522863, + multipliers: [2, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017243741281, + phase: 1.5702891546059, + multipliers: [0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017077451812, + phase: 2.5966113749046, + multipliers: [2, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017069255033, + phase: 0.0013796057666, + multipliers: [2, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016798213788, + phase: 2.7481526064416, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016789555159, + phase: -1.5692214887783, + multipliers: [0, 0, 2, 0, 0, -21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016785349102, + phase: -0.3934382397445, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016560345365, + phase: -2.4124174167851, + multipliers: [0, 0, 1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016539828711, + phase: 0.5393775311053, + multipliers: [2, 0, -2, 0, 0, -8, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016393303833, + phase: -0.5392870184578, + multipliers: [2, 0, -2, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016308845089, + phase: 1.5192026717790, + multipliers: [0, 0, 2, 0, 0, -15, 9, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016230642963, + phase: -1.5208177508319, + multipliers: [0, 0, 0, 0, 0, 15, -9, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016218995245, + phase: 0.0425204284474, + multipliers: [2, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016196554554, + phase: 1.1075154108592, + multipliers: [4, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016100000000, + phase: 1.5707912653401, + multipliers: [2, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016098241487, + phase: -3.1162327014413, + multipliers: [2, 0, -2, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015998309394, + phase: -0.7912914194338, + multipliers: [2, 0, -1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015994351503, + phase: -1.1075076103620, + multipliers: [4, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015990350323, + phase: 1.6160391975097, + multipliers: [0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015866548733, + phase: -1.9727199037914, + multipliers: [0, 0, 1, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015775472688, + phase: 1.1078000228373, + multipliers: [4, 0, -1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015759829805, + phase: -2.5825612959076, + multipliers: [2, 0, -1, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015757189329, + phase: 1.5273149291143, + multipliers: [4, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015740952179, + phase: 1.9726013335266, + multipliers: [0, 0, 3, 0, 0, -10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015659897315, + phase: -3.1098217321487, + multipliers: [0, 0, 1, 0, 0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015577534887, + phase: -2.0400787248300, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015501524666, + phase: -3.1091177629379, + multipliers: [0, 0, 0, 0, 0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015481382405, + phase: 0.1421907159653, + multipliers: [2, 0, -1, 0, 0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015393815011, + phase: 1.3455446312258, + multipliers: [4, 0, -2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015387958733, + phase: -1.5716523050920, + multipliers: [4, 0, -1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015333158330, + phase: 2.8628790411418, + multipliers: [0, 0, 1, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015320719587, + phase: -3.0880486949087, + multipliers: [2, 0, -1, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015264015754, + phase: -1.2037404581572, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015231039170, + phase: -3.1212775404662, + multipliers: [0, 0, 2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015228601279, + phase: -2.5931821108315, + multipliers: [0, 0, 2, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015209138572, + phase: 3.0367786760002, + multipliers: [2, 0, -2, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015200000000, + phase: 1.5707741611134, + multipliers: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015200000000, + phase: -1.5708184924764, + multipliers: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015135480541, + phase: 0.1837633418766, + multipliers: [1, -1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015130971213, + phase: 0.2602811495121, + multipliers: [2, 0, 1, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015130640838, + phase: 0.8334739877061, + multipliers: [0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015046698143, + phase: 0.0455595303857, + multipliers: [2, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015013362255, + phase: 3.1099069099218, + multipliers: [4, 0, -1, 0, 0, -20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015006048139, + phase: -1.7226349090330, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0015005378898, + phase: 1.7226402796643, + multipliers: [2, 0, -2, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014975052382, + phase: -0.2601805727451, + multipliers: [2, 0, -1, 0, 0, 26, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014900000000, + phase: 1.5707825386938, + multipliers: [4, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014840360517, + phase: 1.0944979345214, + multipliers: [0, 0, 1, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014822101348, + phase: -1.1075113199143, + multipliers: [4, 0, -3, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014553063554, + phase: -2.9578033171671, + multipliers: [1, -1, -1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014552063322, + phase: 1.7465570555735, + multipliers: [2, -2, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014511862031, + phase: 1.1075149317498, + multipliers: [2, 0, 3, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014496656524, + phase: 1.5617527941893, + multipliers: [4, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014449559702, + phase: -1.3932889463207, + multipliers: [2, 0, 1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014228335251, + phase: 0.0851121522502, + multipliers: [2, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014147265674, + phase: 1.5694791372073, + multipliers: [2, 0, -1, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014139230298, + phase: 2.6944063210724, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -1, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014137389045, + phase: -2.6944769096425, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 1, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014100171484, + phase: 1.5753657541529, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014070013780, + phase: 3.1193013510146, + multipliers: [2, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014053910786, + phase: 2.3874886882167, + multipliers: [2, 0, -1, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014004387274, + phase: -1.1075238464627, + multipliers: [2, 0, 1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013799659492, + phase: 0.0426275354028, + multipliers: [2, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013703270140, + phase: 1.5701106561290, + multipliers: [0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013680492913, + phase: -3.1023974539429, + multipliers: [2, 0, -1, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013620550508, + phase: 2.8374649583403, + multipliers: [0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013618890119, + phase: 3.1084348030984, + multipliers: [2, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013600000000, + phase: -0.8013419206474, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013577085754, + phase: 3.1354692670505, + multipliers: [1, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013570103166, + phase: -0.5929911081109, + multipliers: [0, 0, 1, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013514172346, + phase: -1.3753586227384, + multipliers: [2, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013447875740, + phase: 1.5698676582608, + multipliers: [0, 0, 1, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013438264427, + phase: -3.1046425267516, + multipliers: [2, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013395039044, + phase: 0.6695635749920, + multipliers: [2, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013354002368, + phase: 2.9041102483898, + multipliers: [2, 0, 2, 0, 0, -18, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013279191165, + phase: 1.0881242613888, + multipliers: [0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013269646349, + phase: -3.0245213982400, + multipliers: [2, 0, 1, 0, 0, 0, -2, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013250055224, + phase: -1.5712449908711, + multipliers: [4, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013238302112, + phase: -0.2024978571283, + multipliers: [2, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013237732203, + phase: 3.0786351735377, + multipliers: [2, 0, -1, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013211516131, + phase: -0.0185620739512, + multipliers: [2, 0, -1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013203696993, + phase: 3.0440269841548, + multipliers: [1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013134405231, + phase: -1.5728055553127, + multipliers: [2, 0, 0, 0, 0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0013019455977, + phase: 1.5722915409601, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012982985229, + phase: -1.5589303202577, + multipliers: [1, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012975004898, + phase: -2.0316158908538, + multipliers: [2, 0, -2, 0, 0, -15, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012948415779, + phase: -2.9086440597763, + multipliers: [1, -1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012924142812, + phase: -2.8469466761096, + multipliers: [4, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012910282446, + phase: 2.8469842439975, + multipliers: [4, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012832090815, + phase: 1.5729975307738, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012793440737, + phase: 2.6881788812222, + multipliers: [2, 0, -1, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012781405635, + phase: -1.4116514466266, + multipliers: [0, 0, 1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012778856907, + phase: -1.3101768994222, + multipliers: [2, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012741457913, + phase: 1.3910528318238, + multipliers: [0, 0, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012722045353, + phase: 2.1946268285239, + multipliers: [0, 0, 1, 0, 0, 0, 8, -16, 6, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012714458707, + phase: -2.1946484612998, + multipliers: [0, 0, 1, 0, 0, 0, -8, 16, -6, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012710603183, + phase: -2.9395205597411, + multipliers: [2, 0, 0, 0, 0, 0, -2, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012710032750, + phase: -2.5378004728433, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012688784810, + phase: 1.6011353111021, + multipliers: [2, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012659318488, + phase: -0.4227931196612, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012600000000, + phase: 0.0990851341625, + multipliers: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012501574470, + phase: 0.9772765825390, + multipliers: [2, 0, -2, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012452860537, + phase: -2.9007570169882, + multipliers: [0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012432739331, + phase: 2.9058094908782, + multipliers: [1, -1, -1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012410215166, + phase: 1.5597354011121, + multipliers: [4, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012399984290, + phase: -0.0065093144998, + multipliers: [1, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012323539662, + phase: 0.0501143041720, + multipliers: [2, 0, -2, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012272233413, + phase: -1.5703133020424, + multipliers: [4, 0, -3, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012241823772, + phase: -1.5702181842035, + multipliers: [4, 0, -2, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012231019610, + phase: -2.3973351879005, + multipliers: [2, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012202607426, + phase: 3.0579610566216, + multipliers: [1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012201642051, + phase: 1.1634001091138, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012033138231, + phase: -2.6417334672325, + multipliers: [0, 0, 1, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012029970300, + phase: -1.5839561047927, + multipliers: [1, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011985413358, + phase: -0.4011481584121, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011984574962, + phase: 0.4011670781758, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011917882632, + phase: -3.1319244303798, + multipliers: [3, 0, -2, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011895723262, + phase: -2.0900140541130, + multipliers: [0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011857708140, + phase: -2.5937439583882, + multipliers: [2, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011830294696, + phase: -2.6846633213424, + multipliers: [2, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011821189543, + phase: 1.6962716309206, + multipliers: [2, 0, -1, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011807697503, + phase: -2.0150270220621, + multipliers: [2, 0, -1, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011801869608, + phase: 0.0322963751255, + multipliers: [2, 0, -2, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011629517505, + phase: 0.2329017101335, + multipliers: [1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011611524199, + phase: -0.2361364414222, + multipliers: [1, -1, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011607915875, + phase: 2.6379042199891, + multipliers: [0, 0, 1, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011526345229, + phase: -0.6371736806112, + multipliers: [2, 0, -1, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011507676226, + phase: -2.6871958721338, + multipliers: [2, 0, -1, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011506131524, + phase: -1.8114174421334, + multipliers: [2, 0, 1, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011500000000, + phase: 1.5708123838240, + multipliers: [2, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011496347131, + phase: -1.5697347699038, + multipliers: [1, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011477111910, + phase: 0.0425457781198, + multipliers: [2, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011423111598, + phase: -2.8897585983600, + multipliers: [0, 0, 1, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011175452366, + phase: -0.2336866473017, + multipliers: [1, 1, -1, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011172161898, + phase: 3.1063929581764, + multipliers: [2, 0, -1, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011143897348, + phase: -1.0734407534621, + multipliers: [2, 0, 0, 0, 0, 0, -9, 16, -4, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011142237098, + phase: -1.6165477697139, + multipliers: [2, 0, 0, 0, 0, 0, 7, -16, 4, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011124099741, + phase: 0.0095639917255, + multipliers: [2, 0, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011119848850, + phase: 3.1111624779458, + multipliers: [4, 0, -1, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011092430171, + phase: 1.3384106300069, + multipliers: [2, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011048034257, + phase: -0.2469314071819, + multipliers: [2, 0, -1, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011000000000, + phase: 3.0508880668966, + multipliers: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011000000000, + phase: -0.0896076472584, + multipliers: [1, 1, -2, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010992229173, + phase: 1.6107808833070, + multipliers: [4, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010966906158, + phase: 1.5699734249201, + multipliers: [0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010908604293, + phase: 1.9360299570305, + multipliers: [0, 0, 1, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010900003231, + phase: -1.5685814513790, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010900000000, + phase: -1.5708027845131, + multipliers: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010881081635, + phase: -1.4994231042043, + multipliers: [2, 0, -2, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010868974802, + phase: 1.5811976566607, + multipliers: [2, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010850858623, + phase: 0.8700913833545, + multipliers: [2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010819653373, + phase: 1.7487984439596, + multipliers: [2, 0, -1, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010803740294, + phase: 0.0465188871227, + multipliers: [2, 0, -1, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010722218073, + phase: 1.3570442710369, + multipliers: [2, 0, -2, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010699961414, + phase: 3.0513786228992, + multipliers: [1, -1, 1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010659978475, + phase: -1.5393638690772, + multipliers: [2, 0, -2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010625687959, + phase: 1.9256650983315, + multipliers: [0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010602129139, + phase: 1.7825342391290, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010601239183, + phase: 0.2599619621824, + multipliers: [2, 0, 0, 0, 0, -26, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010527540997, + phase: -2.1181561887879, + multipliers: [2, 0, -1, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010418131549, + phase: -1.6048247977512, + multipliers: [0, 0, 1, 0, 0, 0, -2, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010402369816, + phase: 2.6215539433855, + multipliers: [0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010397532082, + phase: -2.4166071245381, + multipliers: [2, 0, 0, 0, 0, -12, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010392305152, + phase: -2.9177865012437, + multipliers: [2, 0, 1, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010321189516, + phase: 1.6707051734902, + multipliers: [2, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010313229985, + phase: -1.6831402549373, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010266668394, + phase: 1.5721983618911, + multipliers: [2, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010258602676, + phase: -1.7397489665569, + multipliers: [2, 0, -1, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010196281929, + phase: 0.9521000769717, + multipliers: [2, 0, -1, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010165041438, + phase: -0.8548497924612, + multipliers: [2, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010078398485, + phase: -1.5705020196084, + multipliers: [2, 0, -2, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010057892057, + phase: -0.9942301064226, + multipliers: [2, 0, -2, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010020648432, + phase: 1.9158924102586, + multipliers: [2, 0, -1, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for DISTANCE T^1 (53 of 1165 terms) +const PERT_DISTANCE_T1: &[PertTerm] = &[ + PertTerm { + amplitude: 0.5139500000000, + phase: 1.5707963267949, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3824500000000, + phase: 1.5707963267949, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.3265400000000, + phase: 1.5707963267949, + multipliers: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.2639600000000, + phase: -1.5707963267949, + multipliers: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.1230200000000, + phase: -1.5707963267949, + multipliers: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0775400000000, + phase: -1.5707963267949, + multipliers: [2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0606800000000, + phase: -1.5707963267949, + multipliers: [2, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0497000000000, + phase: 1.5707963267949, + multipliers: [2, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0419400000000, + phase: 1.5707963267949, + multipliers: [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0322200000000, + phase: 1.5707963267949, + multipliers: [2, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0252900000000, + phase: -1.5707963267949, + multipliers: [2, 0, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0249000000000, + phase: 1.5707963267949, + multipliers: [2, 0, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0176400000000, + phase: 1.5707963267949, + multipliers: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0144900000000, + phase: -1.5707963267949, + multipliers: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0136908974704, + phase: -1.5393863453697, + multipliers: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0125684068940, + phase: -0.4312543246346, + multipliers: [0, 0, 2, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0118600000000, + phase: -1.5707963267949, + multipliers: [2, 0, -1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0117840033791, + phase: 0.4312545209206, + multipliers: [0, 0, 0, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0106600000000, + phase: 1.5707963267949, + multipliers: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0099300000000, + phase: 1.5707963267949, + multipliers: [4, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0065800000000, + phase: -1.5707963267949, + multipliers: [2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0064753622006, + phase: -1.5677150651018, + multipliers: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0058700000000, + phase: -1.5707963267949, + multipliers: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0053600000000, + phase: -1.5707963267949, + multipliers: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052279423322, + phase: -1.4492325250608, + multipliers: [0, 0, 1, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0052275372671, + phase: 1.4492333367994, + multipliers: [0, 0, 1, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0047600000000, + phase: 1.5707963267949, + multipliers: [4, 0, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0039400000000, + phase: 1.5707963267949, + multipliers: [4, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035343517043, + phase: -0.4312710413935, + multipliers: [2, 0, 1, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0035161394648, + phase: 0.4312731330620, + multipliers: [2, 0, -1, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0033100000000, + phase: 1.5707963267949, + multipliers: [2, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0031000000000, + phase: 1.5707963267949, + multipliers: [2, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023500000000, + phase: 1.5707963267949, + multipliers: [1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023500000000, + phase: -1.5707963267949, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023300000000, + phase: 1.5707963267949, + multipliers: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0023260935648, + phase: -0.4312868243112, + multipliers: [2, 0, 0, 0, 0, -18, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0022062438129, + phase: -0.5083025220785, + multipliers: [2, 0, -1, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021868024777, + phase: 0.4312880492869, + multipliers: [2, 0, -2, 0, 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021400000000, + phase: -1.5707963267949, + multipliers: [1, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0021300000000, + phase: 1.5707963267949, + multipliers: [2, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0017300000000, + phase: -1.5707963267949, + multipliers: [2, 0, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0016500000000, + phase: -1.5707963267949, + multipliers: [2, -2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014878968187, + phase: 0.2703227684151, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014872760676, + phase: -0.2704370988767, + multipliers: [0, 0, 1, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014600000000, + phase: -1.5707963267949, + multipliers: [4, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0014000000000, + phase: 1.5707963267949, + multipliers: [4, 0, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012699402437, + phase: -1.6473814778817, + multipliers: [2, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012688350196, + phase: 1.6473494783994, + multipliers: [2, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012600000000, + phase: -1.5707963267949, + multipliers: [1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0012500000000, + phase: -1.5707963267949, + multipliers: [2, 0, -3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011400000000, + phase: -1.5707963267949, + multipliers: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011200000000, + phase: 1.5707963267949, + multipliers: [2, 0, -1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0010600000000, + phase: 1.5707963267949, + multipliers: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for DISTANCE T^2 (2 of 210 terms) +const PERT_DISTANCE_T2: &[PertTerm] = &[ + PertTerm { + amplitude: 0.0014900000000, + phase: 1.5707963267949, + multipliers: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + PertTerm { + amplitude: 0.0011100000000, + phase: 1.5707963267949, + multipliers: [2, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, +]; + +/// Perturbation terms for DISTANCE T^3 (0 of 2 terms) +const PERT_DISTANCE_T3: &[PertTerm] = &[]; + +/// All perturbation blocks for DISTANCE +pub const PERT_DISTANCE: &[PertBlock] = &[ + PertBlock { + power: 0, + terms: PERT_DISTANCE_T0, + }, + PertBlock { + power: 1, + terms: PERT_DISTANCE_T1, + }, + PertBlock { + power: 2, + terms: PERT_DISTANCE_T2, + }, + PertBlock { + power: 3, + terms: PERT_DISTANCE_T3, + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/moon.rs b/01_yachay/cosmos/cosmos-ephemeris/src/moon.rs new file mode 100644 index 0000000..013b577 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/moon.rs @@ -0,0 +1,770 @@ +//! ELP/MPP02 Lunar Ephemeris +//! +//! Computes geocentric rectangular coordinates of the Moon using the +//! ELP/MPP02 semi-analytical lunar theory by Chapront & Francou (2003). +//! +//! Output is in the dynamical mean ecliptic and equinox of J2000 frame, +//! with positions in kilometers. + +use cosmos_core::{ + constants::{ARCSEC_TO_RAD, DEG_TO_RAD, J2000_JD, PI}, + AstroResult, +}; +use cosmos_time::TDB; + +use crate::lunar_coefficients::{ + MainTerm, PertBlock, MAIN_DISTANCE, MAIN_LATITUDE, MAIN_LONGITUDE, PERT_DISTANCE, + PERT_LATITUDE, PERT_LONGITUDE, +}; + +const A405: f64 = 384747.9613701725; +const AELP: f64 = 384747.980674318; + +type Poly5 = [f64; 5]; +type ElpArguments = ([[f64; 5]; 3], [[f64; 5]; 4], [[f64; 5]; 8], Poly5); + +pub struct ElpMpp02Moon { + icor: u8, +} + +impl Default for ElpMpp02Moon { + fn default() -> Self { + Self::new() + } +} + +impl ElpMpp02Moon { + pub fn new() -> Self { + Self { icor: 0 } + } + + pub fn with_de405_fit() -> Self { + Self { icor: 1 } + } + + pub fn geocentric_position(&self, tdb: &TDB) -> AstroResult<[f64; 3]> { + let jd = tdb.to_julian_date(); + let tj = (jd.jd1() - J2000_JD) + jd.jd2(); + + let (x, y, z, _, _, _) = self.evaluate(tj); + Ok([x, y, z]) + } + + pub fn geocentric_state(&self, tdb: &TDB) -> AstroResult<[f64; 6]> { + let jd = tdb.to_julian_date(); + let tj = (jd.jd1() - J2000_JD) + jd.jd2(); + + let (x, y, z, vx, vy, vz) = self.evaluate(tj); + Ok([x, y, z, vx, vy, vz]) + } + + /// Returns geocentric position in ICRS (J2000 equatorial) frame in km. + /// + /// The native ELP/MPP02 output is in the mean ecliptic and equinox of J2000. + /// This method applies the obliquity rotation to convert to ICRS. + pub fn geocentric_position_icrs(&self, tdb: &TDB) -> AstroResult<[f64; 3]> { + let pos = self.geocentric_position(tdb)?; + Ok(ecliptic_to_icrs(pos)) + } + + /// Returns geocentric state (position and velocity) in ICRS frame. + /// Position in km, velocity in km/day. + pub fn geocentric_state_icrs(&self, tdb: &TDB) -> AstroResult<[f64; 6]> { + let state = self.geocentric_state(tdb)?; + let pos = ecliptic_to_icrs([state[0], state[1], state[2]]); + let vel = ecliptic_to_icrs([state[3], state[4], state[5]]); + Ok([pos[0], pos[1], pos[2], vel[0], vel[1], vel[2]]) + } + + fn evaluate(&self, tj: f64) -> (f64, f64, f64, f64, f64, f64) { + let t = [ + 1.0, + tj / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY, + 0.0, + 0.0, + 0.0, + ]; + let t = [ + t[0], + t[1], + t[1] * t[1], + t[1] * t[1] * t[1], + t[1] * t[1] * t[1] * t[1], + ]; + + let (w, del, p, zeta) = self.compute_arguments(&t); + + let mut v = [0.0f64; 6]; + + let (val, deriv) = self.evaluate_main(MAIN_LONGITUDE, &del, &t, false); + v[0] = val; + v[3] = deriv; + let (pval, pderiv) = self.evaluate_pert(PERT_LONGITUDE, &del, &p, &zeta, &t); + v[0] += pval; + v[3] += pderiv; + + let (val, deriv) = self.evaluate_main(MAIN_LATITUDE, &del, &t, false); + v[1] = val; + v[4] = deriv; + let (pval, pderiv) = self.evaluate_pert(PERT_LATITUDE, &del, &p, &zeta, &t); + v[1] += pval; + v[4] += pderiv; + + let (val, deriv) = self.evaluate_main(MAIN_DISTANCE, &del, &t, true); + v[2] = val; + v[5] = deriv; + let (pval, pderiv) = self.evaluate_pert(PERT_DISTANCE, &del, &p, &zeta, &t); + v[2] += pval; + v[5] += pderiv; + + let rad = ARCSEC_TO_RAD.recip(); + v[0] = v[0] / rad + + w[0][0] + + w[0][1] * t[1] + + w[0][2] * t[2] + + w[0][3] * t[3] + + w[0][4] * t[4]; + v[1] /= rad; + v[2] *= A405 / AELP; + v[3] = v[3] / rad + + w[0][1] + + 2.0 * w[0][2] * t[1] + + 3.0 * w[0][3] * t[2] + + 4.0 * w[0][4] * t[3]; + v[4] /= rad; + + let (slamb, clamb) = libm::sincos(v[0]); + let (sbeta, cbeta) = libm::sincos(v[1]); + let cw = v[2] * cbeta; + let sw = v[2] * sbeta; + + let x1 = cw * clamb; + let x2 = cw * slamb; + let x3 = sw; + + let xp1 = (v[5] * cbeta - v[4] * sw) * clamb - v[3] * x2; + let xp2 = (v[5] * cbeta - v[4] * sw) * slamb + v[3] * x1; + let xp3 = v[5] * sbeta + v[4] * cw; + + let (pw, qw) = self.precession_pq(&t); + let ra = 2.0 * libm::sqrt(1.0 - pw * pw - qw * qw); + let pwqw = 2.0 * pw * qw; + let pw2 = 1.0 - 2.0 * pw * pw; + let qw2 = 1.0 - 2.0 * qw * qw; + let pwra = pw * ra; + let qwra = qw * ra; + + let x = pw2 * x1 + pwqw * x2 + pwra * x3; + let y = pwqw * x1 + qw2 * x2 - qwra * x3; + let z = -pwra * x1 + qwra * x2 + (pw2 + qw2 - 1.0) * x3; + + let (ppw, qpw) = self.precession_pq_deriv(&t); + let ppw2 = -4.0 * pw * ppw; + let qpw2 = -4.0 * qw * qpw; + let ppwqpw = 2.0 * (ppw * qw + pw * qpw); + let rap = (ppw2 + qpw2) / ra; + let ppwra = ppw * ra + pw * rap; + let qpwra = qpw * ra + qw * rap; + + let vx = (pw2 * xp1 + pwqw * xp2 + pwra * xp3 + ppw2 * x1 + ppwqpw * x2 + ppwra * x3) + / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + let vy = (pwqw * xp1 + qw2 * xp2 - qwra * xp3 + ppwqpw * x1 + qpw2 * x2 - qpwra * x3) + / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + let vz = (-pwra * xp1 + qwra * xp2 + (pw2 + qw2 - 1.0) * xp3 - ppwra * x1 + + qpwra * x2 + + (ppw2 + qpw2) * x3) + / cosmos_core::constants::DAYS_PER_JULIAN_CENTURY; + + (x, y, z, vx, vy, vz) + } + + fn compute_arguments(&self, _t: &Poly5) -> ElpArguments { + let ( + dw1_0, + dw2_0, + dw3_0, + deart_0, + dperi, + dw1_1, + _dgam, + _de, + deart_1, + _dep, + dw2_1, + dw3_1, + dw1_2, + ) = if self.icor == 0 { + ( + -0.10525, 0.16826, -0.10760, -0.04012, -0.04854, -0.32311, 0.00069, 0.00005, + 0.01442, 0.00226, 0.08017, -0.04317, -0.03794, + ) + } else { + ( + -0.07008, 0.20794, -0.07215, -0.00033, -0.00749, -0.35106, 0.00085, -0.00006, + 0.00732, 0.00224, 0.08017, -0.04317, -0.03743, + ) + }; + + let dprec = -0.29965; + let rad = ARCSEC_TO_RAD.recip(); + + fn dms(deg: i32, min: i32, sec: f64) -> f64 { + (deg as f64 + min as f64 / 60.0 + sec / 3600.0) * DEG_TO_RAD + } + + let mut w = [[0.0f64; 5]; 3]; + w[0][0] = dms(218, 18, 59.95571 + dw1_0); + w[0][1] = (1732559343.73604 + dw1_1) / rad; + w[0][2] = (-6.8084 + dw1_2) / rad; + w[0][3] = 0.66040e-2 / rad; + w[0][4] = -0.31690e-4 / rad; + + w[1][0] = dms(83, 21, 11.67475 + dw2_0); + w[1][1] = (14643420.3171 + dw2_1) / rad; + w[1][2] = -38.2631 / rad; + w[1][3] = -0.45047e-1 / rad; + w[1][4] = 0.21301e-3 / rad; + + w[2][0] = dms(125, 2, 40.39816 + dw3_0); + w[2][1] = (-6967919.5383 + dw3_1) / rad; + w[2][2] = 6.3590 / rad; + w[2][3] = 0.76250e-2 / rad; + w[2][4] = -0.35860e-4 / rad; + + let mut eart = [0.0f64; 5]; + eart[0] = dms(100, 27, 59.13885 + deart_0); + eart[1] = (129597742.29300 + deart_1) / rad; + eart[2] = -0.020200 / rad; + eart[3] = 0.90000e-5 / rad; + eart[4] = 0.15000e-6 / rad; + + let mut peri = [0.0f64; 5]; + peri[0] = dms(102, 56, 14.45766 + dperi); + peri[1] = 1161.24342 / rad; + peri[2] = 0.529265 / rad; + peri[3] = -0.11814e-3 / rad; + peri[4] = 0.11379e-4 / rad; + + if self.icor == 1 { + w[0][3] -= 0.00018865 / rad; + w[0][4] -= 0.00001024 / rad; + w[1][2] += 0.00470602 / rad; + w[1][3] -= 0.00025213 / rad; + w[2][2] -= 0.00261070 / rad; + w[2][3] -= 0.00010712 / rad; + } + + let mut del = [[0.0f64; 5]; 4]; + for i in 0..5 { + del[0][i] = w[0][i] - eart[i]; + del[1][i] = w[0][i] - w[2][i]; + del[2][i] = w[0][i] - w[1][i]; + del[3][i] = eart[i] - peri[i]; + } + del[0][0] += PI; + + let mut p = [[0.0f64; 5]; 8]; + p[0][0] = dms(252, 15, 3.216919); + p[1][0] = dms(181, 58, 44.758419); + p[2][0] = dms(100, 27, 59.138850); + p[3][0] = dms(355, 26, 3.642778); + p[4][0] = dms(34, 21, 5.379392); + p[5][0] = dms(50, 4, 38.902495); + p[6][0] = dms(314, 3, 4.354234); + p[7][0] = dms(304, 20, 56.808371); + + p[0][1] = 538101628.66888 / rad; + p[1][1] = 210664136.45777 / rad; + p[2][1] = 129597742.29300 / rad; + p[3][1] = 68905077.65936 / rad; + p[4][1] = 10925660.57335 / rad; + p[5][1] = 4399609.33632 / rad; + p[6][1] = 1542482.57845 / rad; + p[7][1] = 786547.89700 / rad; + + let mut zeta = [0.0f64; 5]; + zeta[0] = w[0][0]; + zeta[1] = w[0][1] + (5029.0966 + dprec) / rad; + zeta[2] = w[0][2]; + zeta[3] = w[0][3]; + zeta[4] = w[0][4]; + + (w, del, p, zeta) + } + + fn evaluate_main( + &self, + terms: &[MainTerm], + del: &[[f64; 5]; 4], + t: &[f64; 5], + is_distance: bool, + ) -> (f64, f64) { + let mut val = 0.0; + let mut deriv = 0.0; + let phase_offset = if is_distance { PI / 2.0 } else { 0.0 }; + + for term in terms { + let mut y = phase_offset; + let mut yp = 0.0; + + for k in 0..5 { + let arg_k: f64 = (0..4).map(|i| term.delaunay[i] as f64 * del[i][k]).sum(); + y += arg_k * t[k]; + if k > 0 { + yp += (k as f64) * arg_k * t[k - 1]; + } + } + + let a0 = term.coeffs[0]; + val += a0 * libm::sin(y); + deriv += a0 * yp * libm::cos(y); + } + + (val, deriv) + } + + fn evaluate_pert( + &self, + blocks: &[PertBlock], + del: &[[f64; 5]; 4], + p: &[[f64; 5]; 8], + zeta: &[f64; 5], + t: &[f64; 5], + ) -> (f64, f64) { + let mut val = 0.0; + let mut deriv = 0.0; + + for block in blocks { + let it = block.power as usize; + + for term in block.terms { + let mut y = term.phase; + let mut yp = 0.0; + + for k in 0..5 { + let mut arg_k = 0.0; + for (i, del_i) in del.iter().enumerate().take(4) { + arg_k += term.multipliers[i] as f64 * del_i[k]; + } + for (i, p_i) in p.iter().enumerate().take(8) { + arg_k += term.multipliers[i + 4] as f64 * p_i[k]; + } + arg_k += term.multipliers[12] as f64 * zeta[k]; + + y += arg_k * t[k]; + if k > 0 { + yp += (k as f64) * arg_k * t[k - 1]; + } + } + + let x = term.amplitude; + let xp = if it > 0 { + (it as f64) * x * t[it - 1] + } else { + 0.0 + }; + + val += x * t[it] * libm::sin(y); + deriv += xp * libm::sin(y) + x * t[it] * yp * libm::cos(y); + } + } + + (val, deriv) + } + + fn precession_pq(&self, t: &[f64; 5]) -> (f64, f64) { + let p1 = 0.10180391e-04; + let p2 = 0.47020439e-06; + let p3 = -0.5417367e-09; + let p4 = -0.2507948e-11; + let p5 = 0.463486e-14; + + let q1 = -0.113469002e-03; + let q2 = 0.12372674e-06; + let q3 = 0.1265417e-08; + let q4 = -0.1371808e-11; + let q5 = -0.320334e-14; + + let pw = (p1 + p2 * t[1] + p3 * t[2] + p4 * t[3] + p5 * t[4]) * t[1]; + let qw = (q1 + q2 * t[1] + q3 * t[2] + q4 * t[3] + q5 * t[4]) * t[1]; + + (pw, qw) + } + + fn precession_pq_deriv(&self, t: &[f64; 5]) -> (f64, f64) { + let p1 = 0.10180391e-04; + let p2 = 0.47020439e-06; + let p3 = -0.5417367e-09; + let p4 = -0.2507948e-11; + let p5 = 0.463486e-14; + + let q1 = -0.113469002e-03; + let q2 = 0.12372674e-06; + let q3 = 0.1265417e-08; + let q4 = -0.1371808e-11; + let q5 = -0.320334e-14; + + let ppw = p1 + (2.0 * p2 + 3.0 * p3 * t[1] + 4.0 * p4 * t[2] + 5.0 * p5 * t[3]) * t[1]; + let qpw = q1 + (2.0 * q2 + 3.0 * q3 * t[1] + 4.0 * q4 * t[2] + 5.0 * q5 * t[3]) * t[1]; + + (ppw, qpw) + } +} + +/// Rotate from mean ecliptic J2000 to ICRS (equatorial J2000). +/// +/// Uses the IAU 2006 obliquity of the ecliptic at J2000: +/// ε₀ = 84381.406 arcseconds = 23°26'21.406" +fn ecliptic_to_icrs(ecl: [f64; 3]) -> [f64; 3] { + // IAU 2006 obliquity at J2000.0 in arcseconds + const EPS0_ARCSEC: f64 = 84381.406; + let eps = EPS0_ARCSEC * ARCSEC_TO_RAD; + + let (sin_eps, cos_eps) = libm::sincos(eps); + + // Rotation about X-axis by -ε (from ecliptic to equatorial) + [ + ecl[0], + ecl[1] * cos_eps - ecl[2] * sin_eps, + ecl[1] * sin_eps + ecl[2] * cos_eps, + ] +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_time::julian::JulianDate; + + #[test] + fn test_moon_j2000() { + let moon = ElpMpp02Moon::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = moon.geocentric_position(&tdb).unwrap(); + + println!("Moon at J2000.0:"); + println!(" X = {:.3} km", pos[0]); + println!(" Y = {:.3} km", pos[1]); + println!(" Z = {:.3} km", pos[2]); + + let dist = libm::sqrt(pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2]); + println!(" Distance = {:.3} km", dist); + + assert!( + dist > 350_000.0 && dist < 410_000.0, + "Distance {} should be ~384,400 km", + dist + ); + } + + #[test] + fn test_moon_distance_range() { + let moon = ElpMpp02Moon::new(); + + for days in [0, 7, 14, 21, 28] { + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD + days as f64, 0.0)); + let pos = moon.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2]); + + assert!( + dist > 356_000.0 && dist < 407_000.0, + "Day {}: distance {} km out of range (perigee ~356,500, apogee ~406,700)", + days, + dist + ); + } + } + + #[test] + fn test_fortran_reference_dates() { + let moon = ElpMpp02Moon::new(); + + let test_dates = [2444239.5, 2446239.5, 2448239.5, 2450239.5, 2452239.5]; + + println!("\nELP/MPP02 LLR mode (icor=0) test positions:"); + for jd in test_dates { + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = moon.geocentric_position(&tdb).unwrap(); + + println!("JD {:.1}:", jd); + println!(" X = {:17.7} km", pos[0]); + println!(" Y = {:17.7} km", pos[1]); + println!(" Z = {:17.7} km", pos[2]); + + let dist = libm::sqrt(pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2]); + assert!( + dist > 356_000.0 && dist < 407_000.0, + "JD {}: distance {} km out of range", + jd, + dist + ); + } + } + + #[test] + fn test_moon_icrs_j2000() { + let moon = ElpMpp02Moon::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let ecl = moon.geocentric_position(&tdb).unwrap(); + let icrs = moon.geocentric_position_icrs(&tdb).unwrap(); + + println!("\nMoon at J2000.0:"); + println!( + " Ecliptic: X = {:12.3} Y = {:12.3} Z = {:12.3} km", + ecl[0], ecl[1], ecl[2] + ); + println!( + " ICRS: X = {:12.3} Y = {:12.3} Z = {:12.3} km", + icrs[0], icrs[1], icrs[2] + ); + + // Distance should be preserved + let dist_ecl = libm::sqrt(ecl[0] * ecl[0] + ecl[1] * ecl[1] + ecl[2] * ecl[2]); + let dist_icrs = libm::sqrt(icrs[0] * icrs[0] + icrs[1] * icrs[1] + icrs[2] * icrs[2]); + assert!((dist_ecl - dist_icrs).abs() < 1e-6, "Distance mismatch"); + + // X should be unchanged (rotation about X-axis) + assert!((ecl[0] - icrs[0]).abs() < 1e-10, "X should be unchanged"); + } + + #[test] + fn test_sidereal_month_period() { + let moon = ElpMpp02Moon::new(); + let sidereal_month = 27.321661; // days + + let t0 = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let t1 = TDB::from_julian_date(JulianDate::new(J2000_JD + sidereal_month, 0.0)); + + let pos0 = moon.geocentric_position(&t0).unwrap(); + let pos1 = moon.geocentric_position(&t1).unwrap(); + + // Normalize positions + let norm0 = libm::sqrt(pos0[0] * pos0[0] + pos0[1] * pos0[1] + pos0[2] * pos0[2]); + let norm1 = libm::sqrt(pos1[0] * pos1[0] + pos1[1] * pos1[1] + pos1[2] * pos1[2]); + + let unit0 = [pos0[0] / norm0, pos0[1] / norm0, pos0[2] / norm0]; + let unit1 = [pos1[0] / norm1, pos1[1] / norm1, pos1[2] / norm1]; + + // Dot product should be close to 1 (same direction) + let dot = unit0[0] * unit1[0] + unit0[1] * unit1[1] + unit0[2] * unit1[2]; + let angle_deg = dot.acos().to_degrees(); + + println!("\nSidereal month test:"); + println!( + " Position at T0: {:12.3} {:12.3} {:12.3}", + pos0[0], pos0[1], pos0[2] + ); + println!( + " Position at T0+27.32d: {:12.3} {:12.3} {:12.3}", + pos1[0], pos1[1], pos1[2] + ); + println!(" Angular separation: {:.2}°", angle_deg); + + // Moon should be within ~5° of original position after one sidereal month + // (small deviation due to precession, perturbations, etc.) + assert!( + angle_deg < 5.0, + "Moon should return close to original position after sidereal month" + ); + } + + #[test] + fn test_velocity_magnitude() { + let moon = ElpMpp02Moon::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let state = moon.geocentric_state(&tdb).unwrap(); + let v_mag = libm::sqrt(state[3] * state[3] + state[4] * state[4] + state[5] * state[5]); + + // Moon's orbital velocity is ~1.022 km/s = ~88,300 km/day + let v_km_s = v_mag / cosmos_core::constants::SECONDS_PER_DAY_F64; + + println!("\nMoon velocity at J2000:"); + println!(" Vx = {:.3} km/day", state[3]); + println!(" Vy = {:.3} km/day", state[4]); + println!(" Vz = {:.3} km/day", state[5]); + println!(" |V| = {:.3} km/day = {:.4} km/s", v_mag, v_km_s); + + // Verify with numerical differentiation + let dt = 0.001; // 0.001 days = ~86 seconds + let t1 = TDB::from_julian_date(JulianDate::new(J2000_JD - dt, 0.0)); + let t2 = TDB::from_julian_date(JulianDate::new(J2000_JD + dt, 0.0)); + let p1 = moon.geocentric_position(&t1).unwrap(); + let p2 = moon.geocentric_position(&t2).unwrap(); + let v_num = [ + (p2[0] - p1[0]) / (2.0 * dt), + (p2[1] - p1[1]) / (2.0 * dt), + (p2[2] - p1[2]) / (2.0 * dt), + ]; + let v_num_mag = libm::sqrt(v_num[0] * v_num[0] + v_num[1] * v_num[1] + v_num[2] * v_num[2]); + + println!( + " Numerical velocity: {:.3} km/day = {:.4} km/s", + v_num_mag, + v_num_mag / cosmos_core::constants::SECONDS_PER_DAY_F64 + ); + + // Use numerical velocity as ground truth - should be ~88,000 km/day + assert!( + v_num_mag > 80_000.0 && v_num_mag < 100_000.0, + "Numerical velocity {} km/day out of expected range", + v_num_mag + ); + } + + #[test] + fn test_against_jpl_de441() { + // Reference values from JPL Horizons DE441 ephemeris + // https://ssd.jpl.nasa.gov/horizons/ + // Query: Moon geocentric position, ecliptic J2000, OUT_UNITS='KM-D' + let reference_data = [ + // (JD, X, Y, Z) - all in km + (J2000_JD, -291608.38, -274979.74, 36271.20), // 2000-01-01 12:00 TDB + (2444239.5, 43890.30, 381188.87, -31633.44), // 1980-01-01 00:00 TDB + ]; + + let moon = ElpMpp02Moon::new(); + + println!("\nComparison with JPL DE441:"); + let mut max_delta = 0.0f64; + + for (jd, jpl_x, jpl_y, jpl_z) in reference_data { + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = moon.geocentric_position(&tdb).unwrap(); + + let dx = pos[0] - jpl_x; + let dy = pos[1] - jpl_y; + let dz = pos[2] - jpl_z; + let delta = libm::sqrt(dx * dx + dy * dy + dz * dz); + + println!(" JD {:.1}:", jd); + println!( + " JPL: X = {:12.2} Y = {:12.2} Z = {:12.2} km", + jpl_x, jpl_y, jpl_z + ); + println!( + " ELP: X = {:12.2} Y = {:12.2} Z = {:12.2} km", + pos[0], pos[1], pos[2] + ); + println!(" Delta: {:.3} km", delta); + + max_delta = max_delta.max(delta); + + // ELP/MPP02 should agree with DE441 within ~2 km (stated accuracy) + // Our truncated series may have slightly larger error + assert!( + delta < 5.0, + "JD {}: position difference {} km exceeds 5 km tolerance", + jd, + delta + ); + } + + println!(" Maximum delta: {:.3} km", max_delta); + } + + #[test] + fn test_default_impl() { + // Lines 35-36: Test Default trait implementation + let moon: ElpMpp02Moon = Default::default(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = moon.geocentric_position(&tdb).unwrap(); + + // Should work the same as new() + let dist = libm::sqrt(pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2]); + assert!(dist > 350_000.0 && dist < 410_000.0); + } + + #[test] + fn test_with_de405_fit() { + // Line 45: Test with_de405_fit constructor (icor=1) + let moon = ElpMpp02Moon::with_de405_fit(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + // Test position + let pos = moon.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos[0] * pos[0] + pos[1] * pos[1] + pos[2] * pos[2]); + assert!( + dist > 350_000.0 && dist < 410_000.0, + "DE405 fit distance: {} km", + dist + ); + + // Test state + let state = moon.geocentric_state(&tdb).unwrap(); + assert_eq!(state[0], pos[0]); + assert_eq!(state[1], pos[1]); + assert_eq!(state[2], pos[2]); + } + + #[test] + fn test_geocentric_state_icrs() { + // Lines 76-80: Test geocentric_state_icrs + let moon = ElpMpp02Moon::new(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let state_icrs = moon.geocentric_state_icrs(&tdb).unwrap(); + + // Should have 6 components: position and velocity + let pos_icrs = [state_icrs[0], state_icrs[1], state_icrs[2]]; + let vel_icrs = [state_icrs[3], state_icrs[4], state_icrs[5]]; + + // Position distance should be preserved + let dist = libm::sqrt(pos_icrs[0].powi(2) + pos_icrs[1].powi(2) + pos_icrs[2].powi(2)); + assert!(dist > 350_000.0 && dist < 410_000.0); + + // Velocity should be non-zero + let vel_mag = libm::sqrt(vel_icrs[0].powi(2) + vel_icrs[1].powi(2) + vel_icrs[2].powi(2)); + assert!(vel_mag > 0.0); + + // Compare with separate calls + let pos_only = moon.geocentric_position_icrs(&tdb).unwrap(); + assert!((pos_only[0] - pos_icrs[0]).abs() < 1e-10); + assert!((pos_only[1] - pos_icrs[1]).abs() < 1e-10); + assert!((pos_only[2] - pos_icrs[2]).abs() < 1e-10); + } + + #[test] + fn test_de405_fit_corrections() { + // Lines 164, 207-213: Test that icor=1 gives different results than icor=0 + let moon_llr = ElpMpp02Moon::new(); // icor=0 (LLR mode) + let moon_de405 = ElpMpp02Moon::with_de405_fit(); // icor=1 (DE405 fit) + + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD + 1000.0, 0.0)); + + let pos_llr = moon_llr.geocentric_position(&tdb).unwrap(); + let pos_de405 = moon_de405.geocentric_position(&tdb).unwrap(); + + // Positions should be slightly different due to different constants + let diff = libm::sqrt( + (pos_llr[0] - pos_de405[0]).powi(2) + + (pos_llr[1] - pos_de405[1]).powi(2) + + (pos_llr[2] - pos_de405[2]).powi(2), + ); + + // The difference should be small but measurable (a few meters to km) + assert!(diff > 0.0, "LLR and DE405 positions should differ"); + assert!(diff < 100.0, "Difference should be less than 100 km"); + + println!("LLR vs DE405 position difference: {:.3} km", diff); + } + + #[test] + fn test_de405_fit_velocity() { + // Test that DE405 fit also works for state/velocity computation + let moon = ElpMpp02Moon::with_de405_fit(); + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let state = moon.geocentric_state(&tdb).unwrap(); + + // Velocity magnitude should be ~1 km/s = 86400 km/day + let v_mag = libm::sqrt(state[3].powi(2) + state[4].powi(2) + state[5].powi(2)); + let v_km_s = v_mag / cosmos_core::constants::SECONDS_PER_DAY_F64; + + println!("DE405 fit velocity: {:.4} km/s", v_km_s); + assert!( + v_km_s > 0.8 && v_km_s < 1.2, + "Moon velocity should be ~1 km/s" + ); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/emb.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/emb.rs new file mode 100644 index 0000000..fe94c4c --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/emb.rs @@ -0,0 +1,39297 @@ +#![allow(clippy::excessive_precision)] + +//! VSOP2013 coefficients for Earth-Moon Barycenter +//! +//! Generated from VSOP2013p3.dat +//! Threshold: 1e-10 +//! Terms retained: 7813 of 294426 (2.7%) +//! Generated: 2026-01-09 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.000001017641000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.736236063963646e-9, + c: 1.120495653357545e-5, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.487098118809132e-10, + c: 7.608600062585683e-6, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.220558274124141e-9, + c: -4.091271183979393e-6, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.735370173096924e-10, + c: -2.500210822151584e-6, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.586443921718559e-7, + c: 1.973675722944524e-6, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.908219849175601e-8, + c: 1.779964002730623e-6, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.559463926845735e-11, + c: -1.593161342819566e-6, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.476348850585072e-6, + c: 3.483077360721505e-8, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.294589829463917e-8, + c: 1.097676242136451e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.579452350197289e-10, + c: -1.040944424740224e-6, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340154106569288e-10, + c: -6.912709372052292e-7, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.482891100011374e-11, + c: 6.429883794313783e-7, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.619623122553160e-7, + c: 3.106881154428145e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.917443273185743e-11, + c: 5.069666334261906e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.816763499445944e-7, + c: 1.381643261445038e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.665270343525462e-10, + c: -4.643795011426304e-7, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.209340699754475e-7, + c: -4.403175897155468e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.734621682112591e-8, + c: 4.422724604681774e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.753247961253814e-7, + c: -3.317809250861736e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.345813999581761e-9, + c: 3.624303923679622e-7, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.559259085435107e-7, + c: 2.805164213074401e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.700507856419336e-10, + c: -3.146477942721203e-7, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.989467399697826e-7, + c: 8.526407763172902e-8, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012171010272306e-8, + c: 2.956580115266027e-7, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.871743544221225e-7, + c: 9.046494886903692e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.324903866142535e-7, + c: -1.430177548105880e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.132650064796055e-8, + c: -2.447962515447564e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.659399081787331e-8, + c: 2.338547342304981e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.553943932094568e-10, + c: -2.146130940439198e-7, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.536407331620440e-7, + c: -1.209813078102609e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.938923267652925e-7, + c: 6.452427208584936e-9, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.885600871844202e-12, + c: 1.935359329600244e-7, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.194998876022362e-8, + c: 1.476550316813675e-7, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.253574746196692e-7, + c: 7.764496214937409e-8, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.307933082309318e-10, + c: -1.471557876096348e-7, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156674322663244e-9, + c: 1.397220205478276e-7, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.369323304548346e-7, + c: 4.722473252410855e-9, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159440008095169e-7, + c: 2.579926945381993e-8, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.723586157407152e-8, + c: 6.804255663411298e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.679758547318531e-8, + c: 1.127522315142149e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.933691496449144e-10, + c: 1.061960354235043e-7, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.121325774756783e-8, + c: 9.225396971385706e-8, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.019011969983489e-10, + c: -1.013351206644759e-7, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.871331933060976e-8, + c: 3.488915380693668e-9, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.861844199607077e-8, + c: -5.420692881628160e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590985542880047e-8, + c: 9.533756412642907e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.356796528496383e-8, + c: 7.958238458702174e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.223605228895730e-8, + c: 3.869644419794889e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.291009829220832e-8, + c: -3.268549981700014e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.188243884146959e-8, + c: 2.585198119772642e-9, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.481685423349731e-8, + c: 6.729570697291614e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.723666437232156e-10, + c: -7.002992742622289e-8, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.937173692854829e-8, + c: 3.298360988905593e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.092788214489705e-8, + c: -6.525902664103171e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.311367011208894e-8, + c: 5.945935889643696e-8, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.224321554436570e-9, + c: 6.441810514764590e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.033466463305885e-8, + c: -6.274625396737627e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.599463281632666e-10, + c: 5.862588049173017e-8, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.201592592462354e-8, + c: -3.647046351162863e-8, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.194970187460988e-8, + c: 1.663687565278848e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.261992679567335e-8, + c: 1.916165590150856e-9, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.030685615914666e-8, + c: 4.975064911597604e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.955711147219646e-9, + c: 5.028835034500865e-8, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.443724062380457e-10, + c: -4.854027450911182e-8, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.090439153484543e-8, + c: 2.546136638423340e-8, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.667326285766223e-8, + c: -3.069328029760411e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.737102618543213e-10, + c: 4.550679332054282e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.151515476741016e-8, + c: 3.840334525949900e-8, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.862483387937464e-8, + c: 1.419064873980078e-9, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.440899058508594e-8, + c: 2.257559445461322e-9, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.067207681504538e-8, + c: -1.515454611593789e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.190839303936425e-10, + c: -3.373047133343169e-8, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.843540507593404e-8, + c: 1.768857047149217e-8, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.873233021514827e-10, + c: 3.218818008583411e-8, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.106072445384402e-8, + c: 1.526336697949252e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.560325251434996e-9, + c: 3.058468418287077e-8, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.187848765974285e-8, + c: -2.700542251762891e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.839023770133490e-8, + c: 1.049432588474288e-9, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.382939939722686e-8, + c: 2.459838240502776e-8, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.053345254394909e-10, + c: 2.715096747009210e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.331248091447666e-8, + c: 2.289821660884855e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.109023772627169e-8, + c: -2.371938407768889e-8, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.112511271449437e-8, + c: -1.338224965108812e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.008098312521312e-8, + c: 1.244947265939700e-8, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.699274444021991e-11, + c: -2.349036428970465e-8, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.163523429836930e-10, + c: 2.268931722691400e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.107901447395529e-8, + c: 5.561671827029521e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.904862789154732e-8, + c: 9.457782461269071e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.357068921775686e-9, + c: 2.092851166484719e-8, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.087899897768958e-8, + c: 7.747837404000382e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.071004231583388e-8, + c: 1.030936776035340e-9, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.114745446546639e-9, + c: 2.004818993904246e-8, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.682401756462822e-9, + c: -1.815288868994199e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.493943927526507e-9, + c: 1.779464922110610e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.044811606495770e-8, + c: -1.507989957561131e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.475134030044305e-8, + c: -1.033869485751743e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.927020939601728e-9, + c: 1.561008458216605e-8, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.343229747033997e-10, + c: 1.742573667122362e-8, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.726275300514173e-9, + c: 1.644995638550401e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.410464390497206e-8, + c: 8.702124502281166e-9, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.816785713639744e-11, + c: -1.638999564668398e-8, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.231730062065160e-9, + c: -1.453854512887036e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116626567312757e-8, + c: 1.098215691927330e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.745574160429121e-9, + c: -1.519530930255034e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.964061774402868e-9, + c: 1.529785504180431e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.535615107835468e-8, + c: 5.710024600261164e-10, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.137017735314958e-9, + c: 1.503224693648475e-8, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.503947872737508e-8, + c: 7.477098846569185e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405512807390451e-8, + c: 7.835719376754290e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.280562066970829e-8, + c: -4.359261132214615e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.754556006636728e-9, + c: -1.306262356946667e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.174697875792772e-8, + c: -5.785663978456273e-9, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.160205207398952e-8, + c: -3.976524663766958e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.217361709784702e-8, + c: -5.233694724436080e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.161870910677735e-8, + c: -3.584407360433263e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.189243039258938e-8, + c: -4.865652521635045e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.187626574842375e-9, + c: -1.180889263638417e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.877631554858414e-9, + c: -9.487941735181649e-9, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.819853814145516e-9, + c: 6.018048994013205e-9, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.243157992731023e-11, + c: -1.145475799301462e-8, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.129178662824623e-8, + c: 4.200674996208494e-10, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.668974935435891e-9, + c: 9.763912882198783e-9, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.729754324138326e-9, + c: -9.037839885931507e-9, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116393910837085e-8, + c: 5.467609919679389e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.399312205370041e-9, + c: 1.106731374198604e-8, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.125702548942750e-9, + c: -7.107564143561697e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.157668327520296e-9, + c: -9.015210950156812e-9, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.826689148741015e-9, + c: -8.161103165624654e-9, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.024664786351102e-16, + c: -9.485943892527839e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: -9.636840309751441e-10, + c: -9.404982367142675e-9, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.496385554173823e-12, + c: 9.325092662741544e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.678637826221173e-9, + c: 7.994820674757550e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.475704038924459e-10, + c: 9.222639350024752e-9, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.828524635013473e-9, + c: 2.657325445046324e-9, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.833205193694274e-10, + c: 8.670985519539267e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.791025650701026e-9, + c: -3.830861423076337e-9, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.314372919087238e-10, + c: 8.260518603580116e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.297479415670155e-9, + c: 3.949031743679415e-10, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.299976916700693e-9, + c: 3.084854043752529e-10, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.221301577994925e-9, + c: 5.459097073901958e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.704159164098110e-9, + c: 2.897321568405785e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.530572179964040e-9, + c: 7.878813547225125e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.947730986796412e-11, + c: -8.017261477248170e-9, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.761810901322350e-9, + c: 4.107785725624363e-9, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.444766939880536e-9, + c: 2.602783970931123e-9, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.495502801031328e-9, + c: -6.376479616667308e-9, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106245569392293e-9, + c: -7.425591725281302e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.315107793743565e-9, + c: 4.014414325182573e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.867979557858271e-9, + c: 2.913288951077648e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.984072482534422e-9, + c: 5.252051800904201e-9, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.644949339380523e-9, + c: 2.205253570989491e-9, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.559303604061170e-9, + c: 6.014798235571232e-9, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119308977235083e-9, + c: 6.750331052507413e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.319023153861101e-10, + c: -6.749715552614563e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.698336291415907e-9, + c: 5.353058520604718e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.791398008001101e-9, + c: -2.846900555421682e-9, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.261202342657121e-10, + c: 6.213707789879567e-9, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.907853253398228e-9, + c: -3.780918790133949e-9, + mult: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.586416257084614e-10, + c: -6.125324860310549e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.125153369460616e-9, + c: 2.791725829492924e-10, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.097902425451464e-9, + c: 2.261529287191199e-10, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.092995537922342e-10, + c: -6.028493849388164e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.695579837893224e-9, + c: -1.732902376920312e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.648652446008365e-9, + c: 1.800695487612507e-9, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.272244709022859e-9, + c: -4.699655618079157e-9, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.894627135759410e-11, + c: -5.618577606238422e-9, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.192356850854597e-9, + c: -1.877956513193829e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.141661804879435e-9, + c: -4.525529882758827e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095912769838931e-9, + c: 5.387326184932268e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.600542844820025e-9, + c: 2.764523433966443e-9, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.018565008092030e-9, + c: 1.638625830307153e-9, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.658667250126203e-9, + c: 4.917997890538961e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.786324672557904e-10, + c: 5.178174943451011e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.450807943637440e-9, + c: -2.190258348924374e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.813261918199031e-9, + c: -1.147538116996912e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.300806140119098e-9, + c: -3.654439734341789e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.273190327300828e-9, + c: 2.330165914854507e-9, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.680435708441528e-9, + c: 1.324120291354767e-9, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.647737703087680e-9, + c: 1.433664078899132e-9, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.513124268821802e-10, + c: 4.712548911432143e-9, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.338362283239661e-9, + c: 4.527611253612980e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590900074019227e-9, + c: 4.444898155706040e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.233251109271205e-10, + c: 4.694620283766306e-9, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.158981428046545e-9, + c: 2.078348958926619e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.477633369656401e-9, + c: 1.655175305724293e-10, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.475758087058964e-9, + c: 1.921156096909546e-10, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.206999244608868e-9, + c: 3.642391383494841e-9, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.281804092394962e-11, + c: 4.258185459727642e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.901376238250172e-9, + c: 3.768729078404535e-9, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.819819308547175e-10, + c: 4.143306237144695e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.748825326876998e-9, + c: 1.856628944088406e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.047001743588379e-9, + c: -6.570003018149798e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.824669564195118e-9, + c: 3.635023360080419e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.284541267824597e-9, + c: -3.325935680295069e-9, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.047442922757475e-11, + c: -3.942080429874801e-9, + mult: [0, 20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.765004156442988e-9, + c: 3.484873860259986e-9, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.736808290234151e-9, + c: 1.120746568419570e-9, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.443866545047222e-9, + c: -1.698742489246546e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.007803707980148e-9, + c: 2.336164933887778e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.964729789737571e-9, + c: 2.199288058155615e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.091425785822298e-9, + c: 1.833112565294276e-9, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.044367924216950e-9, + c: -2.941457504499364e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.871169859610332e-10, + c: 3.555257127336651e-9, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.656414861768678e-10, + c: -3.482399227843460e-9, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.097354809881314e-9, + c: -1.556887182062753e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.794946845401087e-10, + c: -3.391312787540105e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.522582437496052e-9, + c: 3.097184963754920e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.795112772651644e-9, + c: -2.936814943453901e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.569306664601428e-10, + c: 3.390257954216368e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.539402261890982e-9, + c: 3.030384626341012e-9, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.374148035450615e-17, + c: 3.391394478168847e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1], + }, + Term { + s: 3.286006337352879e-9, + c: 1.209436634623636e-10, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.936826698906694e-11, + c: -3.261545016167861e-9, + mult: [3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.232823221198931e-9, + c: 1.280577671069787e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.424106804190808e-10, + c: 3.127273807424598e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.750017875074583e-9, + c: 2.650788645601552e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.051758799693318e-9, + c: 8.117949113530584e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.294497959394463e-9, + c: 2.079522821510070e-9, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.686009179420669e-9, + c: 2.595580906028375e-9, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.953386790307684e-9, + c: 8.640942648787273e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.870917199237837e-9, + c: -1.099539721346440e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.654406156981762e-9, + c: -1.314077121543798e-9, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.840683701828467e-10, + c: -2.926601624386693e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.462271520528679e-9, + c: 2.499848474247127e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.414763744492999e-9, + c: 2.513881075150423e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.962582361202037e-13, + c: 2.869252978466586e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.291688253136379e-9, + c: 2.536769854193456e-9, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.489590917662408e-9, + c: -2.351264327618465e-9, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.371948928683821e-11, + c: -2.768666806737371e-9, + mult: [0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.302728800537184e-9, + c: -2.439521740317368e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.543105186982643e-9, + c: -2.281554745575098e-9, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.949899067777526e-10, + c: 2.695326096400339e-9, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.537789900819075e-9, + c: -2.211940328591060e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.652326408607087e-9, + c: 1.976387173223773e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.231867659499865e-9, + c: -2.239385349488532e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.349802738494571e-9, + c: 2.163224029116005e-9, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.410101612098547e-9, + c: 8.823514222075475e-11, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.303737842038860e-9, + c: 6.590513090443494e-10, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.051116204558194e-9, + c: 1.196868120879811e-9, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.724321619702722e-9, + c: -1.574029151243028e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.342296740505432e-10, + c: -2.315339439131520e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.055795460842541e-9, + c: 2.069656154907063e-9, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.306894354868782e-9, + c: 8.214725212868296e-11, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.641759548597407e-10, + c: 2.284770006327230e-9, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.028432769715664e-9, + c: -1.009097506553876e-9, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.500651792000883e-10, + c: -2.037866092126515e-9, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.197731001372679e-10, + c: 2.212910627591565e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.158852800963910e-9, + c: 5.402755103758848e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.141233890927660e-9, + c: -5.950741231967795e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.483815865135338e-9, + c: -1.645803263083335e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.112519878442816e-9, + c: 4.356961560939304e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.209997391413358e-9, + c: -1.741479846142872e-9, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.037971835210275e-10, + c: 2.042541528594580e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.324153672629355e-10, + c: 2.043949908066465e-9, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.837462276993116e-11, + c: -1.946330645956785e-9, + mult: [0, 22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.753616512102118e-11, + c: 1.884439871269319e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.468679473355086e-10, + c: 1.657701011775750e-9, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.778465702439325e-9, + c: 4.983133638190408e-10, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012954564204160e-9, + c: -1.525087269927763e-9, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.729014317571781e-9, + c: 5.732818722759115e-10, + mult: [3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.677877124555152e-9, + c: -6.890792477184172e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.032460208219085e-9, + c: 1.470176953153790e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.652672425660777e-9, + c: -6.887280256055529e-10, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.100128086491916e-10, + c: -1.741546212779795e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.766646669952610e-9, + c: 6.427473230571501e-11, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.743287174202067e-10, + c: 1.414748994592181e-9, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.533582810455252e-9, + c: -7.676125500473659e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.641550995954212e-10, + c: -1.389643669933356e-9, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.035389148402851e-11, + c: 1.668957787041406e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.366064604907704e-9, + c: 9.035913077142576e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590504530478791e-9, + c: 3.747411365998238e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.023965140780547e-9, + c: 1.271209623433656e-9, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.626064025518985e-9, + c: 5.020120610180133e-11, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.437443282327779e-10, + c: 1.549209710999803e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.976474449238427e-10, + c: -1.590889350587850e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.189426939572119e-10, + c: 1.559303290125354e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.981799429680967e-11, + c: 1.549604858867858e-9, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.343307483726247e-9, + c: 7.688916248552612e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.161449466573978e-10, + c: -1.444057678557352e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.528565052436952e-11, + c: -1.528077234671190e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.485067957545749e-10, + c: -1.519663731528533e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.167940807570349e-9, + c: 9.745314553662228e-10, + mult: [5, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.950821775655081e-10, + c: 1.506798714214099e-9, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.129787286556754e-10, + c: 1.255921076484979e-9, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.491533043579642e-9, + c: -8.013174682618295e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.697305198433408e-10, + c: 1.309517119531769e-9, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.480638556205073e-10, + c: -1.458121725628955e-9, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.178981934610585e-9, + c: 8.186948421603928e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.406551699329903e-9, + c: 2.500950803086700e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.361531410775035e-9, + c: 3.740930121012562e-10, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.317728545701082e-10, + c: 1.326422112418670e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.417358414050647e-11, + c: -1.369379341691314e-9, + mult: [0, 23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.213172890130476e-9, + c: 6.101373057470019e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.677338022352685e-10, + c: -1.109115130447013e-9, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.920911222424625e-10, + c: 1.176162111769612e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294240735716591e-9, + c: 4.675184057091554e-11, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.042036979708837e-10, + c: -1.076223603701646e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.146073420723975e-9, + c: -5.779183796360859e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.135794985896523e-9, + c: 5.452929779262330e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186910276473278e-9, + c: -3.862049438455902e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.198048725218008e-9, + c: 2.659340930132162e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.218384128093508e-10, + c: -1.101152260251456e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.477275474640309e-10, + c: -9.964467959964343e-10, + mult: [0, 0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.079674214072116e-11, + c: 1.174130883313352e-9, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.238449607496966e-10, + c: 1.023439249472407e-9, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.022847398461506e-9, + c: 5.234262258189275e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.165328575261665e-11, + c: 1.137252924528480e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.132154956470689e-9, + c: 2.869129339506589e-11, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.711840408017529e-10, + c: 1.066259024741316e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106200656446468e-9, + c: -1.412888474195974e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.527125773914284e-10, + c: 8.135727181151137e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.118482308206456e-10, + c: -1.100489807232580e-9, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035202448895945e-9, + c: 2.791574123312493e-10, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.072113982329566e-10, + c: -8.800249495882679e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.822122236812361e-10, + c: 8.050103542310350e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.048200012022720e-10, + c: 9.049262128190067e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.601987781009999e-10, + c: -3.879671967107692e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.912988407167625e-10, + c: 1.014147713698208e-9, + mult: [0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.415565756178897e-10, + c: 7.150579957997924e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.390180419614331e-10, + c: -1.004149338287144e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.810689605410778e-11, + c: 1.001917432425487e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.680410621333457e-10, + c: 4.855063435154861e-10, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.901730267372051e-10, + c: -9.102927390567383e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.382953477384253e-11, + c: -9.760633484453664e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.491919880546993e-10, + c: 9.527377062482180e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.411608365869685e-18, + c: 9.642507670784353e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2], + }, + Term { + s: -1.089090471630741e-11, + c: -9.641792791592240e-10, + mult: [0, 24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.364565679989042e-12, + c: 9.528977090851875e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.397448482337042e-10, + c: 8.421677642046755e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.463273229553672e-10, + c: -4.305079143065347e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.476263105453458e-10, + c: 3.395723092870398e-11, + mult: [0, 22, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.141087953117441e-10, + c: 1.913056095079885e-10, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.180632591002751e-11, + c: -9.100521706158942e-10, + mult: [4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.766696925128195e-10, + c: 2.013876010580829e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: -4.061505853534486e-10, + c: 7.930606790579448e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.103130053773030e-11, + c: 8.889188158419170e-10, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.930667654989046e-11, + c: -8.804035180706845e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.738556651382402e-10, + c: 1.362005407084797e-11, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.072798324502231e-10, + c: 8.095226832947862e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.917762125395398e-10, + c: 8.129390952347536e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.811712621880533e-10, + c: 7.094426503349009e-10, + mult: [0, 0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032896770067322e-10, + c: 8.451759659343473e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.756401977919484e-10, + c: -6.921669767527819e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.197129381588280e-10, + c: 7.225440297472214e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.320309506955949e-10, + c: -7.528787132263745e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.126335904331499e-10, + c: -1.925782277724321e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.825807263254549e-10, + c: 2.072483689837810e-10, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.950687527732720e-10, + c: 6.302537240847477e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.515282139096710e-10, + c: -2.366996500108288e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.275484428342546e-10, + c: 7.105555887063882e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.786488677874708e-10, + c: 1.474876929161464e-11, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.513145967886331e-10, + c: 7.197770343272643e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.036560859696037e-10, + c: -6.373224487202495e-10, + mult: [0, 0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.645059550942697e-10, + c: -7.256931833331806e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.451586394368766e-11, + c: 7.221198541401880e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.247269269962595e-11, + c: -7.182160181846505e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.027476251717823e-10, + c: 1.387516614826694e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.072883056101912e-10, + c: 6.365192252291776e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.139763206552640e-10, + c: 6.313265798716782e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.175448129637925e-10, + c: -3.173141879520658e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.934618994220307e-10, + c: 2.462959036170461e-11, + mult: [0, 23, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.515324932781812e-10, + c: 2.296182801387584e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.779316391685318e-10, + c: -1.131565882326450e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.126467779842840e-10, + c: 6.102855716513359e-10, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.339140057840396e-12, + c: -6.793416721526611e-10, + mult: [0, 25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.758660801498607e-11, + c: 6.723539352220718e-10, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.519037668391627e-10, + c: -1.499892499845979e-10, + mult: [4, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.670547332665727e-10, + c: 5.581353127879655e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.613720670443148e-10, + c: 6.088649934683934e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.073377863109032e-10, + c: -4.215071665791164e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.069117292327017e-10, + c: -2.443793574389666e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.684975195510563e-10, + c: -5.389358700849523e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.789501222769219e-12, + c: 6.528359485238580e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.656050101835342e-10, + c: 3.198586718321933e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.158658956885046e-10, + c: 1.988271900773793e-10, + mult: [4, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.531290145219558e-10, + c: 3.008818735939053e-10, + mult: [0, 0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.870469648478848e-10, + c: 4.884414710596497e-10, + mult: [3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.103942115376462e-11, + c: 6.156587772337943e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.463858099191069e-16, + c: 6.115974286845766e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + }, + Term { + s: 5.887350351395770e-10, + c: 1.531792650776519e-10, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.379278683457497e-10, + c: 5.575916097970521e-10, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.243016302705660e-11, + c: 6.043455036270013e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.508682023062163e-11, + c: -6.042635778169820e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.693843052143934e-10, + c: 1.776292621847900e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340565129281972e-10, + c: -5.463144490539741e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.887075165707034e-11, + c: -5.880479771097625e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.941155136048592e-12, + c: 5.908233751470652e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.344467049208476e-10, + c: 4.867266340117028e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.203965001859846e-12, + c: -5.902362083120717e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.101166294046448e-10, + c: -2.909756882240436e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.569383258107094e-10, + c: 1.783841944450750e-10, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.300781295320606e-10, + c: 2.273377197414405e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.209608668773622e-10, + c: 3.941553490353250e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.426329625590256e-10, + c: 1.011403991661252e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.175233568055949e-10, + c: 1.605174077897915e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.720025228652531e-11, + c: -5.370362659385870e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.097594882564734e-11, + c: 5.311347525211458e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.265793079653810e-10, + c: 8.246853962724221e-11, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.289786400815891e-10, + c: 6.122009198579543e-12, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.006989057687262e-10, + c: 1.650567588887017e-10, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.392370881987176e-10, + c: 4.669364424861581e-10, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.831455314347279e-11, + c: 5.158752091766961e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.535907534613229e-10, + c: 4.551456588817548e-10, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.764773495775964e-11, + c: -5.139296783160378e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.125168091313802e-10, + c: -5.017587282177391e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.846025299834430e-11, + c: 5.080283419826313e-10, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.071998608012767e-10, + c: 1.783963478451064e-11, + mult: [0, 24, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.821957883275566e-10, + c: -4.151755798876626e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.452885554892129e-10, + c: -2.314497076073234e-10, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.349790200449468e-10, + c: 3.660975618538158e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.555965444156237e-10, + c: -3.394002617130094e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.856191056082859e-10, + c: -4.447998411451323e-10, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.739838595071335e-11, + c: -4.796102558127542e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.113957927835844e-10, + c: -4.667483365073586e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.364755534175963e-12, + c: -4.789480844075159e-10, + mult: [0, 26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.790170137462041e-10, + c: 3.870693081401475e-10, + mult: [0, 0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.449179348303661e-10, + c: -3.992020266325186e-10, + mult: [0, 0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.566989346196674e-10, + c: 7.295662708142957e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.399598063189570e-11, + c: -4.535833190943870e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.410605791220243e-10, + c: 1.127739199944699e-10, + mult: [0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.303247795306732e-10, + c: -3.922879002059624e-10, + mult: [2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.760675300772428e-10, + c: -4.109836764425829e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.229561366958519e-10, + c: 1.433718054489196e-10, + mult: [0, 0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.207898643198014e-19, + c: 4.427516170614483e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0], + }, + Term { + s: -9.404523336753131e-12, + c: 4.399593604028741e-10, + mult: [0, 2, -4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.989958951085377e-10, + c: -1.726908154449960e-10, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.579432153588096e-10, + c: -2.440823849894451e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.040185359043095e-10, + c: 1.383508900414452e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.200052832994664e-10, + c: 7.394351632447234e-11, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.459305738609302e-11, + c: 4.156491202224267e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.348156714509747e-10, + c: -2.600305919217762e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.122345123122192e-11, + c: -4.145266676655890e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.807844803168798e-11, + c: -4.130629724476287e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.933745261763035e-10, + c: -1.472596033812123e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.370150483432883e-12, + c: 4.137809868118364e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.713726325922679e-10, + c: 3.108418870967709e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.385478332515841e-11, + c: 4.100733526956204e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.901417530646107e-10, + c: 1.081004869324021e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.347311326918375e-10, + c: -2.270482344555096e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.340186720713399e-10, + c: 3.768567571152290e-10, + mult: [0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.821433366334840e-10, + c: 3.555293253602629e-10, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.363475889495084e-11, + c: 3.984078785589259e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.741164390135372e-10, + c: -1.347065337663715e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.495527879337455e-12, + c: -3.944704761609095e-10, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.472661891252520e-10, + c: 1.826185652329777e-10, + mult: [0, 0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.791732800750339e-10, + c: -9.257771668055154e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.776527856865125e-11, + c: -3.882676262969165e-10, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.228275091037305e-11, + c: 3.834530699979874e-10, + mult: [0, 21, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.425252382881690e-10, + c: 2.961578817693662e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.752111766395126e-10, + c: 3.395485524228918e-10, + mult: [6, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.057492150022956e-10, + c: 3.670759469826320e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.135716257793710e-10, + c: -3.163930795403930e-10, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.468710260544008e-10, + c: 2.897873027182195e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.611529894173104e-10, + c: 1.063834301438527e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.730131789069089e-11, + c: -3.728088700114141e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.707785074328878e-10, + c: 1.290413541523347e-11, + mult: [0, 25, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.306849997493868e-10, + c: 1.534586974673025e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.424150198723232e-10, + c: -3.322312466469139e-10, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.405602146529544e-10, + c: 1.185805453577459e-10, + mult: [0, 0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.893180582520621e-10, + c: 2.144264593239598e-10, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.173296389146818e-10, + c: -1.670969103704532e-10, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.506292974501354e-10, + c: 6.787217721003571e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.805375580144748e-10, + c: 2.207254660406318e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.023091815023199e-10, + c: -1.893262215021399e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.203211807645056e-10, + c: -1.556353262884408e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.549370242285438e-10, + c: 1.105029162485930e-12, + mult: [0, 0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.952854396379505e-10, + c: 1.914999377208303e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041726600883422e-10, + c: 3.358126642235282e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.849091434710644e-10, + c: 1.955375436291379e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.335275272317736e-10, + c: 2.537946625085090e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.237245555433612e-18, + c: -3.408415958133065e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1], + }, + Term { + s: -2.852140180318630e-10, + c: 1.851032823700910e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.292343514667825e-10, + c: 8.273739624848132e-11, + mult: [0, 19, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.843481838076013e-12, + c: -3.378583133908529e-10, + mult: [0, 27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.204546494035564e-10, + c: 3.156857578662493e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.266061904756914e-11, + c: 3.348969737120079e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.710361334020875e-10, + c: 2.861481453272588e-10, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.447953595517418e-10, + c: 2.239053644658725e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.545654217114118e-12, + c: -3.308324350496273e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.254519550351247e-10, + c: 5.414782325395800e-11, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.288211498172673e-10, + c: 2.068497812603208e-11, + mult: [0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.581731239960441e-10, + c: 2.880416195907203e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.205409545181043e-10, + c: -3.023399210423368e-10, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.988078234102508e-10, + c: -1.273316488102656e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.195663063781055e-10, + c: 4.142516077123321e-11, + mult: [1, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.140385019160253e-10, + c: -7.214052190090136e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: 1.444647027740784e-10, + c: -2.877240220177884e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.217231687389250e-10, + c: 2.689916088730880e-12, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.969360199148992e-11, + c: -3.114111264347730e-10, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072638031603758e-13, + c: 3.118097067498743e-10, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.709864455809285e-11, + c: -3.063676368884007e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.299456838953523e-10, + c: -2.749916316350312e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.096840222847010e-10, + c: 2.832603055934220e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.380775954071071e-10, + c: 2.695844465992312e-10, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.183727382310022e-10, + c: -2.758190313262551e-10, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.861257693682788e-10, + c: -6.936555547949847e-11, + mult: [5, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.852753299423538e-10, + c: 5.348415769962118e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.116267697403087e-12, + c: 2.891092544691681e-10, + mult: [0, 22, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.597419690181728e-10, + c: -2.385328601175132e-10, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.442998780090319e-10, + c: -2.447421910906428e-10, + mult: [0, 0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.693962563474483e-10, + c: -8.988873359624043e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.638792329067609e-10, + c: 9.433509289092999e-11, + mult: [0, 0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.045659911362569e-11, + c: 2.688614270365427e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.709174409143886e-10, + c: 9.321697934895090e-12, + mult: [0, 26, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.650828880221696e-11, + c: 2.628706343494413e-10, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.332015929675049e-11, + c: 2.481646538919586e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.375920055175641e-10, + c: 1.072870780749785e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.578232602840043e-10, + c: 2.014989289410329e-10, + mult: [0, 0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.522514430525242e-10, + c: 3.968019122145482e-11, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.560312435166410e-10, + c: 2.001556444970350e-10, + mult: [4, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.235239091114637e-10, + c: -1.194300513475926e-10, + mult: [0, 0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.120648242729765e-10, + c: 1.381672129163421e-10, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.449832089092318e-10, + c: 6.051033221256505e-11, + mult: [0, 20, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.917226795205725e-11, + c: -2.306353500085058e-10, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.301214358784198e-11, + c: -2.472403972550732e-10, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.829104890753595e-12, + c: 2.478448367633510e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.100194984379967e-10, + c: -1.288667352647164e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.840458600061919e-11, + c: 2.455627009204823e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.979016116715699e-11, + c: 2.422045946188613e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.716771449789861e-12, + c: 2.433202952626191e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.145453615801841e-10, + c: 1.082158897249405e-10, + mult: [0, 0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.337784664967457e-10, + c: 1.993925149935419e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.894411047784500e-10, + c: -1.471159341393091e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.675780582957410e-12, + c: -2.384545934498741e-10, + mult: [0, 28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.718522786503728e-11, + c: -2.377576589180553e-10, + mult: [5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.861045583212806e-11, + c: -2.235614370168457e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.801753314478694e-10, + c: 1.538331374653556e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.321371743752993e-11, + c: -2.209303258971497e-10, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.327885158930485e-10, + c: 3.587656493420064e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.351729794537453e-10, + c: -1.551741135905337e-12, + mult: [0, 0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.312985999058349e-11, + c: 2.332386686223915e-10, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.296708485600207e-10, + c: -4.594399512597186e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.513444549307914e-10, + c: -1.785456957113334e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.495264683753068e-10, + c: 1.753427188026938e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.953771570284297e-10, + c: -1.195438742774852e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.042913367570474e-10, + c: 2.037050314792475e-10, + mult: [0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.131413021888998e-10, + c: 1.971766492648010e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.005691029142213e-12, + c: -2.266168986389717e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.159278901986615e-10, + c: 6.664989362316194e-11, + mult: [5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.212559112581928e-10, + c: 1.873841356202440e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.621073096217286e-11, + c: 2.008950596298063e-10, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.721115656247365e-10, + c: 1.337203431251170e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.318474232138098e-12, + c: 2.177390678013318e-10, + mult: [0, 23, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.875121013472965e-11, + c: 1.922934017940142e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.724958167394218e-10, + c: -1.296224149415369e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.024276852238285e-11, + c: -2.093997179386370e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.180927142916201e-10, + c: -1.779372001987206e-10, + mult: [0, 0, 19, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.208907129715801e-11, + c: 1.983744182644009e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.980453367898176e-10, + c: 7.270033570806176e-11, + mult: [0, 0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.301661039696369e-11, + c: -1.925258103417454e-10, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.537574063901990e-10, + c: -1.408068351034596e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104318565715631e-10, + c: -1.758890408429536e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.314091613025134e-12, + c: -2.057661125939498e-10, + mult: [0, 1, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.552104240359520e-11, + c: 2.019108087955218e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.424087084348960e-12, + c: 2.033561572087104e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.237361899379066e-10, + c: 1.596041543400957e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.795412632679333e-10, + c: 8.785726786503329e-11, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.978581799657787e-10, + c: 6.724991951908799e-12, + mult: [0, 27, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.954556609613540e-10, + c: 2.908077723072438e-11, + mult: [0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.756522322358811e-11, + c: -1.942388311791818e-10, + mult: [0, 0, 18, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.565068003040554e-11, + c: 1.794385303735138e-10, + mult: [0, 1, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.715396318131075e-12, + c: 1.945921621285831e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.287785792637379e-10, + c: 1.449771628274147e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.947732403336713e-11, + c: 1.752598523853999e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.736428048386401e-12, + c: -1.916793125050229e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.545011153686065e-10, + c: 1.135263709040438e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.495379145737539e-10, + c: 1.172135239896524e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.436351447253795e-12, + c: 1.892039807781149e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.525891118680374e-11, + c: 1.727971914113118e-10, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.644833265221963e-10, + c: -8.984077292684277e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.817829899541576e-10, + c: 4.412788287033411e-11, + mult: [0, 21, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.073439630625654e-11, + c: -1.815598378133378e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.825166940418941e-10, + c: -2.852412646214953e-11, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.074973962850926e-10, + c: 1.459230685367804e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017014014674664e-10, + c: 1.478349567606696e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.412622322077187e-10, + c: -1.096746975603234e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.556362928188629e-10, + c: -8.452239486282615e-11, + mult: [0, 0, 20, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.975038834762563e-11, + c: -1.665806427781437e-10, + mult: [0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.017225275429886e-11, + c: -1.499584415860027e-10, + mult: [3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.865673502865029e-12, + c: 1.740904560003947e-10, + mult: [0, 3, -5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.912718703221749e-11, + c: -1.597488360148246e-10, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.850074195881901e-11, + c: 1.534173868620491e-10, + mult: [0, 19, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.713990678842244e-10, + c: -6.220164931590804e-12, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.716330756138878e-11, + c: 1.706211312500039e-10, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.962575863577779e-11, + c: 1.684487916411542e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.936549992558269e-12, + c: 1.708069936194787e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.380791276301193e-11, + c: 1.670578155951035e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.767216214963009e-11, + c: -1.653750879612152e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.897454865227417e-11, + c: 1.622680431286966e-10, + mult: [0, 2, -5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.782547716567878e-12, + c: -1.683769226670984e-10, + mult: [0, 29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.214846610495030e-11, + c: -1.466248181413160e-10, + mult: [0, 0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.688345259236397e-11, + c: 1.650580072745786e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.407727506103137e-10, + c: -8.530011099266642e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.449650268432402e-12, + c: 1.638095700541535e-10, + mult: [0, 24, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.890511335024728e-12, + c: -1.631786124461534e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.732050365183213e-11, + c: 1.581878004584326e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.554516359091493e-10, + c: 4.389781106872451e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.446740813448854e-11, + c: -1.477831591663253e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.015455638611910e-10, + c: 1.244661741547433e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.817267193565294e-11, + c: 1.546236797009493e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.866987048448206e-11, + c: 1.526323613712652e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.630096055405881e-11, + c: -1.313629360051275e-10, + mult: [0, 0, 20, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.569205664517405e-10, + c: -3.618592239467415e-12, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.927670000093298e-11, + c: -1.509601267221729e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.446231812446057e-10, + c: 5.455386972800802e-11, + mult: [0, 0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.538112682033972e-10, + c: -2.733263352996771e-12, + mult: [0, 0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.350794805449996e-11, + c: 1.341828569650124e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.513439154475391e-10, + c: 2.130527985786599e-11, + mult: [0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.319778997734349e-11, + c: -1.509930658377594e-10, + mult: [0, 0, 19, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.127190090609666e-12, + c: 1.503909655223431e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.095419150581099e-12, + c: 1.501311668529112e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.487958162632847e-10, + c: -1.606711410918024e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.569606300087838e-11, + c: 1.213550965668429e-10, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.404841371808804e-10, + c: -4.687734010339616e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.238621229834587e-10, + c: 8.100133042236896e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.418289671469927e-10, + c: -3.970174593567227e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.388680656985079e-10, + c: 4.834971648952112e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.145979345734808e-10, + c: -8.892024593170542e-11, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.402117487379551e-10, + c: 3.568756295755973e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.444353683094207e-10, + c: 4.845327593005283e-12, + mult: [0, 28, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.302107975606968e-10, + c: 6.231654593552686e-11, + mult: [0, 0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429657255315603e-10, + c: -1.800294876867117e-11, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.055456494605583e-10, + c: -9.773550749203948e-11, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.712636372125479e-11, + c: -1.314424031185848e-10, + mult: [0, 0, 17, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.263195931600080e-11, + c: 1.315798416442255e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.562421234463019e-12, + c: 1.398739371367817e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 7.864808766252897e-12, + c: -1.390817171369768e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.063842151321775e-12, + c: -1.386015606123116e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.345518057334670e-10, + c: 3.209602912877460e-11, + mult: [0, 22, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.320882107023592e-10, + c: -3.906705870543682e-11, + mult: [0, 2, 2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.318417166587900e-10, + c: 3.890305841080917e-11, + mult: [0, 2, -6, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.853474080448157e-11, + c: -1.324831216859427e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.382936398189671e-11, + c: -1.281225924444658e-10, + mult: [0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.767543963034825e-11, + c: -1.258546376207200e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.312681482977120e-11, + c: -1.322175618427821e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.324256877109426e-10, + c: 4.772595047654111e-12, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.289291105082719e-10, + c: 2.934893417850443e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.037191973567299e-10, + c: 8.194831901983972e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.832633681937249e-11, + c: -9.745206271416305e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.032146083079261e-11, + c: 1.160294584879599e-10, + mult: [5, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.649810376212948e-11, + c: 9.784053498461453e-11, + mult: [0, 0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.142173208315394e-10, + c: -6.239582539932930e-11, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.892277660902784e-11, + c: 1.152380599689439e-10, + mult: [0, 20, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.830448692705587e-11, + c: 1.233117383615497e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.071465890391925e-11, + c: 1.078221745274904e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.747388150435675e-11, + c: 1.255337633798773e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.228256777094566e-10, + c: -3.629426997862169e-11, + mult: [0, 1, -5, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.560847363149629e-11, + c: -1.252803537314883e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.225892530340350e-10, + c: 3.620893634094209e-11, + mult: [0, 1, 3, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.112161042147336e-12, + c: -1.275648269514996e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266676495629056e-10, + c: -1.396496153204439e-11, + mult: [3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.612443443529039e-11, + c: -1.262015963823659e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.210603699257868e-10, + c: -3.577675104327010e-11, + mult: [0, 3, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.208718837326444e-10, + c: 3.569698630945812e-11, + mult: [0, 3, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.615059874093750e-12, + c: 1.257962768836031e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.511530105313977e-11, + c: -8.224025542922119e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.573865730560262e-11, + c: 8.123665818108830e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.996123720640016e-11, + c: 9.594208789826292e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.086981092631422e-11, + c: 9.502504574057918e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.523983811926963e-12, + c: -1.241943894192823e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.765794025350612e-11, + c: -1.222663070008993e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.220507274319833e-10, + c: -1.889767956843428e-11, + mult: [2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.041952597723886e-11, + c: 1.216285877673899e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.209235315369454e-12, + c: 1.231058684025511e-10, + mult: [0, 25, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.614632162653583e-11, + c: 8.738501497150048e-11, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.942073378824530e-11, + c: 1.208842978042427e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.071204297458200e-10, + c: -5.923871402310406e-11, + mult: [0, 0, 21, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.673556283435568e-11, + c: -7.499939540215296e-11, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.601726830119948e-12, + c: 1.221026613164117e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.140037415691894e-10, + c: -4.155510161700696e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.632079190376399e-11, + c: 9.355374996058321e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.105939512504568e-11, + c: 7.788440146191158e-11, + mult: [0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.101432741098071e-12, + c: -1.189455700290224e-10, + mult: [0, 30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.730662580652336e-11, + c: -1.176188889174078e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.170771058853255e-10, + c: 1.559840843200633e-11, + mult: [0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.254169867001443e-12, + c: -1.175735783159144e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.627354289711416e-11, + c: -8.945378154716435e-11, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.679622892081377e-11, + c: -1.071190126462064e-10, + mult: [0, 0, 18, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.129666858251127e-10, + c: -2.897949197396032e-11, + mult: [6, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.755502590151805e-12, + c: -1.161506212968274e-10, + mult: [0, 0, 20, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158225737658688e-10, + c: 1.446015661788727e-12, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.146366261236770e-10, + c: -1.485280756385349e-11, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.235227873348362e-11, + c: -9.599733008582622e-11, + mult: [0, 0, 21, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.451456667095227e-11, + c: -6.378429862664314e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.715309548496898e-11, + c: -1.030316151644733e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.604612373476546e-11, + c: 9.806420358139233e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.113988986883610e-10, + c: -1.693411117997714e-12, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.591323926057204e-11, + c: 9.584089560592418e-11, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.485000031565713e-11, + c: 7.093088431478875e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.030871293025891e-10, + c: 4.000831724462045e-11, + mult: [0, 0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.478192391757308e-11, + c: 9.577326677180083e-11, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058113596547957e-10, + c: 3.018877505954643e-11, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.432140802331509e-11, + c: -7.045595387814540e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.090293131815874e-10, + c: -1.093291356713934e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.522141722545133e-11, + c: 7.752004381289435e-11, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072460368058392e-10, + c: -1.217474592437768e-11, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.076589715698232e-10, + c: 2.679734959098808e-12, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028456567882773e-10, + c: -3.038538629461164e-11, + mult: [0, 4, 0, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.767644465750700e-11, + c: 7.375651338558980e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.027032033005322e-10, + c: 3.033946479385164e-11, + mult: [0, 4, -8, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.060141560736242e-10, + c: 1.490497436574883e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.079450748314585e-11, + c: 1.047055470886339e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.324294086830350e-13, + c: 1.066440440694941e-10, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.053908970696904e-10, + c: 3.486520868831026e-12, + mult: [0, 29, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.659838582233139e-12, + c: 1.053491450229498e-10, + mult: [0, 4, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.257665768768778e-11, + c: -9.971179484434748e-11, + mult: [0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.330684706005150e-11, + c: -9.547964825052691e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.316376986555894e-11, + c: 4.737193712530725e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.236953724593044e-11, + c: -6.377240537779262e-11, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.681798430838678e-11, + c: -8.671439263388801e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.361311545405388e-11, + c: -9.323389050784152e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.817949382175158e-11, + c: -3.044113091701608e-11, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.236437566649883e-11, + c: 8.164903030645707e-11, + mult: [5, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.024753020460224e-10, + c: -6.218019422342693e-12, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.413975222422427e-11, + c: 4.093845022321593e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.399529454677325e-11, + c: 9.949405775862734e-11, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.582352312791911e-11, + c: 6.859185821902433e-11, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.937046343966987e-11, + c: 2.328759821406858e-11, + mult: [0, 23, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.552585104269856e-11, + c: -5.488555813554881e-11, + mult: [0, 8, -15, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.177567373408421e-11, + c: -7.189941315888406e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.331313570187220e-11, + c: 9.797688725825512e-11, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.005360262900268e-10, + c: -5.219209090758933e-12, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.479019057304318e-11, + c: 5.413337115448678e-11, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.923896779846570e-11, + c: 9.586102657015595e-11, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: -4.055939670685411e-8, + c: 1.269093175241482e-7, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.492445468383825e-8, + c: 5.312092913550602e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.127811551369313e-8, + c: 3.468606697209054e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.030831042973822e-8, + c: -3.877387923518144e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.335179414720290e-8, + c: 4.108919833594584e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.476106896378831e-9, + c: -4.136083573135135e-8, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.422964606371090e-8, + c: 3.162094897354047e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.737874129489552e-8, + c: -2.045187439518988e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.568461890952793e-8, + c: 8.965512549724959e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.522610210316201e-8, + c: -6.825448996775604e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.994234307579493e-9, + c: 2.441548550720115e-8, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.431441152957188e-8, + c: 7.306017535371944e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.130794063303579e-8, + c: 1.369409865749588e-8, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.104389893983758e-8, + c: 1.182543123181997e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.100469014430596e-8, + c: 2.079494009963975e-8, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.889602754065754e-10, + c: -1.771048808616919e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.409310353327539e-9, + c: 1.646268378118078e-8, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.849411705409827e-10, + c: 1.674916954716009e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044579329594887e-8, + c: -1.071381685492855e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.120521131325710e-8, + c: 7.179551640867098e-9, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.108440846697809e-9, + c: 1.125724568226223e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107437866807367e-8, + c: -5.550883143966878e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.823890579789545e-9, + c: 1.162389355271680e-8, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.732437431041534e-9, + c: -9.603277114329267e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.482929787505487e-9, + c: 1.028484484825301e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.610939900381746e-9, + c: 9.544815733459060e-9, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.040932915096363e-9, + c: -4.203428902131411e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.757048667268981e-9, + c: 8.383638677147448e-9, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.998922629055990e-9, + c: 4.464633521648107e-9, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.311486139931727e-9, + c: -7.992971147958770e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.349873521415047e-9, + c: 2.567987148817594e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.609197485796693e-9, + c: 6.738214844346415e-9, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.088399223612996e-9, + c: -2.797940001408486e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.480027861316089e-10, + c: 7.468703322332982e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.428750077383840e-9, + c: 3.781750223254851e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.536183705664868e-9, + c: -5.959476606138962e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.006797295226720e-9, + c: 6.110841658931700e-9, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.767696473825513e-9, + c: -3.940559747316367e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.861567303121790e-9, + c: 1.877209361677904e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.940415211092768e-9, + c: -1.605646701595494e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.788428319141712e-9, + c: 4.761675313134864e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.812601202503838e-9, + c: 1.435743077810284e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.510274914504111e-9, + c: 2.867076255217112e-9, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.513613233017257e-9, + c: 4.668306592972293e-9, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.486035853401115e-9, + c: 2.526187051686751e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.818112008578001e-11, + c: 4.964575888683161e-9, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.688835894574091e-9, + c: -1.143795250327275e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.467714103682012e-9, + c: 4.479254735828631e-9, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.296611541687063e-9, + c: 7.059928034631319e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.126573403664720e-9, + c: 3.642103577088969e-9, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.674502334990995e-10, + c: -3.788523286926979e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.937889012654475e-9, + c: 2.379959708068828e-9, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.768415878146794e-9, + c: 3.288368866432459e-9, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.613836928135493e-9, + c: -2.587451747282997e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.914588841405544e-11, + c: 3.596386750535791e-9, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.505860242354731e-9, + c: 1.148681606177192e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.695161322889105e-10, + c: -3.489296964439063e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.075961952694927e-9, + c: 3.293222571944080e-9, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.912639375633554e-9, + c: 1.846676281704999e-9, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.786956607573589e-9, + c: 1.953043983769977e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.289243408838651e-9, + c: -1.056301911608758e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.147780836156203e-10, + c: -3.177965799507142e-9, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.458313335718839e-9, + c: 2.025175260630687e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.880119942527271e-9, + c: 8.204085841768498e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.001195888843136e-10, + c: -2.918552446466881e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.399836760812582e-9, + c: 2.409091973784287e-9, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.616653658255907e-9, + c: -7.797664109578537e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.207043554168100e-11, + c: 2.664002233804119e-9, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.300640520063997e-9, + c: -1.342424109177205e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.237898188078564e-9, + c: 2.302537724695609e-9, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.350907218465047e-9, + c: 1.124924729250880e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.895744858014600e-10, + c: 2.425065621820776e-9, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.377965974612934e-9, + c: 2.090744395370681e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121585127912965e-9, + c: 2.116276086300590e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.118252512812978e-9, + c: -8.163743680637345e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.917693240182135e-9, + c: 1.135011150567777e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.999998479422080e-10, + c: -2.125875424637062e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.867558932445192e-9, + c: 1.170602065526080e-9, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.891109144327941e-10, + c: -2.079367100430912e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035035459279478e-9, + c: 1.787089118136815e-9, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.931677350613483e-9, + c: 6.778335517776556e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.492276543745965e-10, + c: -1.915636294196518e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.108522410224261e-11, + c: 1.976208965271593e-9, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.795576775060514e-10, + c: 1.787106376438151e-9, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.574993107335694e-10, + c: 1.597690244103238e-9, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.539973883473841e-9, + c: -8.569362126230021e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.242656815264485e-9, + c: 1.240683435688707e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.528267962539564e-10, + c: 1.347168429691746e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.618744910321139e-10, + c: -1.443503357809053e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.926373651114919e-10, + c: 1.371147349735176e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.886878505397450e-10, + c: -1.312184014781657e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.496126293194425e-9, + c: 2.418897396039507e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.883799705665173e-11, + c: -1.506047002488016e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.362977521279719e-11, + c: 1.456184596873474e-9, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.276706669370440e-10, + c: -1.194055844599096e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.292141939934251e-9, + c: -6.599809750500394e-10, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.240589305091768e-9, + c: 7.376410401548837e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.184245226042913e-11, + c: -1.416910625956852e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.182990782780611e-9, + c: 7.483633122569630e-10, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.253172825344698e-10, + c: 1.317303293525871e-9, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.228897392173942e-9, + c: -6.351594283345563e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.303243229174880e-9, + c: 4.481120786366766e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.319025063724246e-9, + c: -3.301905481038396e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.047946570603437e-12, + c: -1.347150953875091e-9, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.686008980689821e-11, + c: 1.343991924485144e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.339187329515599e-11, + c: -1.320014264622989e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.211209202946220e-9, + c: -4.072059516932893e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.173950010042566e-10, + c: -1.228931287155995e-9, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.863540869709452e-10, + c: 1.096132292823855e-9, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.120700063879158e-10, + c: 1.059482662555057e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.296922199817794e-10, + c: -1.029896739840092e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.956994338563917e-12, + c: -1.196993750791046e-9, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.142426065088491e-9, + c: 3.045192642911595e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.133699221608531e-9, + c: 3.070547133805363e-11, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.595132113603931e-10, + c: 9.979558687831625e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.803233899273885e-10, + c: 8.463278066933350e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.293201168837875e-10, + c: 5.543650631061259e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.297213617341259e-10, + c: 5.259397127510705e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.834976779560712e-11, + c: 1.062166838962601e-9, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.318040091394661e-10, + c: 8.532894562826853e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.714254185208771e-10, + c: -9.887122421661288e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.586977735825726e-10, + c: 7.846886216975622e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.119801850972307e-10, + c: 9.709537680729189e-10, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.178539900612348e-12, + c: -1.019387602233981e-9, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012369240616827e-9, + c: -2.199883736612648e-11, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.697458851652050e-10, + c: 8.279854718362063e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.714373764272003e-10, + c: 8.156400519914382e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.619156484743105e-10, + c: -7.537833487369928e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.384669920878514e-11, + c: -9.365405340044378e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.286464391795418e-10, + c: -4.995735551972084e-10, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.392799054817791e-10, + c: 4.680036930387336e-10, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.417946487372356e-10, + c: -1.878168744693474e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.292690316359499e-10, + c: 4.359223900839021e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.970174017089985e-10, + c: -4.837436110757290e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.042527758096501e-11, + c: -8.435081794113185e-10, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.953793438007209e-10, + c: 7.427534623476060e-10, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.039162961013127e-10, + c: -5.749138831720909e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.813245900530387e-10, + c: -5.966048463389984e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.208898392552580e-11, + c: 8.303284702928601e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.885407023470576e-10, + c: 5.199962271617701e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.445779631821241e-11, + c: 7.658164005212989e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.242586853865179e-10, + c: -4.219395762633759e-10, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.287025229872270e-10, + c: 7.154990822228345e-10, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.835307835334018e-10, + c: -5.596535947585748e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.604636599595206e-10, + c: 6.226315533497031e-10, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.521710796672334e-10, + c: -3.003216103888642e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.133861560376391e-10, + c: 3.657487184330976e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.110423625979725e-10, + c: 2.058262670805924e-11, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.152542413134563e-10, + c: -3.552494297664826e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.298936051064003e-10, + c: -2.913408510840267e-10, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117222374719914e-11, + c: -6.837164863428893e-10, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.135053919640523e-10, + c: -6.675008485447525e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.802450363212968e-10, + c: 3.471974513065473e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.312334266023089e-10, + c: 2.114711581127897e-10, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.998032151495495e-10, + c: -2.757792494524825e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.442290645285836e-10, + c: 4.601822030927192e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.103105323626784e-10, + c: -8.269826615244228e-11, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.710444074083223e-10, + c: -2.144013110040823e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.448058568668400e-10, + c: -2.722833046560225e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.062498328668471e-10, + c: -4.189744776469709e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.859139389839553e-10, + c: -3.226701855448659e-10, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.174780282506390e-10, + c: -2.379406903914753e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.670984049821772e-10, + c: -4.601340406149713e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.012485449334581e-10, + c: -2.608415706195201e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.627094859868413e-10, + c: 4.968438408761815e-10, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.225825237051674e-10, + c: -3.574998471215603e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.675353116921204e-10, + c: 5.270715275071786e-10, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.130993950204142e-11, + c: -5.457056836607316e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.148685608842841e-11, + c: 5.454523199738084e-10, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.729968185730694e-10, + c: 4.702757726778278e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.547415466388190e-10, + c: 2.885362112029530e-10, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.618929472556374e-10, + c: 2.763767755358657e-10, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.348688368132199e-10, + c: 1.622237818392881e-11, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.587489470092243e-11, + c: 5.296271128476621e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.279986418630692e-10, + c: 3.069192189636968e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.892838714080163e-10, + c: 3.440699023532050e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.283872616948660e-10, + c: 3.969000174356574e-10, + mult: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.175144522905123e-10, + c: 3.964210262066994e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.785972885332955e-10, + c: 1.696966312237228e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.734892331198543e-11, + c: 4.958197655366933e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.417680051068220e-10, + c: -2.268587426694887e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.799650594157307e-10, + c: 1.012150110195991e-10, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.290738495473004e-10, + c: -1.975057781205626e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.661396055954701e-10, + c: 7.517182996678767e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.336952288945549e-10, + c: -1.765743487364462e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.354942895517253e-10, + c: -3.151649276383451e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.375518994537391e-10, + c: -3.884900107836817e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.024337979211195e-10, + c: -2.055117651968686e-10, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.478937947608207e-10, + c: 4.226181124594991e-11, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.817094710989453e-10, + c: 4.071556046466763e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.956451190195625e-10, + c: 1.866621799762135e-10, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.092073356776897e-11, + c: -4.303865562877653e-10, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.267197262476194e-10, + c: 1.335304738110606e-11, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.655878330518589e-10, + c: 2.185395924168123e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.569240118887668e-10, + c: -2.318913829875647e-10, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.226346065790138e-10, + c: 3.881077700346620e-10, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.916989075009408e-10, + c: 1.090000818154253e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.046014656862425e-10, + c: 3.511177794673638e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.990537066887911e-10, + c: 3.845795756166033e-12, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.033214802847405e-11, + c: 3.942071925883480e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.150806189048229e-12, + c: 3.837128382615930e-10, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.386504191650756e-10, + c: 1.781967288942651e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.463423112593434e-10, + c: -1.597045830703801e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.845243481669570e-11, + c: -3.787963926328718e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.640022110703345e-10, + c: -1.085613572881944e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.603254122277059e-10, + c: 3.383088325822363e-10, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.718974781256028e-10, + c: 3.279614944754260e-10, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.623882390734620e-11, + c: -3.613522689453658e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.966150520927350e-10, + c: 3.045635780210493e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.316354351023441e-10, + c: -1.461236605188686e-10, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.734388367692699e-10, + c: -2.377117992683572e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.472844872666379e-10, + c: 1.105619958438329e-11, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.452587381714226e-10, + c: -1.899459549589299e-11, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.307316376097393e-10, + c: -9.410912661272313e-11, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.245855469064625e-10, + c: 1.120745114354460e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.723579576966443e-10, + c: -2.969356983632034e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.692544546828377e-10, + c: -2.982960638215202e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.044033893753999e-10, + c: -3.212886051043479e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.997893675601835e-10, + c: -1.553692149045775e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015237332364467e-11, + c: -3.362368438195165e-10, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.868716971877309e-10, + c: 1.711569109547421e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.141688685050255e-10, + c: 8.745498864392755e-11, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.747403732460420e-10, + c: 1.750772253055317e-10, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.700702158463689e-10, + c: 1.774406524178277e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.081547467640493e-10, + c: -5.580916435596031e-12, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.683706502287371e-10, + c: -1.451567720152347e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.742240928841361e-10, + c: -1.267293742736765e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.516948279448108e-10, + c: 2.590486632394964e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.969790969904843e-11, + c: 2.856556000265967e-10, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.518239815420336e-10, + c: -1.593002564612223e-10, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.775448510742729e-10, + c: 1.043010649427577e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.923871785499498e-10, + c: -3.092879588459583e-11, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.816914978465043e-10, + c: -6.322588709776018e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.205354519834822e-10, + c: -1.795348490874094e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.837481305064157e-10, + c: 9.085674397685827e-12, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.260082578284692e-10, + c: 2.513088161274726e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.529822943928663e-10, + c: -2.312529837008302e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.362863154853181e-10, + c: 1.386596710895150e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.276556574011138e-12, + c: 2.665933805753288e-10, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.155297723184695e-12, + c: -2.606718825128679e-10, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.228561107912924e-10, + c: 1.325850100971449e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032523153651547e-10, + c: -2.334047482844062e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.249030221275489e-10, + c: -1.161835121726368e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.156763886515663e-10, + c: -1.228750191477415e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.437456489348346e-10, + c: -3.562762423646872e-11, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.336110937486156e-10, + c: 5.827180266628628e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.106781089210349e-10, + c: 2.135370945240471e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.926863068990293e-12, + c: 2.402697979441079e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.013303321864390e-10, + c: -1.295123391780962e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.199683538009123e-10, + c: -9.166243446316211e-11, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.140078994349471e-10, + c: -9.914987028647722e-11, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.309938395428954e-10, + c: 7.336547969700751e-12, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.310699303293232e-10, + c: -3.180605595843598e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.388892366984857e-11, + c: 2.125030636858654e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.502870706185245e-10, + c: 1.703395260261163e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.181634216730450e-10, + c: -4.863846839415000e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.355581771231784e-10, + c: -1.772402362592423e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.763405856653858e-10, + c: -1.356622925798950e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.555607932018362e-11, + c: 2.101524564817245e-10, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.112586924871817e-10, + c: 1.888482606605905e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.887085712825559e-10, + c: 1.074681097985575e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.778263386573805e-10, + c: -1.218711225450720e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.034118900938851e-10, + c: -6.902821410664238e-11, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.116850146931455e-11, + c: 2.030228220348121e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.814067720811904e-10, + c: -9.350288177588849e-11, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.006582231666196e-10, + c: -3.583539816576066e-11, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.676252279265592e-10, + c: -1.155229148480473e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.722738434677239e-10, + c: -1.055013813486108e-10, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.602489553521380e-10, + c: -1.227141249829809e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.055116451096132e-12, + c: -2.008100329820689e-10, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.672039486500847e-10, + c: -1.111302561844617e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.712935452812673e-10, + c: 1.015229792413268e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.625819946860010e-10, + c: 1.096953511028666e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.625904896674327e-10, + c: 1.043350525793656e-10, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.099473431438871e-11, + c: 1.902615137378082e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.907107276556719e-11, + c: -1.870757920254457e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.866798222055918e-10, + c: 5.818306970301768e-12, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.062871914472480e-10, + c: -1.505441006776769e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.755340446379106e-12, + c: 1.829266555542613e-10, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651546417812737e-10, + c: -7.672369342402700e-11, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.444628796808374e-11, + c: 1.661427886311598e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.759977412818409e-10, + c: 4.573610568196802e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.242397360228433e-11, + c: 1.703266976578932e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.341074678333783e-10, + c: -1.216196848461590e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.584437324371349e-10, + c: -8.470396435239209e-11, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.718334098104356e-11, + c: 1.755627107588912e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399839996144705e-10, + c: -1.025033782315949e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.503034416147609e-10, + c: -7.735228221108602e-11, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.034890345728568e-10, + c: 1.331901116265147e-10, + mult: [5, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494268475713399e-10, + c: -7.736278635446722e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.635093937277152e-10, + c: -3.347035814270240e-11, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.787496835533137e-11, + c: 1.545350256004744e-10, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.495085021906276e-11, + c: 1.276974228687714e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.073232765842612e-11, + c: 1.360426389498903e-10, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.224738893920352e-10, + c: 9.901371637547501e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.403299019520597e-10, + c: -7.116615139111585e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.333866460652980e-11, + c: -1.261090927732009e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.637366024311172e-11, + c: -1.301491223696416e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.945019610063005e-12, + c: -1.538728377742753e-10, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.004752566765290e-11, + c: 1.370667859064180e-10, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.443914851552912e-10, + c: -5.229604935255654e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.563089558498534e-11, + c: 1.493413631773000e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.302437688682585e-10, + c: 7.682729807847953e-11, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494871731951087e-10, + c: 4.516587256536016e-12, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.122675879774824e-10, + c: 9.819923544649609e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.740655061056489e-11, + c: -1.229104482604455e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.914940396748959e-11, + c: 1.206336458217628e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.087111785526627e-10, + c: -9.196045905093535e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.254743670187226e-10, + c: -6.453166640707128e-11, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186666277289284e-10, + c: -7.596097310494534e-11, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.173762945089043e-11, + c: -1.132376614469798e-10, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.263228156319970e-10, + c: -5.885051329446279e-11, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.635179200289306e-11, + c: -9.793459299017723e-11, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.589040384453305e-11, + c: 1.324751224742789e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.065238636753326e-11, + c: -1.358923045108789e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.340131154538167e-10, + c: 2.185820593913931e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.321090554568967e-10, + c: -2.981875437723684e-11, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.393428999016817e-11, + c: 1.305369307672275e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104360352001725e-10, + c: -7.741488540957181e-11, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036072138548068e-10, + c: -8.512296813433738e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.033685874663283e-10, + c: 8.512788590572802e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148810780141360e-10, + c: -6.763327652142719e-11, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.908016745585544e-11, + c: 1.259401185381031e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.643986686157289e-11, + c: 1.265826991720790e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.457298471727119e-12, + c: -1.287626426198142e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.126376496269169e-10, + c: 5.968746804144082e-11, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.516355970037832e-12, + c: 1.239540586398456e-10, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.136446943774896e-10, + c: 4.092750932490113e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.493615265918531e-11, + c: 1.135853960268307e-10, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.454277803280147e-11, + c: 1.134104520462588e-10, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.185027361178838e-10, + c: 3.424888273534759e-12, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.184808111174992e-10, + c: -1.630802552658350e-12, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.127989950127235e-10, + c: -3.454519552062491e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045896206706944e-10, + c: -5.380342396337765e-11, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.887832275629646e-12, + c: -1.173732828609623e-10, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.428684597698490e-11, + c: -9.661891114414603e-11, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.796866660794159e-11, + c: 5.745769030414215e-11, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.796766164765169e-11, + c: 9.685287833825015e-11, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.073505702906914e-11, + c: -6.669926647482071e-11, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.985571354176441e-11, + c: -7.898582085726002e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.388844429748025e-11, + c: 6.089370046514294e-11, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.535664529675449e-11, + c: -7.222016083669142e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.320096298909702e-11, + c: -1.083744896307278e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.059696167830307e-10, + c: -2.570273227945653e-11, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.630331786353114e-11, + c: 4.519747619537275e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.592363929252912e-11, + c: -4.481811341257177e-11, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.210821762932728e-11, + c: 7.716891580916952e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.665718517290919e-11, + c: -5.842668085283727e-11, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.363227040228269e-11, + c: -4.313359945713158e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.155795798961892e-11, + c: -8.239092727063694e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.377521280949164e-11, + c: 7.956333088262363e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.615929851523652e-11, + c: -5.387414557160642e-11, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.278524771351178e-11, + c: 7.952758241214178e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.077039842486088e-11, + c: 9.614072364426501e-11, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.757263185117727e-11, + c: -6.429528363541895e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.169579682708687e-11, + c: 9.117740679314222e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -5.173886833822476e-9, + c: -4.916485555961884e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.106257439910841e-10, + c: 6.572661319138909e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.782736485997923e-9, + c: -2.729687739939616e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.116913598040857e-9, + c: -4.977181598440322e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.180136485649746e-9, + c: 4.769482527928418e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.063513229056910e-9, + c: 1.502787989963001e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.106280249136275e-9, + c: 5.658358240941359e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.311189437306106e-9, + c: 2.178555593319428e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.624059140395652e-9, + c: -1.790182152585120e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.697576256095607e-9, + c: -1.278002953345160e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.997437854150676e-9, + c: 6.303975747301756e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.074935771896232e-9, + c: -1.395314753112148e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.862016177569160e-9, + c: -8.874165323645710e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.968209264306362e-9, + c: 1.229966392468563e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651683078005307e-9, + c: -8.189884018676547e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.461986151302740e-9, + c: 9.552271739438499e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.908034874130225e-10, + c: -1.595867543439518e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.394905703686908e-11, + c: -1.666178600843002e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.226775385261050e-9, + c: -1.101627491423327e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.814145853166825e-10, + c: 1.312150945928929e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.470327176316773e-11, + c: 1.389449947190360e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.241675651551285e-10, + c: 1.105754607299527e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.539649382115048e-10, + c: 1.142925633329710e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.915551317650222e-10, + c: -1.168433811558432e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.101908620514252e-9, + c: -5.272757983137433e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.736963989452371e-10, + c: 1.063542133227721e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.115966736238122e-10, + c: -6.015929669316992e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.020679786194265e-9, + c: -2.140452783605411e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.439677696141125e-10, + c: -8.557148739772647e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.090105875009327e-10, + c: 9.863386747033293e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.185639878275876e-10, + c: -4.102667933688220e-10, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.844552785247638e-10, + c: 6.661657975454079e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.791898997059467e-10, + c: 5.161320899928039e-11, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.263605268518181e-10, + c: 5.990493533048759e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.405365387063124e-10, + c: -3.548669222412901e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.987892826348508e-10, + c: -4.001779852422871e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.300794021072973e-11, + c: -7.291271639661546e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.716482321399660e-10, + c: 5.579483285248552e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.930520849136912e-10, + c: 5.334680229701759e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.753593658213602e-10, + c: -5.162661099923526e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.584096607697187e-10, + c: 3.619921662218093e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.524117583541870e-10, + c: 5.654907150408486e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.364553083974508e-10, + c: -2.713840371281214e-10, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.849793232235702e-10, + c: 3.261942037613540e-11, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.214331198952556e-10, + c: -2.498534832675064e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.247083863466144e-10, + c: -5.152844836124615e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.815211490475789e-10, + c: -4.514136492527169e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.414934460926381e-10, + c: -4.699862419378455e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.134130836651624e-10, + c: 7.923455050564246e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.017155201379952e-10, + c: -4.769162425388041e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.926346091343006e-10, + c: -4.032090607437850e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.896278794355351e-10, + c: 2.416486074290943e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.877171173031565e-11, + c: -4.452065722101037e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.082302931084915e-10, + c: 4.349142012969838e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.048135482304410e-10, + c: 3.910874077934853e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.696353427709937e-10, + c: 2.381192651703186e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.563954173109358e-10, + c: -3.437248355339047e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.239515118273484e-10, + c: 2.261586005201377e-11, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.642948979958531e-10, + c: 2.088354755863078e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.711502666116446e-10, + c: -1.901634908786019e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.752050973546550e-10, + c: -1.795862860958546e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.808613242519576e-10, + c: -5.854287063605411e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.788004314426294e-10, + c: -2.372139145021451e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.456569669283884e-10, + c: -3.169837239263439e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.400625807956198e-10, + c: -2.487832629119695e-11, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.302508547003362e-11, + c: 3.272327822130640e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.723174150083670e-10, + c: -2.825073593359287e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.743505685490525e-10, + c: 1.758611467176713e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.140475086987066e-10, + c: 1.615731471101131e-11, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.177806213263763e-11, + c: -3.029421022083770e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.729504050385995e-10, + c: -1.303988069642166e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.611088216644919e-10, + c: -1.340660941364169e-10, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.326946320844402e-10, + c: -1.763458056185303e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.332883642847543e-10, + c: 2.527904878587495e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.305948185190718e-10, + c: 2.526699795416930e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040359429752879e-10, + c: -2.597421429984549e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.816118152005937e-12, + c: 2.706777182522705e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.621236412182090e-10, + c: -3.820225151318945e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.153167916643411e-10, + c: -2.380610587200607e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.085262667198003e-11, + c: 2.432713203584968e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.105797543794783e-10, + c: 1.344691324790924e-10, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.385932274288026e-10, + c: -2.048166100767957e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.439230120993253e-11, + c: 2.258173247164299e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.751643973070686e-12, + c: -2.423600237251451e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.003245087796041e-10, + c: -1.339227257412659e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.328878664267651e-10, + c: 1.165187834177420e-11, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.997460631238507e-10, + c: -9.519089643466017e-11, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.426887169440524e-11, + c: -2.165893163355484e-10, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.002969469230547e-10, + c: 1.892001606494402e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.087490638211674e-10, + c: -1.820135076318457e-10, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.823518390831463e-10, + c: -9.414710826114114e-11, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.892320611803067e-10, + c: -5.772659201934741e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.931680610090899e-10, + c: 2.186209143491389e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.627564154488739e-10, + c: 1.036411753612466e-10, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.279044146180666e-10, + c: -1.366613318355290e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.144558957366153e-10, + c: 1.396114952293307e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.026611539282465e-10, + c: -1.412499322244188e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.714889011402927e-10, + c: 8.418554229946525e-12, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.439953972623742e-12, + c: 1.695976814321804e-10, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.895975652364548e-11, + c: 1.483377185351191e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.347689923774371e-10, + c: 9.907564077505590e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.536773081089310e-10, + c: 5.500508656309969e-11, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.708600293902735e-11, + c: -1.588539789450206e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.607220753102531e-10, + c: -2.427701345230345e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.466622968936081e-10, + c: -6.968796429430987e-11, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.110316390473247e-11, + c: 1.356466835923900e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451487405271943e-10, + c: 4.715817318040499e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.099632059127253e-11, + c: -1.287055810811247e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.419659977503386e-10, + c: 5.037122265585908e-11, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.253128458926262e-10, + c: 7.965314436941258e-11, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.435634930358032e-10, + c: -1.714866392467976e-12, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.260931988935161e-10, + c: -6.537769349390774e-11, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.524608761699710e-11, + c: 1.255738681722323e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.378668597224961e-11, + c: -1.258176892872961e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.306036091222473e-11, + c: -1.285559332863853e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.870672526887916e-11, + c: -1.171874283161706e-10, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.309329061434543e-11, + c: -1.074470109920169e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.295728398715915e-11, + c: 1.179080848900966e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.147218904425818e-11, + c: -1.134380893860146e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.058742742506657e-12, + c: 1.274674378524407e-10, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.191683554871630e-11, + c: -1.139076146522643e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.249600839082671e-10, + c: 6.077309352064887e-12, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.059927588427699e-11, + c: -1.181964217862687e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.078886477067779e-10, + c: -5.109355173733357e-11, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148531166767669e-10, + c: -7.030475326740312e-12, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.316484580997800e-11, + c: 8.828527801842533e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.565826980451348e-11, + c: 6.075216347729465e-11, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.578254150426541e-11, + c: -9.188872342775501e-11, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.930841972303124e-11, + c: -7.195524195459595e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.016576148638952e-11, + c: 9.375956248622262e-11, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.039726825463368e-10, + c: 3.223199050477488e-13, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.261546176408288e-12, + c: 1.016145113915577e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.848747602272970e-11, + c: -6.258900992264765e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 6.340454731699656e-10, + c: 3.927513770678965e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.027673078800534e-10, + c: -4.017082504514490e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.920267401056554e-10, + c: 2.620581647519616e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.009245759564781e-10, + c: -2.251601249984501e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.439709547365869e-10, + c: 1.146459198659467e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.366269841036675e-11, + c: -2.284727052024786e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.409384417803931e-11, + c: -2.009279320892444e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.198866105207823e-10, + c: 1.663433376034602e-11, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.765836369629222e-10, + c: -8.327528937345344e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.924572948279147e-11, + c: 1.673086461817365e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.058998215914157e-10, + c: -1.513013432903165e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.431252421079027e-10, + c: -1.015047272405248e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.488190977957082e-10, + c: 9.046129523033897e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.737869248432167e-11, + c: -1.526082015053114e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.528808715276468e-11, + c: 1.655509274253591e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.502399754266651e-11, + c: -1.340161859190609e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.343895463519890e-11, + c: -1.566528286841951e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.485872318619620e-10, + c: 2.360488933630393e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.677765061389615e-11, + c: 9.433776725989447e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.753470369433000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.528802326523678e-6, + c: 3.225447561917028e-5, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.056396003946340e-5, + c: -1.716306740014159e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.664410968350593e-5, + c: 3.545485826499014e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.268839469607162e-5, + c: 2.631349429962086e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.251575540362920e-5, + c: 1.737232295559857e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.599407326578266e-7, + c: 1.089660357483378e-5, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.861283706207645e-6, + c: 7.600368384404018e-6, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.471883513088069e-6, + c: 5.561890781895792e-6, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.036931427775893e-6, + c: 1.030323443817357e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.142876878301938e-6, + c: -7.845807167253894e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.649307779748780e-6, + c: 1.214108365112657e-6, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.721261445071933e-6, + c: -6.226263306183139e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.995154887647469e-7, + c: 3.580674084822238e-6, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.294049502848424e-6, + c: 4.636146818009921e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.471110860941967e-6, + c: 2.361384206293611e-6, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.772158630353226e-6, + c: 3.134661954507900e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.335411694513349e-6, + c: 1.966008079373560e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.933063816723583e-6, + c: 1.254444811983611e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.448827128631326e-6, + c: 8.165446584403862e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.389864322017090e-8, + c: 1.553181648197052e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.838747242472068e-8, + c: 1.446080774647400e-6, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.066688157083506e-6, + c: -6.759405997042300e-7, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186021057820064e-6, + c: -6.759749635552222e-11, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.059709842766714e-6, + c: -4.405921938015370e-9, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.050046397567497e-7, + c: 4.707098914657613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.993300972084397e-7, + c: -6.413884270818980e-9, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.958949842482089e-7, + c: -3.844193241541023e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.031180190078182e-7, + c: -8.332306911791537e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.448440487175533e-7, + c: 7.287187140712972e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.496014980705820e-7, + c: -1.688320167670893e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.231793562184128e-7, + c: -6.824176136749855e-7, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.457098692766241e-7, + c: -6.696478876565186e-7, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.988192116154437e-7, + c: -1.160897537358488e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.320020881008782e-9, + c: 6.390412132184040e-7, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.514333825131301e-7, + c: -4.785705704036028e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.986540253553013e-7, + c: 1.327280671447703e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.458436719222507e-7, + c: 2.508897963063988e-7, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.838366213357736e-7, + c: -2.123967507690440e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.559165379256294e-7, + c: -1.543740529594983e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.703069526678154e-7, + c: -1.312491625284464e-10, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.940836046336177e-8, + c: 4.671560666051764e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.480780493742229e-8, + c: 4.666610863300312e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.790746090770650e-7, + c: 3.597434521807240e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.311670856222583e-7, + c: -1.300482928305840e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.454184963493936e-7, + c: -1.058059978334435e-9, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.192545975559156e-7, + c: 1.082168546695112e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.645313283596227e-7, + c: 8.895176216960912e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.200450181529162e-9, + c: 3.664097533547199e-7, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.175130863139261e-7, + c: -1.253840540380978e-7, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.171936644718006e-7, + c: -2.213942735416604e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.232000835617980e-8, + c: 3.031280340746273e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.267144314693320e-7, + c: 2.532831036466470e-7, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.162007069663920e-7, + c: 1.213911063512919e-7, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.683649418168398e-7, + c: 1.623832285059378e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.447214758891586e-9, + c: 2.328959688142430e-7, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.197287288189515e-7, + c: 1.963231648175062e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.155278607745447e-7, + c: 2.119964679495508e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.110769118422295e-7, + c: -7.020544285058548e-11, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.104374868246853e-7, + c: -2.107775034598504e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.687601445720437e-7, + c: 1.160080583866324e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.029277555660113e-7, + c: -3.652361840861834e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.443713867588678e-9, + c: -1.759087888209319e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.533882181922791e-7, + c: 8.433032274863740e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.403018850431675e-7, + c: -8.357176028394819e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.270527849762275e-9, + c: 1.558025280483790e-7, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.827302241025211e-8, + c: -1.134540032146154e-7, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.643915775007382e-8, + c: 1.314274823770126e-7, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.409252228611957e-7, + c: -1.901449673471153e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.363796249840054e-7, + c: -2.207612078348706e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.195398654391311e-7, + c: 6.711730544804954e-8, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.325905297809809e-7, + c: 3.302103049541999e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.240998822510818e-7, + c: -1.930414751150839e-8, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.236836081007699e-7, + c: -6.801747697184480e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.182269305625133e-7, + c: -1.519827838411728e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.181922128059632e-7, + c: 1.982612892713426e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.016413914227282e-7, + c: 5.861229186919636e-8, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.151113949549232e-7, + c: -1.893319866355554e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.014689272573301e-8, + c: 9.848752140467555e-8, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.084154711256907e-7, + c: -3.747032648974050e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.075721009063918e-7, + c: 1.003425621850547e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.425694787372928e-9, + c: 1.072759127693248e-7, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054661246301653e-7, + c: 3.692059379067655e-10, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.000848169803525e-9, + c: 1.015878585452184e-7, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.140517578100065e-8, + c: -9.640845343348847e-8, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.181247856802451e-8, + c: 8.662515333008004e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.508720416319188e-8, + c: -1.654742813881223e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.243958595438322e-8, + c: -2.157859502369544e-8, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.341670641694546e-9, + c: -9.139038309915140e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.713285654432930e-8, + c: -4.502953242982478e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.958433182224513e-8, + c: 3.916567030207122e-8, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.844175414885899e-8, + c: -1.477193520878906e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.803342996111721e-9, + c: 7.517283174343708e-8, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.177568490710610e-8, + c: -3.560276488871184e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.151856863953742e-8, + c: 6.586352735146368e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.027132422799388e-8, + c: -6.477230436533900e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.853935285978782e-8, + c: 2.998730097796866e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.564710396952019e-8, + c: 5.829523371196907e-8, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.833000675479837e-8, + c: 6.520503226564251e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.710705797883625e-8, + c: 3.129763554371160e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.487119694316163e-8, + c: 1.481696743823913e-8, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.455481950012194e-8, + c: -1.403317280171532e-10, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.591807464402794e-8, + c: 4.432486145958722e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.995417791815623e-8, + c: 3.828724346251444e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.973452709939822e-8, + c: 3.838997471660487e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.762544966313368e-8, + c: 4.653552893008994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.387109717946718e-8, + c: 5.267561080336256e-10, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.340329015507274e-9, + c: 5.327654845144012e-8, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.649691089114444e-8, + c: -2.447715306569783e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.984983589960649e-9, + c: 5.063135087953793e-8, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.230474757410158e-8, + c: -4.831595152910651e-8, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.133653726596290e-8, + c: 2.327345033105494e-8, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.026361003995370e-8, + c: 4.012117340459226e-8, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.471793296809674e-8, + c: 4.245808362584913e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.729011491859445e-8, + c: -2.443671479103179e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.405092585998746e-8, + c: -1.167061479969211e-10, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.255263788601404e-8, + c: 3.691193157877145e-8, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.286149232428861e-8, + c: -1.684468558132919e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.300444267658505e-9, + c: -4.188609558982273e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.833808897879912e-8, + c: -1.678857027492745e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.693958901626283e-8, + c: -1.788367631006252e-8, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.522157211281502e-8, + c: -3.181661652427723e-8, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.863707375654657e-8, + c: 8.038416353168373e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.377877289077669e-8, + c: -3.042477618555076e-8, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.948377183491299e-10, + c: 3.804581957943795e-8, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.529516737390917e-8, + c: 1.134812371226204e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.661319747811120e-8, + c: -3.268618354643688e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.944777834033177e-8, + c: 2.726835476500307e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.109323629173289e-8, + c: -1.034155172755817e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.225922896864056e-9, + c: 3.108282367445147e-8, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.508875573552620e-9, + c: -2.911263859171313e-8, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.679714009643412e-8, + c: -1.401860136276139e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.018901267719224e-8, + c: -9.557920108647287e-11, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.477371471885326e-8, + c: 1.412926087609507e-8, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.556052739040380e-9, + c: -2.692190397472452e-8, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.460268837655783e-8, + c: 2.394965135342797e-8, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.015490824365596e-8, + c: -1.898435420213188e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.762190092736254e-8, + c: 5.303436596097177e-10, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.370463225706074e-10, + c: 2.731183906397953e-8, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.578977264512254e-8, + c: -8.962349300707402e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.689890573616819e-8, + c: -4.132054830906299e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.421056518695122e-8, + c: -1.115248095315025e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.521096152319198e-8, + c: 4.766173452994024e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.396166510085083e-9, + c: -2.480119401376299e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.193085929058142e-8, + c: -1.065486333486153e-8, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.380708948107492e-8, + c: -3.182082865912205e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.357567034551448e-8, + c: -4.178612551152849e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.334305432723998e-8, + c: 3.092931753857630e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.102288318803477e-8, + c: -9.908818343003465e-9, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.802505526447199e-8, + c: 1.283351308957616e-8, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.798232920641100e-9, + c: 1.935275292795021e-8, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.118659467964045e-8, + c: 1.762693145034076e-10, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.076494033210256e-8, + c: -7.731079128917713e-11, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.591095633588825e-8, + c: 1.329902251897570e-8, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.143870655921121e-10, + c: 2.063038853551566e-8, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.497228158577348e-9, + c: -1.958341698779739e-8, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.657108490621180e-8, + c: 1.126295127352173e-8, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.189195741333500e-8, + c: 1.607042441981453e-8, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.115542298691481e-8, + c: -1.626311714340608e-8, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.449577802785749e-10, + c: 1.967878521456275e-8, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.620320810902890e-8, + c: -1.109137810325721e-8, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.719559158817209e-8, + c: -8.586213002843483e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.472155880766704e-9, + c: -1.698261510078631e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.754042435778954e-9, + c: 1.826430022635217e-8, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.747467526616675e-8, + c: -5.909562545357072e-9, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.852820535298544e-10, + c: -1.840640706427331e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.532270368787270e-9, + c: 1.569433517161950e-8, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.784349392193849e-8, + c: -6.871945134761773e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.727544771688664e-9, + c: -1.528282962689823e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.729155237865561e-8, + c: 2.969005965143579e-9, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.437465659893614e-8, + c: 9.767771563038043e-9, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.198268029401539e-8, + c: -1.235683981826325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.714396790397288e-8, + c: 1.373265436526978e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.481846199880947e-8, + c: 8.547205154962894e-9, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.120906412881208e-9, + c: 1.621363841855112e-8, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.641580322039552e-8, + c: 3.231335015786853e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.458404092039795e-8, + c: -6.752597693333388e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.784680585537066e-9, + c: 1.547936382647720e-8, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.475064677193737e-8, + c: -4.368720296899246e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.263872333010550e-8, + c: 8.597277148213527e-9, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.479786322154662e-8, + c: -2.894516765148909e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.320378364079128e-8, + c: -7.166989256319875e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.329576733188262e-8, + c: -6.662394361295623e-9, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.885320856144920e-9, + c: 1.457597972700679e-8, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455070126181508e-8, + c: -2.828159914392957e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.220745227323307e-8, + c: 8.291320083069476e-9, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.473803432989640e-8, + c: 2.147006884348336e-16, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: -1.242658880970543e-8, + c: -7.744901534132808e-9, + mult: [0, 3, -18, 25, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.432772837036493e-8, + c: -6.189486205658251e-11, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.097644873316563e-10, + c: 1.423355271268087e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.021062462246096e-10, + c: 1.421649024764357e-8, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.527177440645631e-10, + c: 1.414483821820449e-8, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.402039675936960e-8, + c: 4.653183650917067e-10, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.505873811500435e-9, + c: -1.181625728932906e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.377654380051957e-8, + c: -1.854364706273702e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.142644950428747e-9, + c: 1.013310210924013e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.102721063139567e-9, + c: 1.204933101057838e-8, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.322876033525414e-8, + c: 1.972120885281553e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.256729585700881e-8, + c: 4.324381004431117e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.454344337017270e-9, + c: 1.221537132761763e-8, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.221901625261745e-8, + c: 1.906157261523499e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202182893531883e-8, + c: 1.992945403366929e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.771551876543163e-9, + c: 8.445713410193662e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.181613728123062e-8, + c: 2.918973507182779e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172974251341089e-8, + c: 2.846182246104445e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.220689123633652e-9, + c: 1.030135320963358e-8, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.809986376323653e-9, + c: -6.911307699970605e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070787850400172e-8, + c: -5.233529411360985e-9, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.479701328199658e-9, + c: -1.096328691773840e-8, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017634961120051e-8, + c: -5.112153434404285e-9, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.169465346511382e-9, + c: -1.110866988879212e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117117553624270e-8, + c: -1.223693993484123e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.284177186358482e-9, + c: 6.291849811714028e-9, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108909000293275e-8, + c: 8.230288462766401e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.062400739028420e-8, + c: 1.071290829859573e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.047704761671738e-8, + c: -1.971618738037255e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.961030511111350e-10, + c: 1.028998762931788e-8, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.808192917538815e-9, + c: 5.156975528679808e-9, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.994278878168335e-9, + c: 9.843814229666517e-9, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.913012194684901e-9, + c: -4.912553763721436e-11, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.237425328020563e-9, + c: 3.525966519381528e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.746077988188450e-10, + c: 9.821605941701768e-9, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.338912336499067e-9, + c: 1.325080187583191e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.177337484693778e-9, + c: 8.247255076891591e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.598754192651766e-9, + c: 5.144209599384586e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.248737224369914e-9, + c: -5.605082544053989e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.746606598393455e-9, + c: -8.670191054236003e-9, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.025467644353204e-9, + c: 8.272262107124294e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.799394958669191e-9, + c: 1.248026594036807e-9, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.055356151682825e-9, + c: -8.619393340955087e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.057268300469727e-9, + c: 8.613522278020582e-9, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.732852853811715e-9, + c: -3.891883660707606e-9, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.688322475451052e-9, + c: -7.506228505135713e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.188845747073175e-9, + c: -3.098516935392410e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.781644814190608e-9, + c: -2.551547390514782e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.655653233022104e-9, + c: 4.491133953507958e-9, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.960241115721546e-10, + c: -7.967446257053773e-9, + mult: [0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.506149720703515e-9, + c: 4.480636204474799e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.574768427506450e-9, + c: 7.740540350885941e-9, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.039011818547881e-9, + c: 6.741548284420337e-9, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.717036058275592e-9, + c: 5.372100381282224e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.384017456745278e-9, + c: 7.713416017122517e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.740192994014007e-9, + c: 5.126390006455109e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.472651528683194e-9, + c: -7.421105725209317e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.176188917744058e-10, + c: 7.458273175085705e-9, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.509184769256091e-9, + c: 6.545006077657926e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.604844131105617e-9, + c: -6.423057910009371e-9, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.137651638335081e-9, + c: -7.133756874768269e-9, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.254050756114665e-10, + c: -7.074776334930937e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.706338627500466e-9, + c: -5.157919086037935e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.939289185761165e-9, + c: 3.734982988383994e-10, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.874844538610378e-9, + c: -3.870226495338350e-11, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.503847332867657e-10, + c: 6.839357192188520e-9, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.977835438933728e-9, + c: 5.875864118699173e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.844377209585325e-9, + c: -2.945469128509277e-9, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.640711871164112e-9, + c: -5.960296229032887e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.245401167454317e-9, + c: 1.762496254887726e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 4, -34, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.416113286378877e-9, + c: 8.280150346146027e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.020653413909775e-9, + c: -2.077134335466270e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.916027386954577e-9, + c: -5.552853303609293e-9, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.826502318996502e-9, + c: -5.984555935526173e-9, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.207893224619405e-9, + c: 1.732934620106026e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.124715044370057e-9, + c: -3.339667681445031e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.219583484810116e-9, + c: 5.986606169847453e-9, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.181680611403387e-9, + c: 3.092758989359511e-9, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.487913515368482e-10, + c: 5.898942593067785e-9, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.116713953625846e-9, + c: 4.958478699270596e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.827570945151085e-9, + c: 5.593727900012059e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.741103496004948e-9, + c: 4.391412709157825e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.737308052369278e-9, + c: 3.202816550527723e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.707918073551240e-9, + c: -1.552523735416597e-16, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1], + }, + Term { + s: -3.467285059729387e-9, + c: 4.482109950204929e-9, + mult: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.928196785120201e-9, + c: -2.593964478666238e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.842046848036484e-9, + c: 5.226191593587108e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.591617559854665e-9, + c: 3.077960146364853e-9, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137303221483222e-9, + c: 5.398092175628644e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.410204153638236e-9, + c: 6.349215652562045e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.413520415939252e-9, + c: -6.279592603185315e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.596373899334107e-10, + c: 5.411245663826765e-9, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.309393668367032e-9, + c: -4.246348087123571e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0], + }, + Term { + s: -5.315331354003817e-9, + c: -7.530048400347992e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.277877390736292e-9, + c: 7.020488846159702e-10, + mult: [1, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.217615898192443e-9, + c: -3.145798949890078e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.455483512033901e-9, + c: -3.893230132166718e-9, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.032066756091350e-9, + c: -8.635521478395717e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.601371250617149e-9, + c: 4.386556996738156e-9, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.048524690625203e-9, + c: 5.583936209138439e-11, + mult: [3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.036178221688041e-9, + c: -3.700636461520993e-13, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.423661763340346e-9, + c: 2.306255681643964e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.398571731752285e-9, + c: -2.219025376098916e-9, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.788307889356665e-9, + c: -9.285983074439512e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.981423321911909e-9, + c: -3.819457904545080e-9, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.801031822041852e-9, + c: -5.471599545733918e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.777800057146432e-9, + c: -3.029540067992050e-11, + mult: [0, 20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.159972151394647e-9, + c: 4.256100746755698e-9, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.636222492114919e-10, + c: 4.751435195100474e-9, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.717693187390741e-9, + c: 5.543967080518895e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.313696524182271e-10, + c: 4.575500584988873e-9, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.972533253997554e-9, + c: -4.108094391644174e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.411835662225747e-9, + c: 3.284234018710137e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.921635401058204e-11, + c: -4.363569507249887e-9, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.687077968132073e-9, + c: -2.032658960124952e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.830459269577967e-9, + c: -1.681814784291146e-9, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.918249520412118e-9, + c: -9.678335254882748e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.304782100887572e-9, + c: 2.233228987141713e-9, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.882834242314309e-9, + c: 2.705716015962742e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.103271340120378e-9, + c: -3.778529656593691e-9, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168921678893961e-10, + c: 3.928854351731675e-9, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.906498623519573e-9, + c: 2.604062421782254e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.845375974993513e-9, + c: 3.418913013416960e-10, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.725670017099724e-10, + c: 3.769418628529800e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.079021153846710e-9, + c: 2.045103411273359e-9, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.299253361583185e-9, + c: -1.665604133471002e-9, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.509947039981017e-9, + c: -1.085975199088637e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.644270461620406e-9, + c: 2.644536005273415e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095264789574972e-9, + c: 3.417827559592843e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.934599167738259e-9, + c: 2.996186667113093e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.037718602825211e-10, + c: 3.466182072688129e-9, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.005447596116179e-9, + c: 1.838439356722190e-9, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.488722055552788e-9, + c: 3.735651388985582e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.480504811148270e-9, + c: -2.465817957525660e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.576169573012105e-9, + c: 3.098168693393525e-9, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.312404038765052e-9, + c: 3.188235198025341e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.334521858342087e-9, + c: 7.378549817136148e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.112652273944108e-9, + c: -1.280490937533137e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.326544458097738e-9, + c: -2.358135834084687e-11, + mult: [0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.286803833069179e-9, + c: 2.846275587352080e-10, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.036898854487368e-10, + c: 3.283349006388292e-9, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.658366202064388e-9, + c: 2.832526665051191e-9, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.930362424507529e-9, + c: 1.286861238565152e-9, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.353052326952044e-9, + c: 2.844420925098840e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.589190612986961e-9, + c: -2.694369209269122e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.506451472061634e-9, + c: 2.713564514743048e-9, + mult: [1, 0, -6, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.082970690736252e-10, + c: -2.936376847253056e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.979766923328055e-9, + c: 4.298173644505747e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.474734134472300e-10, + c: -2.878760678012751e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.420432446329969e-9, + c: 1.634787878316584e-9, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196380682208438e-9, + c: 2.649524408024820e-9, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.789661394395290e-9, + c: 7.953464391234293e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.702313893445681e-9, + c: -1.013997639878403e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.882169723702514e-9, + c: -7.682269687486326e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.879580240404903e-9, + c: -5.070178294081194e-11, + mult: [0, 2, -4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.544588088892658e-11, + c: 2.854038223191792e-9, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.572378898610264e-9, + c: 1.226124640781905e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -3, -16, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.241615723232174e-9, + c: 1.716919577735098e-9, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.765199463844728e-9, + c: -2.025774042852276e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.467775489737864e-9, + c: -1.246409295183495e-9, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.314560537231190e-10, + c: -2.628367806519490e-9, + mult: [3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.680046621938039e-9, + c: -2.510957328100791e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.150594810632792e-10, + c: -2.567154380486370e-9, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.273914551152177e-10, + c: 2.607909855006236e-9, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.656106889868576e-9, + c: -1.666986168009335e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.636111995332021e-9, + c: -1.965037975118952e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.511672331823667e-9, + c: -7.216932432208057e-10, + mult: [0, 8, -9, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.590045744945867e-9, + c: 2.528224968199991e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.357775232312001e-9, + c: -1.068379726231990e-9, + mult: [5, -14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.412961825919891e-9, + c: -2.168829323345578e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.875238474768367e-9, + c: 1.782973113095924e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.088521275666721e-10, + c: 2.528228850474279e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.571692078638707e-9, + c: -6.840500841899180e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.504400891698881e-9, + c: -4.875673789708850e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.150114818272846e-9, + c: 2.252561200247249e-9, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.474087675658089e-9, + c: -3.017916325482921e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.073367025537093e-9, + c: -1.348065808135105e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.466488562058138e-9, + c: -1.986846045428240e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.178417263349647e-9, + c: 1.113572765191965e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.017276766417921e-9, + c: 1.323684285415957e-9, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.171822448093654e-9, + c: 2.104900781036972e-9, + mult: [0, 8, -24, 21, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.397650755233911e-9, + c: 6.744216672492038e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.341619110507463e-9, + c: 4.947243837139492e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.022870698368615e-9, + c: -1.263255323483542e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.375219395429501e-9, + c: 2.085587853028629e-10, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.720315204152690e-10, + c: 2.206560257329079e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.010158896170773e-9, + c: 2.105976460175794e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.292295963597051e-11, + c: -2.322112284346202e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.319901425820611e-9, + c: -1.826392313185179e-11, + mult: [0, 22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.058191286816317e-9, + c: -9.900584842069842e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.224924656231983e-9, + c: 4.592414730540438e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.306679932955919e-11, + c: 2.252751019788743e-9, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.982219328867406e-9, + c: 9.403550139252373e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.811081775358778e-9, + c: 1.222139015116247e-9, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.980873475492777e-9, + c: 9.064471379558078e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.368966697642708e-10, + c: -2.082431164725058e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.252616898048452e-10, + c: -2.005190700058480e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.112389174130449e-10, + c: -2.103867933554023e-9, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.710200851766243e-10, + c: 2.122161079558705e-9, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.042227613134420e-9, + c: -5.858959411569225e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.334305221997913e-10, + c: 2.098236373371207e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044541890129892e-9, + c: 1.812588711795023e-9, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.235578467518217e-11, + c: 2.073986231968230e-9, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.841495018575291e-9, + c: -9.303221067223935e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.872549904727327e-11, + c: -2.044662587558457e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.029660169182315e-9, + c: -1.399146310745093e-10, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.711583305987304e-9, + c: 1.080262193687360e-9, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.898802193039272e-9, + c: -6.080357700842030e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.925695059568871e-10, + c: 1.951515970821071e-9, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.362054799826425e-10, + c: 1.872315437088984e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.198294233147263e-9, + c: -1.568675621973952e-9, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.623938534354317e-10, + c: 1.837949990805405e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.632809503883622e-9, + c: -1.069003870247358e-9, + mult: [2, -7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.775976392834732e-9, + c: -8.068495599047682e-10, + mult: [5, -22, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.927995718571197e-9, + c: 1.716099209212707e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.000819421372542e-10, + c: 1.860084162957145e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.716059720571818e-10, + c: 1.755596223034182e-9, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.434078586098156e-10, + c: 1.852296347768885e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.824843399880262e-10, + c: -1.818811329396065e-9, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.867591459273788e-9, + c: 2.037170379362100e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.877716239246630e-9, + c: 2.575063721851850e-16, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + }, + Term { + s: 1.034388405583557e-9, + c: 1.527573909384840e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.363662166062744e-10, + c: 1.630141572579694e-9, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.529791935231454e-9, + c: 9.932894780308425e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.579282119975510e-9, + c: 8.082071755362535e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -24, 38, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.749889568045507e-9, + c: -1.421783179822459e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.442229631854921e-9, + c: -9.814774036428534e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.322177752137625e-10, + c: 1.707128983718058e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -10, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713390448740017e-9, + c: 2.867793661720490e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.372429518759952e-9, + c: -1.063875828115439e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.586326260035875e-9, + c: -7.059309119683837e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -17, 20, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.631269930808093e-9, + c: -5.666971165466635e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.584944196872255e-9, + c: -6.787568832257007e-10, + mult: [0, 1, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.636118992812655e-9, + c: -4.376892714413165e-10, + mult: [0, 2, -5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.674330613870771e-9, + c: 1.461663987517550e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.134750282365530e-10, + c: -1.521163147312324e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.463530140154726e-9, + c: -7.775720491733984e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.642890913978924e-9, + c: 1.999550651384169e-10, + mult: [0, 3, -8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.366124501680598e-9, + c: 9.204852550156614e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.397626599320800e-9, + c: -8.472627584534703e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.627944200612912e-9, + c: -5.570387563067002e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.620242974078391e-9, + c: -1.408268145188373e-11, + mult: [0, 23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.478534927009089e-9, + c: -6.554664215037506e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.728738350795142e-10, + c: 1.487662176690991e-9, + mult: [0, 6, -14, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.227757030015431e-9, + c: -1.014625461178275e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.016762457175997e-9, + c: -1.192955377329181e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.115217824203033e-9, + c: 1.098628779592745e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.003906571872383e-9, + c: -1.181475424738407e-9, + mult: [0, 8, -17, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294892469819814e-9, + c: 8.364585834811240e-10, + mult: [0, 0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.418315579820879e-9, + c: 5.992378015171970e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.371368481440252e-9, + c: -6.928586286637246e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.621528384933324e-11, + c: 1.532901521116612e-9, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.384399404019889e-9, + c: 6.508595092090156e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.512264380990749e-9, + c: 2.118762487652384e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.985028371605610e-10, + c: 1.497476756848415e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.543280614096286e-11, + c: 1.507478492192212e-9, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.846367894716648e-10, + c: 1.121227682342369e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.905894725940547e-10, + c: 1.453886003651795e-9, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.908952654489183e-10, + c: -1.403211799567767e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.377736100405730e-9, + c: -4.669682600678581e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.439573341630173e-9, + c: 2.078109391469763e-10, + mult: [0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.813867540677782e-10, + c: -1.069896124859473e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.437730627472803e-9, + c: 1.166988209290220e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.463131779151693e-10, + c: 1.332699703729858e-9, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.414852602538701e-9, + c: 2.271159260335774e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.251729903770690e-9, + c: -6.671067641890287e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.057181644381664e-10, + c: 1.088973085029648e-9, + mult: [5, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.303076017925861e-9, + c: -5.272646498266446e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.320004407749943e-9, + c: 4.604353006324097e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.364733454048380e-9, + c: 2.845607563493126e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.688518179599120e-10, + c: -1.361446585277237e-9, + mult: [0, 3, -3, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.559827747120503e-10, + c: 1.368842037636410e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.606331790077130e-10, + c: 1.323920165430300e-9, + mult: [0, 0, 17, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.337485687752067e-10, + c: -1.322357839587803e-9, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.159933431117537e-10, + c: 1.285449938323779e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.934710781439114e-10, + c: 1.142952640725486e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.026494398953198e-10, + c: -9.813758769717216e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.083397256425572e-9, + c: -7.598196699784791e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.116846980162908e-9, + c: -7.071444202216214e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.049530109655710e-10, + c: 1.171860307700627e-9, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.488982863053492e-10, + c: 1.148086556615201e-9, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.455622710043310e-10, + c: -9.806799467730079e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.010754100400172e-9, + c: -7.897982051176870e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.279477742439284e-9, + c: 3.735836146129585e-11, + mult: [4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.250355440777375e-9, + c: 1.087383763896263e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.119195476510115e-9, + c: 5.536840847690900e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115420544537521e-9, + c: 5.490825297769666e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.031489643195573e-9, + c: 6.934375103943721e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.623957104713723e-10, + c: 1.092725998311731e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0], + }, + Term { + s: -1.129417446491521e-9, + c: 4.504350379877792e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.666424451498922e-10, + c: 9.199995283876935e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.097098368257869e-9, + c: 4.697184376218005e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.189299910534804e-9, + c: -2.944769063583042e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.174771200802095e-9, + c: -1.846564333205198e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.948276389228627e-10, + c: 8.601967090846470e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.685735135587568e-10, + c: 8.759675959927647e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -1.156701838178127e-9, + c: 4.091605099743572e-11, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.019456385288245e-9, + c: -5.150090071491455e-10, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.141770988972582e-9, + c: -2.205478650606553e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.520528232721522e-10, + c: 6.255997345123681e-10, + mult: [0, 0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.918328575158482e-10, + c: -5.494316236113591e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.133076930954341e-9, + c: -1.081527857360079e-11, + mult: [0, 24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.205776126152976e-10, + c: 6.586066675899128e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.113241925496721e-9, + c: -1.633366054387503e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.529593197159586e-10, + c: 8.178596134983518e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.283450384681995e-10, + c: -1.060726089854568e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108535374447076e-9, + c: 6.019840070635054e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.140873651035678e-10, + c: 1.079181293911007e-9, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041909663286082e-9, + c: 3.493113457178306e-10, + mult: [0, 4, -15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.305166282198772e-11, + c: 1.095858950655752e-9, + mult: [0, 22, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.909947525521099e-10, + c: -9.654973692848338e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073358663204977e-9, + c: 7.943437173073540e-11, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.007752867538641e-9, + c: 3.373637542562952e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.048859019827234e-9, + c: -1.323322875610709e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.224160546568808e-10, + c: 9.124531035689104e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.492998126301248e-10, + c: -4.413590315172064e-10, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.325908049445723e-10, + c: 1.012500497100928e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: 1.709898660338876e-10, + c: -1.024612056575493e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.901963638107071e-11, + c: 1.033648384516249e-9, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.029560404032819e-9, + c: 3.731527842781782e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.867998979416440e-10, + c: 9.417481646381438e-10, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.102099142751081e-10, + c: -9.251624059975779e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.129626890553916e-10, + c: -7.971765220357634e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.346213396307290e-10, + c: -9.776042522995986e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.481966335658019e-10, + c: -8.348630985957031e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.640450161099912e-10, + c: -2.090631014178464e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.167676997279267e-10, + c: -5.487565842376689e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.952753230285066e-10, + c: -3.986703187391474e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.428583163610517e-10, + c: -9.584809612595191e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.523023063954617e-10, + c: 1.594896410904156e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.617911859344434e-10, + c: -8.449999259850490e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.153372933185218e-10, + c: 5.162822814302359e-10, + mult: [0, 0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.649258525141015e-10, + c: 1.685241868614853e-12, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.124276932247950e-10, + c: -9.391468728187833e-10, + mult: [4, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.585610397162561e-10, + c: 8.306230074417643e-11, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.249707376709745e-10, + c: -9.049543756266799e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.470062427447778e-10, + c: 1.436429686895195e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.428945315902923e-10, + c: 1.426462683223362e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.968520643241144e-10, + c: -2.913287697328872e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.347273068875645e-10, + c: 8.357982841515907e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.491058501492986e-10, + c: 5.668924410711832e-10, + mult: [3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.467043858838019e-10, + c: 9.061939774999125e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.578115395013015e-10, + c: 3.757740938368559e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.159796890533552e-10, + c: -9.109890343052578e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.764814738019101e-10, + c: 5.203832316283698e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.956106089133372e-10, + c: -9.105279613078702e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.457894357509023e-10, + c: 3.875427391122069e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.301548717758137e-10, + c: 1.583733691910864e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.367504055230602e-10, + c: -5.610771583941312e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.948947351439613e-11, + c: -9.155151390897690e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.982411279527202e-10, + c: -1.358122522867488e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.338528947019058e-10, + c: 3.564129885361569e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.676236001079049e-10, + c: -8.624899435662542e-10, + mult: [4, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.959477997816606e-11, + c: 8.952223935892390e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.581876957558638e-10, + c: 4.719231048122698e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.471329836008740e-10, + c: 2.529906905656366e-10, + mult: [0, 0, 0, 9, 0, 0, -24, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.752984459756219e-10, + c: -8.798893562267466e-17, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2], + }, + Term { + s: 8.557386529736995e-10, + c: 1.783368888612880e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.277997754734990e-10, + c: 2.798717147078501e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256742346067090e-10, + c: -8.639891004959359e-10, + mult: [0, 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.559683644542218e-10, + c: -1.219467686098676e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.566644460178391e-10, + c: -3.821548179516323e-10, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.287397625622434e-10, + c: 7.102724979671849e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.282884290928132e-10, + c: 1.633835553797669e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.646638979793330e-10, + c: 7.834995004294717e-10, + mult: [0, 1, 9, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.269422170094684e-10, + c: -6.443074803605077e-12, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.968132892033343e-10, + c: 7.189274697923435e-10, + mult: [0, 0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.991269029590661e-10, + c: 1.723701742960690e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.570826807624901e-10, + c: 7.985701434229152e-10, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.910904843321032e-10, + c: 4.296488054244102e-10, + mult: [2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.999964265916834e-10, + c: -1.337584294732759e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.801000369764583e-11, + c: -8.028746068900585e-10, + mult: [0, 2, 1, -9, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.803528008875924e-10, + c: -2.079389296373573e-10, + mult: [0, 2, -1, -5, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.018743772061761e-10, + c: 5.408255933620059e-11, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.166738508265449e-10, + c: 6.113092919322198e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.400874502606120e-11, + c: 7.966816168048034e-10, + mult: [0, 23, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.159916435419826e-10, + c: 3.467248092627744e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, -2, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.933234592856938e-10, + c: -8.275930137297536e-12, + mult: [0, 25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.928347361883654e-10, + c: 5.258512484113239e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.794184332049609e-10, + c: 1.337325147079723e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.586886904531625e-10, + c: -1.869895135938934e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 4.738916417141198e-10, + c: 6.164204961886574e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, -11, 22, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.974352396590236e-10, + c: -7.172436572348384e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.878758393326928e-10, + c: -5.070202762532823e-10, + mult: [0, 3, -11, 12, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.939900043808036e-10, + c: -4.991526795488966e-10, + mult: [0, 3, -14, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.990537164758686e-10, + c: 6.603657818404500e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.572850919051094e-10, + c: 1.459642808482231e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.610255015929461e-10, + c: 7.488032130734095e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -31, 56, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.613142303028738e-10, + c: -5.198564276136630e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.073649347813210e-10, + c: -4.561479908271352e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.355367136452392e-10, + c: -1.841634816897926e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.022504722466111e-10, + c: -7.268451594749434e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.667298503184198e-10, + c: -7.308051041150096e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.146193430581639e-10, + c: -6.782457770231941e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.428302289584339e-10, + c: 6.390054308267269e-11, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.739417437383261e-10, + c: -6.919159158553238e-10, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.063270178366112e-10, + c: 4.224963891379635e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.454184105713721e-10, + c: 6.946990109773503e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.263912428357702e-10, + c: -1.053211500948188e-10, + mult: [0, 0, 2, 0, 0, -8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.511379001499275e-10, + c: -6.882855929666603e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.634060830605627e-10, + c: -6.231696254045078e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.546086741530522e-10, + c: -6.278575910367571e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.957626676486105e-10, + c: 5.992833993379654e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.555735847508501e-10, + c: 2.895610033451488e-10, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.453604624659457e-10, + c: 6.625289758830827e-10, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.336074986205917e-10, + c: -4.629164615236634e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.175465567050887e-10, + c: 3.411923988591549e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.814152987584750e-10, + c: 3.880910973439239e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.872658584023684e-10, + c: 3.724357227694943e-10, + mult: [0, 2, -8, 8, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.349845922117867e-10, + c: 6.819394607227938e-10, + mult: [0, 2, 8, -22, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.334487555143867e-10, + c: -2.827199114584928e-10, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.880386966932140e-10, + c: 8.017844117710971e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.952347985261695e-10, + c: -6.630495128235008e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.444104118570164e-12, + c: 6.902688845041150e-10, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564296454332785e-10, + c: -6.711276668944060e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.887013520974546e-10, + c: -4.811306816015712e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.562370497345626e-10, + c: -1.877641041173240e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.081548113244034e-10, + c: -5.391725798649416e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.748078184902419e-10, + c: 4.494456625711741e-12, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.691186151081561e-10, + c: 7.392360164261919e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.101579080108762e-10, + c: 5.909816355397237e-10, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.732483702826738e-10, + c: -5.518641356436727e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.835131526099958e-13, + c: 6.647498210967505e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.310809223877091e-10, + c: 6.223739459851185e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.399567381814150e-10, + c: -6.167387609527149e-10, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.514104974375474e-10, + c: -6.998030118836669e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.814056763995480e-10, + c: 4.257260393525705e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.232867752160426e-10, + c: 4.750086371140883e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.608292448381300e-10, + c: -2.831361136922605e-10, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.837500023048314e-10, + c: 4.931412435614255e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.134202454952288e-10, + c: 3.557686710730254e-10, + mult: [0, 0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.365262262502633e-10, + c: -5.184132827343015e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.144703524248450e-10, + c: -2.589337703843043e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.610229483439439e-10, + c: -2.505955880344140e-10, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.007088635466241e-10, + c: -1.185570298380290e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.895628244191301e-10, + c: -1.587842971780039e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.766699977876450e-10, + c: 1.738839165605071e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148432973999191e-10, + c: 5.893584857479212e-10, + mult: [0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.992575837498079e-10, + c: 3.680848033779634e-11, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.335826859694090e-10, + c: 5.495063048154054e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.451701650017145e-10, + c: 2.401568049192408e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.941831468029617e-10, + c: 1.170900934700669e-11, + mult: [0, 10, -13, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.012698691328418e-10, + c: -4.382984048416528e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.562178741059261e-10, + c: 5.336234488377430e-10, + mult: [0, 6, -13, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.036608913046993e-10, + c: 3.109502707694057e-10, + mult: [0, 0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.718657864577629e-10, + c: 1.340179058671058e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.392295876169427e-10, + c: 3.820215492950332e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.741471593555496e-11, + c: 5.791844295967222e-10, + mult: [0, 24, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.771850582218035e-10, + c: 4.918107021605546e-11, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.492876433961272e-10, + c: 5.182778800413478e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -7, 0, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.193637667341607e-10, + c: -5.504314039876365e-10, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.085209675336101e-10, + c: 4.675409362328491e-10, + mult: [0, 8, -16, 5, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.576830657576142e-10, + c: 4.361230499475627e-11, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.374841125461867e-10, + c: -3.468916831389535e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.379301936702570e-10, + c: 1.464001441127982e-10, + mult: [0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.560363935271462e-10, + c: -6.311953671741360e-12, + mult: [0, 26, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.003894920030084e-10, + c: -5.170642241149129e-10, + mult: [0, 0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.028372784208086e-10, + c: -2.321566873040780e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.269887481323652e-10, + c: 1.641372718986919e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.440478199157538e-10, + c: 1.722693668029244e-11, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.189618028252022e-10, + c: -1.615547703255536e-10, + mult: [0, 2, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024747819657849e-10, + c: 5.302127651257510e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.934781769925290e-10, + c: 3.663121733573946e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.343616197707345e-10, + c: -5.713628352247341e-11, + mult: [0, 9, -15, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.314799844445873e-10, + c: -5.206157417650407e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 5.311942858146331e-10, + c: -6.397788018045542e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.968797691948454e-10, + c: 1.906962037000465e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.306042470123397e-10, + c: 8.885983888453149e-12, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.113972720082515e-10, + c: -4.822800190098969e-10, + mult: [0, 2, 2, -11, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.259449818355032e-10, + c: 2.281989947542109e-11, + mult: [0, 2, -2, -3, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.798287641106991e-10, + c: -2.144255646607661e-10, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.241622261069110e-10, + c: -9.664279038525247e-12, + mult: [0, 3, -5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.234517496301580e-10, + c: 8.706286970376818e-18, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1], + }, + Term { + s: 4.324546760502095e-10, + c: 2.872257678342154e-10, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.524109569700933e-10, + c: 4.439643132827872e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.272682991838969e-10, + c: 4.554826658703218e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.382943017042009e-10, + c: 4.444930866367857e-10, + mult: [0, 0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.757889565636356e-10, + c: -4.725820562019737e-10, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.650938093453838e-10, + c: 4.260840378350884e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.867591334424730e-10, + c: 1.143651186214744e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.555405831000153e-11, + c: 4.995949694035372e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.492595366048474e-10, + c: -3.565987713360489e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.099755868600006e-10, + c: -4.863016836414110e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.760991374752595e-10, + c: -4.119751899626150e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.642956902858477e-10, + c: -1.685393056654519e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.835579887603341e-10, + c: 7.677359767490525e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.492910679261383e-10, + c: 4.564259820232154e-10, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.855746428970928e-10, + c: 4.419807305756286e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.300790429300334e-11, + c: -4.713912181213112e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.892358087432418e-10, + c: -2.728994955022300e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.760425781270599e-11, + c: -4.743733862493543e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.186824160570932e-10, + c: -2.215498565444867e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.208577263612430e-10, + c: 4.575398231892965e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.506873950678521e-10, + c: -1.390018589464121e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.712126691173145e-10, + c: 9.028684095704966e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.391566147366827e-10, + c: -1.662004644365425e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 6, -15, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.196024513704139e-10, + c: 4.140742042407712e-10, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.151550570488628e-10, + c: -2.094816593231585e-10, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.621350169198799e-10, + c: -4.880229002928902e-11, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.976943920986642e-10, + c: -2.398950732276859e-10, + mult: [0, 2, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.766407428188297e-10, + c: -2.708966218372020e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.636670227210811e-10, + c: 3.451219283076199e-13, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.977976601013394e-10, + c: -2.326840496488172e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.072107186210767e-11, + c: -4.494241614128986e-10, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.338710104029127e-10, + c: -1.445984617644527e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.286170415022704e-12, + c: 4.562567703052625e-10, + mult: [0, 0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.526442398810969e-10, + c: 4.287025180895958e-11, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.095592588088227e-10, + c: -1.897184367455267e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.475845456777721e-10, + c: 3.763853825045983e-11, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.478747927735976e-10, + c: 2.502908752904653e-11, + mult: [0, 21, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.866613042714374e-10, + c: -2.255412037880397e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.153484746029206e-10, + c: -3.166378158353482e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.991753586411543e-10, + c: -3.981777820714248e-10, + mult: [0, 1, -7, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.607286726106746e-10, + c: -4.133247206223898e-10, + mult: [0, 0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.369317962408314e-11, + c: 4.339568178011964e-10, + mult: [0, 19, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.331457317479064e-10, + c: 8.749651663010501e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.018350482565281e-10, + c: -3.190425389797393e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.025445505571387e-11, + c: 4.315098094107749e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.274947094135022e-10, + c: -9.308339122499468e-11, + mult: [0, 4, -7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.085964750183354e-10, + c: 1.359790396748264e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.276721432216035e-10, + c: -2.776610746236502e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.835321474210257e-10, + c: 1.920102981814809e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.249144002836424e-10, + c: -5.299527247036333e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.211906279507878e-10, + c: -4.098903403305530e-10, + mult: [0, 2, 2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.206278615536003e-10, + c: -4.086590059917259e-10, + mult: [0, 2, -6, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.589169044475102e-11, + c: -4.167001216563810e-10, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.223838461700238e-10, + c: 3.698934247279690e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.217578744179359e-10, + c: -2.745276882599433e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.493712956373215e-10, + c: -3.413216715188853e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.261393758302917e-11, + c: 4.210480440022125e-10, + mult: [0, 25, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.541748298410383e-10, + c: 3.897377787649498e-10, + mult: [0, 2, -9, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.355952455794820e-10, + c: 3.461607177427345e-10, + mult: [0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.777146628647632e-10, + c: 3.789376468877447e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.218174822535323e-10, + c: 3.513344560306039e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.932634284379851e-10, + c: 2.888371834849257e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.750275048890645e-10, + c: -1.677786109958357e-10, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.042268988168512e-10, + c: -7.037303118290330e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.159807156225888e-10, + c: 3.463232134670046e-10, + mult: [0, 3, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.859599779724848e-10, + c: 1.315389248024809e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.366274443593338e-10, + c: -2.265860344758131e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.712085101973270e-10, + c: -1.593821493449458e-10, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.039351038819468e-11, + c: -3.934959521831198e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: 2.457885803312297e-10, + c: 3.201897527642531e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.705013042242846e-10, + c: 1.560245715167962e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.982432931809189e-10, + c: 4.507380062325546e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.265392131733635e-11, + c: 4.002538772945225e-10, + mult: [0, 3, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.402492753593923e-10, + c: -3.188429498991022e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.464700565115584e-10, + c: 3.704545150966549e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.825341298241125e-12, + c: -3.954845544981518e-10, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.907814701837701e-10, + c: 5.917609427480346e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.997813912333218e-11, + c: -3.834411326735846e-10, + mult: [5, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.146725706959890e-10, + c: 3.278891109297330e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: 3.900988802862932e-10, + c: -4.799544302106298e-12, + mult: [0, 27, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.892949365471122e-10, + c: 2.512469695979677e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 2.632132194039811e-10, + c: 2.876413312119039e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.890825812019695e-10, + c: -1.087832924968887e-11, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.064826586625409e-10, + c: 2.378571361522214e-10, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.660070770783769e-10, + c: -1.234122281485877e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.109167878653327e-11, + c: -3.795035085965897e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.192601211286386e-10, + c: 2.107751604759883e-10, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121746900405520e-10, + c: -3.643140137213920e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.832023710151862e-11, + c: -3.719432003492682e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.395315882625657e-10, + c: -2.930617431967524e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.957193959437682e-11, + c: 3.743598362422389e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.764556142078420e-10, + c: 1.912884813514863e-12, + mult: [0, 1, -3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.005067946785311e-12, + c: -3.763917459588512e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.197009920819704e-10, + c: 1.972314033600166e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.553701914321689e-10, + c: -1.201059012481609e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.167641681708400e-10, + c: 3.053927889063377e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.757978066955200e-10, + c: 2.529941984403511e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.643565693537370e-10, + c: -6.402962596751861e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.739754123630193e-12, + c: 3.668657902553287e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.201575825019195e-10, + c: -1.646994688573441e-10, + mult: [6, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.077845927599633e-10, + c: -2.914457428357391e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713779864746547e-10, + c: -3.135623754240704e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.510989919260009e-10, + c: 6.551837399206464e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.403937343914799e-10, + c: 2.635573997802184e-10, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.257296566084731e-10, + c: 3.333456383669467e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.792084613146048e-10, + c: 2.201221850800439e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.049945733502050e-10, + c: 1.822946689773129e-10, + mult: [0, 0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.715293582536485e-10, + c: 2.285565085527126e-10, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.134939550082984e-11, + c: 3.502272893381544e-10, + mult: [0, 2, -10, 13, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.831696934939897e-10, + c: 2.116788100559953e-10, + mult: [4, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.525742287250765e-10, + c: -2.351409992838084e-12, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.706643800656711e-11, + c: 3.490168693861298e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.336508976693537e-11, + c: -3.426741192154339e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.035130611204630e-10, + c: 1.685034871340556e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.454588636406471e-10, + c: 2.854990113704657e-11, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.070238908054932e-10, + c: -1.548187254253135e-10, + mult: [0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.246718742311186e-10, + c: -3.180313177477640e-10, + mult: [0, 0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.672404845430807e-11, + c: 3.410483745428826e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058974271853512e-10, + c: 3.203463736596275e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.033898623773403e-10, + c: 1.424662103123561e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.346986453438767e-10, + c: 1.699539502576422e-11, + mult: [0, 22, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.406165590417811e-10, + c: -2.331720282274802e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.977651128547320e-10, + c: 2.701591676180956e-10, + mult: [0, 0, 13, -25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.254437499077598e-10, + c: -7.810708725476097e-11, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.188033873792895e-11, + c: -3.179743716611765e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.653038802523422e-10, + c: 1.976993780003887e-10, + mult: [0, 0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.600881279569042e-11, + c: 3.192289195782840e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.634935776279954e-10, + c: 2.856772637253138e-10, + mult: [0, 5, -14, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.791638261462827e-10, + c: -1.734419402343477e-10, + mult: [4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.614969670944356e-10, + c: -1.974214703605855e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.267416565785602e-10, + c: -8.143473159889462e-12, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.120510647772215e-10, + c: -2.480520889066548e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.542641783796830e-10, + c: 2.873823992922800e-10, + mult: [0, 0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.096806346378943e-10, + c: -1.021275706794504e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.064040377322075e-10, + c: 1.108113910529590e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.972136119844101e-10, + c: -1.331426468623569e-10, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.081536540373649e-11, + c: 3.188868892596795e-10, + mult: [0, 20, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.202437261832945e-11, + c: -3.165506156443029e-10, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.181374543214934e-10, + c: 4.833024177074176e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.139784803205954e-10, + c: 6.680474988142047e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.206062484565117e-10, + c: 1.118740209874858e-11, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.305876668630208e-10, + c: -2.921773934036740e-10, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.322159328994606e-11, + c: -3.174498194507484e-10, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.304971166466632e-11, + c: 3.077613143274083e-10, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.443216829281682e-10, + c: 2.015483130795266e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.110668564918672e-10, + c: -5.760591472156457e-11, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.204947400765772e-11, + c: -3.148191640586980e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.141220238302982e-10, + c: 1.973108657672649e-11, + mult: [5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.417007272669124e-10, + c: 1.986900805809127e-10, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.471272922051592e-10, + c: 1.874013103527224e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.741344434554444e-10, + c: -2.552760953977258e-10, + mult: [0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.823391210998268e-11, + c: 3.084709844368353e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.008602550589248e-10, + c: -6.949261117135695e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.738423482134259e-12, + c: -3.069096154640275e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.124002841098253e-12, + c: 3.060652827116711e-10, + mult: [0, 26, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.028985891724351e-10, + c: 2.288079009431227e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.400804626563057e-10, + c: 2.709178186080748e-10, + mult: [0, 0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.643531268719280e-11, + c: -2.923711102022768e-10, + mult: [0, 3, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.046054981854773e-10, + c: 6.038054497163601e-18, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0], + }, + Term { + s: -8.613344283180731e-11, + c: -2.917662411348923e-10, + mult: [0, 3, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.759175656019867e-11, + c: -2.998408017556482e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.980134575393676e-11, + c: -2.883865531361045e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.954186558635279e-10, + c: 5.721893669781305e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -6.900259727559405e-11, + c: -2.916413427474722e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.562533982117450e-11, + c: -2.862733472548030e-10, + mult: [5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017710339319195e-12, + c: 2.983327961225272e-10, + mult: [0, 0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.641259353532519e-10, + c: -1.381461963733372e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.728299800753916e-10, + c: -1.188235116187180e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.839039898692491e-10, + c: 8.788069061656954e-11, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.872146668923844e-10, + c: 7.635841032097213e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.850967255899333e-10, + c: 2.315529694461074e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.063716673874930e-10, + c: 2.121176537506118e-10, + mult: [0, 0, 16, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.957760003171490e-10, + c: -2.173140769469864e-12, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.574933853659389e-10, + c: -1.422070044518653e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.013091612174301e-11, + c: -2.795596335874644e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.845093849402642e-10, + c: -6.601473775191593e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.475909344548072e-11, + c: -2.835610664928339e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.952570042181407e-11, + c: -2.721903738471342e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.874045550287151e-10, + c: 2.298265287507105e-11, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -20, -18, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.740013808271017e-10, + c: -8.824912062777637e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.693632797332568e-11, + c: 2.771346683346669e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.168140461599819e-10, + c: -1.866796980619286e-10, + mult: [0, 0, 13, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.042975094404925e-11, + c: -2.810301700875501e-10, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.536545582696630e-10, + c: -1.269882720432505e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.610867691153181e-10, + c: -1.075506479380320e-10, + mult: [0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.691034745842890e-10, + c: -2.250207615888837e-10, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.596424290712687e-10, + c: 1.086070416027691e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.955136218544986e-11, + c: -2.691145744897249e-10, + mult: [0, 1, 3, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.094009441913846e-10, + c: -1.859187796848397e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.338267743865273e-10, + c: 1.532820829595713e-10, + mult: [0, 0, 19, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.904366623698889e-11, + c: -2.677358720437388e-10, + mult: [0, 1, -5, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.890709324717880e-10, + c: -2.050617112865041e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.627906392816753e-10, + c: 2.249889273681264e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.177402413776455e-10, + c: -2.514317454002503e-10, + mult: [0, 1, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.617128896725853e-10, + c: -8.867122798134378e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.739217148238469e-10, + c: -3.639419147767322e-12, + mult: [0, 28, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.161031996595229e-10, + c: -2.480154245081831e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.274501137642940e-10, + c: -1.524281141271019e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.033532099130977e-10, + c: 1.815958948201193e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.723728430905351e-10, + c: 3.682817556163904e-13, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.699230283170059e-10, + c: -2.586010114833808e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.613323245654463e-10, + c: 6.644749594211540e-11, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.380131321226417e-11, + c: -2.572449864686846e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.649609192999384e-10, + c: 2.141874476104876e-11, + mult: [0, 0, 18, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.232566735933070e-10, + c: 1.424516380621993e-10, + mult: [3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.724176838839033e-10, + c: 2.000142223770413e-10, + mult: [0, 1, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.835731370772486e-11, + c: -2.624604741947162e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.528955151990670e-11, + c: -2.582852117370182e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.382987373518105e-10, + c: -1.092026910940946e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450397725948267e-10, + c: -9.279117873703317e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.163282175017316e-10, + c: -2.344448847490684e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.071177088775570e-10, + c: -1.581077171976154e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.545005263933608e-10, + c: -5.578108205799952e-11, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.366036897394289e-10, + c: -1.061798532934612e-10, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.552916828881007e-11, + c: 2.427915948951151e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.002196738053962e-10, + c: 2.359355055107712e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.402875020566124e-11, + c: -2.371062975788156e-10, + mult: [0, 0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.331798639040606e-10, + c: -1.025461379304483e-10, + mult: [0, 2, -4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.267351352807668e-10, + c: -1.142444211314481e-10, + mult: [0, 19, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.293818190884951e-10, + c: -1.082032799050911e-10, + mult: [0, 1, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.391015622908529e-10, + c: 8.399789894027332e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.330212209228934e-10, + c: -9.957734660423005e-11, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.378666018198478e-10, + c: 8.619405728714277e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.500604169237994e-10, + c: 1.151853673496816e-11, + mult: [0, 23, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.150973071584404e-10, + c: 1.251999411918747e-10, + mult: [0, 2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.180511452905595e-10, + c: 1.198715797400585e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.472688423562319e-10, + c: -1.232025795981388e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.462360617067731e-10, + c: 1.335419908640269e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.459741959043067e-10, + c: -8.852904409867029e-13, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.439602251152759e-10, + c: 2.880406343205758e-11, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -69, 108, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.447982669088917e-10, + c: 1.383845009598095e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -4.489712716680079e-11, + c: -2.410205858753361e-10, + mult: [0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.384436293662458e-10, + c: -2.016748568466047e-10, + mult: [0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.297803894788680e-11, + c: -2.388858880896918e-10, + mult: [2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.350943610587379e-10, + c: 5.549339305822464e-11, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.337147332251039e-10, + c: -5.797376618195697e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.722204285351271e-10, + c: -1.679910454851885e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.505800413865409e-10, + c: 1.874624404401951e-10, + mult: [0, 0, 16, -31, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.389155798497437e-10, + c: -7.984425498914461e-12, + mult: [0, 4, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.407371227903217e-11, + c: 2.339105026344780e-10, + mult: [0, 21, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.379238282291925e-10, + c: -4.390961432415916e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.237271461452175e-11, + c: 2.347483858935667e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045626968903527e-10, + c: 2.124318779004943e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.057240792073188e-11, + c: -2.351013542306829e-10, + mult: [0, 2, 2, -10, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.117711725581719e-10, + c: -1.041527221620098e-10, + mult: [0, 2, -2, -4, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.279776478205746e-10, + c: 1.978953226490362e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.999781211646114e-10, + c: -1.226009478247357e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.320248683067527e-10, + c: 2.200128114120044e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -2.061424846798945e-10, + c: -1.067654946232133e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.050189081565397e-11, + c: -2.316679799984193e-10, + mult: [0, 1, -6, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.712686953276930e-10, + c: 1.562590110022119e-10, + mult: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.553057834703889e-10, + c: 1.716499315559237e-10, + mult: [0, 8, -20, 13, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.204792991409143e-11, + c: 2.187054371198893e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.196728397153057e-10, + c: -6.828189820228299e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.994310294192369e-10, + c: -1.097560135918111e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.165166591293765e-10, + c: -1.950591114069539e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.074950643869274e-10, + c: 1.975125497153089e-10, + mult: [0, 0, 20, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.846905019190646e-10, + c: 1.266682578823033e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.175933882735951e-11, + c: 2.142322569651384e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.119229474871200e-10, + c: -1.924510145020851e-10, + mult: [0, 1, -5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.590695471581301e-12, + c: 2.224602368967848e-10, + mult: [0, 27, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.143007608204587e-10, + c: 6.001663790760911e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.353052862504965e-12, + c: -2.219939528868568e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.808702713033388e-11, + c: -2.184934252105049e-10, + mult: [0, 0, 0, 1, -1, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.286869314869546e-11, + c: -2.126707638560067e-10, + mult: [0, 4, 0, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.268693853860891e-11, + c: -2.123264311822344e-10, + mult: [0, 4, -8, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.190232810335451e-11, + c: -2.047539676884348e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.066380775055102e-10, + c: 6.481891373065923e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.121523305206681e-10, + c: 4.176121516806826e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.296081522608357e-10, + c: -1.726914112208577e-10, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.431060556685265e-10, + c: 1.607001742844228e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.043405365168225e-10, + c: -6.263627504924265e-11, + mult: [0, 8, -21, 16, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.127390999687698e-10, + c: 1.590527831309534e-11, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.684495871437167e-10, + c: -1.296222514824458e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.115594181684385e-10, + c: -2.862846487213340e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.368184643670754e-10, + c: -1.611334080854061e-10, + mult: [0, 8, -5, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.810635038235308e-11, + c: -2.092663851566346e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.585286301688543e-10, + c: -1.357680906416432e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.807261318125260e-10, + c: 1.035567016240457e-10, + mult: [0, 0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.563316780912873e-11, + c: -2.001762091293410e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.063973801406557e-10, + c: -2.211959936745084e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.070472010145609e-10, + c: 7.827671418231677e-12, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.469448591381666e-11, + c: -1.841897784365977e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.881967171647235e-10, + c: -8.465776299944852e-11, + mult: [0, 0, 17, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.051167984136668e-10, + c: 2.262382161196817e-11, + mult: [2, -10, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.890248756343220e-11, + c: 2.024450911461421e-10, + mult: [0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.053041889861869e-10, + c: -1.542336898101809e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.047685460404360e-10, + c: 1.819043905339225e-11, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073413918845060e-10, + c: 1.752756985532591e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.074124489918097e-10, + c: 1.752298883231243e-10, + mult: [0, 4, -2, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.903299658206251e-10, + c: -7.521571948587541e-11, + mult: [0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.130333207698416e-11, + c: -2.029695845443518e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.797778414725160e-10, + c: 9.582898375919783e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.515654274459136e-10, + c: 1.353778986666877e-10, + mult: [0, 3, -9, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.698523895225332e-10, + c: 1.104313233081790e-10, + mult: [0, 0, 20, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.639923620445098e-10, + c: -1.188064036762440e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.017514493520910e-10, + c: 1.586879101339552e-11, + mult: [0, 0, 19, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.274935964121885e-11, + c: -1.841977614190925e-10, + mult: [0, 2, 3, -12, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.016469527981786e-10, + c: 1.058347169016144e-11, + mult: [0, 2, -3, -2, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.683533856657449e-10, + c: 1.099500518386440e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.953106967105376e-10, + c: -3.402576614818273e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.922207523322015e-10, + c: -4.740109652712590e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.977269818942306e-10, + c: -6.124397267262454e-12, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.902213446835890e-11, + c: -1.879831636580958e-10, + mult: [0, 11, -18, 0, 0, 0, 0, 0, 0, -1, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.908363303158944e-10, + c: -4.842691289733426e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.419139242941207e-10, + c: 1.364428575748690e-10, + mult: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.967041003003260e-10, + c: -1.069719936233075e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.372340547275153e-10, + c: -1.397143105958303e-10, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.316893752912614e-10, + c: -1.447155170916392e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.904384076583973e-10, + c: 4.008802998932669e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.212294784596684e-10, + c: 1.516977458435791e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.238437946514559e-11, + c: -1.838415700261979e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.725364037409162e-11, + c: 1.904145533867984e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.410880590880728e-11, + c: 1.744793821740966e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.918369428123815e-10, + c: -2.448110093630058e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.092734657494980e-10, + c: 1.589468665847507e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.549889306600083e-12, + c: 1.928493524569933e-10, + mult: [0, 0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.726709740654427e-11, + c: -1.841247075962453e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.924973571074169e-10, + c: -2.752656756667421e-12, + mult: [0, 29, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.893187864703897e-10, + c: -3.442469315225495e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.898937129783623e-10, + c: 3.082939196160891e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.902470266068882e-10, + c: 2.841509473773707e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.121978943400362e-11, + c: -1.743451921037640e-10, + mult: [0, 16, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.667713049400002e-11, + c: 1.713987236988674e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915719529416380e-10, + c: -1.090352541668635e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.250436042574480e-14, + c: -1.909242845962701e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.855966203599569e-10, + c: -3.401188786720749e-11, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.160394094655574e-11, + c: -1.745475474886322e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, -1, -10, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.077063473572969e-10, + c: -1.548396336154571e-10, + mult: [0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.860136864007939e-10, + c: -2.677648468326112e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.673116288758452e-10, + c: -8.422791016311915e-11, + mult: [0, 20, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.832258660527579e-10, + c: -3.852849217057400e-11, + mult: [0, 0, 14, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.867602617186133e-10, + c: 7.788105923086352e-12, + mult: [0, 24, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.957277904975005e-11, + c: 1.825708015900711e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.255117150679940e-11, + c: -1.837773450985691e-10, + mult: [0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.853792092878032e-11, + c: 1.734586277581800e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.006674403687256e-10, + c: -1.567820569915018e-10, + mult: [0, 8, -15, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.689677676285649e-10, + c: -7.713215097098774e-11, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.924022148649232e-11, + c: -1.720718473689706e-10, + mult: [0, 0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.626833918120054e-10, + c: -8.849244081971564e-11, + mult: [5, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.603100733850362e-10, + c: -9.222775919162045e-11, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.945418982035951e-11, + c: -1.558069001569092e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.261067107789125e-10, + c: -1.350518315911451e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038980248960085e-10, + c: 1.526118050496239e-10, + mult: [2, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.818964005963720e-10, + c: 2.910210823314563e-11, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.024639477816970e-11, + c: 1.624578556001975e-10, + mult: [0, 0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.794968857781292e-10, + c: 7.232639750413616e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.768599264811961e-10, + c: 2.940006793808623e-11, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.763272739205561e-10, + c: -3.238387053982891e-11, + mult: [0, 0, 5, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.383096549200921e-10, + c: -1.131513453451039e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.921195908320996e-11, + c: -1.740681254197847e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.464556176716643e-10, + c: 1.018368227235609e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.748807997792152e-10, + c: -3.460898782939202e-11, + mult: [0, 5, -9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.709946418863625e-10, + c: -5.032649196200296e-11, + mult: [0, 0, 10, -20, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.204437646003931e-10, + c: -1.313052529157198e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.394217908936573e-10, + c: 1.089783159007880e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0], + }, + Term { + s: 1.756346613513093e-10, + c: 2.025649364777509e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.518495694407174e-10, + c: 9.001087773115027e-11, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.491460393945863e-10, + c: -9.440707583799942e-11, + mult: [0, 4, -3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.315015268072921e-10, + c: -1.161439971175894e-10, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.899759200482844e-11, + c: -1.709710571106887e-10, + mult: [1, -4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.656191855302131e-10, + c: -5.621100771935339e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.186193109268257e-11, + c: 1.713041682992745e-10, + mult: [0, 22, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.788330716367351e-11, + c: -1.675113888653720e-10, + mult: [0, 2, -16, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.727016102660253e-10, + c: 2.253244180571892e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.376598756870560e-11, + c: 1.576076025798338e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0], + }, + Term { + s: 4.689585071632624e-12, + c: 1.736662301168734e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.733797012117931e-10, + c: 3.765004043858414e-12, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.681080973032472e-10, + c: -3.841556027011383e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.410793136126235e-10, + c: -9.860152887145663e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.848567050102901e-11, + c: 1.675234151375854e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: 3.505682582572626e-11, + c: 1.678339070770638e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, -2, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.028094563685970e-10, + c: -1.371324139204748e-10, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.328461807132068e-10, + c: -1.065918481026967e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.551732244642185e-10, + c: 6.670839197954484e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.286450693415209e-10, + c: 1.065781881255561e-10, + mult: [0, 0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.167803122088908e-10, + c: 1.178248563059981e-10, + mult: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.257354959949261e-10, + c: -1.080486472437322e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.218694482340795e-10, + c: -1.115861513104100e-10, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -6, -54, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.627033024703710e-10, + c: 2.666067478546393e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.643566714533914e-10, + c: 2.972423252374359e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.447399232183007e-10, + c: 7.698083846711526e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.444323050934112e-10, + c: 7.746714270384835e-11, + mult: [0, 2, -1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.628136761925253e-10, + c: 1.682235403611522e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.491023733270597e-10, + c: -6.727864911266870e-11, + mult: [0, 0, 18, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.377768859621356e-11, + c: -1.456358982797229e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.610156395222474e-11, + c: -1.559886348787421e-10, + mult: [0, 5, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.599881787130215e-11, + c: -1.557633100853310e-10, + mult: [0, 5, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.523818083708186e-10, + c: 5.547367749442104e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.260799418211293e-11, + c: -1.604085696787597e-10, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.754417335465872e-12, + c: 1.616729106468936e-10, + mult: [0, 28, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.542035727807058e-10, + c: 4.704168540578494e-11, + mult: [0, 0, 15, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.705237468363644e-12, + c: 1.608647000637845e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.410399509496099e-10, + c: -7.767037953463115e-11, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.419331907986127e-11, + c: -1.570269664167631e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.592941285619209e-10, + c: -1.650872596340131e-12, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.235517176842035e-10, + c: 9.989792622944770e-11, + mult: [0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.928638449248245e-11, + c: -1.305665788444037e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.229509873636526e-10, + c: 9.673718213632709e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.242475851280526e-10, + c: 9.268998009810152e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.204995918002682e-10, + c: 9.745162725751033e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.381864393470034e-10, + c: -7.008242531453045e-11, + mult: [0, 3, -6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.313376897464537e-10, + c: 8.214998185962369e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.240352989265127e-10, + c: -9.274446385980683e-11, + mult: [0, 2, 4, -14, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.856198314853602e-11, + c: -1.432479296819383e-10, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.140653784547696e-10, + c: -1.045860184473424e-10, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -41, 36, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.545916705663589e-10, + c: -1.801949692052937e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.322440340148017e-10, + c: 7.919153567311737e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.794100046876068e-12, + c: 1.536633991542473e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.429274471673740e-11, + c: 1.343887728620064e-10, + mult: [0, 0, 21, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.524253548837744e-10, + c: 1.159637934533990e-11, + mult: [0, 0, 20, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.262508217069234e-10, + c: 8.598293532702128e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.517132335891713e-10, + c: 1.606006003815499e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095224133041569e-10, + c: -1.057969305878117e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.419065534641213e-10, + c: -5.381451253003383e-11, + mult: [0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.517332057731323e-10, + c: -9.507846797173545e-13, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.670110182593632e-11, + c: 1.159062810961759e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.797157864124995e-12, + c: -1.497985659543221e-10, + mult: [0, 5, -7, -3, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.491290324160062e-10, + c: 6.732069148712761e-13, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.309386900160551e-10, + c: 7.088074552257424e-11, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.562827919658447e-11, + c: -1.443081292295576e-10, + mult: [6, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.221761147886356e-10, + c: -8.448206788379894e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.391829815646618e-10, + c: -4.724987030120545e-11, + mult: [0, 1, -7, 11, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.661049708907540e-11, + c: 1.250853944999716e-10, + mult: [0, 1, -3, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.665215997050316e-11, + c: 1.250587006742836e-10, + mult: [0, 5, -3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.793156566793560e-11, + c: 1.384314710629059e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156867125615065e-10, + c: 8.986124456820447e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.702376502522848e-11, + c: 1.240782806970290e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.440117846285413e-12, + c: 1.459668436686074e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.223518422492437e-10, + c: 7.879911151126841e-11, + mult: [0, 0, 21, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.405015747791331e-11, + c: -1.186833178677938e-10, + mult: [0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.841159577953667e-11, + c: 1.320590691470208e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.415045505058530e-10, + c: -2.768589580985209e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.510259605406773e-11, + c: 1.431197455620082e-10, + mult: [3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.441151685055813e-11, + c: 1.326843247659511e-10, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023789681289246e-10, + c: -1.002576395906421e-10, + mult: [0, 7, -13, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.088763089290499e-11, + c: 1.177361038598226e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0], + }, + Term { + s: -2.362360074823214e-11, + c: -1.402461941885785e-10, + mult: [0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.410832697843163e-10, + c: -1.138532921097781e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.337135388115705e-10, + c: -4.488172161632433e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.508778643885548e-12, + c: -1.407556465725652e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.207522535714385e-10, + c: 7.212679039997488e-11, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.152472278967599e-10, + c: -8.022032424146638e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.025444008447298e-11, + c: -1.399967705243584e-10, + mult: [0, 4, -7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399147356603584e-10, + c: 5.650630157559694e-12, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.110896648274481e-11, + c: -1.336416706424059e-10, + mult: [0, 0, 1, -8, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.394246252157379e-10, + c: 5.250676631544255e-12, + mult: [0, 25, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.784376887087099e-11, + c: 1.383418653991246e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.335755054275418e-10, + c: 3.997764579856649e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.303488490038347e-10, + c: -4.849025905946147e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.544778071151539e-11, + c: 1.009275950823172e-10, + mult: [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.655917418219086e-11, + c: -1.265480015617208e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.383075051372112e-10, + c: -5.676134314904696e-12, + mult: [0, 5, -7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.297537758229717e-11, + c: -1.107927478734488e-10, + mult: [0, 0, 16, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.698887152520679e-11, + c: -1.299226676921393e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.233517311574674e-10, + c: -6.203547389235021e-11, + mult: [0, 21, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.072457222218586e-11, + c: -1.179737203493251e-10, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -62, 90, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095008255855627e-10, + c: 8.057252085821010e-11, + mult: [5, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.353752845753284e-10, + c: -2.077014745274389e-12, + mult: [0, 30, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.331796452307286e-10, + c: -2.375402629722999e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.040090493031361e-11, + c: 1.149572269159318e-10, + mult: [0, 1, 1, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.044771340086631e-11, + c: 1.149260016683508e-10, + mult: [0, 3, -1, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.632999184897792e-11, + c: 1.337482465622651e-10, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -34, 18, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.203878657577605e-11, + c: 1.068740809906582e-10, + mult: [0, 8, -3, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.430540453026044e-11, + c: 1.170224225022663e-10, + mult: [0, 2, -7, 6, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.585868539065472e-11, + c: 1.022436034981635e-10, + mult: [0, 2, 7, -20, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.684649068451553e-11, + c: -9.184035582130341e-11, + mult: [0, 2, -1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.261417228146115e-11, + c: 1.260067484017087e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054184439396475e-10, + c: -8.076744226363618e-11, + mult: [0, 2, 3, -13, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.133780498552649e-10, + c: 6.908999659985614e-11, + mult: [0, 2, -3, -1, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270553166336678e-10, + c: -3.571866738763533e-11, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.993425240090061e-11, + c: -1.219465284844673e-10, + mult: [0, 0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.232611298289795e-10, + c: -4.517609006950843e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0], + }, + Term { + s: -1.643164846128961e-11, + c: -1.298027411818848e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.830367515389237e-11, + c: -1.112069862391816e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.473327375331034e-11, + c: 9.912825522433639e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.109334207631443e-11, + c: 1.295801787243888e-10, + mult: [0, 8, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.136098084295563e-11, + c: 1.086142861391441e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -9, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.230257072505045e-11, + c: 1.078671081668723e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.351829590442917e-11, + c: 1.181042869059887e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.199508548797768e-10, + c: -4.892056780894119e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.817408416984274e-11, + c: -1.156441973059365e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.205896327998426e-10, + c: -4.698213150109081e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.174429885683528e-10, + c: -5.319727783873874e-11, + mult: [0, 0, 19, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.138920846637794e-10, + c: -5.982964435422517e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.266317534502809e-10, + c: -1.867303899883051e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.601802474928620e-11, + c: -1.147053377793251e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.298036267321387e-11, + c: 1.252736698630210e-10, + mult: [0, 23, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.075183601990845e-11, + c: -1.234270105966355e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.558948061560201e-11, + c: -1.262151318005878e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.266582887201258e-10, + c: 1.970464722202041e-13, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.323251995557630e-11, + c: 1.032096993715718e-10, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.257213715992616e-10, + c: -6.178387744091786e-12, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.181436745116355e-13, + c: -1.253747591888666e-10, + mult: [1, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.542208271509783e-11, + c: 9.992294184382247e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -17, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.210458594292750e-10, + c: -2.851346476668658e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.104404203068998e-10, + c: -5.590473676649656e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.038408164569898e-12, + c: 1.231487190993458e-10, + mult: [0, 0, 21, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.212982792988464e-10, + c: 1.726906981204217e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.224989515768868e-10, + c: -2.146042033030704e-13, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.746912054629859e-11, + c: 8.569211286359475e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.627358812929177e-11, + c: -1.165299943932682e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.061953556592465e-10, + c: 5.876799779049888e-11, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119296642334123e-10, + c: 4.565035139181776e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.195402529996330e-10, + c: -1.644050483608809e-11, + mult: [0, 2, 5, -16, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.853167335962413e-11, + c: 1.055131916846166e-10, + mult: [0, 2, -5, 2, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.354471309164312e-11, + c: 1.075628871155109e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.254287708804263e-11, + c: -1.123308341390611e-10, + mult: [0, 0, 13, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.147542701922712e-10, + c: 3.526088187232063e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.225278085560099e-11, + c: 1.193539136720452e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.197966057848678e-10, + c: 1.328257245485212e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.392710422371075e-11, + c: -1.148423302373841e-10, + mult: [0, 6, -2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.081082598505537e-11, + c: -1.030707430573645e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.388216968632988e-11, + c: -1.146851752721692e-10, + mult: [0, 6, -10, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.142821405571579e-10, + c: 3.471427288922721e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.600017174789982e-11, + c: -1.162522461437135e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.617432938043452e-11, + c: 1.133822925389257e-10, + mult: [0, 2, 9, -24, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.187414233758731e-10, + c: 7.258703724707655e-12, + mult: [0, 2, -9, 10, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.044698566921707e-10, + c: 5.656559117364471e-11, + mult: [0, 0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.182029538043009e-10, + c: 3.804385710637868e-17, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1], + }, + Term { + s: -1.168774379862912e-10, + c: 1.700963044830626e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.373588049610871e-11, + c: -1.154912613968650e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.176335737207993e-10, + c: -4.373950318465865e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.174896006322957e-10, + c: -4.083462557353935e-12, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.425231831956684e-12, + c: 1.174793579767184e-10, + mult: [0, 29, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158352816151643e-10, + c: 1.896732633535737e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.387852350826712e-11, + c: -1.118107139906672e-10, + mult: [0, 5, -5, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.421451845806019e-11, + c: -8.094806172689170e-11, + mult: [0, 1, -5, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.821190635797767e-11, + c: -7.636693437309563e-11, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.428305725056857e-11, + c: -1.156568486368930e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.003894315293808e-10, + c: 5.880448819995005e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038723658553277e-10, + c: 5.203169159212361e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.770960908041423e-11, + c: -8.583414771734339e-11, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.154464354264409e-10, + c: 6.753880127590495e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.413982308888458e-11, + c: -1.102403161602253e-10, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.327343840328482e-11, + c: -8.908334665657956e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.092320120078048e-10, + c: -3.649641074164550e-11, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.138315671108240e-10, + c: -1.620352121825471e-11, + mult: [0, 3, -15, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.142261630432720e-10, + c: 8.348958040339988e-12, + mult: [0, 0, 21, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.033407594117074e-10, + c: 4.899385485300843e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.052682034200033e-10, + c: -4.466634093518541e-11, + mult: [0, 3, -5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.141757369355929e-10, + c: -5.356457255982462e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.073652563704578e-10, + c: -3.908885325915600e-11, + mult: [0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.127953760703976e-11, + c: -1.064621669886331e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.126261572755790e-10, + c: -1.740735740750368e-11, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.570918342648975e-11, + c: -1.127627734168144e-10, + mult: [0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.388467532639484e-11, + c: 8.649680684328329e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.623214397220199e-11, + c: 9.181144065560032e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.093858205229401e-10, + c: -2.895647232557426e-11, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.751584614288917e-11, + c: 7.156652701543370e-11, + mult: [1, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.337724277977404e-11, + c: -6.357887030561344e-11, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.120228167606419e-10, + c: -1.379520473129509e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.740894895527863e-11, + c: -9.011939012604014e-11, + mult: [0, 0, 17, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.583050147644676e-11, + c: -9.110623531046443e-11, + mult: [0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.443658762247182e-11, + c: -7.379119573449370e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.588181967507600e-11, + c: 8.222571760024296e-11, + mult: [0, 5, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.496351158867226e-11, + c: -5.747529373238655e-11, + mult: [0, 3, -6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.764364796170407e-11, + c: 1.070088433204336e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.006295190453393e-10, + c: -4.508641470295869e-11, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.156842111893143e-11, + c: 7.374852436836699e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.007761880525030e-10, + c: 4.247387650472126e-11, + mult: [0, 0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.057671911510423e-10, + c: 2.708739474847419e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.715385303147694e-11, + c: -1.070671459066499e-10, + mult: [0, 21, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.079055246617874e-11, + c: 5.914770555433585e-11, + mult: [4, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.038901474236903e-10, + c: -3.041720142783364e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.630240369568932e-11, + c: -9.213663039532603e-11, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.823202276733498e-11, + c: -9.076065076485323e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.206036288841931e-11, + c: -8.004592691064864e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.587776977377513e-12, + c: 1.076054079612125e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -9, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.834925940131735e-11, + c: -7.277905817834330e-11, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.919302285691831e-13, + c: 1.068158229130842e-10, + mult: [0, 2, -6, 4, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.034218094166358e-10, + c: 2.641152018129499e-11, + mult: [0, 0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.573888129798535e-11, + c: 9.100126557389903e-11, + mult: [0, 2, -4, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.576381885930835e-11, + c: 9.098526769797469e-11, + mult: [0, 6, -4, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.956254017789749e-11, + c: 3.838767538898493e-11, + mult: [0, 2, 6, -18, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.065857759791736e-10, + c: 4.017587900999828e-12, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.673297109781304e-11, + c: 4.361337632034005e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.055064138065330e-10, + c: 9.121959625481881e-12, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.449558286066483e-11, + c: 9.559165144889172e-11, + mult: [0, 0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.005686572512546e-12, + c: 1.049509332776568e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.050722323820144e-10, + c: 2.820253989641958e-12, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.757823158983411e-12, + c: 1.044968501187124e-10, + mult: [0, 8, -21, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.316653815427504e-12, + c: -1.040867549759569e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.019947606534376e-10, + c: -2.235181027222906e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.025421054439141e-10, + c: 1.826991422165223e-11, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.040365462520609e-10, + c: 3.527834115560581e-12, + mult: [0, 26, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.912009683870975e-11, + c: -1.022435842694122e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.091911389180932e-11, + c: 9.049740451732445e-11, + mult: [0, 0, 22, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.739230623459326e-11, + c: 5.568012158064101e-11, + mult: [0, 0, 22, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.914622477443926e-11, + c: -2.936836281188075e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.178571214109683e-11, + c: -8.226634385799134e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.635740214139086e-11, + c: 8.519409248199764e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.086642260147539e-11, + c: -4.564738552230865e-11, + mult: [0, 22, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.088308806633302e-11, + c: -1.010577432453181e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -3.073671777063731e-11, + c: -9.673070658679970e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -9.361107841724700e-11, + c: -3.897786150194926e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.186515454959290e-11, + c: -4.180564054889337e-11, + mult: [0, 0, 20, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.002994243115849e-10, + c: 7.610157719954961e-12, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.629167509395109e-11, + c: -8.292982126393233e-11, + mult: [0, 2, -2, -5, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.697726522107585e-11, + c: -8.245767759268119e-11, + mult: [0, 2, 2, -9, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.089052878799313e-11, + c: 7.074232877636333e-11, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 6.283075850353214e3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.181419030192462e-6, + c: 1.980919587351421e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.935836777411744e-8, + c: -1.190289843765875e-6, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.522813410574556e-7, + c: -2.945430414369931e-7, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.661044027462070e-7, + c: 6.169511923557611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.065836273579675e-7, + c: -5.385529733106667e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.594233081755888e-7, + c: 4.956679171963491e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.929465757113603e-7, + c: -2.083049392021689e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.996369318428815e-7, + c: 3.409789779903085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.334677883846792e-7, + c: 1.210496590113275e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024161326957857e-7, + c: -1.804257330058467e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.524864048760988e-7, + c: -1.082968328465211e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.300897128922577e-7, + c: -1.225905850507030e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.444049848347105e-7, + c: -7.174462663709757e-8, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.210639263486064e-7, + c: -6.324555498249662e-8, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.271849293238905e-7, + c: -3.890932826952555e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.136237607196470e-8, + c: -1.103029403769603e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.130740027392495e-7, + c: 3.232575265578553e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.128195141545367e-7, + c: 2.183361892932403e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.376958555410029e-9, + c: 1.062008149070704e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.881409329110283e-8, + c: 5.205447021394744e-8, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.898724748765254e-8, + c: 4.695993232369262e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.839060788289016e-8, + c: 1.103993393071196e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.202480170556683e-8, + c: 7.206390354872761e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.616962167478028e-8, + c: -1.722880388291137e-8, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.769246218706117e-8, + c: 4.907401390394448e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.286462823810687e-8, + c: 3.208167776616738e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.855860259363580e-8, + c: -4.994379916107885e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.391340869688744e-8, + c: -2.582554147132806e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.407740814299655e-8, + c: 1.984576572694656e-8, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255646183934406e-8, + c: -4.628899951479312e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339403563861520e-8, + c: -4.460694937462327e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.017069994878401e-9, + c: 4.575721080390109e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.185361917507515e-8, + c: -3.391307308222157e-8, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.897167735981855e-8, + c: -3.354661423902095e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.537355136612011e-8, + c: 1.208139181103781e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.248046103581920e-8, + c: -1.703452025072962e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.215322729096679e-8, + c: -9.906047113195076e-9, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.693681217814311e-8, + c: 1.555953241913053e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.222257780547893e-8, + c: 1.486342940523073e-8, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.537148256649384e-8, + c: 4.224078087030157e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450576165956992e-8, + c: 7.006675241912001e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.586862684789787e-9, + c: -1.938756428334558e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.040686848806330e-8, + c: -6.311542271812617e-9, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.718745816157200e-8, + c: 1.205026201783544e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.052233931788470e-8, + c: -1.643425811573664e-8, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.623261923034694e-8, + c: -8.561963807324040e-9, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.271882831212619e-8, + c: -1.318479339404138e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.726423940969832e-8, + c: -5.214894603252445e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.851603127399826e-9, + c: -1.559338774939071e-8, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.554335932346637e-9, + c: 1.531031549511258e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.248369207023698e-8, + c: 7.451278289824894e-9, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.081611342562501e-9, + c: -1.343557356408994e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.363739281248625e-8, + c: -4.229770608507205e-9, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.905407082073133e-9, + c: -1.147944332209257e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.373933780812651e-9, + c: 1.085218495513559e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.324677829001941e-9, + c: -1.183153138461988e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.931094891091907e-9, + c: -1.046435792600367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.210292901992497e-8, + c: 1.415888111132873e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.217199158891935e-8, + c: 3.286448854354380e-10, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.249509768821657e-9, + c: -8.931217247790473e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.571192691734448e-9, + c: -5.085933225202243e-9, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.779418993890771e-9, + c: -9.081428087922279e-9, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.387819879846166e-9, + c: 4.678742909325367e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.728068718664390e-9, + c: -4.934723404264521e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.031384040467912e-9, + c: -5.691723697415522e-9, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.384249783397746e-9, + c: -2.915689782624576e-9, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.546346336095909e-9, + c: -9.239888783700513e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.875865131789392e-9, + c: -9.104743500775318e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.284887808065986e-9, + c: 1.627699149808873e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.823909005112836e-9, + c: -7.292550571388008e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.640108018888196e-9, + c: 7.678665366359765e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.711079417652979e-9, + c: -8.601270866078862e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.076749148186826e-9, + c: 7.044994934476127e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.956067734090004e-9, + c: -6.822574119628338e-9, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.472078707711610e-9, + c: 7.103120188503818e-9, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.040396602599565e-9, + c: -5.545739447405925e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.450355028982718e-9, + c: 1.876225966689319e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.260788744302680e-9, + c: -4.035742017379834e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.651740610897997e-9, + c: -6.478608927334206e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.060460479328826e-9, + c: -1.766574450130857e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.072701181903609e-9, + c: -6.866969390563468e-9, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.574507839678156e-9, + c: 6.111589215356844e-9, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.974821577205612e-9, + c: 7.625764239300711e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.005571384520068e-9, + c: 3.578077436824472e-9, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.574822850385967e-9, + c: -2.044302950593765e-9, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.042499750671043e-9, + c: -3.216241773979223e-9, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.962769204568910e-9, + c: -6.056792960809848e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.209658825535299e-9, + c: -4.990892366095681e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.858328247783103e-9, + c: 5.219024794461402e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.343889291732091e-9, + c: -5.283206020935745e-9, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.039664677816562e-9, + c: -5.422860983902632e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.873575679395223e-9, + c: -5.731015235957660e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.235610476128369e-9, + c: 2.372914620370540e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.625600322990102e-9, + c: 4.409879567635943e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.454065360328805e-9, + c: -5.369834681346621e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.332993554335974e-9, + c: 4.268305861756139e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.462219683001716e-9, + c: 5.131013748207074e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.139269789922323e-9, + c: -4.619304757295119e-9, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.932297249010237e-9, + c: 1.166338428774295e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.660698596496025e-9, + c: -1.448898185007861e-9, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.388750377384148e-9, + c: 4.660054350438377e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.046726381664555e-9, + c: -4.274769533759767e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.489731923803506e-9, + c: -4.686885619738133e-11, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.763605901606811e-10, + c: -4.413802375353025e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.755173810392427e-11, + c: 4.434705505765922e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.907267331932594e-9, + c: -2.085221984708753e-9, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.730283475177388e-9, + c: 2.215360951771913e-9, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.978126465953063e-9, + c: -3.133500386978206e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.789874880709354e-9, + c: -3.835577983561739e-9, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.920917999288885e-9, + c: 2.688477215880440e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.590738295493836e-9, + c: -2.908505406731908e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.727221596292823e-9, + c: 3.338488998007154e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.859992785742790e-9, + c: 3.214873771248172e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.960140928009899e-9, + c: -3.140007302338651e-9, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.260293340744920e-9, + c: -3.358925578997896e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.426561960876922e-9, + c: 8.445552551754373e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.330133772922764e-9, + c: -1.034254350694925e-9, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.100087798206849e-9, + c: 1.595107465905010e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.926415714800184e-9, + c: -1.723249081202106e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, -3, -16, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.373956390999104e-9, + c: 7.607820344295032e-11, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.399886764865951e-9, + c: -3.001626709776451e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.274123438462535e-9, + c: 3.399591332005779e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.909434044859828e-9, + c: 1.306284207675691e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.635060256019563e-9, + c: -1.715986942667311e-9, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.009952960550995e-9, + c: 4.737414192996620e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.031214840731601e-9, + c: 2.232526576547083e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.954167423452876e-9, + c: -5.150949427169978e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.016005693347789e-9, + c: -2.801108140626012e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.548064231015350e-9, + c: 1.508516820723073e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.372556402663463e-9, + c: 1.678715340518575e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.551312252647635e-9, + c: -1.363238090008228e-9, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.308744709844118e-9, + c: -1.723946660013968e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.325939664661656e-9, + c: -2.415336150181996e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.648984519404078e-9, + c: -6.986778285183283e-10, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.698900616967278e-9, + c: -6.226298673045854e-11, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.937066793404426e-9, + c: -1.877868925317679e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.646824848539726e-9, + c: -5.041283812296379e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162162580705602e-9, + c: -2.415836909159073e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.658009907314955e-9, + c: -4.887274360923496e-11, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.089276359839430e-10, + c: 2.653284274938156e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.078366768467576e-9, + c: -2.318421519941152e-9, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.504297818168244e-9, + c: -4.581136074886230e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.392644921018041e-9, + c: -7.418388552160420e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.598578678805176e-10, + c: -2.444631314499956e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.419383385946996e-9, + c: -5.033961379703394e-11, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.405149526208383e-9, + c: 6.541417958003091e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.125397381975566e-9, + c: 2.115467306555902e-9, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.181179599831569e-9, + c: 8.826795115166303e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.337743499938388e-9, + c: 5.130908702354049e-11, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156960047837307e-9, + c: 1.995478781532028e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.178298569387812e-9, + c: -1.877730212598251e-9, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.804330682678924e-9, + c: 1.248457257425865e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.070510039950285e-9, + c: -5.937347900579171e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.812275699782999e-9, + c: 1.070219718540165e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.001539339558721e-9, + c: 1.836859704994969e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.041658911313720e-9, + c: -3.295412103630199e-11, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.867761342531923e-9, + c: -7.410539349567586e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.260894534297932e-9, + c: -1.563202481245412e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.781991763356608e-9, + c: -8.190318994161146e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.968186619712030e-11, + c: 1.959294077979656e-9, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.512593227513641e-9, + c: -1.242105226276747e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.210552871259278e-10, + c: -1.765798659594303e-9, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.192077441927075e-10, + c: -1.843241029444412e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.367109382364888e-10, + c: 1.820269201816330e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.834192449733127e-10, + c: -1.866238122941147e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.468426188929093e-9, + c: 1.231679896776467e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.668141875255562e-9, + c: -8.911539618072962e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.100780891880471e-11, + c: 1.882306348707452e-9, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.711893779964461e-9, + c: -6.122086051506209e-10, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.725902453950072e-9, + c: -5.338636098003376e-10, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.804382105432268e-9, + c: 4.131575861023560e-11, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.587784592094330e-9, + c: 7.259000039110728e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121714794813867e-9, + c: 1.302470400977887e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.708518779405560e-9, + c: -5.374887012281939e-11, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.690069569364238e-9, + c: -2.253596110953329e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.670021691372113e-9, + c: -3.129178389863995e-10, + mult: [0, 0, 17, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.663916919853954e-9, + c: -1.742852493679255e-11, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.352951178010409e-9, + c: -9.042030550409714e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.624577116238586e-9, + c: 3.553825341566374e-11, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.197111913933501e-9, + c: -1.081642398694200e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.061317637795315e-10, + c: 1.386712042073743e-9, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.310748774681036e-9, + c: 7.727745386434382e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.443566610696952e-9, + c: 3.666665379151859e-10, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.376198121811609e-9, + c: 5.658970752374604e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.199748161762989e-10, + c: -1.331835890180753e-9, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.599510769242431e-10, + c: 1.086494286856931e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.102815449728464e-10, + c: -1.260782176820125e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.112353096545070e-9, + c: 8.882300638471016e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417706756560125e-9, + c: -8.828774109263419e-11, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.415623392998632e-9, + c: -5.737255906998669e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.825217273778280e-11, + c: 1.350975312388644e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266557043710985e-9, + c: -4.362047325340832e-10, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.955333414898258e-11, + c: 1.333815290539093e-9, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.326164327509666e-9, + c: -5.784781961498213e-12, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.017978881424180e-10, + c: -1.121545487821671e-9, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.165205609048204e-9, + c: -5.945633778233085e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.248547735512064e-9, + c: -3.850735778393995e-10, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.296792115679917e-9, + c: -6.330984752378951e-11, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.086658182393743e-9, + c: 7.058432170660874e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.811610027106025e-10, + c: 1.143647546256920e-9, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.409316206759635e-10, + c: -1.223115297514533e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.865622141734573e-10, + c: -1.054923358285270e-9, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.545285351286585e-10, + c: 1.108325528687751e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.087057724347265e-9, + c: -5.796825360407473e-10, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.215259411659556e-9, + c: -1.390973970254428e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.527109708528095e-11, + c: -1.175705736353842e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.897917594102817e-10, + c: 1.012207635568792e-9, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.029087999566079e-10, + c: -1.091270943619592e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.957263430769210e-11, + c: 1.158500661715923e-9, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.135267186073375e-9, + c: -2.025613661145473e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.812952863044637e-10, + c: 6.010686096106167e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.126337122663092e-9, + c: 2.517707369410287e-11, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.077143633364928e-10, + c: 7.852640659917322e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.990078421153181e-10, + c: 9.991543904722510e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.528887616889606e-10, + c: 5.614167469237567e-10, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.652461569788857e-10, + c: -9.973769378805353e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.445047164446600e-10, + c: 1.038942806459863e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.867412226715758e-10, + c: -9.013736443798527e-10, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.705478170232516e-10, + c: -9.030781391469895e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040884689785612e-9, + c: 2.019354287902920e-12, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.529806004538060e-10, + c: 7.716540333200133e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.159230356987952e-10, + c: -5.743257619328803e-10, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.184695865571841e-10, + c: -8.958490808674369e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.179252833157827e-10, + c: -5.306427853849438e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.372246610667417e-10, + c: 4.889302788787511e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.474151603746093e-10, + c: -6.994145279169239e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.051585756060264e-10, + c: -2.781962070172448e-10, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.346661947000612e-10, + c: -4.307704904877238e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.288273818768204e-10, + c: 9.889381727213192e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.351597548678546e-10, + c: 8.142299656827515e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.567053161874823e-10, + c: 8.750202694430448e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.881017166149529e-10, + c: 1.308701589587551e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.047921115430495e-10, + c: -7.868937017801441e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.407442998478683e-10, + c: 7.550819262884144e-10, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.025519037352035e-10, + c: -8.189019428508329e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.796993166918231e-10, + c: 5.099182008078562e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.474518058257493e-10, + c: -7.428544933221543e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.425759556701027e-10, + c: -6.865358443117036e-10, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.443945213734801e-11, + c: 8.140468181735299e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.079347739886316e-10, + c: 6.706474418136333e-12, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.919835548926243e-10, + c: 4.078500776821282e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.558992653104371e-10, + c: 7.169311309643504e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.039808760652430e-10, + c: -3.740845570189469e-10, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.489500765687189e-10, + c: -7.161321780344514e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.222930825508055e-10, + c: -3.257083469094949e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.156274269120749e-10, + c: -6.652464130229919e-10, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.767168688848458e-10, + c: 1.817973999299677e-11, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.048148215870322e-10, + c: -4.778293358173615e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.779124668665590e-11, + c: 7.455413110673093e-10, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.156519673046453e-10, + c: 6.228564577356289e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.855754739587597e-10, + c: -4.533615769140554e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.767021917492056e-10, + c: 5.534806892004335e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.155886330128621e-10, + c: 5.070730137784491e-11, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.992131914757132e-10, + c: 1.504848512259690e-10, + mult: [0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.653464466510856e-10, + c: 5.430110090688857e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.025551588931615e-10, + c: -7.285088565066360e-11, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.048631342074383e-10, + c: 6.961971924680679e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.241603836612931e-10, + c: -6.819892339108796e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.958427688914189e-10, + c: -3.519371760027348e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.357130469491920e-10, + c: -6.494897342930511e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915706154245756e-10, + c: 6.613471012406521e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.572589708605222e-10, + c: -2.012015533149639e-10, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.781734428376887e-10, + c: 1.046186304789202e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.326616219526364e-10, + c: 2.525587025708842e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.053904768839557e-10, + c: 5.421401048526587e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.859858542582121e-10, + c: 5.424236335630963e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.484766388692266e-10, + c: -6.160711226025832e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.074241951845226e-10, + c: 5.854557602828995e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.152655653370194e-10, + c: 2.335882491861156e-10, + mult: [0, 1, 9, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.318639288972265e-10, + c: 5.679827821354426e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.616315430561187e-10, + c: 3.215189089005772e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.513179095528137e-10, + c: -5.276688781380178e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.046812243108330e-10, + c: 5.519364579344574e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.073122114171261e-10, + c: 5.946891604212610e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.956144217832700e-10, + c: 1.934389962965742e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.678521452286568e-10, + c: 4.158691704997171e-10, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.218680025158441e-10, + c: 9.109528899751215e-12, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.638927273245411e-10, + c: 5.891319663839690e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.495250153752727e-10, + c: 4.129170780923833e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.584749277060513e-10, + c: -5.509151741831563e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.129005817684469e-11, + c: 6.062150973351715e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.979801590872271e-10, + c: -4.332251048632415e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.120784236183227e-10, + c: -4.920415664184247e-10, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.002200305637811e-10, + c: 2.952551852188221e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.148350676671266e-10, + c: 4.811543793930850e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.247569341230970e-10, + c: -3.771726358924208e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.619340058028873e-10, + c: 5.426758132970450e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.618826050847489e-10, + c: -5.411523499563364e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.537107647820199e-10, + c: -3.337094994758253e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.917668679926235e-10, + c: -4.013445873454625e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.628491779151908e-10, + c: 4.916300933303546e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.567745943824074e-11, + c: 5.549269521691106e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.674710287579734e-10, + c: -2.741742194312444e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.609997696696659e-10, + c: 4.708771893874730e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.320141083239490e-10, + c: 4.824902344720055e-10, + mult: [5, -14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.317686846520660e-10, + c: 1.332919592022657e-11, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.677360712345718e-10, + c: 2.353395746281758e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.436377354778900e-10, + c: 4.924977695095561e-10, + mult: [0, 0, 5, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.521649281225403e-10, + c: -2.389680665734006e-10, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.778254175240798e-10, + c: -1.456220813816211e-10, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.499559654252572e-10, + c: 4.277357163408201e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.935407665473841e-10, + c: -3.975523361199839e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.434955970355531e-10, + c: -1.974005792582220e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.344029067131616e-10, + c: -4.565682995141821e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.755195400006271e-10, + c: 9.958852709753891e-12, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.624470366025766e-10, + c: 2.998070701281325e-10, + mult: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.732513017749413e-11, + c: 4.659702463588496e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -8.978112289915966e-12, + c: 4.635847994810037e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.437651752769330e-10, + c: -3.901432162221069e-10, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.596052138195308e-10, + c: -1.413070095901981e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.130481220819168e-10, + c: 4.448787288484025e-10, + mult: [0, 4, -15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.338365813945590e-10, + c: -1.400633883935601e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.275444225210292e-10, + c: -4.334032011068425e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.916665034832870e-10, + c: -4.071514276977018e-10, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.010995004220071e-10, + c: 4.372702268375688e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.757500867258734e-10, + c: 2.421330650651903e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.717424460874347e-10, + c: 2.399961782675558e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.435214933858634e-11, + c: 4.420171963830150e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.108612353714335e-10, + c: -3.081726083509120e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.049839781009362e-10, + c: -4.191570731202647e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.312490491706758e-10, + c: -3.604173418354917e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.405644973519914e-10, + c: 2.594844445930057e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.044782334615101e-10, + c: 3.729676407773346e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.043104207738997e-10, + c: 4.121902000458148e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.243374961923908e-10, + c: -2.747511325690576e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.135546941159296e-11, + c: -4.123997168317782e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.592093369256516e-10, + c: 2.125702051662779e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.770431370318015e-10, + c: -1.748189070372439e-10, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.471946293489535e-10, + c: -3.279221363364295e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.259874920322367e-10, + c: -3.342532763616748e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.073718590860425e-10, + c: -3.427110928927224e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.876262975286571e-10, + c: 3.530243771823911e-10, + mult: [0, 2, -8, 8, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.968037186472509e-10, + c: -4.729670708996151e-11, + mult: [0, 2, 8, -22, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.103497474379423e-10, + c: -3.391429867231680e-10, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.073301399508779e-10, + c: -2.462498599457170e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.853041871533450e-10, + c: 3.469868559468167e-10, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.344705001490729e-10, + c: -3.695454315139950e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.318149266745656e-10, + c: 2.102939563761275e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.080836406850937e-10, + c: 3.705725013547065e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.827999224507784e-10, + c: 4.166639871879627e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.872678435294308e-11, + c: -3.746839513065684e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.864106331411222e-12, + c: -3.848893794651522e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.297004060244359e-10, + c: -3.603801682680357e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, -2, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.433687812433343e-10, + c: 1.554191504133252e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.875502981201247e-10, + c: 3.211872967755565e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.564413513134912e-10, + c: -8.422532644482770e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.540665242020697e-10, + c: 2.630082860981175e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.457195496226737e-10, + c: 1.176362605212491e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.476926986987240e-10, + c: -1.054445266282627e-10, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.617023542037537e-10, + c: 9.824007590048135e-12, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.610179366085208e-10, + c: 9.882933412811864e-12, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.122138010193768e-12, + c: 3.584693475003107e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.698303507722637e-10, + c: 2.352464056718553e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.592796446310790e-10, + c: 2.436115122943851e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.565617072265755e-10, + c: 2.458199775601632e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.270710923101142e-11, + c: 3.513044623202984e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.126546396138977e-10, + c: 3.326241525315556e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.675473417051893e-11, + c: -3.320851968048955e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.635644019567185e-10, + c: -2.180545457395833e-10, + mult: [0, 0, 16, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.332690396025110e-10, + c: 7.432253068016578e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.289087307504479e-10, + c: -2.485008375784079e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.195507804292783e-10, + c: 2.491922144283218e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417402868881033e-10, + c: -3.000375991406366e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.710867161139335e-11, + c: 3.281632639292969e-10, + mult: [0, 6, -14, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.262007247686270e-10, + c: -3.888309821653558e-11, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.217476298967465e-10, + c: 4.463766876540307e-11, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.876021049031825e-10, + c: -1.508358147538206e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.589896382155050e-11, + c: -3.096909054931731e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.329744070208937e-11, + c: 3.057342376146632e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.956692939724493e-10, + c: -1.192425639165909e-10, + mult: [0, 8, -17, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.605695296182677e-10, + c: 1.781633900684842e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.536742228266279e-10, + c: -1.727294301241956e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.559268355846945e-10, + c: 1.520175996816679e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.525982213890953e-10, + c: 1.572815937648947e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397922640432354e-10, + c: 2.622297267137682e-10, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.109718036759207e-10, + c: -2.072469163863436e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 7, -18, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.342944172564246e-10, + c: -1.742683291326655e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.840128887531180e-10, + c: 2.264068569814615e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.343958309160633e-10, + c: -1.726581834418212e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.876929213387673e-10, + c: 3.105911786743527e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.315040370468508e-10, + c: -1.712599506497447e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.089861764853994e-11, + c: 2.664609074099497e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.807415206881092e-11, + c: 2.638181328334110e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.382921165976809e-10, + c: -2.450301493283699e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.345332397052777e-10, + c: -1.552867546431507e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.907661895019296e-11, + c: 2.784367542966298e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.580456192750260e-12, + c: 2.779766570321622e-10, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.398567023938465e-10, + c: 2.399167461002582e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.828707955068416e-10, + c: -2.085824338017779e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.356316577682332e-10, + c: -2.416249180833199e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.512290459961862e-10, + c: -1.124236317725085e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.739421338056642e-10, + c: 9.118725231449104e-12, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.369039754313309e-10, + c: 2.316501999066775e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.410560393830884e-10, + c: -2.252688603901544e-10, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.368937327296400e-10, + c: -2.271524891724026e-10, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.534250754563247e-10, + c: 7.739925754844073e-11, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.531743800163916e-10, + c: -7.637240386966442e-11, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.692819172413771e-10, + c: -1.983649303643402e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.963130908388407e-10, + c: -1.711258958752111e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.906376934319552e-10, + c: 1.773499937724115e-10, + mult: [0, 0, 13, -25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.188118432570828e-10, + c: 1.410303120428600e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.190031936099033e-10, + c: 2.310524607705306e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.535373078925147e-10, + c: -2.096562110150082e-10, + mult: [0, 0, 13, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.102175710657521e-10, + c: 1.443594617779656e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.628383422154707e-10, + c: 1.953404821805541e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.722623044169968e-10, + c: -1.865177276988064e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.513454482651575e-10, + c: 1.748180461781064e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.508466650011118e-10, + c: 9.230546341947055e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.387824569022321e-10, + c: 7.686139359403968e-11, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.331833235214664e-10, + c: -2.116081781771267e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.053633940755019e-10, + c: 1.416521181039611e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.563250904310079e-11, + c: -2.280459556850332e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.021644488764305e-10, + c: 1.409169258022938e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562307713877924e-10, + c: 1.902109573218191e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.562186019522323e-10, + c: 1.896308587454193e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.827671945827612e-10, + c: -1.637665177180961e-10, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.092950730429847e-10, + c: -2.188865143567809e-10, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.365687391481708e-10, + c: -6.029477839855971e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045738717048233e-10, + c: -2.205656168784744e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.434738534162764e-10, + c: 3.309678170413653e-12, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.428354094981312e-10, + c: 7.379789173892565e-12, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.026318594984029e-10, + c: -1.317251868987893e-10, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.816387208544407e-10, + c: -1.549792506601828e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.359783246392067e-10, + c: 3.260194406858691e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.339178350447221e-10, + c: 1.737695892421498e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124885223898168e-10, + c: 2.048830615417594e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.088683320439043e-10, + c: 2.045533853348128e-10, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.891730915072719e-12, + c: -2.284516432690304e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.959073753607286e-11, + c: -2.043843793453640e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.088802380730674e-10, + c: 1.985830231553506e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.217508159558959e-10, + c: 4.230279010087681e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.808285526133602e-10, + c: -1.334540420028651e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.902874439526311e-11, + c: 2.200111164141543e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.131450612211394e-10, + c: 6.492987270968543e-11, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.425502583969279e-10, + c: 1.705003092535582e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.985615146748099e-10, + c: 9.260688627558068e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.168565051029807e-10, + c: 5.582357431230572e-12, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.127055547859922e-10, + c: 3.786579485995489e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -4.294105420809192e-12, + c: 2.151627546381419e-10, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.807698085887648e-10, + c: 1.079081660248796e-10, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.097987938829704e-10, + c: 2.498867285424533e-12, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.927453124815926e-10, + c: 8.229985724887341e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.090879657234445e-10, + c: 1.406241319086363e-11, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.351205858488115e-10, + c: -1.595750803305233e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.926378850020865e-10, + c: -7.801763680240508e-11, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.067281209953427e-10, + c: 8.127505194519002e-12, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.981844939681537e-11, + c: -1.940593312515129e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034994203762607e-10, + c: 1.780224999724588e-10, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.809042893370969e-10, + c: -9.390455317482940e-11, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429236572552057e-10, + c: -1.452721240759490e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.348563351799659e-10, + c: -1.513750362890574e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.795251497282810e-11, + c: 1.817238818807501e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.876742359535560e-11, + c: -1.852647280525971e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255565913310834e-10, + c: -1.570682230508710e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339618514461947e-10, + c: 1.484464366871199e-10, + mult: [0, 8, -9, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.691604106886324e-11, + c: -1.844880464830620e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.122069921450517e-10, + c: 1.616363881588446e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.423255690234083e-10, + c: 1.349617851570534e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.800946653509172e-12, + c: -1.939077174617316e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.842540742553382e-10, + c: 5.808900404277706e-11, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.844459467921052e-10, + c: -5.532236920092251e-11, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.918990852628635e-10, + c: -5.755010607050010e-12, + mult: [0, 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202354632242725e-10, + c: 1.464909091918709e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.284499880170353e-11, + c: -1.828828043853958e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.368164109961351e-11, + c: -1.842711849777383e-10, + mult: [0, 0, 14, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106206832683659e-10, + c: 1.479933332317655e-10, + mult: [1, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.687663656761121e-11, + c: -1.668008000441237e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.602299399762559e-11, + c: 1.618313879428564e-10, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.537640049565198e-10, + c: 9.911982806368438e-11, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.124025398630719e-11, + c: 1.600926971949036e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.786672562987954e-10, + c: -1.711054114275602e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.699508831123088e-11, + c: -1.618048765006956e-10, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.248814022520294e-11, + c: -1.514005450732210e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.697955130478217e-11, + c: -1.731660703786847e-10, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.579022337684631e-11, + c: 1.733021195735216e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.398935916361580e-10, + c: -1.077758401962873e-10, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.448956086568855e-11, + c: 1.669989090817239e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.101710132348161e-11, + c: -1.662885999946329e-10, + mult: [0, 0, 0, 11, 0, 0, 0, 0, -20, -18, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.371389411539178e-11, + c: -1.613151712275199e-10, + mult: [0, 0, 15, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.640490748502972e-11, + c: -1.486467809781841e-10, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.486757769476808e-10, + c: -8.506610562337113e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.454298343697493e-10, + c: -8.829074336944657e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.011980294340351e-10, + c: -1.337551604157964e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.230522435383436e-10, + c: -1.139635370485212e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.710782148825908e-11, + c: -1.642833535315491e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.232089970207390e-12, + c: 1.657823620529138e-10, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.557853847083310e-10, + c: 5.113014115034594e-11, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.438891355919515e-10, + c: -7.855409972672087e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.982789558711854e-11, + c: 1.476536762420965e-10, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.617254639589405e-10, + c: 5.528435420050626e-12, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.912796191858566e-11, + c: 1.559834748858733e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.241860911955695e-10, + c: -1.020134007910056e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.170284167367488e-10, + c: -1.091451147579088e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.141794089082973e-11, + c: -1.509898210088146e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.560197296043695e-11, + c: -1.273104290976653e-10, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.548658586100808e-10, + c: 3.322775856068368e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.592507746748943e-11, + c: -1.503384117143445e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.239370514075713e-10, + c: -9.626083318061970e-11, + mult: [5, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.421651870359306e-10, + c: 6.638007341203073e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.385035434830544e-11, + c: -1.473157094386595e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.636790431517198e-11, + c: 1.369861386955402e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.555286546747128e-10, + c: 7.036121282263172e-12, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.222696539222558e-10, + c: 9.529092062677296e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0], + }, + Term { + s: 9.331276833826825e-11, + c: -1.235433313889946e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.244820307501562e-10, + c: 8.764935346816689e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.149599639475293e-11, + c: 1.515431964501304e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.560198442662580e-11, + c: -1.254147243898612e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.594555008807577e-11, + c: 1.311108064875930e-10, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.682195785453925e-11, + c: 1.305051663562520e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.020410879337022e-11, + c: -1.274400612930780e-10, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.062927035631124e-10, + c: -1.055256015224463e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095936911609379e-10, + c: -1.009062480619635e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.467962105763557e-10, + c: -1.801170688744870e-11, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.120230835269710e-10, + c: 9.614148737905872e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.265178055897401e-10, + c: 7.599501658802906e-11, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.206244962109753e-10, + c: -8.393158634172497e-11, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.165658807356219e-10, + c: -8.917320972595827e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339856117107947e-10, + c: -5.971404422105182e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.480736690666300e-11, + c: 1.118528626119409e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.556169695057791e-11, + c: 1.190661077843169e-10, + mult: [5, -22, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.832715914961361e-11, + c: 1.286319865468245e-10, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.754131176631474e-11, + c: 1.287217685661575e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.150976555047666e-11, + c: -1.335661484782806e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.239919249194703e-10, + c: 7.085721834763272e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.224110386088300e-10, + c: -7.299563441370857e-11, + mult: [0, 1, -7, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154956331232809e-10, + c: -8.053318564927808e-11, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.344274140912929e-10, + c: -4.007457535678745e-11, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.648213526390136e-11, + c: -1.392216492037234e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.175708181640960e-10, + c: 7.587764251421085e-11, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.121450435262480e-11, + c: 1.360873636467172e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.248756271202227e-10, + c: -6.105735876518877e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.387421620410379e-10, + c: -5.798777415476337e-12, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.527731918982553e-11, + c: -1.009869034480864e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.297285776111696e-10, + c: -4.759062114668584e-11, + mult: [0, 2, -16, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.069848853565289e-10, + c: -8.673508661599770e-11, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.427550627126674e-11, + c: 1.156432877436461e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.950544386687562e-12, + c: 1.369588783438139e-10, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.207197172368138e-11, + c: -1.165980303346016e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.265169982774484e-11, + c: -1.347551392514191e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.366088100825549e-10, + c: 9.493063171239503e-13, + mult: [0, 0, 0, 1, -1, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.013136310997223e-10, + c: 9.141254020012445e-11, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.893385306257714e-11, + c: 9.323071817213729e-11, + mult: [0, 0, 16, -31, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.353699133508006e-12, + c: -1.344351974500974e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.453981840849025e-11, + c: 1.118555893532269e-10, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.213953679088620e-10, + c: 5.770168159790184e-11, + mult: [0, 2, -9, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.272119825768323e-10, + c: 4.337571420837992e-11, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.308985466864048e-10, + c: 2.824478493262301e-11, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.153775294703531e-10, + c: -6.621399414859032e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.327197817245920e-10, + c: 6.438469967864839e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.658663168688049e-11, + c: -1.184825125319622e-10, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.590932039694581e-11, + c: -1.165310286253984e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.147952043598200e-10, + c: 5.889925662514501e-11, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.802678941534799e-11, + c: -1.230557907089319e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.788103350818636e-11, + c: 1.132322226759453e-10, + mult: [0, 1, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.370966668564791e-12, + c: 1.269437003287580e-10, + mult: [0, 0, 18, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.210831282774597e-10, + c: 3.584375339212194e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.123718074305451e-10, + c: -5.754673071074741e-11, + mult: [0, 0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.267515514189900e-11, + c: -1.237381595908244e-10, + mult: [0, 3, -8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.584847773360622e-11, + c: -7.958813454889060e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.663034619684923e-12, + c: -1.230773773885758e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.181892277211505e-10, + c: 2.676964614665145e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.546262766379237e-11, + c: 7.399234462512373e-11, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.189048036269927e-10, + c: 7.827434648717433e-12, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.944154326962472e-11, + c: -9.663042909506137e-11, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.959402271127289e-11, + c: -1.120704332329816e-10, + mult: [0, 0, 0, 5, 0, 0, 0, -13, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.899085499385842e-11, + c: -1.070445190967952e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.198510471710880e-11, + c: 9.966539073525350e-11, + mult: [2, -7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.146903331598228e-11, + c: 8.403112277697846e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.167016475881960e-10, + c: 5.958851224089225e-12, + mult: [0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.591360907336048e-11, + c: 9.612982389857287e-11, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.098695267649614e-11, + c: 7.229574555433110e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.149485149553343e-10, + c: 1.409838444513298e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.426931044544718e-11, + c: 1.021737322754148e-10, + mult: [0, 0, 17, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.264470927467619e-11, + c: 1.105063545971270e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.142721026441932e-10, + c: 6.850815221241008e-12, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.089068140986589e-10, + c: 3.370495217033130e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.571143476098181e-11, + c: 1.106971165645853e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.110008645133768e-10, + c: -1.332441491374459e-11, + mult: [0, 2, -10, 13, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.570997457110408e-11, + c: 1.019570010387094e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.305073637529902e-11, + c: 6.012629981434247e-11, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.522563849339591e-11, + c: 9.579322452890927e-11, + mult: [0, 0, 19, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.633640656651675e-11, + c: 1.065433026025063e-10, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.087575598861960e-10, + c: 1.047276711310097e-11, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.296298221303736e-11, + c: -9.530767981509154e-11, + mult: [0, 0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.086273484852533e-10, + c: -4.434422559293684e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0], + }, + Term { + s: 9.794840365369866e-11, + c: -4.646505024378115e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070218347101548e-10, + c: -1.197840488390936e-11, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.864305837941340e-11, + c: 4.072800907684373e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.065761074232168e-10, + c: 4.140841195977358e-12, + mult: [0, 0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.003254436506982e-10, + c: 3.544267882521525e-11, + mult: [0, 0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.055471900184685e-11, + c: 1.043688272655654e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.247212087617133e-11, + c: 5.113152724535909e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.247782381139426e-11, + c: -4.920701779184235e-11, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.326121998042029e-11, + c: 4.392231318678197e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.770580443827735e-11, + c: 5.308307273711449e-11, + mult: [0, 0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.800149425056502e-11, + c: -2.902716043619898e-11, + mult: [0, 22, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.378556205322982e-11, + c: -5.703497725702279e-11, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.112066533396905e-11, + c: 8.020656323151025e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -9.803726171868714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.241625311443162e-8, + c: -2.714069603426302e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.924135563638978e-8, + c: -1.402406859467742e-7, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.343051706273848e-7, + c: 8.092916388568975e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.580889340350843e-8, + c: -4.502864194639876e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.880636477122272e-8, + c: -7.392445045237885e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.021535652374969e-8, + c: -4.367211557828831e-8, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.097620592907213e-8, + c: 3.049275166866545e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.542154649341156e-8, + c: -3.119466886588325e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.511739219245810e-8, + c: 2.633659736832289e-8, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.190201890975997e-8, + c: -1.645544976277023e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.539079909676063e-8, + c: 8.733634252246170e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.470552510017538e-8, + c: -7.571742194982875e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.977385276490784e-9, + c: -1.209629619790410e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.308892102290891e-9, + c: -9.833002554975152e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.872121632647722e-10, + c: -1.326707792708625e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.068742200576239e-10, + c: -1.325456702670488e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.604569493713612e-9, + c: -9.161588851484346e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.786115822663900e-9, + c: -1.211873006248881e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.706732588572903e-9, + c: -9.575117376560950e-9, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.132762743012884e-9, + c: 3.889506333675066e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.750213340641745e-9, + c: 3.997821483300630e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.286913022799753e-9, + c: 7.427057262459778e-9, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.121039047614681e-9, + c: -6.629094649493477e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.506908699666100e-9, + c: -8.538151231207445e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.924997582492381e-10, + c: 6.631292633312725e-9, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.686623644288400e-9, + c: -5.817913418670156e-9, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.031973604695065e-10, + c: -5.689484711147019e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.416314995043659e-9, + c: -2.829603302358112e-9, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.661158065222744e-9, + c: -4.123136219865653e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.454415799538741e-9, + c: -3.237673816591135e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.102749289942307e-10, + c: 4.401744164288385e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.805489200671577e-9, + c: 3.445571504690965e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.852029112012664e-10, + c: -4.051545714428006e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.785395362328543e-9, + c: 3.466465921625359e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.464161803630819e-9, + c: -1.387391613666802e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.032809621865352e-9, + c: 1.261179150064094e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.887449770682663e-10, + c: -2.878791799527235e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.275090289400151e-9, + c: -2.572677895858547e-9, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.277518084543422e-9, + c: 2.525375171552230e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186517961137794e-9, + c: -2.555601609166702e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.943177693453834e-9, + c: 2.015434734690222e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.544214553730480e-9, + c: 2.239643904205183e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751001095587642e-9, + c: -1.943349062155130e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.263099143562760e-9, + c: -1.913591671836868e-9, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.844980839545855e-11, + c: -2.181269975758150e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.987075539260296e-9, + c: -8.631121686794024e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.208913522601521e-9, + c: 1.660847577535759e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.998574246596774e-9, + c: 4.520739608331937e-11, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.816523133648500e-9, + c: 7.745730016064500e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.777713524336833e-9, + c: 8.513709295235640e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.927641189684701e-11, + c: 1.941019042617554e-9, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.719146665115965e-9, + c: -8.064385819965103e-10, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.569664720171953e-9, + c: -8.351419380444001e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.216789250361121e-10, + c: -1.725010520420390e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.435745808139936e-9, + c: -7.356423908390880e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.361609766037301e-9, + c: -8.550884135415998e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.792937583274135e-10, + c: -1.455356844012102e-9, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.351821835339205e-9, + c: -8.610949958049602e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.193433620870666e-9, + c: 1.047275182819320e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.398719399718193e-9, + c: 7.062404972168379e-10, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.123204046201605e-10, + c: 1.219474337918085e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.150681047326276e-11, + c: 1.479185263912859e-9, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.407942279888922e-9, + c: 3.893284219640284e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.442151436333563e-10, + c: -1.286667209326007e-9, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.009084897919077e-11, + c: -1.431426078993685e-9, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.260862456435149e-9, + c: -6.017397385721172e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.775244947894768e-10, + c: -8.234729972714848e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.708452671598194e-11, + c: -1.247751526031435e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.126256829457961e-9, + c: 5.348389432425950e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.059831579782650e-9, + c: 4.487295956877112e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.263903361760164e-10, + c: -7.782071135481791e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.866524343169794e-10, + c: -1.099162030323526e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.007433765091706e-9, + c: -4.498351154886410e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.057511143469992e-10, + c: -9.213340114311686e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.059354185549266e-9, + c: 4.018426888793984e-11, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.182062570906122e-10, + c: -1.037463923862813e-9, + mult: [0, 0, 17, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.309053226514359e-10, + c: -9.194915990364240e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.968070161328436e-10, + c: -6.151786649335588e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.176662855443577e-10, + c: -4.002410421373043e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.752888467298181e-10, + c: 5.965156907330316e-11, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.716113531720288e-10, + c: -6.084791769902767e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.263443043490392e-11, + c: -8.767330772831604e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.850383166411123e-10, + c: -7.579656628061665e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.577979796383262e-10, + c: 3.125239942473461e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.657502933916618e-10, + c: -7.758193794048383e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.608800686621014e-10, + c: -4.050814283282971e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.755728289085941e-10, + c: -6.544957996574854e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.544653158830303e-10, + c: -3.361386677062939e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.745853699366330e-10, + c: -5.726470274134065e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.223446107362872e-10, + c: 5.350082226837228e-10, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.243715164387309e-10, + c: 2.656857629114179e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018052548664848e-11, + c: 6.782027581681765e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.876095641141649e-10, + c: -6.120728618789491e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.729591906453931e-10, + c: 3.494466052128701e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.325287275116702e-10, + c: 2.207417433066846e-10, + mult: [0, 0, 5, 0, 0, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.064344011633783e-10, + c: 2.102466932238443e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.339867734286666e-10, + c: 1.095687058680983e-11, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.769945241799817e-10, + c: 2.378050518877639e-10, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.587900621360756e-10, + c: 2.254947904115258e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.327726821759647e-11, + c: -5.805257860240720e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.786625311202322e-10, + c: 5.701036556909444e-11, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.428009026011852e-10, + c: -3.066578354538321e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.440326732695440e-10, + c: -4.780448740974030e-10, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.649199623282377e-10, + c: -2.589629814314111e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.126300105190401e-10, + c: -1.426814964703687e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.306551248712269e-10, + c: -3.058098981773074e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.419001535221639e-10, + c: -3.984868113844295e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.148625796877115e-10, + c: -4.157611235113014e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.184632427704809e-10, + c: -4.082476416451198e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.016090968594379e-11, + c: 5.141388600520001e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.762475542078846e-10, + c: -4.816561132913027e-10, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.114727001327928e-11, + c: -4.985206475004412e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.090461470175353e-10, + c: 2.842151089695962e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.773057267775031e-11, + c: -4.738507869622309e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.352081195704780e-10, + c: 1.860341060797951e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.547018366439724e-10, + c: -3.913411261671277e-10, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.696673934619588e-10, + c: 3.804609825766855e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.975537513862017e-10, + c: -4.197894884623258e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.058230160574426e-10, + c: -2.093857680675314e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.756427418307359e-10, + c: -2.540437351298596e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.492073454949060e-10, + c: 1.699613112273298e-11, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.648848625197882e-10, + c: -2.184219006996309e-10, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.049411897065930e-10, + c: 3.624710953510079e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.319934212289394e-10, + c: 3.436253699725853e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.581210546810938e-10, + c: 1.814305737479874e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.181721441978108e-11, + c: -3.970276739533874e-10, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.671928412223206e-10, + c: 1.505212087098413e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.927021873102335e-10, + c: 5.176412506448154e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.760297358710837e-10, + c: 5.006644253481495e-11, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.698078274408118e-10, + c: 7.978761957555517e-11, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.439679083554654e-10, + c: 1.515861429820570e-10, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.031807787565177e-10, + c: 3.383102843580055e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.347952251298543e-10, + c: -1.139651034820043e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.587114179877205e-10, + c: -3.083526373978466e-10, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.803938438973325e-10, + c: -2.784218870974509e-10, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.902641370688294e-11, + c: 3.259764328405776e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.380958085784361e-10, + c: -2.932947215301468e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.508175958572203e-10, + c: 2.826189333781170e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.929702029746959e-10, + c: -2.521034606939112e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.817415600433637e-10, + c: -1.460833023301617e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.031048018348404e-11, + c: 3.121881152306305e-10, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353090606264375e-10, + c: 1.969316360236012e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.699360341996960e-11, + c: 2.949682934595386e-10, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.713035744585355e-10, + c: 1.185448462794325e-10, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.821807108866466e-10, + c: -6.780880722130462e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.285628620959924e-10, + c: -1.741212815728293e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.394030668875716e-11, + c: 2.719872932794869e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.762060959355366e-10, + c: 1.006830257836258e-11, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.456879175809659e-11, + c: -2.749270259118870e-10, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.347150099162517e-10, + c: 1.410566400534319e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.973286249057866e-10, + c: -1.875794376921357e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399568684863333e-10, + c: -2.317026617045139e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.775506938506517e-11, + c: 2.538420329726877e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.613300011979065e-11, + c: -2.640763318893047e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.568745151021357e-10, + c: 4.230217902119770e-11, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.823932509199608e-12, + c: 2.602434980773222e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.299801887416531e-10, + c: -1.202110592783358e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.356712710449311e-10, + c: 1.068381377585941e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.002849578683716e-10, + c: -2.384666581995873e-10, + mult: [0, 1, 9, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.203773921608442e-10, + c: 1.346418771589199e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.115262021011378e-10, + c: 2.248449172741079e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417430904517355e-10, + c: -2.045703256620403e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.120448843980648e-10, + c: -1.255087624193130e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.313249328004886e-10, + c: -2.074973808970077e-10, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.114136981655905e-10, + c: -1.237434472489175e-10, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.300003871975304e-10, + c: -2.014026491055165e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095846799673317e-10, + c: 2.127129128829731e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.281732243534139e-11, + c: 2.327785956777628e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.081344665263901e-10, + c: 2.071425164748342e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.054384807577024e-10, + c: -1.070109985376280e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.202701116425626e-12, + c: 2.295778957251337e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.103585439032329e-10, + c: 9.179809320719088e-11, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.763405616827005e-11, + c: -2.074278289002728e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.039983102832768e-10, + c: -2.006475457414469e-10, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.567310278094053e-11, + c: -2.201404393701552e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.939124388029673e-10, + c: 1.115290364981741e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.466009011656844e-10, + c: 1.687547527167991e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.864485008632029e-11, + c: 2.161209272435590e-10, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.946665913928002e-11, + c: 2.159870097189633e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.657725670755520e-10, + c: -1.361563496695599e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.043944232087861e-11, + c: 1.927124029140733e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.165724348369867e-11, + c: -1.951892939741434e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.760842990769534e-11, + c: 2.046936667967392e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.546821519824903e-10, + c: -1.379031014357141e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.353067387024863e-10, + c: -1.536676799526648e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.849602931915639e-10, + c: 7.968517752072081e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.788287789309804e-10, + c: 9.029240694892313e-11, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.023862363406424e-11, + c: 1.788540482402593e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.846629478685896e-10, + c: 7.506495365185316e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.136455500531967e-10, + c: -1.591804014996175e-10, + mult: [0, 0, 16, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.634745368582860e-10, + c: 1.071746933169791e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.939106975036830e-10, + c: 6.734450550364321e-12, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.827079988391667e-12, + c: -1.908674397204563e-10, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.857974726003638e-10, + c: 3.316088669959890e-11, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266321137075938e-10, + c: 1.397173922402032e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.167714099892943e-10, + c: 1.458896579736991e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.808416221174263e-10, + c: 3.493875743514941e-11, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.616827509527408e-10, + c: 7.012440185352218e-11, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.608078814136219e-10, + c: -7.002033591436271e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.423060761114846e-11, + c: -1.464153850428255e-10, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.326403379801167e-10, + c: 1.107574085381276e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.530880535399946e-10, + c: -8.005850799223689e-11, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.142911324769681e-10, + c: -1.240036143515360e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.053802766113166e-11, + c: 1.474931684281003e-10, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.979925564048689e-12, + c: -1.672492524125728e-10, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429418649919381e-10, + c: -8.577635559922209e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.062094937171443e-10, + c: 1.272179171670963e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.955838738409426e-11, + c: -1.479328868834720e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.760039569652041e-11, + c: 1.500616067348008e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.329662341159477e-10, + c: 8.108431403827572e-11, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.725415845304933e-11, + c: 1.538996884483936e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429883978334761e-10, + c: 5.945684311826146e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.807038114727612e-11, + c: -1.306065181009487e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.260518497511797e-10, + c: -7.379616732284005e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.082451372496749e-11, + c: -1.447465812450750e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.442836999909467e-10, + c: 4.763440340746945e-12, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.247544052790130e-10, + c: -7.030097840161150e-11, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.302709970148977e-10, + c: -5.733730632358485e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.967368448366106e-11, + c: 1.237031698045034e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.330251388831363e-11, + c: 1.038003716316385e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.104461431576235e-10, + c: 8.005515677056272e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.234996982642778e-10, + c: 5.306037310796348e-11, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.770241570127692e-11, + c: 1.324996208932464e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.297901870200098e-10, + c: 2.841499453828722e-11, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.669770893629863e-12, + c: -1.321468035835065e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.150233492900144e-10, + c: -6.034358773043881e-11, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.273183743783021e-10, + c: -2.320229741218654e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.161061049565373e-10, + c: -5.193826922949835e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.827974287860417e-11, + c: -1.063087755278025e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.542048117067262e-15, + c: 1.245292318697072e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1], + }, + Term { + s: 1.032188665483155e-10, + c: -6.285154368486385e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.385743828099103e-11, + c: 1.178025459223393e-10, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.982213530620774e-11, + c: -1.061325175091578e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.791622552654462e-11, + c: 6.204391569641830e-11, + mult: [0, 0, 13, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.059807902394966e-10, + c: -4.610921463234273e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.476903051643347e-11, + c: -6.458488588742840e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038864224918913e-10, + c: -4.744178452507560e-11, + mult: [0, 2, -8, 8, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.668889088376932e-12, + c: -1.139029165311038e-10, + mult: [0, 2, 8, -22, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.811515791637395e-12, + c: 1.135378628780708e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108550213573772e-10, + c: 1.504560195296008e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012174354033170e-10, + c: 4.715363406286209e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.586664274137177e-11, + c: 1.101285883951670e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.712576392504981e-11, + c: -8.788988908824763e-11, + mult: [0, 0, 16, -31, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.102483123973757e-10, + c: 3.469334997596620e-12, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.379427754755703e-11, + c: 5.701680211322447e-11, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.650469809669495e-11, + c: -1.055611784533186e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.973049312737555e-12, + c: 1.087805564786324e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.727615096194633e-11, + c: -9.783278688913833e-11, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.091328790724729e-11, + c: -5.771331971161206e-11, + mult: [0, 0, 15, -29, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.051549675832962e-10, + c: -2.066852350805407e-11, + mult: [0, 4, -15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.559237916117791e-11, + c: 6.397791629061174e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.035047361641983e-10, + c: 2.569304559807258e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.717204790948123e-11, + c: -8.259832161039549e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.647628390089775e-11, + c: -6.025037779360079e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.389529573562692e-11, + c: 3.986917350402371e-11, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.794747031759158e-11, + c: 7.582096411723864e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.579570989834198e-11, + c: -6.672919627324947e-11, + mult: [0, 0, 13, -25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.179694196334330e-11, + c: 9.153487832925158e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -1.617399226661640e-8, + c: -2.416843041264425e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.416593385833476e-10, + c: 1.916411368415335e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139500912453271e-8, + c: -3.790200551352564e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.995189908093986e-9, + c: -8.248774670520645e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -8.022120246481382e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.751404560031224e-9, + c: -2.923315306383308e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.122423803717611e-10, + c: -4.018216048605824e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.425556380299766e-9, + c: -6.416137230192495e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.254778940599998e-10, + c: -1.978416196141039e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.324390671627241e-9, + c: -1.363336619857734e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.694730412984683e-9, + c: 8.115315126634520e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.653882700027392e-9, + c: -8.395219552758475e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.499078404168506e-9, + c: 7.069241135070149e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.551918113633781e-9, + c: -4.431524737017042e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.252207161883768e-9, + c: -8.834130665156909e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.212858896322454e-10, + c: 1.163425850227859e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.367224537962615e-10, + c: 1.105878928765676e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.056716726971979e-9, + c: -9.482258082301884e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.055975241583977e-9, + c: -9.141170249310880e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.198262246120932e-10, + c: -5.930944935610148e-12, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.486853588173589e-10, + c: 6.114320755297267e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.560293116244854e-10, + c: 3.558824210287054e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.348748486029214e-10, + c: 5.260826993911012e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.506887425289550e-10, + c: -4.902089382467438e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.344233973979425e-10, + c: -5.313733690714229e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.187647833698073e-10, + c: 2.492176334931714e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.276509413060598e-10, + c: 3.794786368603783e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.263729921582433e-10, + c: -2.961829530759272e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.104864177504954e-10, + c: 4.648174790414667e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.393752261316163e-10, + c: -2.286216416023957e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.648370444486694e-10, + c: 1.800199782278303e-11, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.257287056812396e-10, + c: 2.114581712961766e-11, + mult: [0, 0, 17, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.848180933752190e-10, + c: -3.140760679062219e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.341640613093508e-10, + c: 2.352336883125333e-10, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.263240206797489e-11, + c: 3.670202298966824e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.085183834643314e-10, + c: -1.539694477115920e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.239388559907273e-10, + c: 2.494512656206030e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.678906383591719e-10, + c: 1.733009451506093e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.658074824063446e-10, + c: 1.633038174776365e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.904904810024259e-10, + c: 2.507273362679488e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.141296666406132e-11, + c: 2.769574329974164e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.799726544131147e-10, + c: -2.065830540519583e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.563497530952094e-10, + c: 2.230139038379979e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.420966057612217e-10, + c: 2.312109023756200e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.630195455487102e-10, + c: -6.166769549473367e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.098858812260526e-10, + c: 2.402995938445864e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.506253451898415e-10, + c: 2.114148640163979e-10, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.981411405542400e-10, + c: -1.394752888115524e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018489229021215e-10, + c: -2.115718521766892e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.288488695594907e-10, + c: -1.972538435551888e-11, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.024287893247523e-10, + c: 9.186852845862113e-11, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.008220827162636e-11, + c: -1.929472169009823e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.272888031867281e-11, + c: 1.902622527875837e-10, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.785551563374595e-10, + c: -7.492117801099392e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.574795384222936e-11, + c: 1.430079184709595e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.532699699660171e-10, + c: 7.107664950333374e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.341728230904580e-11, + c: -1.675781092310104e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.392716049697510e-11, + c: 1.350797743525267e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.380160130725360e-10, + c: 6.771768485429101e-11, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.478475942780939e-11, + c: -1.271542066243369e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.452801023002917e-10, + c: 3.643824435835173e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.110419497091924e-11, + c: -1.175281381241672e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.661279293684263e-11, + c: 1.183898219815468e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.194513706474531e-11, + c: 1.161523290424209e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.962851237819846e-11, + c: -1.031173071867409e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.286997298441677e-11, + c: -9.200710547912451e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.082343952608714e-10, + c: -5.009104668589711e-11, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.060104590397844e-11, + c: 1.111178355844442e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.541144820401101e-11, + c: -6.673292676630355e-11, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.135439867542733e-10, + c: -9.258796895314105e-12, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.033664335987105e-10, + c: 4.148725677666399e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.413126145738640e-11, + c: 6.816710804972629e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.282111240473244e-12, + c: -1.003603910258317e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: 9.208504495727659e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.267476297693476e-9, + c: -2.369706443175836e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.407039940704556e-10, + c: 8.393109300450594e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.260827134634781e-10, + c: -9.321056239197437e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.395896262271954e-10, + c: 8.656299237911512e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.761186065393667e-10, + c: -5.277604485630849e-11, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.153143991811747e-10, + c: -2.576110948356065e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.982126406513565e-10, + c: 8.633834330944955e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.876249530836489e-10, + c: 9.834485269319500e-12, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.726528078060995e-10, + c: -2.583241685431077e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.052215212079250e-11, + c: -1.436849450868540e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.068775471408765e-10, + c: -9.534833673185149e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.986919725619983e-11, + c: -9.790951180260604e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.515313327497984e-11, + c: -1.168257132749432e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.418397615356815e-13, + c: 1.296071597441627e-10, + mult: [0, 0, 17, -32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.165612757087148e-11, + c: 9.774599577116369e-11, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: 0.0, + c: 1.530841755295383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.736008457989798e-10, + c: 3.555676040287389e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455413706737774e-11, + c: -1.351250864508553e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.202845291948293e-10, + c: 5.023444409084822e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[Term { + s: 0.0, + c: -3.045912241306341e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^7 terms + TimeBlock { + power: 7, + terms: &[Term { + s: 0.0, + c: -9.142063029336711e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -3.740818074000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.391176220236722e-9, + c: -1.988948191079879e-5, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.577900644927902e-9, + c: 1.859260221360864e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.557792753389548e-7, + c: -1.497136366824665e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.746941473722890e-9, + c: 8.230994580864121e-6, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.612073367492776e-9, + c: 4.834035433820488e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.207164886380294e-9, + c: -4.832863167307037e-6, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.658155246247972e-8, + c: -4.411842187385140e-6, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.190589062639167e-7, + c: 3.487577170976401e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.945299645419232e-6, + c: -7.185842338582121e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.245643777548560e-6, + c: -1.646843603139315e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.443125720474400e-9, + c: -2.296508979206223e-6, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.693165257295343e-8, + c: 2.115921234499859e-6, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.280178756925768e-9, + c: 1.781114874504078e-6, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.304489132448739e-10, + c: -1.288239013222752e-6, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.555997738711238e-9, + c: -9.626893817145901e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.617014197496931e-7, + c: -8.380814448322176e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.197036948047680e-10, + c: 7.908541690035814e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.821265531122971e-10, + c: -7.780482991279388e-7, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.844793164213457e-9, + c: 7.452526271595431e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.178114187621430e-7, + c: 2.027192958323988e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.329153453353365e-8, + c: -6.645054902029504e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.191262366926050e-8, + c: 5.351402430401968e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.084324782344068e-9, + c: 5.385688651348530e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.475026963285147e-10, + c: -4.896289847890167e-7, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.607134654907439e-7, + c: 4.450373340038222e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.484079774795130e-7, + c: -8.052886161168308e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.846348232526079e-7, + c: -1.692325995290906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.418986437566945e-9, + c: 3.935215922505541e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.527848231549045e-8, + c: 3.757496125720380e-7, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.811563389023194e-9, + c: 3.427875791574012e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.642698612223568e-7, + c: 2.921829162155762e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.581858264035707e-9, + c: 3.221319481105617e-7, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.931780431053676e-10, + c: -3.161968215127511e-7, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.313808311264532e-7, + c: -1.912226685007354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.995845580014127e-7, + c: 9.246817203296538e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.532315839333891e-8, + c: 2.826107902547703e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.175547738650017e-7, + c: -1.339894727841754e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.915342572688833e-8, + c: -2.420988131489902e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.042615469400521e-7, + c: -1.040340539866676e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.153177705383770e-7, + c: -6.187640643770922e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.393904595117568e-11, + c: -2.078269094638648e-7, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.908273558040710e-7, + c: -1.592440764417092e-8, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.094743935190576e-8, + c: -1.646908213102771e-7, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.404602805557580e-10, + c: 1.869696512711553e-7, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.897842016652284e-9, + c: 1.841757117529923e-7, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.067235306900176e-9, + c: -1.797738242292575e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.524793866869479e-7, + c: 9.287149373900741e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.736084186122908e-7, + c: 5.687654377841037e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.989339737354708e-8, + c: -1.506867760157510e-7, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564726582470655e-7, + c: -8.645356992512831e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.519416476256566e-7, + c: 8.578413769107835e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.543271457869002e-9, + c: -1.479885512232290e-7, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.773283023707573e-9, + c: -1.438211719805548e-7, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.247008394306258e-11, + c: -1.383431314499429e-7, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.181317578484580e-9, + c: -1.361723289519748e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.144273619279530e-8, + c: 1.058692772162351e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.118563474200511e-9, + c: -1.166036061698204e-7, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119730776321431e-7, + c: 3.827634291026675e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.362472166092180e-8, + c: 1.069632386780381e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.752577574428635e-8, + c: -1.042088085110655e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.877126005450132e-8, + c: 1.031420593152019e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.600947639551254e-8, + c: -1.002983409707814e-7, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.410896459819633e-8, + c: 3.570000052762986e-9, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.700425196382372e-12, + c: -9.297120989937267e-8, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.015726101356478e-8, + c: 8.318939948983014e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.522447132590255e-9, + c: -8.839953935600192e-8, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.702976572825433e-9, + c: 8.430547760361111e-8, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.259154699247534e-11, + c: 8.303625521365698e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.763790385425012e-8, + c: 1.768675512741574e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.585690836012437e-8, + c: 2.677119537330711e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.435366943821867e-8, + c: -3.112222348238558e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.022133501365937e-9, + c: 7.367851908998760e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.008677388613913e-9, + c: -6.494913407753221e-8, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.479106544624881e-8, + c: -3.387285701085451e-8, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.293646777769701e-8, + c: 5.416358795173874e-8, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.332837005073018e-11, + c: -6.294197977828994e-8, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.399867460126072e-8, + c: 3.224852074180600e-8, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.185929877090408e-8, + c: 5.946706045784880e-8, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.986470552939350e-9, + c: 6.058691387277026e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.320275825072116e-9, + c: 5.743981542688649e-8, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.692536432385616e-8, + c: 4.764889315814829e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.276644929178734e-8, + c: 1.908526951514426e-9, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.705346797782142e-8, + c: -2.389274437862057e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.259025299503692e-10, + c: 5.241247253008326e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.188697364906101e-9, + c: -4.783201883773886e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.135420416100794e-8, + c: 3.610509274269112e-8, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.611400073128281e-8, + c: -3.956939055889557e-8, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.581170264566697e-9, + c: -4.692742702102914e-8, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.331970071312348e-8, + c: -4.471654015112998e-8, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.893976390280522e-8, + c: -2.473291392920861e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.563411997666623e-9, + c: -4.567370462990432e-8, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.753445961526767e-12, + c: 4.431977352757555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.314857949360442e-8, + c: -2.938121603688306e-8, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.359522488702438e-9, + c: -4.252021875725325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.773692350563627e-9, + c: 4.266909696103891e-8, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.244699062916538e-11, + c: -4.286196510707233e-8, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.248422756685850e-8, + c: -4.075738584991656e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.191659171960434e-8, + c: 7.278295043585054e-9, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.544248546932460e-9, + c: 4.076049462189870e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.604593245429661e-9, + c: 4.054414072420755e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.903333328603098e-8, + c: -9.364846841188817e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.728103945881538e-8, + c: 1.374740099746410e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.097905702512730e-8, + c: -3.017525121844300e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.966998119874879e-8, + c: 3.050986518811528e-8, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.530711361929787e-8, + c: -1.478279111672117e-9, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.971191745726126e-8, + c: -2.916625231200950e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.987396254959387e-8, + c: 1.733665029940649e-8, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.233389522527228e-9, + c: -3.357915599078577e-8, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.313830994196816e-8, + c: -4.984181497384807e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.748289670359102e-8, + c: -1.880804336277251e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.170349341272511e-8, + c: 7.381828525471818e-9, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.285468229905870e-9, + c: -3.116498105110377e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.196403067137688e-8, + c: 1.103725248782002e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.587194413786706e-8, + c: -1.829747828129975e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.000061716107952e-8, + c: 2.911007124558932e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.218482938295131e-9, + c: 2.964469018291571e-8, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.553193542200215e-10, + c: 2.991594350234651e-8, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.963039791993269e-8, + c: 9.350305475070582e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.514138614041342e-11, + c: -2.932638899784220e-8, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.515427856221112e-9, + c: -2.770816058188108e-8, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353962422779948e-8, + c: -1.443305431392743e-8, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.696649912350074e-8, + c: 7.681158257344966e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.659831682171198e-8, + c: 9.959532393455730e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.760217941402521e-8, + c: -1.936334896898067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.663967499356269e-9, + c: -2.544338599034122e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.339429844062178e-8, + c: -7.511006999587678e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.551034697035400e-10, + c: -2.388581598764570e-8, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.122785250886968e-9, + c: 2.261123252039019e-8, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.291285827296206e-9, + c: -2.287231586329674e-8, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.035009768838205e-8, + c: 1.024737714175277e-8, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.217889867371764e-8, + c: -9.602792228022015e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.191763295927445e-8, + c: 9.694949497635925e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.152805200636777e-10, + c: 2.185044445268037e-8, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.244290785549320e-8, + c: 1.784023190059181e-8, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.831205664370010e-9, + c: -2.112063605205527e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.158534015484508e-10, + c: -2.128068129220373e-8, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.857500891475417e-8, + c: 1.037951518907921e-8, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.898106885802573e-9, + c: 2.083290145221338e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.064908563720909e-9, + c: 1.908969419176607e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.412067501030654e-11, + c: -2.014354514960742e-8, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.631737914045432e-9, + c: -1.817468466021195e-8, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.909769928549948e-8, + c: 7.238674814650739e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.588828928939135e-8, + c: -9.457681692202698e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.846864195259925e-9, + c: 1.824892988570090e-8, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.229009265123826e-9, + c: -1.806683753886179e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.316566434963233e-9, + c: 1.819147642324594e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.815210687374744e-9, + c: -1.646709495577397e-8, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.739528312594380e-8, + c: 9.551492706406638e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.608166989019443e-9, + c: 1.720913939669587e-8, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.351704874422489e-10, + c: -1.692700512468954e-8, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.666120908628612e-8, + c: 3.804357187858927e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.013225189421647e-9, + c: -1.474538779359806e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.136154881798247e-8, + c: -1.105270007795408e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.554384666512646e-8, + c: -1.932887421868312e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.547574251823861e-8, + c: -9.503481786181659e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.435757415063248e-8, + c: 4.291984342773676e-9, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.423739031445606e-9, + c: -1.395010908258014e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.972123047385270e-10, + c: 1.425833764229719e-8, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.420525495841510e-8, + c: 3.303126490855862e-12, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.979161454127516e-13, + c: 1.415070982104717e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405730327100011e-8, + c: -6.734958280320687e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.113917100072384e-11, + c: -1.388103895760845e-8, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.792952711104024e-9, + c: -1.202909235812656e-8, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.377072989443102e-8, + c: 5.270081164134094e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.209506096051824e-8, + c: 6.442092069480159e-9, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.358406041358250e-8, + c: 8.487495687165354e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.312821843404221e-8, + c: 3.182084318295974e-9, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.194234534835634e-8, + c: -6.140948354511349e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.056285838862968e-9, + c: 1.055709771209764e-8, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.098081623654643e-8, + c: 6.935438332910788e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.476834605179626e-9, + c: 1.272489113535759e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.208110780795522e-9, + c: 1.225371933689730e-8, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.292036138601551e-8, + c: 5.979450127444509e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.697708029658650e-9, + c: 1.223987836797239e-8, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.630285355700776e-10, + c: -1.196631924687829e-8, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.022705791744715e-9, + c: -1.193329749628216e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.779170348024008e-9, + c: 1.071244510302890e-8, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.731109520276581e-9, + c: -1.158989347286590e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.817033056323022e-9, + c: 1.012972819716383e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.913433779349822e-10, + c: -1.160194994587515e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.121201751633804e-10, + c: 1.144710648924989e-8, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.252707965372237e-9, + c: -6.551261809545559e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.857892641254793e-10, + c: -1.112471911736138e-8, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.042123958734165e-8, + c: 3.662713615238875e-9, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.073944527159877e-8, + c: 1.255841711444370e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.065495944606915e-9, + c: 1.038657334400525e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.254762008639589e-9, + c: 8.519247933516921e-9, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.799894292377041e-9, + c: 1.015968053291549e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.048394444433607e-8, + c: 7.130183381873798e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.572563903156107e-9, + c: 1.001185959577551e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.826226641304428e-10, + c: 1.021634183999766e-8, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.074254239567397e-9, + c: -1.005894022083269e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.635981835368912e-9, + c: -9.979911830204307e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.003586835187137e-8, + c: -4.263296975342034e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.958478069392268e-9, + c: 3.839819855199067e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.494845171732640e-9, + c: -2.538945191739057e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.729879812726902e-11, + c: -9.591690869650366e-9, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.539796140311007e-10, + c: -9.561119972075637e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 8.979544462371577e-9, + c: 3.064733486083841e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.701372290827244e-9, + c: -5.231900252838406e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.574550164758773e-9, + c: -5.131568774746442e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.036096562133496e-9, + c: 4.034042461665711e-9, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.856749607357862e-9, + c: -7.950336095954916e-9, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.574439229415210e-10, + c: 8.815497943584310e-9, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.103782452606414e-10, + c: -8.708292741833905e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.060181523348529e-9, + c: 8.577118447798163e-9, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.704676559615758e-12, + c: -8.621630390309811e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: 6.470229945729978e-11, + c: 8.520292277259119e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.293356340762046e-10, + c: -8.445802536456758e-9, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.688952358594594e-9, + c: 3.173085443423982e-9, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.296097897548291e-9, + c: 6.252674696749406e-9, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.071144083241894e-9, + c: 6.664025334458863e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.019610174138507e-9, + c: 5.783179861997430e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.580014112808040e-9, + c: 1.875512087714312e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.643781380533598e-9, + c: -1.286206758353890e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.854821173120697e-9, + c: 3.436544255325098e-9, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.901687459806586e-9, + c: -7.004909122573101e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.706490299849383e-9, + c: -3.505457537880857e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.312084002635485e-9, + c: 6.717728629972456e-9, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.964815835157868e-9, + c: -6.831815513921677e-9, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.281308895955152e-9, + c: -1.388932912462095e-11, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.809517563077081e-10, + c: -7.225322913686088e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.215979288770911e-9, + c: 2.798209405581841e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.051573138557396e-9, + c: 5.953838045029174e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.795190424275176e-9, + c: -2.317737794301673e-9, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.162819319670366e-9, + c: 3.350895874660441e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.095424025662760e-9, + c: -2.802228290096598e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.326385689636233e-11, + c: -6.643210689215484e-9, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.330291827089999e-9, + c: 6.489919479684259e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.080154496214774e-10, + c: 6.295207072796948e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.988394023220311e-9, + c: 5.954757984744350e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.801702065386934e-10, + c: 6.161939063969949e-9, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.091870540550423e-9, + c: 4.579583163900647e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.324695005898064e-9, + c: -4.970230958076694e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.261654265491440e-10, + c: -5.954623692727472e-9, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.980561716305983e-9, + c: -4.423011396538826e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.423938869542530e-9, + c: 2.446742180119898e-9, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.385285763875300e-9, + c: 2.514829896039558e-9, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.260842825916387e-9, + c: 4.954517106383807e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.711016739917384e-9, + c: 4.591417261305747e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.633192199319480e-9, + c: -5.235879037647652e-9, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.231737225210763e-9, + c: 1.676061174777597e-9, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.648271917974782e-9, + c: 4.795939522284296e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.287415827726582e-9, + c: 1.367370148580652e-9, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.040818772026017e-10, + c: 5.257855160996219e-9, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.235920403184880e-9, + c: 2.038707806548417e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.020167697434980e-9, + c: 1.401384957468543e-9, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.511478008829560e-9, + c: 3.680205241862772e-9, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.038321496022496e-9, + c: -9.054677422700674e-11, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.426790993800739e-9, + c: -2.361058138990788e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.667658619603471e-9, + c: 4.470635349687800e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.601582476085603e-9, + c: 3.564036342228687e-10, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.941105969356896e-11, + c: -4.610268711673677e-9, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.968823658645218e-9, + c: -2.248965906483279e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.435968680718559e-10, + c: 4.495246131072810e-9, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.505123885935252e-9, + c: 3.691852860118548e-9, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.432895326682432e-9, + c: -1.727622335888957e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.466190710780627e-9, + c: -2.699369689782812e-9, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.338837887908817e-10, + c: 4.307498959991273e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.913894271232703e-14, + c: 4.333220576998881e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -8.256724350274256e-11, + c: 4.331326977835373e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.597509701106312e-9, + c: -3.372819127216238e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.469750983507994e-10, + c: -4.195226348125600e-9, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.936744027567521e-9, + c: -1.421229284888033e-9, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.683315776565706e-9, + c: 1.758020029419536e-9, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.844925034140603e-9, + c: 9.601825652325073e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.110782058273275e-10, + c: 3.901491756565328e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.618515761766681e-9, + c: 1.547748907738675e-9, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.207283625145174e-9, + c: -3.176290446241289e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.750639711621415e-9, + c: 8.418820417870995e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.232787509672080e-10, + c: 3.803089073492427e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.802731761562240e-9, + c: 1.484639972684765e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.927693823287066e-10, + c: -3.704137105321704e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.229643783586555e-9, + c: 1.617767890959181e-9, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.909278808554997e-11, + c: -3.608310630181288e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.096702764855399e-9, + c: -1.691855595921833e-9, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.511399213451698e-9, + c: -1.287125505007592e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.562616319592091e-9, + c: -2.402194585904185e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.161046026596317e-10, + c: 3.490843284955457e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.459832157240689e-9, + c: 2.737395937129994e-10, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.343128462391420e-9, + c: -3.179488112058633e-9, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.354188006562480e-9, + c: 6.915017707852139e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.923052609394362e-10, + c: 3.311272623050433e-9, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.830817070906534e-9, + c: -2.769011350604223e-9, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.062767939268352e-13, + c: 3.295610762989834e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: 3.039968363965974e-9, + c: -1.267754194092439e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.416367853813787e-10, + c: -3.208557562354461e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.002411382419688e-9, + c: 1.351733731031168e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.002706323874567e-9, + c: 1.250353248201594e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.593280929430771e-11, + c: -3.204947565370003e-9, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.162775683249533e-11, + c: -3.187197133153716e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.338199925609784e-9, + c: 2.141036385324622e-9, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.573476375399993e-9, + c: 2.694800088785963e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.472198083083976e-10, + c: 3.041670653657131e-9, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.621384085045922e-11, + c: -3.013771668162915e-9, + mult: [3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.864682040392374e-10, + c: -2.954257094024311e-9, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.808145340406111e-9, + c: 7.273260411416836e-10, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.660060448609062e-9, + c: -1.013328391376028e-9, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.051758326788257e-10, + c: -2.763930859208959e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.472211456134286e-10, + c: 2.767889275462865e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.763545945827966e-9, + c: 1.080441373686527e-10, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.465265530777226e-9, + c: 1.213588246836943e-9, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.840082232479560e-9, + c: 2.022875133154630e-9, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.779037088029586e-11, + c: -2.710552898840184e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.113909980230434e-10, + c: -2.517239524105314e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.498791143263205e-9, + c: 2.192526353892174e-9, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.203348010239725e-10, + c: -2.640719363845029e-9, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.429876048898743e-9, + c: 9.339838772684315e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.591312483257664e-9, + c: 2.080835445694242e-10, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.512578342765929e-9, + c: 6.554065936143611e-10, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.712357774207380e-9, + c: -1.942609696719233e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.044593750579754e-9, + c: -1.559970376176594e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.813491781110554e-10, + c: 2.475457508407642e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.559358265790285e-9, + c: -2.009068432426499e-9, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.216621482269235e-9, + c: -1.244872243207274e-9, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.307850909442828e-10, + c: 2.376451282677071e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.070033106956978e-9, + c: -1.359948729524464e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.938321409649420e-10, + c: 2.454478609629434e-9, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.448588388909931e-9, + c: -1.421275072055716e-10, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.156281235669725e-10, + c: 2.403006537269945e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.074880386738898e-11, + c: -2.382627445789061e-9, + mult: [0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.355653345400244e-9, + c: 1.354335314856834e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.378300671523224e-10, + c: 2.311725215291147e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.247029311685759e-10, + c: -2.320491935127554e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.094536031454302e-10, + c: 2.320134446359455e-9, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.413738569507176e-9, + c: -1.827382572724382e-9, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.631973672979447e-10, + c: 2.252284803455479e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.022647186829160e-9, + c: 1.995102158889600e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.221681704312330e-9, + c: -1.875066342724493e-9, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.290695757853373e-11, + c: -2.231325712593268e-9, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.190394938578355e-9, + c: -1.070794936513508e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.860908892838553e-9, + c: -1.149138711621502e-9, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.922358269117170e-10, + c: 2.151945453149625e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.080236483787675e-9, + c: 4.628493832089175e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.155343405995783e-10, + c: -2.119253904524948e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.594259864562058e-10, + c: -1.948845343225033e-9, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.630175590901687e-10, + c: -1.910901035339590e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.133792532589510e-9, + c: -1.754320262491182e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.404191263402663e-10, + c: -2.079714868807918e-9, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.889801761302645e-9, + c: 8.458105783668785e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.292381171185695e-11, + c: 2.048325046722535e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.128548734545362e-10, + c: -1.819810085986985e-9, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885162742869016e-9, + c: -7.539397435858543e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.009123618903612e-9, + c: 7.856730445799252e-11, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.558925666410660e-9, + c: 1.224956092446813e-9, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.642610831110558e-9, + c: 1.096875848791152e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.889561544713392e-10, + c: 1.934014218038084e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.879480859633104e-9, + c: 5.540060415798063e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.934429375865297e-9, + c: 1.568563026570693e-10, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.173148690034325e-9, + c: -1.529455952710108e-9, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.850317295065217e-9, + c: 4.579034305694990e-10, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353034203605625e-10, + c: -1.880091142195729e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.599139652692071e-9, + c: -9.267594566537366e-10, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.039878549257992e-11, + c: -1.836793898808246e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.289882693668339e-10, + c: 1.826825300792775e-9, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.169745497865701e-10, + c: -1.633434144290779e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.817660530219326e-10, + c: 1.816229344020268e-9, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.326181406511019e-10, + c: 1.709642427424440e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.617715056210937e-9, + c: 8.154894749041096e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.604442507940143e-9, + c: 8.050795700015046e-10, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.791177039611741e-9, + c: 1.155541987113913e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.769084005103672e-9, + c: -1.326591012926900e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.091742547611772e-9, + c: 1.382665884216487e-9, + mult: [2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.596390702825514e-9, + c: 7.111214068724457e-10, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399061339132906e-9, + c: -1.020319155555407e-9, + mult: [4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.935075914000474e-10, + c: 1.707028597436600e-9, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.627496607318057e-9, + c: 5.485422630473755e-10, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.716215467924427e-9, + c: -5.966405767738557e-11, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.534942773585511e-9, + c: 7.697820423158586e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.318837947699219e-9, + c: 1.099116160570001e-9, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.702330725854079e-9, + c: -1.400496596125907e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.609329919595289e-9, + c: 5.115450716243379e-10, + mult: [3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.331401024142273e-9, + c: 1.002136103713546e-9, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562981583680150e-9, + c: -4.379472264635218e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.719100630101127e-10, + c: -1.360779926845201e-9, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.183182722254659e-10, + c: 1.383975515204112e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.815692558763444e-10, + c: 1.355374611088557e-9, + mult: [1, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034338803770131e-11, + c: -1.555495741495628e-9, + mult: [0, 22, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.446171920971084e-13, + c: 1.544011838314029e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.460590158149374e-9, + c: -4.805267043911918e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.399994237981325e-10, + c: 1.506788919265169e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.899368971956139e-10, + c: 1.431405982751306e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.132497093219925e-10, + c: -1.198377697578552e-9, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.267598080648037e-11, + c: -1.500982551620710e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.864376187868982e-10, + c: -1.094763359180214e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054942614623668e-10, + c: -1.463761340597706e-9, + mult: [0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.297846270506492e-9, + c: 6.802231434860467e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.460973774791472e-9, + c: 5.708292210337965e-11, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439966392541765e-9, + c: 1.174231251119818e-10, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.330504662384552e-9, + c: -5.620286948968988e-10, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.121340868587572e-10, + c: -1.421808269667111e-9, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.342994191205387e-9, + c: 4.610882235897298e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.204160015522084e-9, + c: 6.940359778765417e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.353952947037425e-10, + c: -1.086059130970599e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.367275086606033e-9, + c: 7.909426283100279e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.596359691332120e-11, + c: 1.363259789984583e-9, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.696746956443046e-10, + c: 1.049395822666329e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.486291391922884e-12, + c: -1.362000461649775e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.391771801355458e-10, + c: 1.135874168517409e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.153948212739627e-9, + c: -6.926391304492058e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.293009960378781e-9, + c: 3.028145038436285e-10, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.408977097998679e-12, + c: -1.319775232837634e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.580802735036776e-11, + c: 1.314035791096899e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.311845561620949e-9, + c: -6.551689524910882e-11, + mult: [3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.701483375223247e-10, + c: 1.288323398562938e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.465469698807753e-10, + c: 8.870485539340127e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.146422725813287e-9, + c: 6.051931228670570e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.302282881211609e-10, + c: 1.065304703181741e-9, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.167745833271912e-10, + c: 1.120061321364710e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.256818268033629e-10, + c: 1.195717508657880e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450343006081283e-10, + c: 1.244012734632932e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038347708258470e-9, + c: 6.852031165525244e-10, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.170983445464269e-10, + c: 1.213258829698413e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.818241281976942e-10, + c: -1.215074695973864e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.387399734278828e-10, + c: -1.017094415603063e-9, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.538079009136278e-10, + c: 1.182173075785729e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104379740699439e-9, + c: 4.343489666731825e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.177551016621150e-9, + c: -1.289273906570436e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.139124902743463e-10, + c: 1.056349564861840e-9, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.815404389771322e-10, + c: -1.070176899880343e-9, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.899350022483545e-10, + c: 6.237281445387580e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.111349710928663e-9, + c: 3.635493196857526e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.718517372030266e-10, + c: -1.154947949877091e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.050121010233450e-13, + c: -1.155863569127872e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: 1.152464138052810e-9, + c: 7.712783465575613e-11, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.022881577415671e-9, + c: 5.174013126013533e-10, + mult: [0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.119631351448711e-9, + c: -2.109900894946245e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015678783835768e-9, + c: 5.106743757247199e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035371156298190e-9, + c: -4.606898735456353e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.085912974096689e-9, + c: 3.104221062554448e-10, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.095771041849014e-10, + c: -1.002690203479821e-9, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.233487934406994e-10, + c: 7.646962360563543e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.783936016884666e-10, + c: -8.929550104044164e-10, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.832043923680113e-10, + c: 1.105732882934403e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.921518828617152e-10, + c: 1.043419381763925e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.250575570351885e-10, + c: 5.888673989603223e-10, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.791736048985309e-10, + c: 9.837985923437379e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.409797858375851e-10, + c: 6.946423653614933e-10, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.214276304917896e-12, + c: -1.085594015509856e-9, + mult: [0, 23, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.096715155428258e-11, + c: 1.081141180580334e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.069244394679714e-9, + c: 8.738902905005612e-11, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.062477004860952e-9, + c: 4.143511818616475e-11, + mult: [0, 21, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.645654709038045e-11, + c: -1.058009187248312e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.316444047812918e-10, + c: 4.802881086313582e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.995928857254483e-10, + c: 5.249773237737727e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.378776284818477e-10, + c: 1.029173401581784e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.123033813834318e-10, + c: -9.483018868640837e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.908722094519303e-11, + c: -1.030102800220760e-9, + mult: [0, 19, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.058804375538659e-11, + c: 1.028166525381886e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.728038695531829e-11, + c: 1.019002490484779e-9, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.009216695288157e-9, + c: 9.416576221005978e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.460051934098938e-10, + c: -5.548711124257195e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.648420281388607e-10, + c: -2.853667897729937e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.128547458317097e-10, + c: -9.995866010457310e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.597884266086142e-10, + c: 2.832199415207368e-10, + mult: [0, 2, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.069966966448083e-10, + c: 7.770611066603749e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.295062205024888e-10, + c: -5.175523127422487e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.804074739719065e-10, + c: 4.157598511436888e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.110744772394785e-11, + c: -9.662764413149617e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.367707219009324e-10, + c: 2.078827904213032e-10, + mult: [0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.230180741197646e-11, + c: -9.440230184440555e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.474994650632274e-10, + c: 9.236609677380404e-10, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.494866549223334e-11, + c: 9.197407809042065e-10, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.810347723934650e-10, + c: 9.019847610449543e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.933215291040884e-11, + c: 9.183896738766108e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.720666105919438e-10, + c: -7.693202554569645e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455040554032675e-12, + c: -8.848052926053228e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.487087336641721e-10, + c: 8.581671507554128e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.824653866248518e-10, + c: -7.246755308842043e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294839104235797e-10, + c: 8.558386920745869e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.446119936657674e-11, + c: 8.618802460175626e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.283446345774624e-10, + c: -8.525570710604143e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.342496206066479e-10, + c: -4.445233737209488e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.273627650502453e-11, + c: 8.571365491931933e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.223468689412570e-10, + c: -2.324213062492532e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.239283652765393e-10, + c: 7.210739086463201e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.752144745286772e-10, + c: 8.121612363675849e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.086511763239986e-10, + c: -1.654082196201714e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.462185870159048e-14, + c: 8.193018340220388e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1], + }, + Term { + s: 8.094539833769579e-10, + c: -1.132354984225469e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.826748536566822e-11, + c: 8.127887837480411e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.224499897413659e-10, + c: -8.049884063178219e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.440441699068042e-10, + c: 3.298447612518287e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.860827841296073e-10, + c: -6.397100503762396e-10, + mult: [0, 0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.720942434696122e-10, + c: -1.904595389858701e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.922385656742550e-10, + c: 6.470905761250048e-11, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.941605293660426e-10, + c: 6.187664905055121e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.831146851256512e-10, + c: -6.342203461372103e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.251006994378588e-10, + c: -5.827269273554718e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.187367540921164e-10, + c: -7.160137030014881e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.896993957708564e-10, + c: 3.717604052945386e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.364428378805207e-11, + c: -7.779667362129213e-10, + mult: [4, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.726754992788852e-10, + c: 3.004765628912563e-11, + mult: [0, 22, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.951648520569262e-11, + c: -7.680713101540151e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.095561098983445e-10, + c: 6.996229824512255e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.810788696692971e-11, + c: 7.624105979424007e-10, + mult: [0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.408912717372916e-10, + c: 1.701310925667375e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: -6.473289638336204e-12, + c: -7.583990288514200e-10, + mult: [0, 24, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.211630237147608e-10, + c: 1.665295908392094e-10, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.379992034294730e-10, + c: -6.878375475837008e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.917505890999510e-11, + c: -7.248644396798928e-10, + mult: [0, 20, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.289666063984550e-10, + c: -3.607527596243700e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.113817967732343e-10, + c: 1.251057627159911e-10, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.437865375894591e-10, + c: 3.223674007563900e-10, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.721420108909346e-11, + c: -7.155435689600795e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.391364237083919e-10, + c: 3.227097745929283e-10, + mult: [0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.798480936906565e-11, + c: -7.116661079702224e-10, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.850464656851075e-10, + c: 1.920333369768371e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.931798534146249e-10, + c: 1.458658496884976e-10, + mult: [0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.363079860830155e-10, + c: 3.088620994300761e-10, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.926167981665151e-10, + c: -3.857307407203646e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.932625484309774e-10, + c: -1.022701563989650e-10, + mult: [4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.986598664352691e-10, + c: 6.331675811711120e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.300286256329486e-10, + c: -6.862469535138299e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.083527404086683e-10, + c: -6.138793762824960e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.489069896114178e-10, + c: -5.838950961734527e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.352727333048697e-10, + c: -6.624637157132005e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.145841255472060e-10, + c: 2.566342539066162e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.639270308567318e-11, + c: 6.585559529965460e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.935513578296826e-10, + c: -2.558131615100118e-10, + mult: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.640490297301957e-10, + c: 5.298705991410341e-10, + mult: [0, 0, 3, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.202045489159327e-11, + c: 6.320991080394993e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.359585581388563e-10, + c: -6.146521419705443e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.709506886590877e-10, + c: 5.939765572758316e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.614589339839062e-10, + c: 4.110636984462231e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.521329572032034e-10, + c: 2.711530483370090e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.546371623531288e-10, + c: -5.500143240941573e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.496809987954550e-10, + c: 4.055474004743568e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.491181642132075e-10, + c: -5.480099422716830e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.757955163566062e-10, + c: 5.336501971952458e-10, + mult: [0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.128843410494923e-11, + c: 5.950880202087257e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.858627390139821e-10, + c: 4.770366527358248e-11, + mult: [0, 20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.569107496372905e-10, + c: 4.608315834274174e-10, + mult: [3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.318322299190149e-11, + c: 5.816721671781277e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.530508444151514e-14, + c: 5.781773042152593e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 2], + }, + Term { + s: -1.360109587087831e-10, + c: -5.613046775819241e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.965355306728740e-10, + c: 4.195392784375513e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.118103333428256e-10, + c: -5.657001718025667e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.637069410020950e-10, + c: -5.115247608715898e-10, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.123547719268782e-11, + c: 5.735642665711995e-10, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.528001855018531e-11, + c: 5.707019388230175e-10, + mult: [0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.093193806804817e-10, + c: -3.893863861432299e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.399875427918046e-10, + c: 1.643590258749059e-10, + mult: [4, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.249351800706568e-10, + c: -3.696107545616256e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.618811791965763e-10, + c: 2.176804659314202e-11, + mult: [0, 23, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.525161636294534e-10, + c: -9.597832218924153e-11, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.331295914596706e-10, + c: -3.527709130864494e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.383055748581367e-10, + c: -4.437504583060695e-10, + mult: [0, 0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.065949497178281e-11, + c: -5.571121189943435e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.566499827377897e-10, + c: -3.190721672195261e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.258333737436378e-11, + c: -5.420319590451082e-10, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.979583711314647e-10, + c: 1.966619010222554e-10, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.736992616804596e-10, + c: -4.567987043082362e-10, + mult: [2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.067418153280780e-12, + c: -5.302821599646873e-10, + mult: [0, 25, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.196537784249467e-10, + c: 1.037356010577983e-10, + mult: [0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.201178229582777e-10, + c: -3.142467212506533e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.121937373227709e-10, + c: -1.119607706734560e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.809964953148178e-10, + c: -1.793866904508825e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.419717503899090e-11, + c: -5.100507653734420e-10, + mult: [0, 21, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.566699575030577e-10, + c: -4.426487401861304e-10, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.201867219455210e-10, + c: -2.863438124054559e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.164783048595356e-10, + c: -2.899818490066587e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.561799349933211e-10, + c: 1.932238145454773e-10, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.795774392564484e-10, + c: 1.093038456814144e-10, + mult: [1, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.111175791447574e-10, + c: 3.790754402297983e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095184392520325e-10, + c: 4.779282675262412e-10, + mult: [0, 0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.241518135570068e-11, + c: -4.875693233708149e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.763775593715946e-10, + c: 8.206645753350509e-11, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.846424427894247e-10, + c: -4.453926586225066e-10, + mult: [0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399010236948714e-13, + c: 4.763535773180561e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.536896309574376e-11, + c: -4.677401565936226e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.810983165482672e-11, + c: 4.541355742202685e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.315863985730940e-11, + c: 4.593685057788448e-10, + mult: [0, 0, 5, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.561456539491614e-10, + c: 2.876146882517029e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.297854933071893e-10, + c: 1.569668458449279e-10, + mult: [0, 0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.070852984781042e-11, + c: 4.564476645823735e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.979848697487398e-11, + c: 4.542817271865835e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.069853822322160e-10, + c: 3.972079356757953e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.912221431155954e-10, + c: 1.952396944877784e-10, + mult: [0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.324994306160684e-10, + c: 3.502933083001132e-11, + mult: [0, 21, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.758559200956995e-10, + c: 3.961319941745971e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.968189269561971e-10, + c: -1.619822209810884e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.670058305632731e-11, + c: 4.272544722285253e-10, + mult: [0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.970806562342593e-10, + c: 1.488750181551555e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.066729758436448e-10, + c: 2.926445670404187e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439695400937267e-10, + c: -3.979211890539963e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.387250696183612e-11, + c: -4.149562550932637e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.176582581355895e-11, + c: -4.185415389611921e-10, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.403100423061590e-10, + c: 2.418152217405383e-10, + mult: [0, 2, 1, -9, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.484403964674492e-10, + c: -2.298868303230708e-10, + mult: [0, 2, -1, -5, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.482239347574164e-10, + c: -3.901293837855253e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.137015170107168e-10, + c: 2.736786823421591e-10, + mult: [5, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.189718023276971e-12, + c: -4.154032437763952e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.664666720320847e-10, + c: 3.156751317802136e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.046568201339967e-10, + c: 8.040027216463671e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.425227297999922e-12, + c: 4.112692457822540e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.710636290753743e-10, + c: -3.719470325693608e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.085434667733889e-10, + c: 1.575380347515093e-11, + mult: [0, 24, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.469082598059196e-10, + c: 3.780164659548009e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.935818266813531e-10, + c: 3.526528953906149e-10, + mult: [0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.696107306981791e-10, + c: -1.582934401096276e-10, + mult: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.732128149134612e-10, + c: -3.609737800525263e-10, + mult: [0, 2, -5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.856883436695830e-10, + c: 2.799188145813442e-10, + mult: [1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.927915994169071e-10, + c: 7.440441200243443e-11, + mult: [0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.546070165972167e-11, + c: -3.854911390102845e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.104594799906803e-10, + c: -3.283495684695703e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.516790910468363e-10, + c: -2.961164211713095e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.572598222403399e-11, + c: -3.867838092711370e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.369291063203676e-10, + c: 3.597666979044083e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.801224887478309e-10, + c: 5.341810981254513e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.874052537075503e-10, + c: -3.343242288284095e-10, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.742908249684417e-10, + c: -7.906137390026085e-11, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.480315963103972e-10, + c: 2.911287066706682e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.716057241537912e-10, + c: 3.417754387713797e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.813877078049991e-11, + c: 3.760392666809025e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.487764295639724e-10, + c: -1.530290648862836e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.010056597323542e-10, + c: -3.668795095141511e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.296969038259415e-10, + c: -2.993533814920861e-10, + mult: [0, 0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.483284645988364e-10, + c: -2.835787595587323e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.964865028662171e-10, + c: -2.240834448307260e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.943844599957963e-12, + c: -3.710642778222034e-10, + mult: [0, 26, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.055046806820518e-11, + c: -3.647657790603241e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.197994592572164e-10, + c: 3.471525681838659e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.954209412071195e-10, + c: -2.115396204080343e-10, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.700748982647361e-10, + c: -2.421902116647707e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.376389090487124e-10, + c: -2.739309416499649e-10, + mult: [0, 2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.295590526074404e-11, + c: -3.588884224623097e-10, + mult: [0, 22, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.366412601823654e-10, + c: 1.238422318044633e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.641625005539335e-11, + c: -3.501283282158880e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.713825864224645e-10, + c: 3.087488174102079e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.055764570321460e-10, + c: -1.759867888710498e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.238018864180844e-10, + c: -1.372628090414969e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.574316633748595e-11, + c: -3.393962230494079e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.922386787354659e-14, + c: 3.489717188473644e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1], + }, + Term { + s: -4.513765892032532e-11, + c: 3.418361814653766e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.618971863925618e-11, + c: 3.401324320710198e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.294377451650359e-10, + c: 3.175025295425566e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.424346071735876e-10, + c: 6.424818993277980e-13, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.315544665105017e-11, + c: -3.339241962135879e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.402480584761154e-10, + c: -2.584873862560422e-11, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.326967970279371e-10, + c: 6.319810818940905e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.477656568722266e-11, + c: 3.345057305835602e-10, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.124918287858874e-10, + c: 1.115697414915058e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.306039455513935e-10, + c: 4.786188382429217e-12, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.214098325414650e-10, + c: 7.479217280687079e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.818754582916069e-10, + c: -2.712307614194876e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.541264172905389e-11, + c: 3.226512744020283e-10, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.530664524707764e-11, + c: 3.209984690679785e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.120709831112911e-10, + c: -9.236017620600489e-11, + mult: [0, 3, 0, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.376665119459061e-11, + c: -3.246561955999971e-10, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.114638409339402e-10, + c: 9.184553411445488e-11, + mult: [0, 3, -8, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.169582406515757e-10, + c: -3.007392380004774e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.747574971688022e-10, + c: -1.682407139298420e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.746591923854302e-10, + c: 1.683856137854282e-10, + mult: [0, 4, -3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294794983899983e-10, + c: 2.945283621797962e-10, + mult: [0, 0, 7, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.238700985098948e-10, + c: -2.966345758026975e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.097172168195746e-11, + c: 3.198255122651295e-10, + mult: [0, 21, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.187865015378823e-10, + c: 2.563161244981482e-11, + mult: [0, 22, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.084817537374025e-10, + c: -7.368430652297535e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.128319089411645e-10, + c: 3.439071719654627e-11, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.000675870182465e-10, + c: 9.409170420959662e-11, + mult: [0, 0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.992959984333631e-10, + c: 8.839458460353357e-11, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.864346094678101e-10, + c: 1.165044655929234e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.223153867353463e-11, + c: 2.984805131077768e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.291444761770023e-10, + c: -2.770238881115683e-10, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.119152127757855e-14, + c: -3.055381997245134e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -1], + }, + Term { + s: -2.984668566349449e-10, + c: 5.365768917677374e-11, + mult: [0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139747899044187e-10, + c: 2.807281771224398e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.646875558767891e-10, + c: -2.522603644787641e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.530557256325499e-11, + c: 2.970502702925722e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.970030454490970e-10, + c: 1.138942264567703e-11, + mult: [0, 25, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.931706366130800e-10, + c: 4.362006806408217e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494715608400283e-10, + c: 2.551434524995019e-10, + mult: [0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.681157748083493e-10, + c: 2.432389001984337e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.082429602107042e-10, + c: -2.748495604882386e-10, + mult: [0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.852607328224632e-10, + c: 7.599405568163026e-11, + mult: [0, 0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.594264515148449e-10, + c: -1.382237127648273e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.999187601849449e-11, + c: -2.903723578636289e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.435240332520393e-10, + c: 1.622713569495458e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.877152398659297e-10, + c: -4.770937575580802e-11, + mult: [5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.907755787463374e-10, + c: -1.945774687284279e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.836297010835741e-10, + c: -6.513549346763470e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: -2.465137109641509e-11, + c: 2.863171284721501e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.628219406557988e-10, + c: 1.132074821068604e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.248319654211893e-11, + c: -2.852508542013815e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.355688160103318e-10, + c: -2.512013850604843e-10, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.568962968641477e-10, + c: -1.127673196572374e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.924375408295013e-11, + c: 2.696035195705075e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.654943197370250e-10, + c: -7.854655373062607e-11, + mult: [0, 1, -6, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.654645164769709e-10, + c: 7.832098267608415e-11, + mult: [0, 1, 2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.764483460078117e-10, + c: 1.287040612175872e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.254107657293400e-10, + c: 2.459117619693470e-10, + mult: [6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.654039902935703e-12, + c: -2.748099714165013e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.266402034623905e-10, + c: 1.553503974296113e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.290932446309457e-11, + c: 2.668718952597155e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.681039920799550e-10, + c: -5.049631734152229e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256150120525173e-10, + c: -2.409038329873759e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.625667939908890e-10, + c: -5.046571365311799e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.355349665714430e-10, + c: 1.253601291534734e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 5.593079940296699e-11, + c: -2.597205412285580e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.286301188216276e-10, + c: 2.317117571406500e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196873409918464e-10, + c: -2.339064176817193e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.142284261677481e-11, + c: 2.568963429503688e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.959530973924600e-10, + c: 1.736889221357653e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.918860896920956e-11, + c: 2.525391553605302e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.054323940633806e-11, + c: 2.610968437985328e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.342455903057604e-10, + c: 1.142526336337573e-10, + mult: [0, 0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.053667755320475e-12, + c: -2.598266532280530e-10, + mult: [0, 27, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.515427350486571e-10, + c: -6.358780104617547e-11, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.049619386661122e-10, + c: -2.366643928536174e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.141402017297378e-11, + c: 2.414609128958135e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.058308717381122e-10, + c: -1.554394730894193e-10, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.432407485753774e-10, + c: 8.290342594147466e-11, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196702913791366e-10, + c: -2.251319912684484e-10, + mult: [0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.919702757869449e-14, + c: 2.548634369055049e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0], + }, + Term { + s: -1.546717709772937e-10, + c: 2.012097742178818e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.453616025192703e-11, + c: -2.525224062912808e-10, + mult: [0, 23, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.013202652917464e-10, + c: 1.524730575858895e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.032280772195571e-12, + c: -2.515497944606866e-10, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.014040663026697e-11, + c: -2.440331246143286e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.645577309391060e-11, + c: -2.505490046157005e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014803760572104e-10, + c: -1.496083371424771e-10, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.443394214680247e-11, + c: 2.362236896533408e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.508884218126798e-13, + c: -2.501059348867273e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.047700136330978e-11, + c: 2.489468802069733e-10, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.526164141211850e-10, + c: -1.969485491979603e-10, + mult: [0, 0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.847208853510809e-11, + c: 2.379597126706950e-10, + mult: [0, 3, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.063016356847250e-11, + c: 2.470481909980816e-10, + mult: [0, 4, -7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.030078446714423e-10, + c: 1.403422287317600e-10, + mult: [0, 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.561407571430939e-11, + c: 2.347534211893358e-10, + mult: [0, 3, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.636039914798418e-11, + c: -2.400504758761571e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.278563255543981e-10, + c: -9.300903465794482e-11, + mult: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.961790231258104e-11, + c: 2.318818768194051e-10, + mult: [0, 0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.278910706844312e-11, + c: 2.383994652370673e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.785474722991304e-10, + c: 1.662203822465255e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.376505019128185e-10, + c: -3.268898847214482e-11, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.156765504740846e-12, + c: 2.393377697770368e-10, + mult: [0, 22, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.803659743457952e-10, + c: 1.555200160219016e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.319369510222729e-11, + c: -2.224643239003727e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.015405421974579e-10, + c: -2.144579259878989e-10, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.256070403660698e-11, + c: 2.360937572171164e-10, + mult: [0, 0, 4, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.346402884013583e-10, + c: 1.869476977346033e-11, + mult: [0, 23, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.295536820293077e-10, + c: 5.130508830790143e-11, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.322648383324551e-10, + c: -1.570796924332945e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0], + }, + Term { + s: -9.096408313149649e-11, + c: -2.135033398161359e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.984634941894495e-10, + c: -1.200728234584493e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.383941824561548e-13, + c: 2.314316369267979e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.275486874974978e-10, + c: 3.882936208852359e-11, + mult: [0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.200782138227997e-10, + c: 1.913037014196373e-10, + mult: [0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.239910964272004e-10, + c: -1.355578139212217e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: -1.874964356829613e-10, + c: -1.221378406124536e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.121510183439245e-10, + c: -6.962400871189742e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.346478403509218e-10, + c: 1.775808732833337e-10, + mult: [4, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.345119275304185e-10, + c: 1.775362196657071e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.184011430314523e-10, + c: -1.885330214497135e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.116126604478075e-10, + c: 1.890070599519829e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.957335346875143e-10, + c: 9.928723768669138e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.453662585134950e-10, + c: 1.643820336275361e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.519571714334588e-10, + c: 1.557498862219602e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.383503104289185e-12, + c: 2.174880932799403e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.158733347399970e-10, + c: 8.225513216381083e-12, + mult: [0, 26, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.097160688199714e-10, + c: 4.143056443254445e-11, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.045744489587188e-10, + c: -6.022607087258619e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.420146606352695e-14, + c: -2.128985173463009e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.180363307755614e-11, + c: -2.124243376643729e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.146201867822154e-11, + c: 2.122691964653662e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.574499020789909e-10, + c: -1.419936046490471e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.073215860631801e-11, + c: 2.104695504944795e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.704581950711878e-11, + c: -1.876090477307956e-10, + mult: [0, 0, 18, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.097106063284798e-10, + c: 1.613638198654513e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.120659478727000e-10, + c: -1.748400806529659e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.053835007761869e-10, + c: -1.909927583090640e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.733669410669583e-11, + c: 2.020490662909461e-10, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.054148691333578e-10, + c: 6.328354224638868e-13, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.041237098261780e-10, + c: 8.949795760748922e-12, + mult: [0, 0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.783197639306453e-10, + c: -9.769625889236663e-11, + mult: [0, 2, -1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024279707345734e-10, + c: 1.748209603143836e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.267709549386089e-10, + c: 1.580492266995442e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.055631355535805e-10, + c: -1.725501713335917e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -5.990805382596513e-11, + c: 1.925303665940083e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.074301274757073e-11, + c: -1.882526861436719e-10, + mult: [0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.631026068420016e-10, + c: 1.165736768147695e-10, + mult: [0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.960693190926528e-10, + c: 4.091847091495131e-11, + mult: [0, 0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.328737966968741e-10, + c: 1.480332072015877e-10, + mult: [0, 2, -4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.789543305929715e-10, + c: 8.559085264691743e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.759839839835196e-11, + c: 1.941148239201444e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.970161796396505e-10, + c: -1.363050510850188e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.876024433629529e-10, + c: 6.115117697395434e-11, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.922820217424768e-11, + c: 1.839625269018869e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.351409199740808e-11, + c: 1.879591077013327e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.944132247190955e-10, + c: 7.858043894500310e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.954003742015801e-11, + c: 1.903533312616413e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.953167388204497e-12, + c: -1.941525641873304e-10, + mult: [0, 0, 17, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.561677386039202e-12, + c: -1.932064722643279e-10, + mult: [0, 2, -5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.852998566962342e-10, + c: -5.487752646130629e-11, + mult: [0, 4, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.850676358375071e-10, + c: 5.453521209563046e-11, + mult: [0, 4, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.568609047492155e-11, + c: -1.899301057772802e-10, + mult: [5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.874176349588470e-10, + c: 3.391413910309165e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.583026170340065e-11, + c: -1.878311642977836e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.821410850901823e-10, + c: 5.169807202249134e-11, + mult: [5, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.861016001553581e-10, + c: 3.391846727844211e-11, + mult: [0, 0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.618472653613317e-10, + c: 9.693971703764459e-11, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.372719548861332e-11, + c: 1.834449119497345e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -8.131171454167485e-11, + c: -1.687499370463716e-10, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.068173734332586e-10, + c: 1.510888788695278e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.542888574382272e-10, + c: 1.004548768621840e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.750640956689699e-11, + c: 1.813600625034234e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.422674908268479e-12, + c: 1.829944143762500e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.567701432456949e-12, + c: 1.822249150873267e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353612304170662e-12, + c: -1.820433928894132e-10, + mult: [0, 28, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.420539126272946e-10, + c: -1.135649583799585e-10, + mult: [0, 0, 19, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.801791051272402e-10, + c: 1.751683981401366e-11, + mult: [0, 2, 2, -11, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.145096907126180e-11, + c: -1.616571389548074e-10, + mult: [0, 2, -2, -3, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.626138443803485e-12, + c: 1.790297940033466e-10, + mult: [0, 23, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.824149946616960e-11, + c: -1.776794416512430e-10, + mult: [0, 24, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.443244474612703e-11, + c: 1.564765999601885e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.745228450172447e-10, + c: -2.850410925615138e-11, + mult: [2, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.738332437281600e-10, + c: 2.815790912100622e-11, + mult: [0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.305722950467462e-10, + c: 1.175903903791831e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.676500486474975e-10, + c: -5.009734856687756e-11, + mult: [0, 0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.656321982308116e-10, + c: -5.603863340875250e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.778877158941073e-11, + c: 1.446399285184323e-10, + mult: [0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.724837501919386e-10, + c: 1.359484173780276e-11, + mult: [0, 24, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.347679054178768e-11, + c: 1.667086854465053e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.719491100343648e-11, + c: -1.692956544754954e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.199141854822539e-12, + c: 1.698150681131153e-10, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.368436153824731e-10, + c: -1.008016317129845e-10, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.278614218637952e-12, + c: -1.682360965042373e-10, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.718113050891210e-11, + c: -1.416190184084501e-10, + mult: [3, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.543003615002208e-10, + c: 6.132727187945422e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.593922393154638e-11, + c: 1.509057404622576e-10, + mult: [0, 0, 6, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.658322051134999e-11, + c: 1.609108742771134e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.093078814357720e-11, + c: -1.390928864053036e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.940917788422346e-11, + c: -1.265382366660714e-10, + mult: [0, 0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.290446318560534e-10, + c: 9.510341513952349e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.410286798091390e-10, + c: -7.517789797093757e-11, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.047955522195913e-10, + c: 1.198014060559879e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.220085672626126e-11, + c: -1.462624995575909e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.513401205856456e-10, + c: 4.670346153441955e-11, + mult: [0, 3, -8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.265454394015491e-11, + c: 1.348883654295434e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.568709701413139e-10, + c: 5.934230448293027e-12, + mult: [0, 27, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.217966254496406e-11, + c: -1.550806281189260e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.043444564984763e-11, + c: -1.482691586227607e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.388670332215539e-10, + c: -7.126871210058410e-11, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.867820361662774e-11, + c: -1.392047724985749e-10, + mult: [0, 0, 19, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.648661519597392e-12, + c: 1.550590123541403e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035636025051488e-10, + c: -1.151436348625538e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.367868457235236e-11, + c: -1.353305127467586e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.845169698987304e-11, + c: 1.184654123908934e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.765840160806863e-12, + c: -1.535257055706042e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.347994935550427e-10, + c: -7.342635128128403e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.374505562458588e-10, + c: -6.722571762680376e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.112085675755967e-10, + c: -1.045783143543360e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.441684502116166e-11, + c: -1.482636420324967e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.912852670574172e-11, + c: -1.350796010875986e-10, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.830171483002743e-11, + c: -1.354437098359199e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.368220974201300e-10, + c: 6.429046385048314e-11, + mult: [0, 0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.435675553912659e-10, + c: 4.481502333915302e-11, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.530610068702002e-11, + c: -1.293242382316133e-10, + mult: [0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.143604203477604e-12, + c: -1.490210982006019e-10, + mult: [0, 0, 18, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.559716622151705e-11, + c: -1.335039232850824e-10, + mult: [0, 0, 16, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.385138228718874e-11, + c: -1.437026858235309e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.381274550636945e-11, + c: 1.328784312329558e-10, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.881294689520947e-11, + c: 1.174128361813412e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.020442278453031e-11, + c: 1.467059410976567e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.083792406179692e-11, + c: -1.453429370808550e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.111912734864064e-10, + c: 9.560527187416562e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.458579778664665e-11, + c: 1.445167573732037e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.076204783459823e-15, + c: -1.460280120288413e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1], + }, + Term { + s: 7.437698189566681e-11, + c: -1.253630869019216e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.357323309741286e-10, + c: -5.285459534653077e-11, + mult: [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.444704667218090e-10, + c: 5.435155113490132e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.883654406013326e-11, + c: -1.359563183067327e-10, + mult: [0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.174478766456435e-11, + c: -1.426291923794243e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.685881880510921e-11, + c: -1.406944517252845e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.157975292692778e-10, + c: 8.278418573603181e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.366273603392523e-10, + c: -3.546388383634582e-11, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.352865882640747e-10, + c: 4.016468189542078e-11, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.881023024158015e-11, + c: 1.346437399574433e-10, + mult: [2, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.005919834436114e-13, + c: -1.367223106167531e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + }, + Term { + s: -5.479498509376539e-14, + c: 1.360288198946056e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2], + }, + Term { + s: 1.166103877287331e-10, + c: 6.976732843883982e-11, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.618284012628343e-11, + c: 1.123402766345187e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.002415188356618e-11, + c: 1.001476360813665e-10, + mult: [2, -7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.946298631267959e-11, + c: 1.085464163849051e-10, + mult: [0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.329487278552162e-10, + c: 2.044320512686720e-11, + mult: [0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.955994657503931e-12, + c: 1.338491030234492e-10, + mult: [0, 24, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.099415179114076e-11, + c: 1.236993446022110e-10, + mult: [2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.088805081778627e-12, + c: -1.327944715317496e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.218019688067832e-11, + c: 1.113335380855021e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186877245458896e-10, + c: -5.913370490215995e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.696103757180693e-11, + c: 1.196288392385276e-10, + mult: [0, 3, -6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.322749695716044e-10, + c: -3.457868203368159e-12, + mult: [0, 0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.252783564488646e-11, + c: 9.405147414878907e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 5.349766848363727e-11, + c: -1.196304946927957e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.557450570902150e-11, + c: -1.186327093068351e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.120819762430734e-11, + c: -9.353604903226323e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.247139071699769e-10, + c: -3.694871675023050e-11, + mult: [0, 5, -2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.245977508643362e-10, + c: 3.670098043119044e-11, + mult: [0, 5, -10, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034642215560027e-10, + c: -7.550683606154247e-11, + mult: [0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.271263697675221e-10, + c: 1.377399515818833e-11, + mult: [0, 0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.806610882127758e-12, + c: -1.276118552534018e-10, + mult: [0, 29, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.151746669695743e-12, + c: 1.274679988103088e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.707304318906592e-11, + c: -8.247803536759262e-11, + mult: [0, 0, 20, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.246870242405897e-10, + c: 2.582408507509842e-11, + mult: [0, 0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.031592245621237e-11, + c: -1.267318432143576e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266438199501429e-10, + c: 9.858846948806027e-12, + mult: [0, 25, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.094039789973462e-11, + c: 8.798344847293861e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.457576721406818e-15, + c: 1.264701405911172e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0], + }, + Term { + s: -2.082313401957510e-11, + c: -1.246297324537448e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.125483916550015e-10, + c: 5.737754944775926e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.243934136566026e-10, + c: -2.173218005498294e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.225831544216796e-10, + c: 2.929292085680126e-11, + mult: [0, 0, 8, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.498503290051392e-11, + c: 8.263968118757651e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.354362781631247e-11, + c: -1.250176718812270e-10, + mult: [0, 25, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.085718845951258e-11, + c: 9.494565478273176e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044877124235875e-10, + c: 6.654029775995079e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.235753717764268e-10, + c: -5.916291378574300e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.857679967388256e-14, + c: 1.227701683957493e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.211364133551764e-10, + c: 1.643654162308595e-11, + mult: [1, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.990536990669435e-11, + c: 1.145126467701604e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.131157068807001e-10, + c: -4.151338978696604e-11, + mult: [0, 1, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.124384955713190e-11, + c: 1.160784485776221e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.193135513307172e-10, + c: 1.287182519118759e-11, + mult: [0, 0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.786797235779334e-11, + c: 1.136781785401406e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.125530359578016e-11, + c: 1.152898521713864e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.439722776653592e-11, + c: 9.260599904798648e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.278404873454576e-11, + c: 1.057507622808916e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.300182480758380e-11, + c: -1.055755856992203e-10, + mult: [0, 0, 17, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.921415041688564e-11, + c: -7.730656888480687e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.146537310143012e-11, + c: -1.157540086772336e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.001529924409604e-10, + c: -6.130064872401507e-11, + mult: [0, 1, -4, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.000960692021880e-10, + c: 6.139144047330106e-11, + mult: [0, 5, -4, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.161504082557064e-11, + c: 8.437895203256336e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.107742270345047e-10, + c: -3.875422759408883e-11, + mult: [0, 0, 20, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.197958323979719e-11, + c: 1.045067190457907e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.823976731396414e-11, + c: -1.128860829439756e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.008585975835126e-10, + c: -5.792935828650410e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.682029808009357e-11, + c: 1.012230734159458e-10, + mult: [0, 0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.133422853942262e-11, + c: 1.150210373560023e-10, + mult: [0, 0, 3, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.189389772245902e-11, + c: 6.973812955571090e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.647696540687835e-11, + c: 9.411251881067304e-11, + mult: [0, 0, 1, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.075056410126402e-10, + c: 4.125115315572788e-11, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104725423192536e-10, + c: 2.865198843777390e-11, + mult: [0, 0, 9, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.063867878997995e-10, + c: 4.109675622213671e-11, + mult: [0, 0, 13, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139682980144681e-10, + c: 4.276629626340203e-12, + mult: [0, 28, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.091389446061139e-10, + c: 3.265257374100136e-11, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.994020208632348e-13, + c: -1.136345424033738e-10, + mult: [0, 0, 19, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.834322783713762e-11, + c: -5.625506813788244e-11, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.800816324480155e-11, + c: -1.025911291364205e-10, + mult: [0, 0, 20, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.913439817027166e-11, + c: 6.792447737096870e-11, + mult: [0, 0, 8, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.637974906253267e-11, + c: 1.108357484262552e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.460464873802870e-11, + c: 1.090322306325185e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.096959255924592e-10, + c: -2.022969596153915e-11, + mult: [6, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.694912258451233e-11, + c: 5.478230042894917e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.101424174907014e-10, + c: 1.623479189703073e-11, + mult: [0, 0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.762064354171078e-12, + c: -1.109042938110960e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.639747466102124e-11, + c: -1.078605422813371e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.068210684061360e-10, + c: -2.984921360114730e-11, + mult: [0, 2, -11, 16, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.068269193609970e-10, + c: 2.978856060814614e-11, + mult: [0, 2, 5, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.345614096936147e-11, + c: 5.890170527804502e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.641854766661289e-11, + c: 1.091119450241927e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.841953717430001e-11, + c: -1.027219850423300e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.205775328134248e-11, + c: -7.273355567552535e-11, + mult: [0, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.498748988581913e-12, + c: 1.090404585161316e-10, + mult: [0, 5, -8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.038600067099340e-11, + c: -8.330166409421174e-11, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.086662574978183e-10, + c: 2.848652759926458e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.161099704323177e-11, + c: 1.000947071918196e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.432519370502264e-11, + c: 6.797486543883993e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.479741199355164e-11, + c: -1.011867270823131e-10, + mult: [0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.166870628014501e-11, + c: -6.853854632552481e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.483887247939630e-12, + c: -1.056976116330451e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.995327649583667e-11, + c: 5.386916781741880e-11, + mult: [0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.854517921773268e-11, + c: 3.577834712796871e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -3.943130488784065e-12, + c: 1.046573045926397e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034575269832212e-10, + c: -1.388893474345118e-11, + mult: [0, 0, 13, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.809896645347102e-11, + c: 9.246173252085635e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013798230043038e-10, + c: 2.410626736987071e-11, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.811082734513987e-11, + c: 9.665614306295594e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.676576550488217e-11, + c: 3.744567958605292e-11, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.815227630859912e-11, + c: 6.822150397359103e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.644586291653317e-11, + c: -3.693374590445595e-11, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.909250049098055e-11, + c: -2.870616745350228e-11, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.878884738352530e-11, + c: 9.059147464435563e-11, + mult: [6, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017319832617937e-10, + c: 1.484978213312476e-11, + mult: [0, 20, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.909072933913919e-11, + c: 5.122551549946962e-11, + mult: [0, 3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.570543388511104e-11, + c: 6.861685594200691e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013326025222157e-10, + c: -1.249020596987668e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012676666166516e-10, + c: -1.080953563123668e-11, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.778079817287437e-11, + c: 2.843538291030045e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.354650935703825e-11, + c: -7.941528214883481e-11, + mult: [0, 0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.592273094592635e-12, + c: 1.012047771539998e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.188234960900446e-11, + c: -5.912265921573266e-11, + mult: [0, 0, 15, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.001904552229827e-10, + c: -1.154402791451670e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.913251929456427e-11, + c: 1.854991609728784e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.612735459266434e-11, + c: 7.603389684717294e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.828153255050578e-12, + c: -1.004842163654570e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.860873689180625e-12, + c: 1.000123485663012e-10, + mult: [0, 25, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -8.226866083381023e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.073581157030718e-8, + c: -2.535416170895548e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.460922434808269e-7, + c: -1.525733371310965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.677634941915284e-7, + c: 9.449799658466578e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.039109397639045e-8, + c: 1.094337681653337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.359555370074807e-8, + c: -3.918202501927284e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.975874859645260e-8, + c: 6.158853441658307e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.882455069762850e-8, + c: 1.738104133881173e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.186913193616230e-8, + c: -1.131973473575743e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.036514410115386e-8, + c: 1.221035454068444e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.218575150266919e-8, + c: -3.886487890548253e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.900531635352852e-8, + c: -3.602091568423094e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.793611142585257e-8, + c: -2.889715781476038e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.563885378064449e-8, + c: 1.467082604629327e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.302086660777781e-8, + c: 2.532570802941173e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.263374484674900e-9, + c: 2.566561417460914e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.805850171143786e-9, + c: -2.643309276915505e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.211677016780980e-8, + c: 1.452003849360317e-8, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.344447159124558e-8, + c: 2.478157144903254e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.104082616888034e-10, + c: 2.266871646231824e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.072736961590755e-8, + c: -1.525083281182990e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.714336327526138e-8, + c: 7.069036840513371e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.296793678826252e-10, + c: -1.795264478757325e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.642690256361825e-10, + c: 1.759592967602292e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.642869514205675e-8, + c: 5.424828707365134e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.826363029471503e-9, + c: 1.457223982116030e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590375831101773e-8, + c: -4.508971513502654e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.395495809217635e-9, + c: -1.595643405423773e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.791504700098185e-9, + c: 1.486612843360957e-8, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.578620046564203e-9, + c: -1.493606841252148e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255751987857025e-8, + c: -7.657212582723663e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.239044456282920e-8, + c: 7.073625304788562e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.173849355293939e-8, + c: -6.849659606070594e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.255076360971764e-8, + c: -4.893686662122651e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.273098744162661e-9, + c: 1.153395407184902e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.197133767158639e-8, + c: -4.411441291683678e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.410352572495812e-9, + c: -6.907440525808956e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.852403850533635e-9, + c: -9.069988183655691e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.089277600697285e-9, + c: 9.589706456941559e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.455628041887937e-9, + c: 9.025083457698202e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.984582058315157e-9, + c: 5.695468500343787e-9, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.101829181664072e-9, + c: 3.241207010676506e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.419803875994618e-9, + c: -7.262314060246740e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.906887672075025e-9, + c: 1.555610029970058e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.128082597345450e-9, + c: 2.965569394703386e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.788682454006399e-9, + c: -6.991079652221363e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.961009781982614e-9, + c: -4.703928168347716e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.317939837870352e-9, + c: 7.146836452416861e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.797085897709066e-9, + c: -6.328551480566244e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.074482540909135e-9, + c: -1.880844344419598e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.950955940104842e-9, + c: 2.208426211379355e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.249664082251796e-10, + c: 7.131465782151246e-9, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.267056051045855e-9, + c: 2.912794500197991e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.090440692469728e-9, + c: 6.500525179299051e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.892458735851705e-9, + c: 3.197887364602233e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062708657472873e-9, + c: -5.913850381882604e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.376188139199575e-9, + c: 2.791446630416926e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.948354390216079e-9, + c: 4.094770055933016e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.345320614218007e-9, + c: 5.040494546626448e-9, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455621400429540e-10, + c: -5.380684392754110e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.067584690796212e-9, + c: 3.242091535392110e-9, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.977177338469011e-9, + c: 3.276194901561666e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451522641053418e-9, + c: 4.525945002633640e-9, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.497263272896721e-9, + c: 1.284694682402317e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.282134673441345e-9, + c: 1.816385895878878e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.085509871205817e-9, + c: -3.927129967545873e-9, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.266597353891401e-9, + c: 3.686518249480102e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.000462930110040e-9, + c: -1.325677915597455e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.341943098752594e-10, + c: -4.138916761147053e-9, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.154805098836649e-9, + c: -3.549047250219386e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.904373199834440e-9, + c: -1.234619147911348e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.868109733152933e-9, + c: 1.157611430839582e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.907614546807095e-9, + c: 1.009550012787909e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.356782198678124e-10, + c: 4.011344771239433e-9, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014605448361885e-9, + c: 3.236104967810010e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.180465485558648e-9, + c: -1.649448419139297e-9, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.942204229164252e-10, + c: 3.418723377310468e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.367043601210255e-9, + c: 3.171716681126331e-9, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.325749797087596e-9, + c: -2.516990412943173e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023132919683374e-9, + c: 3.201412752212644e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.621568277526100e-9, + c: -2.681066623675762e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.281251458010872e-9, + c: 2.071709637819909e-9, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.540267484339300e-9, + c: -1.461179947620869e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.426720984007762e-9, + c: -1.534709696228980e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.974886932021741e-9, + c: 2.044012256290361e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.502873414902724e-9, + c: -1.233228279041960e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.814842457933898e-10, + c: -2.692634237855922e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.568378865609093e-9, + c: -9.768126369064273e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.627516024621518e-9, + c: 5.553337481534440e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.915726869478071e-10, + c: -2.641293314478660e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.516729970068151e-9, + c: -8.388670586992813e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.346167168972507e-9, + c: -1.188061648668793e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.951144763252217e-10, + c: 2.588906226456344e-9, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.526682764208309e-9, + c: 1.296466512524513e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.281593411711680e-9, + c: -2.143994138700191e-9, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.955231705443727e-11, + c: -2.456348887060779e-9, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294756059247288e-9, + c: 2.064698104302512e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.105870505179951e-9, + c: 1.186910855030180e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.278819900205395e-10, + c: 2.287127561497901e-9, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.948705068432949e-9, + c: 1.358459942618821e-9, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.223113875610720e-9, + c: 1.964022068893579e-9, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.130479236178504e-9, + c: 7.236615057379775e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.189352776123821e-10, + c: 2.095229695792325e-9, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.495066384479860e-10, + c: -2.141846226836188e-9, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.047489031492646e-10, + c: -2.044442702174678e-9, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.856122859064842e-9, + c: -1.032236102476809e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.761656183789342e-11, + c: 2.117941153684697e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.827565725749581e-9, + c: -9.061885764766135e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.870799421200040e-9, + c: -8.126972178426631e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.140928582995182e-10, + c: -1.950669177413282e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.385213058277901e-10, + c: 1.938507456526254e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.108327311241010e-10, + c: -1.864084771294515e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.732756497467031e-9, + c: 9.790991363930121e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.732405912512020e-9, + c: 8.921861270978352e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.324032742419549e-9, + c: 1.410455935385191e-9, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.893181881884403e-9, + c: 3.207867210939380e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.666398232372619e-9, + c: -9.189612663271758e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.084170026170232e-9, + c: -1.547010186009039e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.670494644760366e-9, + c: 6.708082479900309e-10, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.152065640163850e-9, + c: 1.365044746897144e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.678402282534566e-10, + c: 1.758941724863465e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.300107097506400e-10, + c: 1.584879200324359e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.208942199892706e-10, + c: 1.644613125279987e-9, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.721423464954587e-9, + c: 7.664499349162757e-11, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.757610403891323e-10, + c: -1.388197958339436e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.456230486660375e-9, + c: -7.533288995941272e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.619440506313547e-9, + c: 1.969325755436891e-10, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629206094105425e-9, + c: 6.469980275838008e-11, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.556701610960088e-9, + c: -4.456974222694735e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.737231493415916e-10, + c: 1.359693129959412e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.932389231190070e-10, + c: 1.250856328804683e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.891894759283030e-10, + c: 1.415379915085507e-9, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.071965180667760e-10, + c: -1.182204779438018e-9, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.898792775525158e-10, + c: 1.213902403143054e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.404806518002038e-9, + c: 2.998633276156176e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266866907202272e-9, + c: 6.372880949490416e-10, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.386928646871074e-10, + c: -1.248765671031927e-9, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.240157190347753e-9, + c: -6.296052471995498e-10, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040281838485029e-9, + c: 8.573138389800129e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.298207700494571e-9, + c: 3.497553283477260e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.171200000623145e-9, + c: 6.503668104976979e-10, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.016575771452074e-9, + c: 8.582717118578017e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.050035690839814e-9, + c: -7.976716574427712e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.295877257723093e-9, + c: 2.036576007230857e-10, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.307151365691642e-9, + c: 7.832264951253936e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.174456647939618e-9, + c: 5.631010755733333e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.560638840083654e-10, + c: -1.110646503226944e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.289716310395599e-9, + c: 8.390973325921893e-12, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.978686174197064e-11, + c: -1.256191112875597e-9, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.769461180033597e-10, + c: 9.826368255105322e-10, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.741976437441845e-10, + c: 1.187788774288824e-9, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.450629995082152e-10, + c: 1.220527020261685e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.548706338561785e-10, + c: 1.067145427311225e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.105711029023265e-10, + c: -1.018889342543296e-9, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.384679337900504e-10, + c: -1.164464621019703e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.142503256327744e-9, + c: -1.462501088489583e-11, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.278881146029805e-10, + c: 9.491468342848914e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.003312055609036e-9, + c: -5.115822728535704e-10, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.443650018784379e-10, + c: -1.034355722457910e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.065125846342941e-9, + c: 3.436364800981673e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.075362419205982e-9, + c: -2.862069125743776e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.905171120263877e-11, + c: -1.105385484708467e-9, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.967833388854064e-10, + c: 9.783875256105182e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.862348539083151e-10, + c: 9.210395007286038e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054300278826974e-9, + c: -2.781015194843400e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.418152468356997e-10, + c: -5.434484376449440e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.354789708904871e-10, + c: -1.077294254843284e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.364763578818903e-10, + c: -5.443092556828456e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.754840911734281e-10, + c: 4.200488900749804e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.005176109449961e-9, + c: -1.965406950673774e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.194223310625262e-10, + c: 6.069163711493549e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.042559702122656e-10, + c: -4.571617839280724e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.994385050167858e-10, + c: -4.598910802468288e-10, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.859309255807342e-10, + c: 9.663557545547282e-10, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.182078664406562e-10, + c: -4.103215833456759e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.470946302993229e-10, + c: -8.319673394485827e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.733982289863996e-10, + c: -8.051444738996602e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.592413768485972e-10, + c: 1.722333141670364e-10, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.745542193410352e-10, + c: 4.252789032869043e-10, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.116734923165903e-10, + c: -9.065463565734379e-10, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.286237160897080e-10, + c: -5.791042197654080e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.085875586850650e-10, + c: -5.908297406494283e-10, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.059923566082904e-10, + c: 8.265001584902364e-10, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.961888082463266e-10, + c: -5.812238001908030e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.924818117835292e-10, + c: 4.316200948786082e-10, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.694852075618136e-10, + c: 8.604384630041410e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.794903058166657e-10, + c: 8.131061358270602e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.910479195161530e-10, + c: -4.081420342449181e-10, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.995859429041030e-11, + c: -8.881350570084115e-10, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.244879679067582e-10, + c: 8.536240383837827e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.960254989881714e-10, + c: -6.116713300672677e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.551482139680353e-10, + c: 6.938134438240904e-10, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.403474422086885e-10, + c: -5.187239617815683e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.685185333617358e-10, + c: 7.348362709219680e-10, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.636531085119116e-10, + c: 6.780312404559438e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.102294400795640e-10, + c: -5.299202743671022e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.586961957235722e-10, + c: 4.087708548355777e-10, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.330604846135299e-10, + c: 7.126914275923965e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.558421621309444e-10, + c: -5.795417860165932e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.093412611877375e-11, + c: 7.074830669554240e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.737843360181584e-10, + c: 2.044633508372754e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.925690685378098e-10, + c: 1.142570677179887e-12, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.126090606751511e-10, + c: -3.211833159314940e-10, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.770976604998666e-10, + c: 1.330308707175086e-10, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.252592673239724e-10, + c: -4.458038419023779e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.606382861582501e-10, + c: 6.627503275505143e-10, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.069744834147223e-10, + c: 6.038032801908492e-10, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.865129165259340e-10, + c: -3.204457770106953e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.227760529909641e-10, + c: -2.411359708953946e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.943856276512151e-10, + c: 6.246056029042714e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.749861541971428e-10, + c: 3.063004234840705e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.946614341659219e-10, + c: -2.402288131385969e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.898313686648557e-10, + c: -4.935732893946117e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.675099457444772e-10, + c: 2.669440526922325e-10, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.200956411498840e-10, + c: 3.440044929358447e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.116658579938483e-10, + c: 3.559781680736628e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.474581826472629e-10, + c: -2.767138440781531e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.710280038587115e-10, + c: -4.841921653939276e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.054452380194952e-10, + c: 5.977454326406811e-10, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.004888905344909e-10, + c: -5.185334230257490e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.466493526583332e-10, + c: 4.881864990609690e-10, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.089721079045559e-10, + c: 4.122385634973632e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.027255814906886e-10, + c: 5.433114151326355e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.971056405961066e-10, + c: -4.912746711093788e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.779245163884791e-10, + c: -5.424426629412141e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.390613521190733e-10, + c: 1.863433071013050e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640089351818577e-10, + c: 4.923216097310849e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.733783611249584e-10, + c: -4.141400648806880e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.155570776838627e-10, + c: -3.708679639872888e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.998565171550053e-10, + c: 4.462660881064604e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.086930205963234e-10, + c: 1.665360664875450e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.419356017970441e-10, + c: 4.766485644819998e-10, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.624784944351780e-10, + c: -2.665079252281973e-10, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.681235279395031e-10, + c: -2.500711155985199e-10, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.077824249892112e-10, + c: 8.089725692129758e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.067159446844897e-10, + c: -7.560558500947121e-11, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.199177250718217e-11, + c: 4.928744444020555e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.779563874779205e-10, + c: 3.212735137659267e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.498737820985759e-10, + c: -2.048895976699346e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.225295013728014e-10, + c: 4.412592524525885e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.713034683735614e-10, + c: 1.344600677509653e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.317953411891208e-10, + c: 4.283951143987656e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.299383327129480e-10, + c: 2.229319104881876e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.403533462041146e-10, + c: 4.540693260845197e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.620103975949195e-10, + c: 9.469257113662067e-11, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.519213106795406e-10, + c: 1.323137029316499e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.697203041676236e-10, + c: -1.952453385134365e-12, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.652041873867452e-10, + c: -5.884061379327057e-11, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.868872290556711e-10, + c: -4.239739085887812e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.453493064825605e-11, + c: 4.549839031239801e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.558879152052948e-10, + c: -6.228591703771023e-12, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.286754297543895e-10, + c: -1.276404099331401e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.210876175789137e-10, + c: -3.024878681720097e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.866097902215342e-10, + c: 2.087129813985170e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.603240581068858e-10, + c: 3.515729531944750e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.533263677509051e-10, + c: -3.520743123567572e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.110810630275009e-10, + c: -1.233268847864527e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.796608444732529e-11, + c: 4.175807578576264e-10, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.020219935644290e-10, + c: -3.006524836827999e-10, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.087980425925108e-10, + c: -3.659840824482533e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.493383450005372e-10, + c: -2.259088143007856e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.831178201977460e-10, + c: 3.611867219963439e-10, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.738169168131092e-10, + c: -1.553664301733361e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.540650537788869e-10, + c: -1.930573510843931e-10, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.901005709715699e-10, + c: -8.660222664153882e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.858335230260652e-10, + c: 9.539309596448219e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.054143311597046e-10, + c: -2.514874131714674e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.779208522974935e-10, + c: -3.500948646173510e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.486453754669397e-10, + c: -1.780636124762595e-10, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.258546682578210e-10, + c: -2.095595043027911e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.692177934668860e-10, + c: 1.018910620107010e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.505622656832118e-10, + c: 3.492493654169512e-10, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.655538376678443e-10, + c: -1.033709779775118e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.553588529831506e-10, + c: -1.205047938404224e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.506458747931494e-10, + c: -1.028626198906989e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.334032783748757e-10, + c: 2.810054057962359e-10, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.254906279168615e-10, + c: 1.635554566902661e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.645752121125872e-11, + c: 3.608409090290131e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.933275956256193e-10, + c: -2.938561603560055e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.139888960560267e-10, + c: 1.558177740726865e-10, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013967295567737e-10, + c: 3.304265147060085e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.454107347797230e-10, + c: -3.854252996179015e-12, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.869588648063301e-11, + c: 3.436886905359689e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.440546962343365e-10, + c: -2.431300651722635e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.114832084056581e-10, + c: -3.240242015539655e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.831840832104333e-10, + c: -2.892889315990542e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.994572709521617e-10, + c: -1.650445748576417e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.032391206098602e-10, + c: 1.511754322493893e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.348169123844649e-11, + c: -3.218315876933237e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.139788649726919e-11, + c: 3.266887590543283e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.419596796465667e-10, + c: -2.204681544746098e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.134359357090782e-10, + c: 8.284950412443529e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.730639264384923e-10, + c: -1.731342310454831e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.955374957629326e-10, + c: 2.521998248051983e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.969717143884705e-10, + c: 1.154350836902973e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.955277844909779e-11, + c: 3.119866784963774e-10, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.064763081552231e-10, + c: 6.870007069402797e-11, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.906908084209468e-11, + c: -3.085450717030903e-10, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.656147432249581e-10, + c: -1.480115918658778e-10, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.975460511992890e-10, + c: 4.395873325048917e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.998117969289160e-10, + c: -1.166239270833954e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.223311300562967e-11, + c: 2.904362980406844e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.342170888982004e-10, + c: 2.658391859149317e-10, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.660479377892451e-10, + c: 1.164148146264868e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.715271260975847e-11, + c: 2.831787162801047e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640644822852554e-10, + c: -8.159557996628179e-11, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.587942899249558e-10, + c: 2.246003301394195e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.473668158891651e-10, + c: 1.198777010723347e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.793525854498480e-10, + c: 2.080942467749495e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.389757835633607e-10, + c: -1.336522495822469e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.372265784789879e-10, + c: -1.285080055725562e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340509252289655e-10, + c: -1.340778242376439e-10, + mult: [0, 0, 3, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.542582143933077e-10, + c: 8.844704624265288e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.531706169755455e-10, + c: -2.213192347488082e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.832474009979302e-10, + c: -1.932336906810203e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.540620347748859e-11, + c: -2.646436502525398e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.574170012102359e-10, + c: 2.121933674870728e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.564564364626880e-10, + c: -6.255803026027018e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.627821804982098e-10, + c: -5.119893707051420e-12, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.714088766246562e-10, + c: -1.976167829445767e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.375748644200874e-11, + c: 2.468427875573450e-10, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.549543061287187e-10, + c: -2.091995711810369e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.979379028625844e-10, + c: -1.658538691168644e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.904008250391069e-10, + c: 1.677074507627850e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.923283252271295e-10, + c: -1.627326869948342e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.327128827955471e-11, + c: 2.406162607223083e-10, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.478295487927188e-11, + c: 2.374034578766953e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.304120872181194e-10, + c: -2.119247696479667e-10, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.234607870276568e-10, + c: 1.056851241290040e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.338903027494401e-10, + c: 6.683956533238260e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.528487558554426e-10, + c: 1.857333384654728e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.070455301987202e-10, + c: -1.116976813077393e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.027095083639312e-10, + c: -1.129179861002700e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.465459533467961e-10, + c: 1.797794429526397e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.271334152619318e-10, + c: 1.935460810070988e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.110701562029078e-10, + c: 9.217414821069296e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.298440461475065e-10, + c: -3.007173395548212e-12, + mult: [0, 0, 5, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.979277014846649e-10, + c: -1.128214350571808e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.148481121657369e-10, + c: 7.017325007532638e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.720804712290138e-10, + c: -1.413430539949735e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.714143567415338e-10, + c: 1.411127724948878e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.999958159142835e-10, + c: -9.513106013172585e-11, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.385324252776536e-11, + c: 2.191248925407323e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.836042378409610e-12, + c: 2.146862194375247e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.406031864930709e-11, + c: 2.133740613524439e-10, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.571331724765668e-11, + c: 1.909794763077116e-10, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.738327430675139e-11, + c: 1.918406099617008e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.839242494128451e-11, + c: 2.008703013078775e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.939265018885372e-10, + c: 7.784942149637315e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.791595659108267e-10, + c: 1.048052681442351e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.878485623116221e-10, + c: 8.734532956719433e-11, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.426568820505026e-10, + c: -1.486038550887054e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.362800331731118e-10, + c: -1.522056129925417e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.985389959208546e-10, + c: 4.713041313304746e-11, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.460519972092852e-10, + c: 1.423595652511488e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.027399527802211e-10, + c: -5.843395081047721e-12, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.961007188108614e-10, + c: 4.956068480498753e-11, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.646871162509456e-10, + c: -1.160287952208460e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.918968266089519e-11, + c: 1.882693057313522e-10, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.924457020848507e-10, + c: -5.635435836426356e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.918043897111661e-11, + c: 1.735615530167663e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.775430781370427e-10, + c: -9.098793153899187e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.342885001145896e-10, + c: -1.448856497632982e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.752003612696922e-10, + c: 8.957205480000431e-11, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.745336063476907e-10, + c: -8.887496652524637e-11, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.396688301297565e-10, + c: -1.368504052248111e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.478641075686469e-10, + c: -1.264096738008027e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.518746949651288e-10, + c: -1.206356856790719e-10, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.606786427450667e-10, + c: -1.064893492099022e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.637130780458589e-10, + c: 8.817564992193861e-11, + mult: [0, 0, 7, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.294866389125595e-11, + c: 1.752957004032812e-10, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.444322277046161e-11, + c: -1.744176069436025e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.465088683999196e-10, + c: -1.076873468059973e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.495990749843288e-11, + c: 1.734251627404450e-10, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.031168181710574e-11, + c: -1.762831203483511e-10, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.346431906121473e-11, + c: -1.541728025208204e-10, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.506419358868459e-10, + c: -8.500042601688356e-11, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.697681512382064e-10, + c: -2.716011940671426e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.446659293239302e-11, + c: 1.543284215495529e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.530786074986403e-10, + c: -7.697755596502287e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.513404692476725e-10, + c: -7.721999674084652e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.466600367099712e-10, + c: -8.557636096991608e-11, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.279872447660583e-10, + c: -1.111450039498060e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.492255206843359e-10, + c: -7.814462479035291e-11, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.094214315335239e-10, + c: 1.271663705071510e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.955373469672556e-11, + c: 1.401006117179465e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.586854028718079e-10, + c: 4.623767284582630e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.393312247689818e-10, + c: -8.830013473144506e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.023264056203242e-10, + c: -1.279273562270418e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.523416967986499e-10, + c: -5.908838525310755e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.692997524648835e-11, + c: -1.382206865154363e-10, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.004881519693883e-12, + c: -1.624381738256368e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.462084804891817e-10, + c: -6.747294306482629e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.021405271919531e-10, + c: 1.234412983700156e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.700406042942021e-11, + c: 1.250057376204235e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.571820288547017e-10, + c: -6.292276218615838e-12, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.355856329231974e-10, + c: -7.824129414422334e-11, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.005635692379324e-10, + c: -1.190108073058312e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.421698766924781e-10, + c: 6.307348026473020e-11, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.519063222669235e-10, + c: 2.207255387852711e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.351916116528348e-11, + c: -1.487628070543601e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.477338523451554e-10, + c: -3.649183579982216e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439735680355238e-10, + c: -4.738872988743085e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.203194822663434e-10, + c: -9.127778618276956e-11, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.664404379504797e-11, + c: 1.343001137150145e-10, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.211148537058045e-10, + c: -8.751085286244747e-11, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.192544825186649e-10, + c: -8.968057867617471e-11, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.073633488714914e-11, + c: 1.382025295567761e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.772281647806328e-11, + c: -1.454356735639549e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.649306533392551e-11, + c: 1.380386995348026e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.298585761728644e-13, + c: 1.453981245416587e-10, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.603736162649558e-11, + c: 1.231320955500723e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.176373629970755e-11, + c: 1.378858818986322e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.165110665902710e-11, + c: -1.422269140939760e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.127935304357632e-11, + c: -1.170547046749449e-10, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.089139421215886e-14, + c: 1.417251341943217e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.759004522478751e-11, + c: -1.386436370635855e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.712819028463871e-11, + c: 1.273078038620400e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.761882929910099e-11, + c: 1.077589832234759e-10, + mult: [4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.368314284451733e-10, + c: 2.090852831435159e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.538934465219728e-11, + c: -1.288241931017274e-10, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.783252032106903e-11, + c: 1.035170223344204e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.163890465490978e-10, + c: -6.667438902284658e-11, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.614874776995699e-11, + c: 1.252783413110483e-10, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.825740540216010e-11, + c: 1.277436086729067e-10, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.616410002864265e-11, + c: 9.148756711214082e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172795928735720e-10, + c: -6.134427499115154e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.578880028049429e-12, + c: -1.312133080935781e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.282317360631136e-12, + c: 1.308962534722044e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.430248012543672e-11, + c: -8.964500785517197e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.311241961809264e-11, + c: -1.072831359929230e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.257489688324042e-10, + c: 3.159271870862655e-11, + mult: [0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.079001764954219e-10, + c: 7.083242852024753e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.697619296668083e-12, + c: -1.282287810205840e-10, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.217250699103019e-10, + c: -3.905707228444811e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.217735844966141e-10, + c: 3.808569231192669e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107940293632081e-10, + c: -6.284076060290554e-11, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.081474420825346e-10, + c: -6.463639168209430e-11, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.788953840805816e-12, + c: -1.250859492477051e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.844722151004505e-12, + c: 1.243544205122773e-10, + mult: [0, 2, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.297647522740959e-11, + c: 8.235176580998660e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.684468600689161e-11, + c: -9.752264187552182e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.400865103894840e-11, + c: 8.065385732105460e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.454651368931996e-11, + c: 9.001671525888535e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.287581829698558e-11, + c: 1.209291284796157e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.217493288268204e-10, + c: -6.362141883191173e-12, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.397202018716960e-11, + c: 9.568628574669034e-11, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.132292470534631e-11, + c: 8.917324484474173e-11, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.198120817543139e-10, + c: -1.317552950277241e-12, + mult: [0, 0, 4, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.322128392279541e-11, + c: 1.107635228031212e-10, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.372203154183103e-11, + c: -9.248437822827440e-11, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.273411117315047e-11, + c: -7.260358509592681e-11, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.786961455941817e-11, + c: 9.593467595241382e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.681994194613533e-11, + c: 6.657291141606973e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.092499201716534e-10, + c: -4.249087383293279e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.164872387184803e-10, + c: 1.037768371047548e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.647886289370310e-11, + c: -6.509516428116378e-11, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.272315160324760e-11, + c: -9.781961841157850e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070750026703143e-10, + c: 4.504618726940284e-11, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.739598877264530e-11, + c: -1.128000565788370e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.752908012958501e-12, + c: -1.158795394453910e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.654020547236548e-11, + c: -9.484578113093752e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.303289407781707e-11, + c: -7.973886534931201e-11, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.318030694134329e-11, + c: -6.678775152763040e-11, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023919476523896e-10, + c: 4.980658202126186e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.233486379377369e-11, + c: -1.002791923240095e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.066338331365469e-10, + c: -3.053542063316646e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.839580606785609e-11, + c: -9.360260738962978e-11, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.408083184847894e-11, + c: -8.807878114747801e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.675881288938383e-11, + c: 1.063569915803299e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.437106066923547e-11, + c: 7.649457287051560e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.904811577260191e-11, + c: -5.800621410915789e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.141796916665065e-11, + c: -5.328835738701392e-11, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.050646850498303e-11, + c: 8.614463409315738e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.448114853672965e-11, + c: 9.508820230549079e-11, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.058750157429607e-11, + c: 5.299967560458587e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.358932766868755e-11, + c: -8.330075711474875e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.186541953431730e-11, + c: -7.603550476816998e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.145514029108683e-11, + c: 4.965960219381154e-11, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.778032556558918e-12, + c: -1.033620865373072e-10, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.539094025537142e-11, + c: 9.264205989809107e-11, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.914075518792710e-11, + c: 5.077974569337423e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.206948110980934e-11, + c: -8.828917778243479e-11, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.907722526534376e-11, + c: 9.472198537695227e-11, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.488750142544962e-11, + c: 6.860389903109135e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.648390939077139e-11, + c: 9.420664127962215e-11, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 2.766670965181005e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.579526169862766e-8, + c: 1.425955622987341e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.152242274740606e-8, + c: 5.441264055130824e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.188091568390195e-9, + c: -8.675665856858965e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.879917589234281e-9, + c: 6.127252858416307e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.510475932962619e-9, + c: -8.256985011767347e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.630966863072452e-9, + c: 7.915428963648409e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.798227178002035e-10, + c: 5.605410058233310e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.873528833165677e-10, + c: -5.550395284643583e-9, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.240519111901181e-9, + c: 2.537882295112259e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.114240383444945e-9, + c: -3.393642814095311e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.549187288027154e-9, + c: 3.218284620304751e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.353445058191339e-9, + c: -3.140841372142975e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.860681417776806e-9, + c: 1.409153181108491e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.209537912848619e-9, + c: -2.827162442136691e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.775416755508776e-9, + c: -1.323477807630548e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.431145926463616e-9, + c: 2.540340831090756e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.262439255878197e-9, + c: 2.537787950571787e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.689797338134137e-9, + c: 7.008104938541705e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.229554547540724e-9, + c: 1.519532284660001e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.677582233914557e-9, + c: 2.264507645323798e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.931686698401094e-10, + c: 2.490026795923754e-9, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.042655317015979e-9, + c: -9.475767310099628e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.111305461344139e-9, + c: -1.528195153380571e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.279605644332358e-10, + c: 1.874653970456400e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.523541487776316e-9, + c: -1.336250815972393e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.786986918453437e-9, + c: 8.284649304322665e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.985585907768959e-10, + c: -1.592185717981514e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.575080181890055e-10, + c: 1.602091455582531e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.921595670211793e-11, + c: 1.544977653764634e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.740600934366356e-10, + c: -1.395074498803968e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.509427200650489e-10, + c: 1.354200511786736e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.692393188996333e-12, + c: 1.493869145250311e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.289159407385228e-10, + c: 1.065643690837008e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148815399206319e-9, + c: -5.507225846626374e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.682273222586869e-10, + c: -6.495737479254396e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.087360843813783e-10, + c: -6.757925543692956e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121777663012691e-9, + c: 4.735551262736131e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.006318439702539e-10, + c: -8.789776077654706e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.159734626299242e-10, + c: -8.321696340246519e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.152654899819567e-10, + c: -4.470490222800911e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.957843233631241e-10, + c: 8.835272793381444e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.911432075993583e-10, + c: -1.808343206156109e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.047007457257700e-10, + c: 3.039609737508731e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.826854952300486e-11, + c: -8.722347685527958e-10, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.960799515139051e-10, + c: -6.377929655726917e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.572183376260015e-10, + c: -7.963122103251803e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.459752445242663e-10, + c: -7.786629294870440e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.461055982664642e-10, + c: 8.602597534186071e-11, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.454674275634910e-10, + c: 7.589952961727164e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.831832409630905e-10, + c: 5.952893090159210e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.415223931285792e-10, + c: -3.148491780902481e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.089627779470049e-10, + c: 3.637723515961290e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.122351143773867e-10, + c: 2.870097417361171e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.615388592968904e-10, + c: -3.179688715804506e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.097419259102374e-10, + c: 9.118904898429477e-11, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.638570668936397e-10, + c: 3.929447262206468e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.899295931027618e-10, + c: 3.381728011367251e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.781929622753948e-10, + c: -8.241081985256043e-12, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.954439519605655e-11, + c: 6.724508995984052e-10, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.721270474757266e-10, + c: -6.054762216923468e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.297507624322189e-10, + c: -4.104027461626234e-11, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.786198444269663e-10, + c: 2.508083068387270e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.408677922129184e-10, + c: -5.791900095821731e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.141141030551837e-10, + c: -3.103940720639892e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.617017282117812e-10, + c: -5.195235221207553e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.766844752086468e-10, + c: 5.029745565082063e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.690649737016468e-10, + c: -2.547484384016451e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.395357450649177e-10, + c: -4.945316036982022e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.097730199436450e-10, + c: 5.048998795667983e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.595670901696665e-10, + c: -2.574898792992782e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.687086592739222e-10, + c: 2.282653562349745e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.781786365391813e-10, + c: 5.906751754039601e-11, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.107946655823694e-10, + c: 4.321969860566995e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.245346939195619e-10, + c: -2.042061760558918e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.696427019167525e-10, + c: -2.802975176166476e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.532334860657181e-10, + c: 8.752463786401585e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.400244611598059e-10, + c: -3.102020607570850e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.555089502977931e-10, + c: 1.025887355273245e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.234254143999618e-10, + c: -1.582001143191515e-10, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.205607225629001e-11, + c: -4.322041831869747e-10, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.450467056812352e-11, + c: 4.212539355526508e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.680667561460990e-10, + c: -3.133804690151788e-10, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.316727605538000e-10, + c: -3.397110576002323e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121034516821976e-10, + c: 3.940484302080093e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.278429374815413e-10, + c: -2.179636404918084e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.155911162000996e-10, + c: 2.261644658487047e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.077483815701679e-10, + c: -1.688508669135675e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.191502400457695e-10, + c: 1.398083393873515e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.933894135634945e-10, + c: 2.885571945048703e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.306803455771507e-10, + c: -3.183476773940765e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.025944972532257e-10, + c: 1.562951850252838e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.391230163176748e-10, + c: -2.355912659366974e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.436786444786007e-10, + c: -2.198960120849808e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.863978062035259e-10, + c: -1.376803215114445e-10, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.032390910969788e-10, + c: -9.133326111212473e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.533690965763569e-10, + c: 1.884378743353131e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.102312751990007e-10, + c: 4.661501490157461e-11, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.699730564313287e-11, + c: 3.082901807946335e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.113773128276208e-10, + c: 2.769133485691054e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.416969998284677e-10, + c: -1.739554075951264e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.440895127366584e-11, + c: 2.848580996030632e-10, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.732280934128699e-10, + c: -8.618629575516432e-11, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.855229784389996e-10, + c: -1.768717120447933e-11, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.280076435421973e-11, + c: -2.733028540195792e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.766287036826965e-11, + c: -2.647050833411391e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148957281213908e-10, + c: 2.408650057890524e-10, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.076383023090695e-10, + c: 1.538775773937550e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.913569703646144e-11, + c: -2.460124382254494e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.543563973652839e-10, + c: 9.941262311181324e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.428123542619188e-10, + c: -3.818005374745677e-11, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256906308621100e-10, + c: 2.010707222708437e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.752829505462187e-10, + c: -1.565774485256284e-10, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.084003254652952e-10, + c: 2.084885270314823e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.010848577247019e-10, + c: 2.074815960603964e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.449883030030267e-10, + c: 1.787693835535487e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.795397109605140e-11, + c: -2.116529100118227e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.215806087334018e-10, + c: -2.563274677795762e-11, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.546691466476825e-11, + c: -2.093447051514285e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.317447262055063e-10, + c: -1.782495099765329e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.985068846395306e-10, + c: -9.527045954408506e-11, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.580414029682208e-11, + c: 2.037881584590488e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.757351544637808e-11, + c: -1.924236304292453e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.119918756244864e-10, + c: 3.853647053671425e-11, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.420011321744016e-10, + c: -1.550146809115995e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.789078319761405e-10, + c: -1.087950279099494e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.001803046906168e-10, + c: 2.447469080830653e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.005749724921637e-11, + c: -1.952869275009766e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.855990505663155e-10, + c: -4.660230957827972e-11, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.000070744401542e-10, + c: 1.582785656347602e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.556015385910294e-10, + c: -1.032298512285865e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.028901354868049e-11, + c: -1.608852832001856e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.447695980117041e-10, + c: 1.115595090785314e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.741647012656618e-11, + c: -1.767726859854602e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.574011112862742e-11, + c: 1.633938239491685e-10, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.377737119459243e-10, + c: -1.103154729563523e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015694415182002e-11, + c: 1.655477671383469e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.483255797106561e-11, + c: -1.511069001604035e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.592145908144612e-10, + c: 3.810112887458717e-11, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.131602665725337e-10, + c: 1.176854907845869e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.741034241200193e-11, + c: -1.555762189085860e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.398129390183066e-10, + c: -6.693215425260520e-11, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.285937386009065e-10, + c: -8.652252611929834e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.316632525256261e-11, + c: -1.413087889396124e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.924671876118705e-11, + c: -1.421326845065296e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.276717566126316e-10, + c: -8.545293145942174e-11, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.270517796318420e-11, + c: -1.383788184954637e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.480347092332254e-10, + c: 3.226768338404446e-11, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.080838441886419e-10, + c: 1.026223598537615e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.452565392870240e-10, + c: 1.368033854064045e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.872249775548731e-11, + c: 1.310686974429154e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.496405995704808e-11, + c: 1.065254569547450e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.328660653865353e-11, + c: 1.211245152681850e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.617273748266364e-11, + c: 1.148920684378800e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.583763679837578e-11, + c: 1.068800222115201e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.315657676143193e-10, + c: -3.512033942080030e-11, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.490403652114744e-11, + c: -1.319537119827751e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.093427338003182e-11, + c: 1.237977624557910e-10, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032576303276045e-10, + c: 8.313466683903452e-11, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.291872623037740e-10, + c: -2.361581311697780e-11, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.271727714242935e-10, + c: 3.105543102051966e-11, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.009651573693140e-11, + c: -1.100016868925733e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.334523116650973e-11, + c: 1.188639227363914e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.653297453792816e-11, + c: -1.172301524747437e-10, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.076697460736457e-10, + c: -6.842791718060855e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.271055836717873e-10, + c: -8.206163711083849e-12, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.471574947039290e-11, + c: -1.029157370392868e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.952686768763958e-11, + c: -1.234236157941401e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.389143896509649e-11, + c: -8.427931024697486e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.526269888153823e-11, + c: -1.046257692734292e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.191757357143077e-10, + c: 2.488848216281533e-11, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.497444168536149e-11, + c: -1.078574078604338e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.838257602635602e-11, + c: 9.211801722933243e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.818838324497039e-11, + c: 6.690631520602791e-11, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.184525141089909e-11, + c: -1.032832053584669e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.153361338816482e-11, + c: -6.973088812993234e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054703135514779e-10, + c: 4.057331575763446e-11, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.713894827437537e-12, + c: 1.122951193612811e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.606178792233556e-11, + c: -8.939939894240896e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.947591632252294e-11, + c: -4.746620192662024e-11, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.652001175520108e-11, + c: 5.265296727519116e-11, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.596604722344231e-11, + c: -7.891774106282598e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.976902362026980e-12, + c: -1.091687329771314e-10, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.105842187490399e-11, + c: 9.651908565037056e-11, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.758236332225008e-11, + c: -4.763560711169128e-11, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.193086577740257e-11, + c: 8.131889135216994e-11, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.908940136550095e-11, + c: -7.332254691594798e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.769377415275307e-11, + c: -9.664125772849396e-11, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.042566934624147e-10, + c: 2.699787277383724e-11, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.897091110036763e-11, + c: -7.185776352063074e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.792562142143727e-11, + c: -9.444978745018823e-11, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.014665010976391e-10, + c: 2.043969191024263e-11, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.029515700613915e-10, + c: 6.463732418488529e-13, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.134289883727644e-11, + c: 9.253743687809455e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.005755462469633e-10, + c: 7.000881550295942e-12, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 1.172924720970200e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.321164737224201e-10, + c: -1.483993461019406e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.051173620996685e-9, + c: 6.511297743615495e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.000067908740813e-9, + c: -6.682934665970896e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.883918789193767e-10, + c: 8.828787966560800e-11, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.519253265782809e-10, + c: -3.983677253290892e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.066831482179140e-10, + c: -2.773475140888497e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.324239015865163e-10, + c: 2.009453797016309e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.005308350205667e-10, + c: 2.511551359403913e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.795835436176910e-10, + c: 4.038786246644166e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.085098226290076e-10, + c: 3.161650257371909e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.434876031621042e-10, + c: -1.518171545930557e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.858272366534366e-10, + c: -2.007662667673430e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.938038724205477e-11, + c: -3.189122013987123e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.831860751172828e-10, + c: 1.211319054585749e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.605332265192131e-10, + c: -2.566293019525706e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.712521321236291e-10, + c: -2.298192423769287e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.617714955885376e-10, + c: 4.073861056063392e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.639749561354007e-11, + c: -2.136860774177409e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.929169785898010e-11, + c: 2.036065312136188e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.696543006025603e-10, + c: -1.191602276712227e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.784739652916495e-10, + c: 1.053759575337818e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121155047579199e-11, + c: 2.019588853755390e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.960036700763416e-11, + c: 1.941421752425050e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.364770276119908e-11, + c: 1.540784571012003e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.721859387151397e-11, + c: 1.681516982676158e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115895875229549e-10, + c: -7.475587829928123e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.263606989697622e-11, + c: 9.995408907192275e-11, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.720990995633197e-11, + c: -1.118329765519305e-10, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024135257224876e-10, + c: 6.248894434333003e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.988714908246311e-11, + c: 6.264924635059443e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.076370491334429e-10, + c: 4.169158817434012e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.597488427543622e-11, + c: -6.364888678289597e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.314846614496000e-11, + c: 7.537265460380283e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.199314640330525e-11, + c: -9.931750556600281e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: -2.733318996560913e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.606062106058152e-11, + c: 9.647207383120489e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.878300067505458e-11, + c: -9.026794893661479e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.026362236342421e-10, + c: 5.315386911877472e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.488775782419619e-11, + c: -1.054680993665738e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[Term { + s: 0.0, + c: -7.231233413191204e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.628448918000000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.987013745289864e-5, + c: 7.526846313162709e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.864057696178798e-5, + c: -2.452936689604385e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.510832741338689e-5, + c: 1.459415500860214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.195711244672714e-6, + c: -7.769471047056033e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.834704916054496e-6, + c: 4.087291284809084e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.807034712377753e-6, + c: -6.457592891121061e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.490548679441895e-6, + c: -3.960952191879031e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.491428373126257e-6, + c: -6.217073286110499e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.153653868938366e-8, + c: -2.943067103008335e-6, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651423617509794e-6, + c: -2.248898024870491e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.300789018717025e-6, + c: -3.411048952993720e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.099982538268881e-6, + c: -1.006623681323352e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.781153632213754e-6, + c: 4.444540305547815e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.292752629410520e-6, + c: -5.207878656684830e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.704211085677255e-7, + c: 4.820763651525239e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.431810244781636e-7, + c: -4.723514883314581e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.884358672225874e-7, + c: 8.386188558135470e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.822145530326662e-7, + c: -5.388954094359329e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.302093517523852e-7, + c: -8.944554613087627e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.979803489390236e-8, + c: 7.183621628140709e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.503643337095557e-7, + c: 2.082668978462636e-9, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.319760996329796e-7, + c: -9.717369403776026e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.932636761010934e-7, + c: -4.968434258492661e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.453249576798971e-7, + c: -1.610164331340329e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.340893717333979e-9, + c: -4.472162452623613e-7, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.898763227483465e-7, + c: 3.872004665376631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.892089636875753e-7, + c: -2.437889809313866e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.759890246305776e-7, + c: 8.550538747444899e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.364713817001863e-7, + c: 6.452612765910708e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.936436198026685e-7, + c: 1.598537515867548e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.221676307797035e-7, + c: -7.560363886620337e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.192763725515658e-7, + c: -4.344625661036999e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.914151757949732e-7, + c: -2.315079184745423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.916044663766633e-9, + c: 3.002225516166799e-7, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.693957850331761e-7, + c: 1.636817096083756e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.353345883276159e-7, + c: -2.169053746696941e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.417432316597657e-7, + c: 3.880175363476709e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.197531161120354e-8, + c: -2.149408846679256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.103814793037261e-7, + c: -3.676562557961062e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.597716102909290e-8, + c: -1.734737475742095e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.651037708859934e-7, + c: -9.384448572693612e-8, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.858843152337794e-7, + c: -4.202303289438123e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.858552507965355e-7, + c: -5.146285932786079e-10, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.805784901835833e-7, + c: -5.200236178108846e-9, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.519813923867977e-8, + c: 1.496091788785406e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.428963618167562e-9, + c: 1.742088056147407e-7, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.509157637302169e-7, + c: -7.016432435507877e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.656483385731484e-7, + c: -4.508579273084975e-9, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.588613017667809e-7, + c: -3.736113242316870e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.431967453777507e-9, + c: -1.562753768993928e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.209161883481641e-9, + c: -1.508293020951566e-7, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.245451739639229e-7, + c: -7.464032366933848e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.404309142025991e-7, + c: -3.044166256500415e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.378308540704531e-7, + c: 2.325910546412368e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.289654767194241e-7, + c: -3.064640522130683e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.063997738976845e-7, + c: 5.591113582995231e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.624319777156933e-9, + c: 1.125028654600510e-7, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072198372414748e-7, + c: -1.378808130816283e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.041005150477974e-7, + c: -1.675374785076248e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.002481716170823e-7, + c: -2.600497651414010e-8, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.833159586196602e-8, + c: -2.450954240052636e-9, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.583549765878698e-8, + c: -1.556256671309078e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.465805051404907e-8, + c: -2.480737310769878e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.644467555671449e-9, + c: 9.316958040983838e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.274923788908794e-8, + c: -3.063457105102441e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.565140026954137e-8, + c: 1.661215088733909e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.305866795466515e-8, + c: -3.454757539930214e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.674361961909323e-8, + c: -7.723513463096658e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.840671194944449e-8, + c: -5.821793558270596e-9, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.516529200783871e-9, + c: 7.631608555034437e-8, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.930762794701455e-9, + c: -7.411833424600134e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.280127110503047e-8, + c: -1.926117713969222e-9, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.580820394721066e-8, + c: -4.598162699195618e-9, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.386886885784205e-8, + c: -5.529991961225446e-8, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.429234966497265e-8, + c: -1.996816019741824e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.373376231466732e-8, + c: 5.177321895244937e-8, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.439086239915567e-8, + c: 2.720555759890935e-8, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.957190558411348e-8, + c: 1.192970565777388e-8, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.745411241870136e-8, + c: -2.619250396169414e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.766826755058596e-8, + c: -2.695705429207889e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.782289886479055e-9, + c: 5.315782955752213e-8, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.306114898268852e-8, + c: -1.494048246171741e-9, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.252520257863370e-8, + c: 4.713926478234966e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.988950434439931e-8, + c: 5.024675195893456e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.629636911910166e-8, + c: 3.208673202594306e-8, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.858451514903378e-8, + c: 4.401850181978315e-8, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.715479295841126e-8, + c: 5.377457914083760e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.705398954890713e-8, + c: -3.234049488985113e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.464149671159463e-8, + c: -1.328412964212822e-8, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.478804433925734e-8, + c: -3.892466271429896e-8, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.393472269284978e-8, + c: -1.591414498294909e-10, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.297290352383592e-8, + c: 8.119773507873975e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.712327361384117e-9, + c: -4.223480658307863e-8, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.077934451340873e-8, + c: 1.249894072295670e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.896720133092129e-8, + c: 1.708828895736636e-8, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.121660012575388e-8, + c: 4.543229530466631e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.067193605101956e-8, + c: -1.656706351760734e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.942361888528274e-9, + c: -3.803015625542091e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.832644999761894e-8, + c: -1.147498634312641e-9, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.275917222901835e-9, + c: 3.761080159686503e-8, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.028793128194819e-8, + c: -2.199328441294336e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.651418095448730e-8, + c: -5.416023647387182e-9, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.624422012069105e-8, + c: 5.651530703751812e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.856753094881309e-10, + c: -3.559806869069033e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.838608743734245e-8, + c: 2.020416129065527e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.997264296218064e-9, + c: 3.311018624876795e-8, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.058668296968583e-8, + c: 1.423165867592488e-8, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.861540252761211e-8, + c: 2.778518853201650e-8, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.912253564069087e-8, + c: -2.664242120344438e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.119759194067328e-8, + c: 9.261475860097628e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.820200425320708e-8, + c: 2.597215620924280e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.913948425064707e-8, + c: -1.002902244591511e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.972995486247588e-8, + c: 5.269935035273772e-9, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.017307436473623e-8, + c: -1.257917453238906e-10, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.940378819634698e-8, + c: -1.983236421649719e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.762552280082003e-8, + c: -9.468161689823133e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.008114111173481e-9, + c: 2.906796021676513e-8, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.435478627300032e-8, + c: -2.381207383573281e-8, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.753324082332953e-8, + c: -8.744980383623770e-10, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.190319427481704e-10, + c: 2.687325399861192e-8, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.937185360857152e-8, + c: -1.760809456785671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.548135035206835e-8, + c: -7.890623284579022e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.949069149641926e-9, + c: 2.250015410241851e-8, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.283854417026381e-8, + c: -5.596639763956565e-10, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.909747884834399e-9, + c: -2.040060554265424e-8, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.027852212831022e-9, + c: -2.221437183977842e-8, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.201807980950883e-8, + c: -3.987104027925247e-10, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.143317096000863e-8, + c: -1.724101716431236e-9, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.137401535240525e-8, + c: -4.627241000999404e-10, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.110789331310871e-8, + c: 2.824408158279178e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.017485975026860e-8, + c: -6.306400838575899e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.080805226957078e-8, + c: -9.873933529462057e-11, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.151830561296526e-8, + c: 1.662135292060079e-8, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.978722028138979e-8, + c: 3.757489660005956e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.971276861231238e-8, + c: -6.622748877556616e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.808995914430321e-8, + c: -7.576198745389645e-9, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.843569392189360e-8, + c: -6.669325152869037e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.784158904835773e-8, + c: 7.579438646693454e-9, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.642904761876706e-10, + c: 1.932493727984644e-8, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.832017530472053e-8, + c: 2.886101653553383e-9, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.730445252971234e-9, + c: -1.611234205398382e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.799179026768663e-8, + c: -2.698939915696555e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.644575826660577e-8, + c: -7.608659496091512e-9, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.789723924892242e-8, + c: -2.459606838077202e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.764493967536545e-8, + c: -2.986354829622262e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.707653105633363e-8, + c: -4.615834344522808e-9, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.714014323692309e-8, + c: -1.820914626172122e-9, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.467549919015703e-8, + c: -6.974961497350520e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.272594738884470e-9, + c: 1.615851402127013e-8, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.929102611404219e-10, + c: 1.606342524407221e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108224693843399e-8, + c: -1.137528955795436e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.930202988670975e-9, + c: -1.557368026949011e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.175101593271400e-9, + c: -1.416513255003437e-8, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.393029651452162e-8, + c: 4.396154078225692e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.440000353926936e-8, + c: -7.703965041445685e-11, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.418575502013543e-8, + c: 4.163299338811162e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.408353259395333e-8, + c: -4.989669555796349e-10, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.378129750375185e-8, + c: -2.689813213770587e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.210359801102128e-8, + c: -7.100891957014919e-9, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.811024145311497e-10, + c: 1.395710166286793e-8, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.380195741874239e-8, + c: -5.589161181958057e-10, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.519321345695623e-10, + c: -1.372627422287967e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.608498601275279e-9, + c: 1.195282095236617e-8, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.058407556859578e-9, + c: -1.103990101042670e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.097335076516150e-10, + c: 1.284304385928971e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.268735170011167e-8, + c: -1.556460032066951e-9, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.445997022281913e-9, + c: 1.031834307600359e-8, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.229820045657848e-8, + c: 1.727735003679084e-9, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.206978049396723e-8, + c: -1.099983032824521e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.155522095231902e-8, + c: 1.718123549146727e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.007883009814806e-8, + c: -5.853961627898440e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.425217167723573e-10, + c: 1.163257691878776e-8, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.164168267585665e-8, + c: 4.142123137110967e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.070484667221369e-8, + c: 4.426512939211931e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.154917101309071e-8, + c: -5.763135381863559e-10, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.564216831370848e-9, + c: -9.247306292482070e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.052294423265905e-8, + c: 3.903241926971551e-9, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.100286036788892e-8, + c: 9.123817858907521e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.040063664114748e-8, + c: -2.074459866930784e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.232206649754388e-10, + c: 1.027008674939472e-8, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.029555128208243e-8, + c: -1.584908625895435e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.645720850746041e-9, + c: -7.831924377179734e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.022024204561562e-8, + c: -7.640530670491671e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.487750653059422e-10, + c: 1.011030241437856e-8, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.005613724544659e-8, + c: -1.099671669363975e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.977589370595235e-9, + c: 1.648838784328134e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.009110189552883e-10, + c: -1.009004865845577e-8, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004825819804132e-8, + c: -3.743031212273169e-10, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.995226235527702e-9, + c: -5.979338920872560e-11, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.724915236984080e-9, + c: -4.622251384779786e-9, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.538512396268229e-9, + c: -9.488807660912753e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -9.645269970455141e-9, + c: 7.608617365227122e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -9.344031789735912e-9, + c: 1.779033571567653e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.957356071136902e-9, + c: -1.214199874743804e-9, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.808876412738958e-10, + c: 8.941358559890774e-9, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.871086311294454e-9, + c: -3.792691994658891e-9, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.625087144776488e-9, + c: 1.083966016868380e-9, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.635968357111087e-9, + c: -2.970037929915631e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.628657024472159e-9, + c: 1.705093429405663e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: 8.526057279636089e-9, + c: -6.993978228136577e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.676804572560639e-9, + c: -3.703749104813270e-9, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.675870945480236e-9, + c: -8.023277238427579e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.398203287981738e-9, + c: -5.774844427345645e-10, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.900641373780621e-9, + c: 6.470319167630352e-9, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.490808036199697e-9, + c: -7.704234529393313e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266898252310160e-9, + c: 7.654456459640439e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.388713732399573e-9, + c: -6.874657073932761e-9, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.082797481743383e-9, + c: 6.704192037445588e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.529360669595048e-10, + c: 7.338915483694483e-9, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.163193389973880e-9, + c: -2.797530906396777e-10, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.859400083551068e-9, + c: -4.120933012930656e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.955770746765855e-9, + c: -4.619251206547381e-11, + mult: [0, 18, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.303876753682102e-9, + c: 6.053395162958831e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.036907978512922e-10, + c: 6.846780023687806e-9, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.121497519502706e-9, + c: 6.484715225373985e-9, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.774802552700223e-9, + c: -6.200457721587578e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.547252307410966e-9, + c: -1.343950335353421e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.949860264890513e-9, + c: 2.959284993129694e-9, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.206798079430696e-9, + c: 1.876454608405959e-9, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.251623618280728e-9, + c: -3.362039535020385e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.909033307661248e-9, + c: -2.042803548318915e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.203380964360824e-9, + c: 6.989297145661330e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.221266978657953e-9, + c: -2.318012249192858e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.105963440526463e-9, + c: -8.777517525480364e-10, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.462750672383271e-9, + c: -2.724445692551573e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.968487247401291e-9, + c: -3.269843083795698e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.592522278506146e-9, + c: -3.714144918898406e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.769286494895640e-9, + c: 3.440526981883003e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.314371692817876e-9, + c: 3.983118102394173e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.245765887331540e-9, + c: -5.404474416303314e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.162490389428193e-9, + c: -2.568015862241488e-9, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.796721403196005e-9, + c: -5.317691916832538e-9, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.798663517728815e-9, + c: -2.652298572335451e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.834231549579312e-10, + c: 5.334925098311414e-9, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.489595138961534e-9, + c: 5.024993766429431e-9, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.407184376851024e-9, + c: -5.026099115677371e-9, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.246522706836921e-9, + c: 4.044639608045312e-9, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.103946603904591e-9, + c: -2.084242078848818e-10, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.896272327158037e-9, + c: -5.358655629215423e-10, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.851515888844981e-9, + c: -3.553747359943152e-11, + mult: [0, 19, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.986246203158128e-9, + c: 4.418488433492865e-9, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.508833557342127e-9, + c: 1.627376445550207e-9, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.464859231559566e-10, + c: 4.644968046275759e-9, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.465466771904999e-9, + c: 3.919433833140901e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.530166661824807e-9, + c: 4.585080992230829e-10, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.520190730164200e-10, + c: -4.459863047122319e-9, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.347479858930974e-9, + c: 7.822753396748791e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.166285815301692e-9, + c: -1.457671963791725e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.391067721525180e-9, + c: 1.008161846096016e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.653899616145688e-9, + c: 3.474156888072474e-9, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.331578264798429e-9, + c: -5.433796859635038e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.107882873822139e-9, + c: -2.879496225613703e-9, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.165493588531806e-9, + c: -3.019334865511890e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.057251392325041e-9, + c: -6.425235974583058e-10, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.159461759466691e-9, + c: -3.891047640633942e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.298112927064026e-9, + c: 3.742745016536865e-9, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.329702017765415e-10, + c: 3.882071305010358e-9, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.635474789085312e-9, + c: 7.797347490016019e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.635699937464155e-9, + c: -1.548535743035423e-10, + mult: [0, 16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.617870681343965e-9, + c: -3.239909568719387e-9, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.356872208493576e-9, + c: -1.255908324047770e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.549554001211683e-9, + c: 1.481867855718761e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.494809197653794e-9, + c: 6.070386915591520e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.411138862835487e-9, + c: -2.567262812148860e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.888245794804843e-10, + c: 3.349872202785646e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.390561764555121e-9, + c: -2.723823997512918e-11, + mult: [0, 20, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.351644987405711e-9, + c: 3.085072202254720e-9, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.112590988523347e-9, + c: -1.279029035073117e-9, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.340586846241396e-9, + c: 3.041531220315721e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.320125451158083e-9, + c: -3.274073553147708e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.152390969621665e-9, + c: 2.500429995882553e-9, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.297697328714489e-9, + c: -5.064909461553561e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: 3.211405282954311e-9, + c: 7.453656561113552e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233208405356783e-9, + c: 3.048745328256211e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.350196074364226e-9, + c: 2.998414691963279e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.278116599006906e-9, + c: 1.815785992971920e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.250950023580442e-9, + c: 3.002047712995091e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.617771481953189e-9, + c: 1.913776081826695e-9, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.199268026813753e-9, + c: -3.357207243712218e-11, + mult: [3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.270226131251816e-10, + c: 3.163463758517891e-9, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.102244635959430e-9, + c: -2.359528368973071e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.874731102230850e-9, + c: 1.162677053328271e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640595484245666e-9, + c: -1.530323098270305e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.868995786048660e-9, + c: -2.330134136657038e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.681461241531363e-10, + c: -2.870587971108589e-9, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154521837792606e-9, + c: 2.612569761769790e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.634466125760495e-11, + c: 2.826840895476864e-9, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.762958298649753e-9, + c: 5.135721215299433e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.771376488807953e-9, + c: 3.324340415275740e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.742646971968664e-9, + c: -4.609948588904342e-10, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.709509882680937e-9, + c: 4.673640741491774e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.263926183705125e-10, + c: 2.523952570407792e-9, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.516751320655390e-9, + c: -9.147505418749704e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.629827230916057e-9, + c: -4.478515356912507e-10, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.762817484902841e-9, + c: 1.984998358729979e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.176872652062125e-9, + c: -1.515008520455453e-9, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.587466290787502e-9, + c: 3.080271301235787e-10, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.492948159904486e-9, + c: 7.396523671956906e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.589522658898776e-9, + c: -1.147727745033836e-10, + mult: [0, 17, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.944442540540814e-9, + c: -1.713136256181696e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.549374280794966e-9, + c: -3.756743159372047e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564876372139178e-9, + c: -2.042228178813580e-9, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.029758887566211e-9, + c: -1.533267684219425e-9, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.478970981759693e-9, + c: 2.032289963105267e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.394895801665925e-9, + c: -3.268429302059215e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.401076929804104e-9, + c: 6.715058884319741e-11, + mult: [0, 3, -6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.379422126823640e-10, + c: 2.203649370468175e-9, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.373723424238234e-9, + c: -2.080662864579628e-11, + mult: [0, 21, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.627604702139942e-10, + c: -2.161403923869203e-9, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.343991974179807e-10, + c: 2.355885125918892e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.644495510674650e-9, + c: 1.674178808082598e-9, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.325512304996200e-9, + c: -2.245100161269537e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.298694079250034e-9, + c: -2.509677716246121e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.844519768409399e-9, + c: -1.373429304026951e-9, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.227194176036161e-11, + c: 2.277077978086182e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.005754257913660e-9, + c: 1.030524993356833e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.009601053450122e-9, + c: 1.975862434223435e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.150346120628064e-9, + c: -1.894042327680903e-9, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.334425798310122e-10, + c: 2.147951308741524e-9, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.741677795830961e-9, + c: 1.292231087785168e-9, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.978854959338951e-9, + c: -8.587732066129015e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.000632366035672e-9, + c: 7.972550773196786e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.132842287130395e-9, + c: 2.098631507934094e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.935988807393486e-9, + c: 9.067737855757644e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.103516010607577e-9, + c: 2.117486458057797e-10, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.754708200022340e-9, + c: -1.134125905812075e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.423700294160527e-9, + c: 1.519308284295750e-9, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.006839601144046e-9, + c: -5.505155712527676e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.976148640622852e-11, + c: 2.059410706142833e-9, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.051400528439628e-9, + c: -1.702801690997560e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.962235188229181e-9, + c: -2.879313141670195e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.923200764387610e-9, + c: -4.071909368522435e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.466463271587922e-10, + c: 1.883095453784604e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.760174557951903e-9, + c: -8.512767467139481e-10, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.524559650242626e-10, + c: -1.747173435662553e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.139496263516102e-10, + c: -1.899270493166664e-9, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.897871241850880e-10, + c: 1.785586118067993e-9, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.618494582811087e-10, + c: -1.855906669437071e-9, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.545775403231693e-9, + c: -1.122776363617012e-9, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885016600783842e-9, + c: -2.002669780497133e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.847185697555094e-9, + c: 1.364220717836104e-10, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.844392760372588e-9, + c: -8.489534041482117e-11, + mult: [0, 18, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.817108807521959e-9, + c: -2.024809869967790e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.711074017116438e-9, + c: -6.338911915919277e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.821710962604273e-9, + c: 8.228631430704873e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.153405577697515e-10, + c: 1.793081052859505e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.392326973669147e-9, + c: 1.128846607432466e-9, + mult: [2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.500511519632083e-10, + c: -1.769553875518527e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.659625741702004e-10, + c: -1.647685839488386e-9, + mult: [3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.834668907504713e-11, + c: 1.733335347994090e-9, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.775540736588563e-10, + c: -1.540831703877661e-9, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.528083243411950e-10, + c: 1.585831495654264e-9, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.667004580061580e-9, + c: -3.059006547218144e-10, + mult: [0, 0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.664449905434316e-9, + c: -1.584474687254703e-11, + mult: [0, 22, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.648369082249506e-9, + c: -5.777446799006373e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.025893367374148e-9, + c: 1.285468073760971e-9, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.383905240754357e-10, + c: -1.563209653288306e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.378800789196890e-9, + c: -7.785967593039147e-10, + mult: [1, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.372686191279335e-11, + c: -1.581701493157243e-9, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.240094340477439e-9, + c: 9.341402115138674e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.545294063604619e-9, + c: -4.160928789445847e-13, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.726494307054005e-10, + c: -1.199618710907081e-9, + mult: [4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.540663322521156e-9, + c: 7.558804952080498e-11, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.645931812349745e-10, + c: 1.452063363401903e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.519178534806341e-9, + c: 3.694632057192576e-11, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.469066724364685e-9, + c: -3.752731204862233e-10, + mult: [0, 0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.515321495453983e-9, + c: -4.596688457635707e-11, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.047509516560420e-11, + c: 1.500774732133341e-9, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.170476099425878e-10, + c: 1.409426845324905e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.214598895039965e-9, + c: -8.566380965753297e-10, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.294305473654717e-9, + c: -7.258511684895318e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.592667295625559e-10, + c: 1.448257056037029e-9, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.054061714303622e-9, + c: -1.013321975837532e-9, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.638206303106119e-10, + c: 1.344069534584973e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.321533728091175e-9, + c: 4.954668264142558e-10, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.334590518094705e-9, + c: -4.274433146462403e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.189133020292041e-11, + c: 1.395645945399110e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.383798490352325e-9, + c: 1.722250246106695e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.385388481669005e-9, + c: -9.482451208456661e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.380099128229485e-9, + c: 9.182698733452235e-11, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.376405768081529e-9, + c: -1.971615530271173e-11, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044167287592515e-9, + c: -8.720888568458656e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137604650854135e-9, + c: -7.404529051503701e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.133589210899356e-10, + c: 1.256009039959021e-9, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.341804098466434e-10, + c: -1.056253130174774e-9, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.332929737595613e-9, + c: 4.976517168974914e-13, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.019071789174422e-10, + c: -1.291481768074474e-9, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.313717408344970e-9, + c: -6.265636856197206e-11, + mult: [0, 19, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.138834645587670e-9, + c: 6.429715585709033e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.379012747204940e-10, + c: 9.017123185148885e-10, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.895546063693913e-10, + c: 9.476050868677237e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.064932220877161e-9, + c: -7.345725798267460e-10, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.112682809930713e-9, + c: -6.225816449882444e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.243774599621791e-9, + c: 2.442462810637684e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.435680348023128e-10, + c: -1.144401790022960e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.191846796615804e-9, + c: 4.074958894793627e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.216369686213269e-9, + c: -1.806581315467400e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.519736657481643e-10, + c: 1.141139628420347e-9, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.207639587730199e-9, + c: -2.099377815602575e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.196560410812653e-9, + c: -5.930599237822331e-11, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.389649157648602e-10, + c: 1.145951153777241e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.264968591366778e-10, + c: -1.132794525445464e-9, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.472323857409954e-10, + c: -9.811857071490485e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.055410689510067e-9, + c: 5.141237122876216e-10, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.168756212496208e-9, + c: -1.203211155848578e-11, + mult: [0, 23, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.273726242117708e-10, + c: 9.842154557233585e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.099123164980630e-11, + c: -1.163170577463505e-9, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156299608907948e-9, + c: 1.050149752331811e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], + }, + Term { + s: 1.068202850858544e-9, + c: -4.362276412985652e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.645530877040382e-10, + c: -1.052023289143678e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.065928885071431e-10, + c: 6.945967579985141e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.807138769859430e-10, + c: -9.813418223401015e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.694702218852783e-10, + c: 8.240777264583680e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105986696185434e-9, + c: -1.836092650335403e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.102708887327671e-9, + c: 1.479969352181200e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.087905170430238e-10, + c: -6.197168368538772e-10, + mult: [0, 0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.649068525247537e-11, + c: 1.093867974264648e-9, + mult: [0, 21, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.992302682653305e-10, + c: 8.311576007271667e-10, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.545572659596531e-10, + c: -9.326659069715896e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.084383460272686e-9, + c: -2.253387694879010e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.600482559114631e-10, + c: 4.831428361540772e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.051546002404909e-9, + c: 2.049868616856535e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.066262118205022e-9, + c: -1.308406001885906e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.029351352374320e-9, + c: -2.530425516304131e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.058937794369102e-9, + c: -3.632400401543985e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.923447406870297e-10, + c: -9.337870918448024e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.033655541553925e-9, + c: -2.053635888397613e-10, + mult: [0, 0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.489920068734598e-10, + c: -4.503330841161012e-10, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.804694892337428e-10, + c: 9.317704002766012e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.956673771780623e-10, + c: -9.222917755603172e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.522555242037706e-10, + c: -4.152076322515877e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.661709201605975e-10, + c: 3.737554389155424e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032860588337379e-9, + c: 6.189060690271469e-11, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.544049585182570e-10, + c: 8.466964421581947e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.523788442517412e-11, + c: 1.003841313009490e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.944437827076988e-10, + c: -8.780858872379588e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.851932332813555e-10, + c: -9.638694534966361e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.828273983547983e-10, + c: -9.588861339224668e-10, + mult: [0, 2, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.142001889895859e-10, + c: -3.862777657008489e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.949753243431059e-10, + c: -8.572459387628357e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.003408640827533e-10, + c: 9.672239124629486e-10, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.664809783466352e-10, + c: -6.191049031763727e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.884748598626562e-10, + c: 4.044230065158150e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.262025102143010e-10, + c: -3.063228575609836e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.660909322788629e-10, + c: 1.040509351038889e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.908104201071295e-10, + c: 6.802225493302158e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.361704712439910e-10, + c: -6.122255863630634e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.045476946444408e-10, + c: -9.317311832184069e-10, + mult: [0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.335730761846685e-10, + c: 1.214429122910308e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.262331545470704e-10, + c: 1.532081697261813e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.358478818270069e-10, + c: -4.616970391466583e-11, + mult: [0, 20, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.346236308469180e-10, + c: 3.013551816030207e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.148311329717501e-10, + c: -9.629300262497345e-11, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.217299532022147e-10, + c: -7.968691470972300e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.040188955172482e-10, + c: -7.959099557868600e-10, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.754986520334752e-10, + c: 7.538488112663747e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.096637548542886e-10, + c: 8.177476477276464e-10, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.740962348942370e-10, + c: 1.284577320039688e-12, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.592476160435470e-10, + c: 1.307107860078502e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.543165119566730e-10, + c: 1.296422924853476e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.432918568019525e-10, + c: 4.383608619573117e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.592025434854274e-10, + c: -4.129374986917750e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.591398237679785e-10, + c: -3.663347815611791e-12, + mult: [4, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.581566576997846e-10, + c: -1.360744116870029e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.688892979255656e-10, + c: 5.220463120913056e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.350522675450515e-10, + c: 5.512835998426594e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.196795386363536e-10, + c: 7.160052416852537e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.168712882594742e-10, + c: -1.068796327124444e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.217320795956602e-10, + c: -9.113150570906219e-12, + mult: [0, 24, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.194429598997281e-10, + c: -3.435364394184596e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1], + }, + Term { + s: -3.743794290261406e-10, + c: -7.211728687568148e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.832163090694897e-10, + c: 7.834332617851452e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.147597107638819e-10, + c: 5.186394754583297e-10, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.928968773981176e-10, + c: -3.976833244204202e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.635776592687785e-11, + c: 7.973530660987479e-10, + mult: [0, 22, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.402064659182027e-10, + c: -2.919585569282414e-10, + mult: [0, 0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.189692969085141e-10, + c: -4.946606922935658e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.545560757333301e-10, + c: -4.291545780725505e-10, + mult: [0, 0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.150170614525723e-10, + c: 3.166367363973744e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.488805101286541e-10, + c: -6.975652931598463e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.924557490445380e-10, + c: -7.554750333163948e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.737607950331141e-10, + c: 4.172114686899156e-11, + mult: [0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.348420136060620e-10, + c: -7.296390238975606e-10, + mult: [3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.259910782093581e-10, + c: 7.526353452133020e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.703182109021674e-10, + c: 7.411234245408231e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0], + }, + Term { + s: -6.997515990166335e-10, + c: 2.923626284161444e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.654473543134665e-10, + c: 6.333113851995308e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.902793786942695e-10, + c: 6.679455336117980e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.869868993237236e-10, + c: 2.368465584614317e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.270029876582554e-10, + c: -6.464795023201128e-10, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.274165694853133e-10, + c: 7.116192431494092e-10, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.204232419306002e-10, + c: -3.645689328579923e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.091158135773460e-10, + c: 1.132237540404173e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.886701661589791e-10, + c: -6.879721760567659e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.180767429681018e-10, + c: -3.504650038873839e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.416754517797484e-10, + c: -6.869780092162734e-10, + mult: [0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.876883448147630e-10, + c: 1.313996627698351e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.329229755005624e-10, + c: -2.984233739080081e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.818999080608328e-10, + c: 9.285823778325811e-11, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.655748583700964e-10, + c: -1.685250664896979e-10, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.620947830547213e-10, + c: 1.386899348036199e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.667627160049072e-10, + c: -3.396777275807526e-11, + mult: [0, 21, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.600353048206130e-10, + c: 6.078270253169476e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.677642521764681e-10, + c: -5.495995647712428e-10, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.536766581562206e-10, + c: 6.386569470757366e-10, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.822871595103809e-10, + c: -5.926123335520889e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.986879527317912e-10, + c: 4.261669626379746e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.807030569638476e-10, + c: -5.914207671755157e-10, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.323705080550533e-10, + c: -3.649589476481070e-10, + mult: [0, 0, 3, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.423138052698731e-10, + c: 3.552526900000679e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.264015121837070e-10, + c: -1.357316669629970e-10, + mult: [0, 0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.937205538382663e-10, + c: 3.932440378683874e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.102895998002586e-10, + c: 1.421340453816101e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.091459998299916e-10, + c: 5.822274432092529e-10, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.111028094450526e-10, + c: -4.617562479555123e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.935520732980450e-10, + c: -1.706389490060698e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.142677417728358e-10, + c: -2.364575374215938e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.999735223911248e-10, + c: 1.185084412619021e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.365238868206505e-10, + c: 4.231205207351325e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.076355181992052e-10, + c: 4.504147338364727e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.500530894889643e-10, + c: 2.551439056270757e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.034985466065587e-10, + c: -2.509688486007907e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.358077635343281e-10, + c: 2.762036670931603e-10, + mult: [0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.652076167167064e-10, + c: 3.735224533577497e-10, + mult: [3, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.266749381685957e-10, + c: 5.506132732280858e-10, + mult: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.439651775939333e-10, + c: 3.904793897395177e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.902280746333174e-10, + c: -5.581777838015428e-10, + mult: [4, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.463404431921906e-10, + c: -2.203373203120482e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.902132739828420e-11, + c: 5.812223477915602e-10, + mult: [0, 23, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.799560888697031e-10, + c: 2.810292972201083e-11, + mult: [0, 19, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.784136432366097e-10, + c: -6.885749668308898e-12, + mult: [0, 25, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.782815009891413e-10, + c: -2.534981553889035e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 2], + }, + Term { + s: 5.628170681050515e-10, + c: -1.316117289399573e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.754277441791813e-10, + c: 2.277614550754194e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.267929452519684e-10, + c: -4.639885679704755e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.899957744236244e-10, + c: -4.096259936439695e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.543137967764712e-10, + c: -4.323191296878234e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.481619631904929e-10, + c: 7.804285106120242e-12, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.670822126378540e-10, + c: 2.725240345675133e-10, + mult: [2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.246216568054648e-10, + c: -4.915184662478698e-10, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.339097950895166e-10, + c: 3.206790370662861e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.570672266482554e-10, + c: -2.860019542725452e-10, + mult: [0, 0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.176130647274641e-10, + c: 5.178301006100083e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.279809260394160e-10, + c: 1.470701330862507e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.955186562439361e-11, + c: -5.135635233899744e-10, + mult: [0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.211699447100652e-10, + c: -2.662075806841089e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.089749751990880e-10, + c: -4.762223166269823e-10, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.144836990743477e-10, + c: 7.343766571248447e-11, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.232006827640330e-10, + c: -4.020587822838322e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.659829383731182e-10, + c: -2.119759473466305e-10, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.560828764044448e-11, + c: -4.998554199791032e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.733500342098235e-10, + c: -4.234635662309880e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.686027336678270e-10, + c: 4.699121820854977e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.689065057124602e-10, + c: -4.662711927034286e-10, + mult: [4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.006995216164007e-10, + c: 2.856907447308544e-10, + mult: [0, 0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.089004323946787e-10, + c: 4.729073508068810e-10, + mult: [1, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.469497717566099e-10, + c: -1.857646097349768e-10, + mult: [0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.835048772946687e-10, + c: -1.461836950635574e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.669342209768957e-10, + c: 1.155102167624591e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.767254751171464e-10, + c: -6.293577189638848e-14, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.751264977132895e-10, + c: -2.495491954159099e-11, + mult: [0, 22, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.946977330996416e-10, + c: -3.734337981772317e-10, + mult: [0, 0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.535837270981144e-10, + c: 3.078199716595703e-10, + mult: [0, 2, -7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.628551157975687e-10, + c: 2.955451125607816e-10, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.126599930636898e-10, + c: -3.458064587329991e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.618814536126182e-10, + c: 6.930939693019011e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.582751385717139e-10, + c: -4.689509750359949e-11, + mult: [0, 0, 5, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.492286857807415e-10, + c: 7.300106036332475e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.011594106418928e-10, + c: 1.792979468971531e-10, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.764314306559492e-10, + c: -3.999413960555223e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.347672871673981e-10, + c: 1.889916888021821e-11, + mult: [0, 20, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.387678758872991e-10, + c: 4.113022741255735e-10, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.169491045246464e-10, + c: 4.162806451409804e-10, + mult: [0, 0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.236957335533458e-10, + c: -8.509651582862431e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.279348769041843e-10, + c: -4.199418200090864e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.043965801010891e-10, + c: -2.970234365613647e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.369680759323951e-10, + c: 3.526041050523467e-10, + mult: [0, 2, 1, -9, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.430922063301410e-10, + c: 3.483660486517663e-10, + mult: [0, 2, -1, -5, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.371403816762363e-11, + c: 4.236593879689238e-10, + mult: [0, 24, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.117201885526778e-10, + c: -9.772106640550162e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.911480117221803e-10, + c: -1.486405615027656e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.105665408308797e-10, + c: 8.982368989758721e-12, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.546557979917057e-10, + c: -3.782379569687811e-10, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.835029546892730e-10, + c: 1.410619262399135e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.594828854180131e-10, + c: -1.940477323539638e-10, + mult: [0, 0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.075721080121243e-10, + c: -5.191164967016278e-12, + mult: [0, 26, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.114570818983639e-10, + c: -2.621287294194121e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.402126207869488e-10, + c: -2.193584655793231e-10, + mult: [0, 0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.538420810339487e-10, + c: 1.942831857631847e-10, + mult: [0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.545715380882163e-11, + c: 3.956958953111001e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.703148403224730e-10, + c: -1.473637288001558e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.793666359788389e-10, + c: 2.839890525829851e-10, + mult: [1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.932138131162136e-10, + c: 5.886791788818409e-11, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.063604061223892e-11, + c: -3.874004747185403e-10, + mult: [0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.867158328886652e-10, + c: 6.523526591332595e-11, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.283142216600865e-10, + c: -2.108578614432180e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.970061697227525e-10, + c: -2.510248403524812e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.820593441023787e-10, + c: -5.807810557056003e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.579437871895372e-10, + c: -1.389871634595123e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.915928505225093e-10, + c: -2.489906213232835e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.410684340683182e-10, + c: -1.727232252614262e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.701895814021172e-10, + c: -8.838522988278445e-11, + mult: [0, 0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.369810847821473e-10, + c: -2.962005890338499e-10, + mult: [5, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.348913336472289e-11, + c: 3.733476878772263e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.347915188167761e-10, + c: 1.652082725099766e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.470418597207531e-10, + c: 1.368314741056948e-10, + mult: [0, 2, -5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.246007502617544e-10, + c: 2.971558613067713e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.647002912577299e-10, + c: 6.017896883731013e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.717478476809470e-10, + c: 3.251455314253139e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.482470737982499e-10, + c: 2.656448400347494e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.659951297839787e-10, + c: -2.470196648765336e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.354890544348220e-10, + c: 3.367443882322762e-10, + mult: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.610325315325876e-10, + c: -2.420204749811739e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.728584054951279e-10, + c: -2.371357777630115e-10, + mult: [0, 2, -2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.108121909429659e-10, + c: -1.837695916182380e-10, + mult: [0, 0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.247657295990382e-11, + c: -3.540212699650962e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116226231421071e-10, + c: 3.414453267737434e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.523067487359234e-10, + c: -5.493118964170139e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.412317986419343e-10, + c: 8.607658482695623e-11, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.490934477452896e-10, + c: -2.924753199546800e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1], + }, + Term { + s: 1.371542800708433e-10, + c: -3.204535526203938e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.376185029774869e-10, + c: -3.200121488324248e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.430544907822429e-10, + c: -5.467835523508501e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.702390732904226e-10, + c: 3.022995231176779e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.214558105092858e-10, + c: -1.282188927461327e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.595496050786582e-11, + c: -3.445607113379798e-10, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.647931232960533e-10, + c: 2.210543911459368e-10, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.285174446783813e-13, + c: -3.439587272019777e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.427006892467201e-10, + c: -2.165172407191391e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.986362260996624e-10, + c: -1.628858124986837e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.386292915674546e-10, + c: -1.830951204113748e-11, + mult: [0, 23, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.545065691950044e-10, + c: -2.991732012955284e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.119899012411879e-11, + c: 3.287755424956599e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.321037386281952e-10, + c: 3.272473963129564e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.194428318924129e-10, + c: -2.498548266637954e-10, + mult: [0, 0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.228178943554146e-10, + c: -5.044009252856673e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.259000436979846e-10, + c: 1.267890619254355e-11, + mult: [0, 21, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.227890061408383e-11, + c: -3.122217881891006e-10, + mult: [0, 3, 0, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.199848973696883e-11, + c: -3.115429399231224e-10, + mult: [0, 3, -8, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.680503222994909e-10, + c: 2.745075223879463e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.682491167692675e-10, + c: 2.743765728098460e-10, + mult: [0, 4, -3, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.001637810017948e-10, + c: 1.152080538314181e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.948148022355909e-10, + c: 1.242832211847997e-10, + mult: [0, 0, 7, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.138794856770137e-10, + c: -2.972326595845155e-10, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.818792085035384e-11, + c: -3.004916935276042e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.007239995487312e-10, + c: -8.730957012922686e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.878084947726320e-12, + c: 3.087855385441075e-10, + mult: [0, 25, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.698799334282640e-12, + c: -3.078607623982877e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.988614694884491e-10, + c: -7.252090407550329e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.058316674823324e-10, + c: 7.120684781907395e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, -1], + }, + Term { + s: 3.013327778851100e-10, + c: 4.755624517472323e-11, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.814813421458755e-10, + c: 1.139768714224018e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.504706993950657e-11, + c: 3.021329316206370e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.010752207930253e-11, + c: 2.880405011020415e-10, + mult: [0, 0, 17, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.015407714263137e-10, + c: -7.448238154292633e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.523692579935194e-10, + c: -1.647385056483815e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.596368867640603e-10, + c: 1.476134883703514e-10, + mult: [0, 0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.045575903966141e-11, + c: -2.939752131422848e-10, + mult: [0, 16, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.453942867184472e-10, + c: -1.682395722210566e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.968344480953647e-10, + c: -1.615344624270991e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.563573448262051e-10, + c: 1.502440208309996e-10, + mult: [0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.793172286070040e-10, + c: 1.011232905852069e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.778935530498947e-10, + c: 1.031882086797713e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.752747603731013e-10, + c: -1.085437286043368e-10, + mult: [0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.753837401923478e-10, + c: -1.080112527477726e-10, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.883515805077618e-10, + c: -6.240060181209394e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.525868436442270e-11, + c: 2.909797147083912e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.381299561456715e-10, + c: 2.595923971350991e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.634758539571691e-10, + c: 2.414495495678566e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.519158712100467e-11, + c: -2.836991992506566e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 1], + }, + Term { + s: -2.874326932799841e-10, + c: 3.658530153747059e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.874679070204596e-10, + c: -3.905491293348791e-12, + mult: [0, 27, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.792855206866730e-10, + c: -5.133484068010144e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.601526951913671e-10, + c: -1.112498137215344e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.029390170777519e-10, + c: -2.631877528541385e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.826724437814093e-11, + c: 2.674266278208769e-10, + mult: [0, 0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.700874157087199e-10, + c: 6.932462428570806e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.127864052606374e-10, + c: -2.528342546008120e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.997092261043167e-13, + c: 2.765905511043606e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.418215384083358e-10, + c: -1.332650427854258e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.785004167313792e-11, + c: 2.644644234741339e-10, + mult: [0, 1, -6, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.832330731655872e-11, + c: 2.642252376541312e-10, + mult: [0, 1, 2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.438815176284073e-10, + c: -1.270899352797913e-10, + mult: [6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.748402878162546e-10, + c: -4.672890555608224e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.057275616494211e-10, + c: -2.535654064328468e-10, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.668192438449265e-10, + c: -6.276197601562035e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.314993706181240e-11, + c: -2.688763662993639e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.410371986174391e-10, + c: 1.260962907140676e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.302804992386217e-10, + c: -1.431289813682379e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.695773555262775e-11, + c: -2.564882246025401e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.651795136808498e-10, + c: -5.438839778530325e-11, + mult: [4, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.961470793126361e-10, + c: -1.831584526839927e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.930398271501950e-11, + c: 2.647168461253756e-10, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.293449538543351e-10, + c: 2.336589387726208e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.318472730496689e-10, + c: -1.287890099056596e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.256382727460217e-10, + c: 2.331722983508969e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -2.571367797182498e-10, + c: 5.144103559424074e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.736305771834114e-10, + c: 1.959369508721840e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.610706739277744e-10, + c: 1.098605131730033e-11, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.499601228550743e-10, + c: -7.214261747682391e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.865570840229759e-10, + c: -1.801122591056597e-10, + mult: [0, 0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.551073943100097e-10, + c: -5.920495508008051e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0], + }, + Term { + s: -2.472407591686550e-10, + c: -6.168574064827631e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.994521492664916e-10, + c: -1.562750563996691e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.915364007637576e-10, + c: 1.643116740552511e-10, + mult: [0, 0, 17, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.506515259602798e-10, + c: 2.770632951397103e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.375516980051864e-10, + c: 2.105777409427929e-10, + mult: [0, 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.554131481941220e-10, + c: 1.959694210485268e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.480877514015621e-10, + c: -1.025757415394156e-11, + mult: [0, 4, -7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.377773892526719e-10, + c: 6.845143260001958e-11, + mult: [0, 3, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.345812332601997e-10, + c: -7.553049553473779e-11, + mult: [0, 3, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.348794730592980e-11, + c: -2.316010469105945e-10, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.546628854238543e-10, + c: -1.909553022246221e-10, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.442307177148393e-10, + c: 8.478538569596523e-12, + mult: [0, 22, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.666542553152231e-10, + c: 1.786302148658283e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.413904525087010e-10, + c: -1.341759110004243e-11, + mult: [0, 24, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.411178516226662e-10, + c: 3.016556312021564e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.257294526784857e-10, + c: 8.204443051963740e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.226544860713256e-10, + c: 8.340785977784752e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.360087162998966e-10, + c: -2.383090469231327e-11, + mult: [0, 0, 4, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.217299671903703e-10, + c: -8.334338157456261e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.669264793561022e-10, + c: 1.674871039910601e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.022069149203565e-11, + c: -2.324268244312591e-10, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.064467969401360e-10, + c: -1.137955330282946e-10, + mult: [0, 0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.932261713547131e-11, + c: -2.304422954760629e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.304529219982792e-10, + c: 3.835085099110442e-11, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564769035470137e-11, + c: -2.327348063228843e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 2.145564631754260e-10, + c: -8.765444195563441e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.593419752204393e-11, + c: -2.203033284250840e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.798020550202078e-10, + c: 1.429862209434033e-10, + mult: [4, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.292041336493276e-10, + c: 3.980138212465539e-12, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.193913344735517e-10, + c: -1.956125320199277e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.128164529693853e-10, + c: -8.216571077486408e-11, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.256247437707471e-10, + c: 2.928382854870715e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.924410644058552e-10, + c: 1.208267879807340e-10, + mult: [0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.620873215249501e-11, + c: -2.239553363575162e-10, + mult: [0, 17, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.553922745812569e-10, + c: -1.646752516361009e-10, + mult: [0, 0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.108122078055577e-12, + c: 2.250347389125378e-10, + mult: [0, 26, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.242724757688067e-10, + c: 1.516531753712379e-12, + mult: [5, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.777634779948018e-10, + c: -1.346713120602781e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.216812846362114e-10, + c: 5.306185244921322e-12, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.136917890440866e-10, + c: 5.241044755077461e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.125275816046489e-10, + c: -5.670790756087965e-11, + mult: [0, 0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.140172930624714e-10, + c: 4.884139123894349e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.357376939463004e-11, + c: -1.975556283702286e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.557752138341282e-10, + c: 1.519396057737671e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.174270892417274e-11, + c: -2.039927062168193e-10, + mult: [5, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.514385901664991e-11, + c: 2.026436278822544e-10, + mult: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.093556408762044e-11, + c: -1.985767087868944e-10, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.025139049563991e-11, + c: -2.046006807145853e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.127935726934685e-10, + c: 1.154428835365393e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.415528072708269e-10, + c: 1.586247021080619e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.851482053876563e-11, + c: -2.109380092404262e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.103738181710859e-10, + c: 2.063241492786321e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014128342646378e-10, + c: -6.121049067863089e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.101189549565632e-10, + c: 1.209912382773676e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.547998688458692e-11, + c: -2.097656768089442e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.237741527721145e-11, + c: -1.968318521449489e-10, + mult: [0, 2, -8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.096164060254501e-10, + c: -2.241346746673366e-13, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.077223687230776e-11, + c: -2.071934728150030e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.698290740020629e-11, + c: 1.998601683042696e-10, + mult: [0, 0, 18, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.308353020578094e-10, + c: -1.598964026783890e-10, + mult: [0, 0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.033054628997026e-10, + c: -3.457473900462666e-11, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.764171437366005e-10, + c: -1.037148010261125e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.693539873190428e-10, + c: 1.131019258496421e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.965880088348446e-10, + c: 5.269967696833378e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.029361345954583e-10, + c: -2.932538252485630e-12, + mult: [0, 28, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.768903284627948e-10, + c: -9.944416568779776e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.725010741070503e-10, + c: -1.056132683696523e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.570840060138637e-10, + c: -1.273000779687144e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.920201314838416e-10, + c: -5.958016114220907e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.375221004306068e-11, + c: -1.906504650244559e-10, + mult: [5, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.879412674638436e-10, + c: -7.055222097335796e-11, + mult: [0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.861784739989188e-10, + c: -7.388792922041064e-11, + mult: [0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.155597877413176e-10, + c: -1.621923994419212e-10, + mult: [0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.673164007700484e-11, + c: -1.784426486153534e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.858992427294586e-10, + c: 6.589663916328446e-11, + mult: [0, 2, -6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.884978779772441e-10, + c: -5.542701330531018e-11, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.932302029777735e-10, + c: 2.837660199761867e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.483538251491453e-11, + c: -1.856871507892002e-10, + mult: [0, 4, -1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.478656723704634e-11, + c: -1.853653781645830e-10, + mult: [0, 4, -9, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.930867493480174e-10, + c: 5.098948335014255e-12, + mult: [0, 2, -5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.771998075492056e-11, + c: -1.649383625887008e-10, + mult: [0, 2, -1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.526295715725674e-11, + c: 1.875399740691291e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.859045210477039e-11, + c: -1.632816590598781e-10, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.394647725653975e-10, + c: -1.292802144360266e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.881574667981804e-10, + c: -2.556764406927442e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.097147869886433e-11, + c: -1.792165118893435e-10, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.437007859288913e-10, + c: -1.221184649309802e-10, + mult: [0, 2, -4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.849736558834168e-10, + c: 8.699318212121999e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.812612768677120e-10, + c: 3.259273183530674e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.583158549822219e-10, + c: -9.405546152471802e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.814612795436834e-10, + c: -2.763351836824410e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.371710564755041e-10, + c: 1.212783820010505e-10, + mult: [0, 0, 18, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.829568949717214e-10, + c: 5.646664345453078e-12, + mult: [0, 23, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.641168804956112e-11, + c: 1.821037036132544e-10, + mult: [0, 2, 2, -11, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.638492123647107e-10, + c: 8.111702349818681e-11, + mult: [0, 2, -2, -3, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.815205460421564e-10, + c: -1.835677048282450e-11, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013898544986438e-10, + c: 1.508595255339219e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.815755120689612e-10, + c: -6.093035509559979e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.606262044687104e-11, + c: 1.690255139182625e-10, + mult: [0, 0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.583091952611004e-10, + c: -8.729435550785381e-11, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.672205988354681e-10, + c: 6.847028400080386e-11, + mult: [0, 0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.803439103531917e-10, + c: -2.290416264760090e-12, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.696473509160133e-11, + c: -1.773991014597930e-10, + mult: [2, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.671304877076881e-10, + c: -6.342670828756093e-11, + mult: [0, 0, 15, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.782678702943622e-10, + c: -9.784390654447340e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.753375826479265e-10, + c: 3.082707853860579e-11, + mult: [0, 0, 17, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.137683463004170e-11, + c: -1.508640893741163e-10, + mult: [0, 0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.167779708345806e-11, + c: 1.681732421325042e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.456583598477692e-10, + c: 9.844178135294505e-11, + mult: [0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.160412251075056e-10, + c: -1.319552651105677e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713001735852628e-10, + c: 3.465038948284467e-11, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.606823022911609e-11, + c: -1.710434120060845e-10, + mult: [0, 18, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.721063959008062e-10, + c: -9.821764005605490e-12, + mult: [0, 25, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.706555578052257e-10, + c: -5.845767699722549e-12, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.697503097005498e-10, + c: -1.348157022384275e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.457464752886946e-10, + c: 8.674087482859534e-11, + mult: [3, 0, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.770284496573135e-11, + c: 1.571483216236522e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.242382549684368e-10, + c: 1.104467316714497e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.159471862603943e-11, + c: -1.541786328685476e-10, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.047815813404676e-10, + c: -1.283468252472214e-10, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.500775584283546e-10, + c: -6.965569342055162e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.511426256018522e-10, + c: 6.410962239310816e-11, + mult: [0, 0, 6, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.109804846217996e-12, + c: 1.639777572310516e-10, + mult: [0, 27, -29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.672812229984532e-11, + c: 1.283001480253229e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.399459767521034e-10, + c: -7.630297080579792e-11, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.462770397149277e-10, + c: -6.222282191061760e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.585369390398997e-10, + c: -6.663566006311002e-12, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.481593947043588e-10, + c: 5.036951350792194e-11, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.169322023192925e-10, + c: 1.036589543396662e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.557757871800987e-10, + c: 7.021779370174761e-12, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.200105999677352e-10, + c: 9.774643249176643e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172590441059438e-10, + c: 1.009764621412650e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070535213024483e-10, + c: 1.112534720230465e-10, + mult: [0, 1, -3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.354533414722212e-10, + c: 7.384542425230183e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.539512402491553e-10, + c: 2.965722242731602e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.737791344150536e-11, + c: -1.379687440171596e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.303782540823990e-10, + c: 8.088625193046046e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.481362208718887e-10, + c: 3.558455163455153e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.435369533306176e-11, + c: 1.380672689726442e-10, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.038893044622131e-10, + c: -1.107980048620283e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.402718221819017e-10, + c: -5.638222031430130e-11, + mult: [5, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.466636894043262e-10, + c: 3.551627530832943e-11, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058479467934772e-10, + c: -1.069166587158262e-10, + mult: [0, 0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.931115062504717e-11, + c: -1.128942140785425e-10, + mult: [0, 3, -8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.341529025994376e-10, + c: -6.764493621103548e-11, + mult: [0, 0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.350413536898795e-10, + c: 6.438699251967462e-11, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.120726897492548e-10, + c: -9.684645212532910e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.177104773852460e-10, + c: 8.886209643677500e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.471599042413704e-10, + c: 8.443551403139125e-12, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.449785837475252e-10, + c: 2.082768790134765e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.511226184946730e-11, + c: -1.113117476460523e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.350206163208403e-10, + c: 5.623830511595586e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.460408520871791e-10, + c: 3.931640641955540e-15, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1], + }, + Term { + s: 1.437022434302474e-10, + c: 2.374683274241487e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.248994500437535e-10, + c: -7.373487963124813e-11, + mult: [0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.437430266107906e-11, + c: -1.378856184584238e-10, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.448640066485620e-12, + c: -1.445351272660755e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.427516490182009e-10, + c: -1.765714287996413e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.971179364619033e-11, + c: 1.380435253922965e-10, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.725784914375803e-11, + c: 1.386870508765013e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.352114384291585e-10, + c: -4.836943790506373e-11, + mult: [0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.433787013564361e-10, + c: -2.197969210614040e-12, + mult: [0, 29, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.484603975559618e-11, + c: 1.373423269034086e-10, + mult: [0, 0, 19, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.063536630837355e-10, + c: -9.275261749635223e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.774076232925054e-11, + c: -1.285889047702198e-10, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.319352777337068e-10, + c: -4.913780802269372e-11, + mult: [0, 0, 16, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.488572343465738e-12, + c: 1.393694383152598e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.362026997534865e-10, + c: 3.065718967348441e-11, + mult: [2, 0, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.359570997930555e-10, + c: -2.038421194469116e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.342501264705029e-10, + c: 2.772007515826719e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.369904191881389e-10, + c: 3.741845540689504e-12, + mult: [0, 24, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.362565565528357e-10, + c: -5.490287487017610e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2], + }, + Term { + s: -1.245107095636199e-10, + c: 5.462551141620015e-11, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.358941413585783e-10, + c: -2.006133599362633e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + }, + Term { + s: -1.093833742319656e-10, + c: 7.997716789293395e-11, + mult: [0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.324848532384327e-10, + c: 2.465742503707856e-11, + mult: [0, 0, 18, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.077419840585271e-11, + c: -1.242862591904180e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104553509170727e-10, + c: 7.578182149230058e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.237391894474765e-10, + c: -5.105167880021923e-11, + mult: [2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.939226037833123e-11, + c: 8.797692066189052e-11, + mult: [2, -7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.920772924766861e-11, + c: -1.182967764532824e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.880865747017510e-11, + c: -1.308340795237613e-10, + mult: [0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.409488200903923e-11, + c: -9.255443475614677e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.316130957035564e-10, + c: -4.434145122580707e-12, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.717714579048802e-11, + c: 8.884982304400229e-11, + mult: [0, 0, 19, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.188720213966429e-10, + c: 5.408795103001673e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108089842465765e-10, + c: -6.904633652451418e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.693711071537788e-11, + c: -1.251921662574659e-10, + mult: [0, 5, -2, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.697680854447274e-11, + c: -1.249883826348964e-10, + mult: [0, 5, -10, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.752663273904052e-11, + c: 1.038568374927104e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.095408914543063e-11, + c: 9.186445673116793e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.185385084965720e-10, + c: -5.019233121485502e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.204985058194050e-10, + c: -4.524405012604298e-11, + mult: [0, 3, -6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.038848786906601e-11, + c: 1.266509464753943e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.664189189271461e-11, + c: -1.188401030978340e-10, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.651635058902644e-11, + c: 1.244404844697876e-10, + mult: [0, 0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.817556672352834e-11, + c: 9.103387299924764e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.309398099970463e-11, + c: 9.561143865223793e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.265064245771785e-10, + c: -7.453610733005119e-15, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0], + }, + Term { + s: -1.241197775808310e-10, + c: 2.059688581747937e-11, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.076464931791783e-11, + c: -1.187258517076510e-10, + mult: [0, 0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.246851655832953e-10, + c: 1.452878426067594e-11, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.094500941603077e-11, + c: 1.216028251134422e-10, + mult: [0, 0, 8, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.360669498177006e-11, + c: -1.077890088936150e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.452956020097313e-11, + c: -1.119529541172135e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.897140489068348e-11, + c: -9.591250323192818e-11, + mult: [0, 0, 14, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.554564299370230e-11, + c: 1.227193825352087e-10, + mult: [1, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.232001150460088e-10, + c: -1.080822731780601e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.177649134499841e-10, + c: -3.582862103461671e-11, + mult: [0, 0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.227312112022008e-10, + c: -7.182200708772672e-12, + mult: [0, 26, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.891195792755048e-11, + c: 1.163900125601378e-10, + mult: [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.223797036265698e-10, + c: -7.965979388883008e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.144586474827478e-10, + c: -4.007765618347974e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.257710481220594e-11, + c: -7.790918033484648e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.154880127258473e-10, + c: -3.100212412898583e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.669554792522203e-12, + c: 1.194691756279404e-10, + mult: [0, 28, -30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.189707994292442e-10, + c: 9.540436250461964e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.820978117192398e-11, + c: 7.994540871621055e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.171858811268318e-10, + c: -2.008983776610246e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.151619088148460e-10, + c: 2.862755460607273e-11, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115252585857992e-10, + c: -4.030456957930068e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.351266493085954e-11, + c: 7.278632649637175e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058141873608118e-10, + c: -5.283610698113945e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.775017610789423e-11, + c: -8.896393836903526e-11, + mult: [0, 0, 8, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.214054486088333e-11, + c: -8.404659502987907e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.136194341416702e-11, + c: 1.001677708517779e-10, + mult: [0, 1, -4, 7, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.137674560383788e-11, + c: 1.001575734303932e-10, + mult: [0, 5, -4, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.855110450578980e-11, + c: -1.134869571868627e-10, + mult: [0, 0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.042424349317197e-10, + c: -5.210244616803162e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.522645840633847e-11, + c: -6.652830201663078e-11, + mult: [0, 0, 1, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.902876750694074e-11, + c: 1.048731305834282e-10, + mult: [0, 0, 19, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.150957339596962e-10, + c: -1.183943012150037e-11, + mult: [0, 0, 3, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.939628931037759e-11, + c: -8.217718369220176e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.097536369902466e-11, + c: 1.089185859191825e-10, + mult: [0, 0, 9, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.678205746471680e-11, + c: -1.059433726086152e-10, + mult: [0, 0, 13, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.564728509641083e-11, + c: 1.107283646251869e-10, + mult: [0, 0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.105568076014150e-10, + c: -1.626490247739700e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.113476593816959e-10, + c: 8.526940235751822e-12, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.896640165574100e-11, + c: 8.738878507583187e-11, + mult: [0, 0, 8, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.446346957868062e-11, + c: 5.855067699833415e-11, + mult: [0, 11, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.983305054313424e-11, + c: -1.067197698307905e-10, + mult: [0, 2, -11, 16, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.975032900502188e-11, + c: -1.067321789983302e-10, + mult: [0, 2, 5, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040859017269454e-10, + c: -3.797649116865911e-11, + mult: [0, 0, 17, -25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.219423828995014e-11, + c: -1.055733748184787e-10, + mult: [0, 20, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.070483079584151e-10, + c: 2.515129925867936e-11, + mult: [0, 0, 18, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024041642874269e-10, + c: -3.881310023651136e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.091413708327321e-10, + c: -5.430439206341624e-12, + mult: [0, 5, -8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.376895191591016e-11, + c: -6.946909241064416e-11, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.800952627324449e-11, + c: -8.446369844325657e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.177463354852986e-11, + c: 5.534784829094106e-11, + mult: [0, 12, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058588583749917e-10, + c: -1.177399328931962e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.063806494056692e-10, + c: 4.468781575550805e-12, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.916080358114204e-11, + c: -5.763068274485516e-11, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.803609934921638e-11, + c: -8.141763796517379e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.002298213142570e-10, + c: -3.419916450485254e-11, + mult: [0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.762002201248315e-11, + c: 9.893644636024623e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -5.469924356785494e-11, + c: -9.059150360356730e-11, + mult: [0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.085187893811565e-11, + c: 8.609759612605697e-11, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.294079915761585e-11, + c: -1.027496326611645e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.329548766441533e-11, + c: 4.831659901589622e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044085915005746e-10, + c: -6.737052907988972e-12, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.819869750276288e-11, + c: -3.567269965799885e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.042518930220248e-10, + c: -3.873599731448989e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.649492004232183e-12, + c: 1.029484926076417e-10, + mult: [0, 0, 7, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.960367439425475e-11, + c: 9.462645271150533e-11, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.967506863987982e-11, + c: -1.006509166243897e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.025171580740145e-10, + c: 2.464478266379058e-12, + mult: [0, 25, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.107491708590139e-11, + c: 8.888988391513954e-11, + mult: [0, 3, -3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.774835909558787e-11, + c: -1.007167619145966e-10, + mult: [0, 0, 13, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.864514000984156e-11, + c: -7.578103363137590e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.019485723278965e-10, + c: 4.868684368537952e-12, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.364084016328032e-11, + c: 9.614897140792981e-11, + mult: [0, 0, 12, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.242051797905408e-11, + c: -1.009387668559067e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.279652504314538e-11, + c: -9.621776042477904e-11, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.941100128303873e-12, + c: 1.011205630425305e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.013768388939054e-10, + c: -1.644583107650099e-12, + mult: [0, 30, -31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.743640404256832e-11, + c: 2.798017537772705e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.931125208695571e-11, + c: 1.960655382019836e-11, + mult: [0, 0, 19, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.621540006679050e-11, + c: -6.648075830297282e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.359010817440767e-11, + c: -1.001618678140819e-10, + mult: [0, 20, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.838473966611256e-11, + c: -2.054550152837936e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.384574891972478e-11, + c: 5.523938374774077e-11, + mult: [0, 10, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.332817307042290e-11, + c: -3.623575748826911e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -6.203015463663059e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.538760797483729e-7, + c: 8.051011237238433e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.534622260889824e-7, + c: 1.470961162934456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.440916626400981e-8, + c: -1.686252423007786e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107559546545461e-7, + c: 3.976336206375444e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.246516408102512e-8, + c: 6.415506605646087e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.164966510307274e-8, + c: -1.977135441678240e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.734703343983396e-8, + c: -4.892478774961798e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139745129032043e-8, + c: -4.199789048383642e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.203668610762578e-8, + c: -4.035740918087926e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.895497536812593e-8, + c: 1.210088988024353e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.593868489617431e-8, + c: 1.927412654701212e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.894413168285537e-8, + c: 1.799890579088302e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.192082709027786e-10, + c: -3.061218913473730e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.383051093884905e-8, + c: -2.545605872813283e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.449979321250567e-8, + c: -1.372166865706878e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.569411866289122e-8, + c: -8.294961295139614e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.643038116814684e-8, + c: 1.768430672363123e-9, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.365832783785820e-8, + c: -2.238498271713876e-8, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.026916967818640e-9, + c: 2.306025148856300e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.234279951185945e-8, + c: 7.798278626580281e-12, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.530995823450473e-8, + c: 1.103879696356623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.522991767766277e-8, + c: 1.064641391596875e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.788049666879067e-8, + c: -2.488610407679565e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.764617278847999e-8, + c: 6.778766020472245e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.310294768748973e-9, + c: 1.668458523110563e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.057347260572669e-8, + c: 1.324618080334092e-8, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.464294140481069e-8, + c: 8.192828000638265e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.170220517309617e-9, + c: 1.602813185985950e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.488960353922155e-8, + c: -4.825354343690118e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.501500174579692e-8, + c: 3.506822243613312e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.546821427624423e-9, + c: 1.252641857105922e-8, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.366735847806420e-9, + c: 1.197745988147482e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.865481700176920e-9, + c: 1.182855904952936e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.908419808954649e-9, + c: -1.256821014174210e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.295324391809537e-8, + c: -3.544390703042887e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.283481629423957e-8, + c: -5.809262665804402e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.112715386332891e-8, + c: 5.140199723346691e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.923670673068577e-9, + c: -8.404142229471295e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.269918613271289e-9, + c: 4.781842565208150e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.612273626031139e-9, + c: -3.121120224601592e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.354619590277857e-9, + c: -4.944043142320463e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.122312313983185e-9, + c: -9.063979656573457e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.430922339120550e-9, + c: -8.140161770123878e-9, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.549498010713004e-9, + c: -8.917144554068154e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.115510338066112e-9, + c: 5.360435403919438e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.711899207778130e-9, + c: 5.980031884549489e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.130379642448640e-9, + c: -2.304871796044581e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.356770663220675e-9, + c: -3.649016153725977e-9, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.058003121409038e-9, + c: -6.960820998699916e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.095700728537834e-9, + c: -6.857041260131747e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.932145380101204e-9, + c: -1.055241339772936e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.522672287291202e-9, + c: -2.119271270390023e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.944110329131720e-9, + c: -5.903092987952454e-9, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.033680044042750e-9, + c: -2.265105220160396e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.050936280054680e-9, + c: 2.011322660171168e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.081238864684336e-9, + c: 3.963207466061777e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.398602329377223e-9, + c: -1.408659678196977e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.403550472647126e-9, + c: -2.780130952661609e-9, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.273604528863733e-9, + c: 3.976533322628440e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.547337295609363e-9, + c: -1.476939394974973e-9, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.454384996234547e-9, + c: -4.066596931051450e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.273203220924067e-9, + c: 4.479795998251024e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.245011042909493e-9, + c: 4.066999924363155e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.898588215339421e-9, + c: -4.179009423165346e-9, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.039852566481233e-9, + c: 2.020513104210254e-9, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.343713574408746e-9, + c: 7.901939568480267e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.102342378159479e-9, + c: 4.145704577772644e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.621941494556897e-9, + c: 3.382693742761904e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.705175189714016e-9, + c: 2.015076285572372e-9, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.399347158890106e-10, + c: 4.104489384368980e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.147095148498429e-9, + c: -6.399615953067034e-10, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.551527293817805e-9, + c: 2.158777305955643e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.164146059876621e-9, + c: 3.865856358175245e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.856100699431153e-9, + c: -9.983843645047981e-11, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.831924555274879e-9, + c: -1.275122231211949e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.220611000205159e-9, + c: -2.005674475928332e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.321568209639166e-9, + c: -2.809789180023242e-9, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.560653610295813e-9, + c: -4.574731428146794e-10, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.540231860792410e-9, + c: 6.712871578643550e-11, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.509373099263308e-9, + c: 2.341334743276126e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.221587724161278e-9, + c: -1.045159422522617e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.573471022432044e-9, + c: -1.760437691198438e-9, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.899536112554209e-9, + c: 2.391104101975846e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.025797876386018e-9, + c: 1.365028664391136e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.500405296933643e-9, + c: -2.491999113590062e-9, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.027702085117396e-9, + c: -1.965810838270273e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.682229137561598e-9, + c: 6.869962107510701e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.005185158903616e-9, + c: -2.543845007276508e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.692861650110129e-9, + c: -4.607060996959278e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.638624141571388e-10, + c: -2.549693482130727e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.190372823162769e-9, + c: -2.348119822467240e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.531864959136956e-10, + c: -2.562238387709149e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.530113850567471e-10, + c: -2.341489285019526e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.056887380936878e-10, + c: 2.423567019037058e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.152370010712085e-9, + c: -1.265292264927789e-9, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.488900083984410e-9, + c: 1.568056693293872e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.865965236367671e-10, + c: -2.363706266068156e-9, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.479275097025768e-9, + c: -9.526731408961040e-11, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.420865693719593e-9, + c: -1.318078226559636e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.305710569342940e-9, + c: -7.466921795999881e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.789734847639327e-11, + c: 2.409429481403829e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.029844579147682e-9, + c: -1.233039741505257e-9, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.257774026108482e-9, + c: 1.998073081021056e-9, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.341260455520091e-9, + c: -1.938545383938593e-9, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.075253707430875e-9, + c: 1.093446719470145e-9, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.076629909830415e-9, + c: -6.804104757579916e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.105255176064968e-9, + c: -5.457304707716017e-10, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.052783711144839e-9, + c: -7.082027170995769e-10, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.146907318914013e-9, + c: 5.929319520599074e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040233694450691e-9, + c: -1.834612040155194e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.208562218057419e-10, + c: -1.880379272500990e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.031125052240051e-10, + c: -1.958804734304722e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.128885952135004e-10, + c: 1.875294161432970e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.977917105574453e-10, + c: 1.832242840191416e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.998005497918980e-9, + c: 1.524465590856088e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.864420307597654e-9, + c: -7.105518842964216e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.550248803530467e-9, + c: -1.168650070355920e-9, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.673431339716459e-10, + c: -1.723354121809825e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.068276085598933e-10, + c: -1.886554260415069e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.023857602999899e-10, + c: 1.683734507320840e-9, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.549289519440144e-9, + c: -1.084839906323806e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.363930948829534e-10, + c: -1.662560146300690e-9, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.617176834103276e-10, + c: -1.783798161757855e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.371058537512078e-9, + c: 1.144302947095332e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.661377066428659e-9, + c: -5.367733224338899e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.582698459778080e-9, + c: -7.278778707057954e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.657110384405453e-10, + c: -1.513712065153855e-9, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.603127211564711e-9, + c: -1.272332393397632e-10, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.320741368819813e-9, + c: 8.949426316404055e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.052441963315314e-9, + c: 1.184541224517660e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.577502420975842e-9, + c: 1.369289049754582e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.204013134548232e-11, + c: -1.579984042350649e-9, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.264166599038856e-9, + c: -8.926443899147069e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.366422980016774e-9, + c: 6.945254000522713e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.779222381539091e-10, + c: 1.339395498692196e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.217219317442158e-11, + c: -1.488768168452969e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.211065659842311e-9, + c: -7.872091125802166e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.781793272538321e-10, + c: -1.317468588777615e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255986330132813e-9, + c: -6.415328530711941e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.578364265917398e-10, + c: -1.385800466389932e-9, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.345395708745490e-9, + c: -4.199884110625035e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.851271155769544e-10, + c: -1.280325781157432e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.178150660756620e-10, + c: -1.253764949321503e-9, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.250600754704980e-9, + c: 4.560352663237759e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.981962279329439e-10, + c: 1.051406655656265e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.910874747752066e-10, + c: 9.633364607585784e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.960794337298684e-12, + c: -1.308104177016105e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.159817281214186e-10, + c: 1.196361059141864e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.017522278645258e-10, + c: 1.089665038470981e-9, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.274703782803931e-9, + c: -8.237354898833936e-11, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202639877661873e-9, + c: -3.874665919039253e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.647215139070007e-11, + c: 1.259192532129508e-9, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.257344110446714e-9, + c: -5.234030205163418e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.230584997589870e-9, + c: 1.174640524676240e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.349138764282258e-10, + c: -7.923658777745238e-10, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.782386738572129e-10, + c: -1.163586807110061e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.022249316664849e-9, + c: -6.151322606033544e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.764525281594196e-10, + c: -1.087263400556319e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.086684466113479e-9, + c: 4.104400450568280e-10, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.155343590177791e-9, + c: 7.812797696886895e-11, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.041954489318378e-10, + c: 9.168901940965145e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.126846829736301e-11, + c: -1.130605325096605e-9, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017852396776284e-9, + c: 4.829827930701764e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.481501578489842e-10, + c: 1.063994890564546e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117539839105321e-9, + c: -5.787411191490987e-11, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.830094780202913e-10, + c: 1.077060666633027e-9, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.110025478785794e-9, + c: 6.813066594387831e-11, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.782528961508609e-10, + c: 4.842299281804972e-10, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.079357440305155e-9, + c: -1.172710760414144e-10, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.515606295186416e-10, + c: -9.348651104097961e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.046107277084463e-9, + c: 2.810310396808707e-10, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.854096950455596e-10, + c: -6.077659858609149e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.309909292397670e-10, + c: 8.627194983519280e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.534764679875580e-10, + c: 4.649840537472374e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.133486266742624e-10, + c: -6.515058966098742e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.064920017452752e-10, + c: -8.194553809001167e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.457216174256764e-10, + c: 9.029516607719554e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.378403633479492e-10, + c: -5.498071931452472e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.537141017019598e-10, + c: 8.926997961148601e-10, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.989860694555366e-10, + c: 9.746779110409669e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.080628154559223e-10, + c: 5.742654055713030e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.937709110274499e-10, + c: 7.764714439784504e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.512403050759130e-10, + c: 9.779871579063565e-11, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.807592079122137e-10, + c: -8.736612056120270e-10, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.160678479407933e-10, + c: 2.601777342191521e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.049633505560575e-10, + c: -8.601995456593564e-10, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.442492252693798e-10, + c: 4.283085448052946e-10, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.469415270068028e-10, + c: -7.653758011080160e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.733913774717840e-10, + c: -2.804769770914436e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.930488499377138e-10, + c: 6.921958927597475e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.812662720890341e-10, + c: 8.276828337999724e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.709909022895665e-10, + c: 2.280800140084741e-10, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.326872230178288e-10, + c: 3.022740775561696e-10, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.136746445487532e-10, + c: 3.471451565914672e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.242488123737106e-10, + c: 3.156387898557894e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.756608197612174e-10, + c: 7.203879918600928e-10, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.486456712861216e-10, + c: 6.608438353797066e-10, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.097593064595462e-10, + c: 5.984971989483317e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.666709939758486e-10, + c: 8.363340695315435e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.558504054830624e-12, + c: -8.229511616557263e-10, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.441918230939423e-10, + c: -6.413954989991656e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.549573267402555e-10, + c: -5.424531470246365e-10, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.319394494590796e-10, + c: -2.350739766422778e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.803585490942941e-10, + c: 3.524657355918366e-10, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.651305956992238e-10, + c: -2.591401394634121e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.980046100793383e-10, + c: -6.891799252245498e-10, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.808314526126062e-10, + c: 3.166078163539546e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.843449454075898e-10, + c: -4.586003364513287e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.286890549290220e-10, + c: -1.044776041485007e-10, + mult: [0, 0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.300688697389256e-10, + c: 7.973827869006757e-11, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.114018133972728e-11, + c: 6.706726164729249e-10, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.357514611379271e-10, + c: -2.034214759413404e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.121528419317555e-10, + c: 2.561428911288590e-10, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.633302851559205e-10, + c: 3.487915635599457e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.876585166565794e-10, + c: 5.872017069843406e-10, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.408469734827169e-10, + c: 5.954197443018551e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.038367621256740e-10, + c: -3.774395144030715e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.438775844798159e-10, + c: -5.233635825886017e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.453014260603572e-10, + c: 5.097072240417879e-10, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.802311581159100e-10, + c: -5.434257574415424e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.840214902220664e-10, + c: 3.712260770257532e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.131769085415006e-10, + c: -5.683589108902815e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.463623289909104e-10, + c: -5.523073685162290e-10, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.204259828584679e-10, + c: 2.998620643518548e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.290915472868299e-10, + c: 2.761939206687281e-10, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.299613577697858e-10, + c: 5.788300854392647e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.297717796200427e-10, + c: -5.364795208073327e-10, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.928168238551428e-10, + c: -3.041011462101879e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.509203492501320e-10, + c: 1.772758926461002e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.876051902919568e-10, + c: 5.402977315766527e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.181835593517915e-10, + c: -3.759310091598896e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.571073397377278e-10, + c: 6.401506588506290e-11, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.679136704765331e-10, + c: -4.633479883061461e-10, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.898901395054911e-10, + c: 2.154025626694728e-10, + mult: [0, 0, 12, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.134613630562916e-10, + c: -3.967493976389689e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.175133005233131e-10, + c: -4.893542872573080e-10, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.914852686957455e-10, + c: 8.201247168854804e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.897571213776761e-10, + c: -9.046870992282798e-11, + mult: [0, 0, 12, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.429413674908908e-10, + c: 2.211215526087897e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.111741419726030e-11, + c: -4.881741977899656e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.197363822541213e-10, + c: -3.727470221876823e-10, + mult: [0, 0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.341654451573436e-10, + c: -4.718032466779135e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.635481445439514e-10, + c: -1.477307665910591e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.666265182916391e-11, + c: 4.760531771522863e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.680970411673688e-10, + c: -4.490775157565366e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.695891207128848e-10, + c: -7.921718792551341e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.286156986266307e-10, + c: 1.954548814749645e-10, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.009374479247785e-10, + c: 2.364897180233311e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.230577449463213e-10, + c: -1.883411506768002e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.448836325199737e-10, + c: 3.078148286331879e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.607649622711875e-10, + c: -4.263123603635969e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.318754936059197e-11, + c: -4.533175202965762e-10, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.162375578367316e-11, + c: 4.508310965067287e-10, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.580269794350548e-10, + c: 3.701530531765521e-10, + mult: [0, 0, 12, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751793053330156e-10, + c: -4.134377619346139e-10, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.960833160230345e-10, + c: 2.085756517189777e-10, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.277804226882411e-10, + c: -4.287175265829797e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.117866058220513e-10, + c: 4.263636679349502e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.699958208028638e-10, + c: 4.039817505853688e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.964866215662701e-10, + c: -3.874761890077141e-10, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.522022987930501e-10, + c: 2.535733818211149e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.078077457940512e-10, + c: 3.048403393237344e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.040228769178247e-10, + c: -3.044212805523585e-10, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.231160994500471e-10, + c: 5.078470128855510e-11, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.840947738832474e-10, + c: 3.789320499293643e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.622452931428129e-11, + c: -4.164225383054739e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.659187188875830e-10, + c: -2.061794168282119e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.262288745418502e-10, + c: -3.495248175638588e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.156457744537892e-11, + c: 4.076779408966652e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.738262963905951e-10, + c: 1.623647261724194e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159559886139050e-10, + c: 3.903385608655620e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.732430138108964e-11, + c: -3.916365666994507e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.511772174381220e-10, + c: -3.051927281750046e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.794369265077474e-10, + c: -3.491089158358837e-10, + mult: [3, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.093086921428510e-10, + c: -3.256589790582157e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.003795767308433e-11, + c: -3.721475632924677e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.525378306394727e-10, + c: 1.450607716542707e-10, + mult: [0, 0, 13, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.210462838716254e-10, + c: 3.560363102399687e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.647846003078309e-10, + c: 3.025233432857720e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.802386525694452e-10, + c: 2.308256453744712e-10, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.384049210732497e-10, + c: -1.073832560491920e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.283469611669208e-11, + c: 3.501519835298287e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.625607863645727e-10, + c: 3.140390902907809e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.451715882979248e-10, + c: -2.521744401776728e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.323943531544526e-10, + c: -3.161384182490829e-10, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.147042905860405e-10, + c: 2.633106040552607e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.254364269176584e-10, + c: -3.143723486724698e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.752330855884508e-10, + c: 1.913630635702490e-10, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.262959292516470e-10, + c: -7.645001791061509e-11, + mult: [0, 0, 13, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.273615951462844e-10, + c: 6.924746350942109e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.950014604857677e-10, + c: 2.711591391824796e-10, + mult: [0, 0, 13, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.441727132812548e-10, + c: 2.996064678840350e-10, + mult: [0, 0, 11, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.232777894317100e-10, + c: -2.441694033232495e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.610612846585343e-11, + c: 3.281908942508818e-10, + mult: [0, 0, 12, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.555448295408878e-10, + c: -2.894516946827567e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.356763621719301e-10, + c: -2.987964895095060e-10, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.884427005214388e-10, + c: 1.528703538085069e-10, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.089255434289091e-11, + c: -3.158531698859586e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.200815713286358e-10, + c: 3.991055531426794e-11, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.869869518080457e-10, + c: 1.402191939101764e-10, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.175575128531054e-10, + c: 3.384128724415782e-11, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.149287428548087e-10, + c: 2.969729508657614e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.140798893336672e-10, + c: -4.825689120308266e-11, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.757431599337892e-10, + c: -2.562531030351244e-10, + mult: [0, 0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.926270522609689e-11, + c: 2.982897027093116e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.595509771237740e-12, + c: -2.988402518103233e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.724442666933457e-10, + c: 1.138046580878281e-10, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.777789650213251e-10, + c: -2.650869316762337e-11, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.328350787868754e-10, + c: -2.428058788157637e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.452240655160238e-10, + c: -2.347050328884943e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.250400709787545e-10, + c: -1.592667674197280e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.070057386165566e-10, + c: 1.786512591168104e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.337512710623269e-10, + c: -2.361946871072136e-10, + mult: [0, 0, 3, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.526875641167458e-10, + c: 9.602370717863477e-11, + mult: [0, 0, 14, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.029260980421461e-11, + c: 2.538255597320112e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.208619447230391e-10, + c: -1.538580096579528e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.644291503229291e-10, + c: 1.528973523835928e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.119876850598940e-10, + c: -1.580026536647692e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 11, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.138230672618592e-11, + c: 2.571039923908663e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.990795289621598e-10, + c: 1.733539001000454e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.099721373486563e-10, + c: -1.552203789207368e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.936202461925231e-11, + c: -2.402394961070038e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.472709203447881e-10, + c: -7.810223940820630e-11, + mult: [0, 18, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.254022844532304e-10, + c: 1.274545429059190e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.697066273279856e-10, + c: -1.939034228297170e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.650711524183502e-10, + c: -1.943282264228528e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.923772628165672e-11, + c: 2.513066390976209e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.442208754947281e-10, + c: -6.581069606525411e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.124129748766101e-10, + c: -1.349052309177207e-10, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.396234625657509e-10, + c: 7.645879660945197e-11, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.508108729549527e-10, + c: 6.222697815111497e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.216247570534836e-11, + c: 2.468290913247089e-10, + mult: [0, 0, 13, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.477899311115140e-10, + c: 1.985979048111608e-10, + mult: [0, 0, 14, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.979510951249024e-11, + c: -2.334967917500985e-10, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.400971598484291e-11, + c: 2.322090414985253e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.413241043315118e-10, + c: 3.112518947860412e-11, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.959517300586599e-10, + c: 1.299022673077407e-10, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.052049067862311e-10, + c: 1.091857882495651e-10, + mult: [0, 0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.967579726946570e-11, + c: -2.080778257530225e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.519791037817099e-11, + c: 2.095899283928003e-10, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.547034871564712e-10, + c: -1.695316424027381e-10, + mult: [0, 0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.064616413989817e-12, + c: -2.293939538923340e-10, + mult: [0, 0, 5, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.571577858907953e-11, + c: 2.026509797272307e-10, + mult: [0, 0, 12, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.148554568393618e-10, + c: -6.323349884123587e-11, + mult: [0, 0, 14, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.416265283988678e-10, + c: 1.723729197465332e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 6, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.416457055004092e-10, + c: 1.718531933259432e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.187140876761727e-10, + c: -7.279844024566536e-12, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.100813197961541e-10, + c: 4.588621858040431e-11, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.135761500746463e-10, + c: 2.189366328194063e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.902213409613432e-10, + c: 9.597842544252560e-11, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.281826013165270e-10, + c: 1.680763278386825e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.187108057740804e-11, + c: 2.093696728602960e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.772974742750758e-11, + c: -1.944481754432077e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.268845311418717e-10, + c: 1.645326500686569e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.869784240233855e-10, + c: -8.233841576824581e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.733317725705270e-10, + c: -1.025901513954687e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.636857449773155e-11, + c: 1.926122002164016e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.951835369247021e-11, + c: -1.759131476522491e-10, + mult: [0, 0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.184073199696367e-10, + c: 1.576749289351914e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.225769171935165e-10, + c: -1.536578859150578e-10, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.414651509924739e-11, + c: -1.816424178791705e-10, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.361102020706667e-10, + c: 1.406590683712189e-10, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.252243619455802e-10, + c: -1.494536258476099e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.057147023714424e-10, + c: -1.617584094622579e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.785754214254971e-11, + c: 1.711888200011023e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.969419711517779e-11, + c: -1.888021186982194e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.799798188813411e-10, + c: 6.207165519973985e-11, + mult: [0, 0, 15, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.808014551129329e-10, + c: -5.682739419437562e-11, + mult: [0, 19, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.892356753187716e-11, + c: 1.880644321989840e-10, + mult: [0, 0, 14, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.456496630304722e-11, + c: -1.641303400367935e-10, + mult: [0, 0, 7, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.466824928365707e-10, + c: 1.118354743867791e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.766288725564132e-10, + c: 5.284048733418625e-11, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.814192797476935e-10, + c: 2.411971694901057e-11, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.061439173024052e-10, + c: 1.489358630332068e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.118186817571452e-10, + c: 1.447111409401056e-10, + mult: [0, 0, 15, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.097545028044865e-10, + c: 1.452693744158249e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.653283276661925e-10, + c: 7.205340847066185e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.741118314039536e-11, + c: -1.721831257863655e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.737881716519874e-11, + c: -1.529641150183660e-10, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.084166793263244e-11, + c: -1.607588088928276e-10, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.644505856848513e-11, + c: 1.726331412307560e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.731604104700306e-10, + c: 8.331566103555472e-12, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.724319502630990e-10, + c: 1.778752891305721e-11, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.721015874206165e-10, + c: 1.732256153099801e-11, + mult: [0, 0, 12, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.722462265760452e-10, + c: 4.792398110864934e-12, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.727091187732911e-11, + c: -1.698497690901787e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.676698577779425e-11, + c: 1.534992325290611e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.120129118222478e-10, + c: -1.279926094933778e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.686366450028697e-10, + c: 1.870969818423808e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.044774987131914e-10, + c: 1.333353124967205e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.363011395519281e-10, + c: -9.795299211620139e-11, + mult: [0, 0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.660377494852688e-10, + c: 1.283734554212539e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.965977098562014e-11, + c: 1.504574654433406e-10, + mult: [0, 0, 13, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.833570101315200e-11, + c: 1.394265831154205e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.359799361265702e-10, + c: -9.218284671957862e-11, + mult: [0, 0, 9, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629949099851737e-10, + c: 3.259182867486640e-12, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.321845094308665e-11, + c: -1.448033459986616e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429697540858048e-10, + c: 7.623632024648645e-11, + mult: [0, 0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.707134136631702e-11, + c: -1.457827631269351e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 4, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.585015111899352e-10, + c: -2.484817081332286e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.219171046975023e-10, + c: -1.033101074550609e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.300168926523172e-10, + c: 9.156833710569082e-11, + mult: [0, 0, 12, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.226600149256371e-10, + c: 9.945834612714972e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.863002978552345e-11, + c: 1.362883956634468e-10, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.267676021887112e-11, + c: -1.485057130666302e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.472337260957864e-10, + c: 4.524988249900785e-11, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.490159223404345e-10, + c: 3.345271743507795e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.216347569545757e-10, + c: -9.087699218041158e-11, + mult: [2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.128680119999715e-11, + c: -1.208240770171980e-10, + mult: [0, 16, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.501292775597081e-10, + c: 9.069251185334729e-12, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.214800650264212e-11, + c: 1.243496331559092e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.394862510146206e-10, + c: -5.130925710851755e-11, + mult: [0, 0, 15, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.506760361892858e-11, + c: -1.367656556902406e-10, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.472706027412465e-10, + c: 2.349112169595535e-12, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.235022002841506e-10, + c: -7.626803779066871e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.625806182134246e-11, + c: 1.436605907093744e-10, + mult: [0, 0, 15, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.380887134476053e-10, + c: 4.154469732722975e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.243158213351537e-11, + c: 1.410221479260417e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.275642967526675e-10, + c: -5.793874481765921e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.322659873065422e-10, + c: -4.135722031392353e-11, + mult: [0, 20, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.217836014894023e-10, + c: 6.344883267220101e-11, + mult: [0, 0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.360417666620166e-10, + c: 1.859082854185191e-11, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.302763710954953e-10, + c: 4.010865471745685e-11, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.038578358463059e-10, + c: 8.810794599166832e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.610918096033246e-11, + c: -1.051233701659338e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.424636981132436e-11, + c: 1.045979734621646e-10, + mult: [0, 0, 16, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024747368457142e-10, + c: -8.630954554056431e-11, + mult: [4, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.917512697462033e-11, + c: 1.306643264008983e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.440819519960587e-11, + c: -1.262658741816574e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.272119035829138e-10, + c: 3.887643405363952e-11, + mult: [0, 0, 16, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.953375715178467e-11, + c: 1.180816452062439e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.314938690878099e-10, + c: 4.825056907800202e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.957609584077931e-11, + c: -9.434772523250951e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.099350202416786e-11, + c: 1.080152285633644e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017347700059755e-10, + c: 7.963299525013539e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.416156120632320e-11, + c: -8.792582748619340e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.230309237589824e-11, + c: -1.125342353220637e-10, + mult: [0, 0, 2, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282017566152616e-10, + c: 7.780921176150358e-12, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.282916480649691e-10, + c: 1.650750260297618e-12, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.920173591725774e-11, + c: -1.219424835518995e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.174018747345177e-11, + c: -1.260900909641729e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.261435339983209e-11, + c: 1.161200508338986e-10, + mult: [0, 0, 14, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.958513595221582e-11, + c: -1.204453380014793e-10, + mult: [0, 0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.194303357618270e-12, + c: -1.263731876878188e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.771805273070621e-11, + c: 1.164244507230002e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.741669403780786e-11, + c: -9.880420087383422e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.250862865280510e-10, + c: -5.835519866742695e-12, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119941896098375e-10, + c: -5.562720036529237e-11, + mult: [0, 0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.241759922131805e-10, + c: -5.970004157159225e-12, + mult: [0, 2, -7, 8, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.232956299244526e-11, + c: -9.302525428699051e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.065723047686382e-11, + c: -9.393504050802084e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.193840102763270e-11, + c: -1.098218744986883e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.873957284558753e-11, + c: -8.260582890829748e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.486013391025608e-11, + c: -7.408624914403758e-11, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.842388211976715e-12, + c: -1.198935062512453e-10, + mult: [0, 0, 4, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.108670910218265e-10, + c: 4.553368261904925e-11, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.597848153365138e-11, + c: -6.799890860569326e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.123528586374443e-10, + c: 3.459248701841616e-11, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.905362951860012e-11, + c: -8.606688898992459e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.811193931663594e-11, + c: -9.454633536459584e-11, + mult: [0, 17, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.550195755242361e-11, + c: 9.607584764993702e-11, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.752269408500407e-11, + c: -6.325371348368134e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.389375292886744e-11, + c: 6.821991688036003e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.359430522258900e-11, + c: -9.636115265107879e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.447456423448122e-12, + c: 1.142483364797893e-10, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.925300144169762e-11, + c: 9.754689382644452e-11, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.772822338138683e-11, + c: 5.212418522810719e-11, + mult: [0, 0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.073386859334086e-11, + c: -1.026166111922178e-10, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.385896343705614e-11, + c: 1.095152871364784e-10, + mult: [0, 0, 16, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.601120269232325e-11, + c: -1.071773055367209e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.689833356653352e-11, + c: 9.819539639039952e-11, + mult: [0, 0, 6, 0, 0, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.086599948542611e-10, + c: 1.067499686618977e-12, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.070391526417738e-10, + c: 1.694677984687140e-11, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.659727072708555e-11, + c: 4.716792303069655e-11, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.538245773540280e-11, + c: -6.476612804550650e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -8, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.697688094890745e-11, + c: 6.205755330641924e-11, + mult: [0, 0, 13, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.651044348098988e-11, + c: -7.427351191244136e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.060539237053422e-10, + c: -1.008163979413019e-11, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.647288134682011e-11, + c: 6.194527617220201e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.839045292750068e-11, + c: -8.849148737796933e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.840985266735972e-11, + c: -7.092883651345928e-11, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.534452033427451e-11, + c: -9.004594412870704e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.329728509164528e-11, + c: 6.436162421176932e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.304521501998050e-11, + c: 9.068925809130379e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017888358105863e-10, + c: 1.426350376581374e-11, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.629208482698267e-11, + c: 3.571956407384978e-11, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.858596746507059e-11, + c: -7.539523720875042e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.285512436348083e-11, + c: -9.630630374135490e-11, + mult: [1, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.704540982017688e-11, + c: 9.435741066245146e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -7, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.679554263625748e-11, + c: -3.010192276304329e-11, + mult: [0, 21, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.487654112953007e-13, + c: 1.007335713190774e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -3.387469970891834e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.582155245177800e-9, + c: -1.615579416700978e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.443399584509200e-9, + c: 1.151430091825498e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.746308457195433e-9, + c: -9.210535480278601e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.172389820988135e-9, + c: 7.996206643120603e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.290035270101518e-9, + c: 3.530030584706672e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.918929475349186e-9, + c: 3.607958763405401e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.557032267383986e-9, + c: 2.889877672385092e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.495764087216082e-9, + c: 2.722480215687976e-11, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.087333817378358e-11, + c: -5.436968701838650e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.405686867488950e-9, + c: -3.115580543440652e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.289558167214702e-9, + c: -1.521963495626925e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.157331408412900e-9, + c: -1.323268585468544e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.450991625644628e-9, + c: 2.841852838079492e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.585087014287104e-9, + c: 1.772228840111141e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.323654585510552e-9, + c: -2.784101164450128e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.832300297997334e-9, + c: 1.213494491618665e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.051200214410406e-10, + c: 2.698757842916541e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.427323041306091e-9, + c: -1.348249270025009e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.494893243311985e-9, + c: 9.999582155060674e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.370440232820394e-9, + c: -2.251895376932135e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.598363844518574e-11, + c: -2.617979603153088e-9, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.186919698373281e-10, + c: 2.480094564975371e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.062525723844138e-9, + c: -1.911918797505193e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.800245673001771e-11, + c: 2.097559870199731e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.874186894618151e-9, + c: -8.299578636389487e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.307832036704824e-10, + c: 1.779090751178739e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.343538670238627e-9, + c: -1.430747167971875e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.607928961139682e-9, + c: 9.598356367302207e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.600777023175069e-9, + c: -9.080252983822638e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.362766699049172e-9, + c: 6.167847931551663e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.493550344315949e-9, + c: 6.630711451089931e-12, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.345518984762884e-9, + c: 6.274852715686857e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046631476807509e-9, + c: 9.266380318221899e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.696066042923745e-10, + c: -1.383654335682519e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.514604976838713e-10, + c: -1.157157149035947e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.152460910863578e-10, + c: 9.756854804356827e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.803777680049122e-10, + c: 7.423155840318561e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.339070692805496e-10, + c: -6.158416056401663e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.119401643845312e-10, + c: -4.858200595935318e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.790525905312508e-10, + c: -3.909400257306275e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.169845648209224e-11, + c: 9.326756388682012e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.744601449803450e-10, + c: 8.783298314043179e-11, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.078513252144051e-10, + c: -3.427176355768168e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.015204965106451e-10, + c: -3.274159267661518e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.384407396815395e-10, + c: -5.793907585258941e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.582043453591334e-10, + c: -3.471262526243287e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.923491414188691e-10, + c: 5.850370885804554e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.510126620526358e-10, + c: 7.377289242281890e-10, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.569156762747581e-13, + c: -8.098885021531184e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.902653153523959e-10, + c: 7.050959880391113e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.206535796925455e-11, + c: -7.601088426373756e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.959735690178129e-10, + c: -6.372065795964483e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.191850414224491e-10, + c: -6.694320273166568e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.619080180662695e-11, + c: 6.867958994850844e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.380451181156890e-10, + c: -5.891104491510427e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.712493917947338e-10, + c: 4.759489155622616e-11, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.061442176496445e-10, + c: 2.727970668547941e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.334505232542710e-10, + c: -5.708480730089705e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.212531365356366e-10, + c: 5.563137164336591e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.084251785564600e-11, + c: 6.327053721799097e-10, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.723868039433959e-10, + c: 2.487281950582153e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.977460654805938e-10, + c: 3.683535631399826e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.067555858794401e-10, + c: 2.728523940044944e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.584818870294944e-11, + c: -5.686168517647544e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.020068125243982e-10, + c: 2.493780465290473e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.241998059277426e-11, + c: 5.566060786083198e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.381470640471992e-10, + c: -1.080723838858421e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.787627433043886e-10, + c: 2.347788972436377e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.331425771902416e-10, + c: -4.653291537564593e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.181890986141317e-11, + c: 4.935333725055087e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.057228696045467e-10, + c: -4.317422338138409e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.032407764431479e-10, + c: -2.318532137681341e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.793920564738516e-10, + c: -3.690618817582642e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.792340950281047e-11, + c: 4.539021750859594e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.430080764101414e-11, + c: -4.456287232767391e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.338878050914285e-10, + c: 6.156550286781102e-11, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.196746797172795e-10, + c: 6.235382634507616e-11, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.397123723251145e-10, + c: -2.279864995530344e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.914227441991609e-10, + c: -1.143126302341432e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.308398957254359e-10, + c: -3.248323671588037e-10, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.144873605343463e-10, + c: 3.296221340201890e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.784407380537987e-10, + c: -3.202808574475656e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.062272936364937e-10, + c: 1.959394534878097e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.358286666334872e-10, + c: -1.147001388498923e-10, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455730446466949e-10, + c: 3.187834511593732e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.431760969757278e-10, + c: 3.178108301575684e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.890246028836005e-10, + c: 1.935741163049729e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.782382329795324e-10, + c: -2.940231392503124e-10, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.185698364390996e-10, + c: -2.429785284947818e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.393580310024874e-10, + c: -2.928858319816702e-10, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.883105421118452e-10, + c: -2.535270911325409e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.193134582333741e-11, + c: 2.970854065409694e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.908808090972650e-10, + c: -2.385344913748726e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.229867893661237e-10, + c: 2.061718728928119e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.327646776574469e-11, + c: -3.009256315105634e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.892156329506447e-10, + c: 7.957835731316343e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.995367778782684e-10, + c: -1.945190112370378e-12, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.829924105079888e-10, + c: 7.197991344058066e-11, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.337327383499935e-11, + c: 2.894858533082643e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640270849268658e-10, + c: -1.197171188968861e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.456999539329942e-10, + c: 1.491644330225719e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.954310962128294e-11, + c: -2.797444090549870e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.414378565365238e-10, + c: -1.419878195311018e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.660745559162285e-10, + c: 4.731064060385957e-11, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.699401648075375e-10, + c: -4.262497469992703e-12, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.189424423565806e-10, + c: -1.302664041431253e-10, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.113487132939141e-10, + c: -2.112373638706355e-10, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.521139008334111e-10, + c: -1.808158162899843e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.090218218352177e-10, + c: -1.089962216501909e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.164968237081774e-10, + c: 9.263154814944528e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.859580166264140e-11, + c: -2.264243451280590e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.070219022755626e-10, + c: -1.023120619093279e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.119804868277664e-10, + c: -8.760278183106674e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.078657928943476e-10, + c: 9.600156151613465e-11, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.456757369653641e-11, + c: 2.261027147543755e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.699059335606221e-11, + c: -2.042474494140509e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.888000858353499e-10, + c: 1.164832403331817e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.781297176575940e-10, + c: -1.292847284090829e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.118868723571869e-10, + c: -1.848270108075536e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.906765068794756e-10, + c: 9.970534710775794e-11, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.011416967957195e-10, + c: 7.378658936186620e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.952185015588312e-10, + c: 7.733942018531290e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.500116685293137e-11, + c: 2.023653116791082e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045794166608923e-10, + c: 1.561085537807913e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.347158139903034e-10, + c: -1.277966148794476e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.120312270971454e-11, + c: -1.837212002006904e-10, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.611081713178429e-10, + c: -9.022945899678715e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.591626010436829e-10, + c: 8.827037337942843e-11, + mult: [0, 0, 10, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.778959759411358e-10, + c: 3.720865398333179e-11, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.100182296929008e-10, + c: 1.382759924727668e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.745912363747020e-10, + c: -1.473178197005251e-11, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.439825265483891e-10, + c: -8.897763332017736e-11, + mult: [0, 0, 10, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.287718043368182e-11, + c: -1.476405754699989e-10, + mult: [0, 0, 10, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.201956483714060e-10, + c: 1.118658142203887e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494158345935227e-10, + c: 6.187338260102047e-11, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.033312662139770e-11, + c: 1.557609064058383e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.860798792910165e-11, + c: -1.448227471310191e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.555132341531652e-10, + c: -3.735801513861200e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.592502867831328e-10, + c: -2.925092836351417e-12, + mult: [0, 0, 10, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.350349204608302e-11, + c: 1.575653858644384e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.401639417420324e-10, + c: 6.429813485798807e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.026464752006838e-10, + c: 1.084635321418864e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.372338651891793e-10, + c: 5.343878433807430e-11, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.053038166337762e-10, + c: -1.014996295613036e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.406891635231255e-10, + c: 3.973778170117346e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.902775054284408e-11, + c: -1.374866021458320e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.088405800870943e-10, + c: -9.417623837377267e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.716244283322830e-11, + c: 1.320546180497926e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.297246996505110e-10, + c: 4.901357982092891e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.191388414561818e-10, + c: 6.896088867725085e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.261195564093885e-10, + c: 5.306320984354698e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.513420658464060e-11, + c: 1.084258107134602e-10, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.041493144133226e-10, + c: -7.871004926220078e-11, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.214234024850986e-10, + c: 4.792853768692306e-11, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.229047569350834e-11, + c: 1.291815406093121e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.243451805313923e-10, + c: 2.943035927806639e-11, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.345576542607127e-11, + c: 1.106449571839305e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.032346584384862e-10, + c: 7.428073235924595e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.151869415112361e-10, + c: -5.368155732117802e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.286712470567378e-11, + c: 8.596635733305909e-11, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.423242733196929e-11, + c: 9.378291371051115e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.166997822331743e-10, + c: 4.403583001447509e-11, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.085514410321489e-11, + c: -1.224061577582722e-10, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.051541257402446e-10, + c: -6.092767435598806e-11, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.058467990519211e-11, + c: 8.047188195233520e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.222793327438292e-11, + c: 7.783110510997078e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012820481203361e-10, + c: -6.509543664649490e-11, + mult: [0, 0, 11, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.822305166115419e-11, + c: -1.055987962161548e-10, + mult: [0, 0, 11, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.033593567881437e-10, + c: 5.194629169309789e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.967660060968111e-11, + c: 9.137305836563150e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.903907271473434e-11, + c: -1.037914135179054e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.124755866686791e-11, + c: 6.583530178037094e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.886605642720961e-11, + c: -7.499439323871450e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.084595482755853e-10, + c: -2.804500063698727e-12, + mult: [0, 0, 6, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.633646117923572e-11, + c: 4.988653809161678e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.623841232252086e-11, + c: 9.109374674977398e-11, + mult: [0, 0, 11, -20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.068520609589638e-10, + c: -3.282519521944714e-12, + mult: [0, 0, 11, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.181346567531661e-11, + c: -7.895825925283068e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.477251424741239e-11, + c: 4.815503004313327e-11, + mult: [0, 0, 4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.903703239034715e-12, + c: -1.044552101907247e-10, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.000163932212880e-10, + c: 2.518823736683983e-11, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.667073901664393e-11, + c: 3.472710870242357e-11, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.263978193342436e-11, + c: 4.130831251439740e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.614188796329672e-12, + c: -1.008166750080013e-10, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 8.561504508364347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.380662466946946e-10, + c: -2.055784975072682e-9, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.551820475143920e-9, + c: -1.017042870045274e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.544516154286532e-10, + c: 1.056897138417770e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.661040726904289e-10, + c: 1.000918869218872e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.387504218931860e-11, + c: -8.673818586455243e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.024040910962949e-10, + c: 3.573229233742233e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.729798153020383e-10, + c: -4.198967691455394e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.016538541240891e-10, + c: 4.334325008824663e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.492557781112626e-10, + c: -4.016073484683873e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.070901155276355e-10, + c: -1.778778360802825e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.285847678949557e-10, + c: -2.108290080116906e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.684350915979599e-10, + c: -3.236310605767175e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.792377064846264e-10, + c: 2.888368846363000e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.202254832763652e-10, + c: 3.904656642168428e-11, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.216077587291249e-10, + c: -2.843713563743608e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.571777046520827e-10, + c: 1.616790879488293e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.341141546919989e-10, + c: -1.477072774418318e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.089181382703935e-11, + c: 2.617212640697108e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.135076376461465e-10, + c: -1.882226313306442e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.063329087880786e-10, + c: -4.911760253591629e-12, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.123815897414824e-10, + c: 1.723425399914025e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162109709924666e-10, + c: 1.695976547806125e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.020129184008076e-10, + c: -1.088327021946084e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.952630763095872e-10, + c: -1.980364254218435e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.520081859287743e-10, + c: -7.798813808450333e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.664233539183476e-10, + c: 9.882052322702471e-12, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.348399976102744e-11, + c: -1.108948853103464e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012695426176344e-10, + c: 6.722425998893809e-11, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.189849718087476e-11, + c: -1.030232422120978e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.223907848768154e-11, + c: -1.014092347398112e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.182093362562432e-11, + c: 1.077894018716892e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.392985420747128e-11, + c: -9.580783218098023e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.816196915578922e-11, + c: 5.965445028711397e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.457580965313750e-11, + c: -8.325574321257811e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.005946351529157e-10, + c: 4.230724257258485e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: 2.776340239813239e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.722735345138315e-11, + c: -8.649323628215195e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.038102497816615e-11, + c: -8.860849711389444e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.403644138949181e-11, + c: 1.128085060345587e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.024250761081437e-10, + c: -6.115071339181863e-12, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[Term { + s: 0.0, + c: -6.447875344468708e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 4.575127329355824e-7, + c: -1.064889038356864e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.639028511489842e-7, + c: 6.807446056543058e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.379069608265148e-7, + c: 1.288237771382845e-8, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.469574665888171e-7, + c: -7.063381431160828e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.641151985184918e-8, + c: -2.237850854559965e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.615198574572852e-8, + c: 2.146893274605533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.972607873241515e-8, + c: -7.657544963110243e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.668751616462384e-8, + c: 2.026979558393980e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.957103910388474e-8, + c: -4.316193590298215e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.215261040902950e-8, + c: 3.200971147387127e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.574106861221862e-8, + c: -1.524343194279814e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.837801089286948e-9, + c: -5.173372369731995e-8, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.024597058161580e-13, + c: 4.754104557288891e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0], + }, + Term { + s: -4.725920541927106e-8, + c: -2.746562644857204e-9, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.744758729160826e-9, + c: -4.326950629488985e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.957486592246238e-8, + c: 1.555043653637496e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.511244804252561e-8, + c: -5.806712378793011e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.519951291518386e-8, + c: -5.514999142789943e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.371316115657934e-8, + c: -7.821592076566052e-9, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.939314712686387e-8, + c: -1.690022210924050e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.708435032678998e-8, + c: 1.806790629612157e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.940726411021285e-8, + c: 6.921842858379882e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.945077879054106e-8, + c: -1.789435243015381e-9, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.696818908716912e-9, + c: 2.824000713457631e-8, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.518625118169111e-9, + c: 2.827171415901450e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.346101833658000e-8, + c: -5.422091988951541e-9, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.831841844665408e-9, + c: 2.008028319788502e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.144662350716540e-8, + c: -4.873063817329144e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.386882263993447e-8, + c: -1.522354687499312e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.026254081213525e-8, + c: -3.502950483478700e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.889534515102937e-8, + c: -1.182746585940010e-9, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.621532980293536e-8, + c: -3.736246116465735e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.623069241431031e-8, + c: 3.117602006885589e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.629817908978968e-10, + c: -1.542408360485475e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.428352795026340e-8, + c: 3.391385808932237e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.282422144388346e-9, + c: 1.283526763763762e-8, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.235961009430553e-8, + c: -7.894618911692521e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.111079169532405e-9, + c: 8.406055488593641e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.119925143565095e-8, + c: -2.570278137761966e-9, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.537553942179535e-9, + c: 9.091550340034467e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.000743883870372e-8, + c: 4.719409630666869e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.008499621000070e-9, + c: 6.567842153088916e-9, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.826953583251372e-10, + c: -8.714232182498154e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.195706744973789e-9, + c: -5.305762370175142e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.891294902012524e-9, + c: 1.894028506319756e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.742939020391184e-9, + c: -1.769339074603288e-9, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.135170737390846e-9, + c: -7.476189500108631e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.131685230863157e-9, + c: 6.412944186138751e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.122344062056261e-9, + c: -2.059502356877963e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.314860377021663e-9, + c: 8.823495792901725e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.116616392193396e-9, + c: -6.204040481685781e-9, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.854865098434284e-9, + c: 4.845395381986226e-9, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.365822712397045e-9, + c: 3.916344657219454e-9, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.532941816894441e-9, + c: 3.531192937861710e-9, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.778339190054188e-12, + c: -5.672331499167784e-9, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.588612739913284e-9, + c: -8.707901183608158e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.194777966801176e-9, + c: -1.983423159243464e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.489751094187389e-9, + c: -3.583310105141639e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.362448885288355e-9, + c: -1.219622681456532e-9, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.851944837936611e-9, + c: -3.715329071085310e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.019165814075448e-9, + c: 9.481662461889844e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.808993523298990e-9, + c: 1.054363229343937e-9, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.654366121150141e-9, + c: 1.131730446672382e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.079583508879703e-9, + c: 4.428468507411033e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.835396447497116e-10, + c: 4.487788028540390e-9, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.593156269941816e-9, + c: -1.646627544628199e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.337924285207461e-11, + c: -3.901640248456480e-9, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.232306209770418e-9, + c: 2.032914880133206e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.720738099625456e-9, + c: -8.419669880576926e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.705697452930824e-9, + c: -2.428475612540758e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.707588333843043e-9, + c: -2.445003279825200e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.899510528301282e-10, + c: 3.437266437922269e-9, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.005177536020133e-9, + c: 1.157380778263077e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.852318918046121e-10, + c: 2.864800477377804e-9, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.853925854123010e-9, + c: 7.045871989982907e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.112001650759998e-10, + c: 2.840424795418389e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.103592325547718e-10, + c: -2.820415158945788e-9, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.597116307614329e-9, + c: -1.116628267534634e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.667748477141970e-9, + c: -7.371502607210808e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.876655109792043e-11, + c: -2.756106017447315e-9, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.679196061093487e-10, + c: -2.692833865366842e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.586343902954652e-9, + c: -5.821105169593230e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.474716273226206e-9, + c: 6.072354089035337e-10, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.753554875655577e-10, + c: -2.411305852617471e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.516607240235365e-9, + c: -1.649856675821219e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.860266190230343e-9, + c: 1.622038155705309e-9, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.425812768740220e-9, + c: 8.359000505301069e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.047360564114459e-10, + c: 2.270661429319044e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.328723466868659e-9, + c: -2.322160154641776e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.097173032436109e-9, + c: 8.822197757026435e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629031297585193e-9, + c: -1.433153426623824e-9, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.055003612321336e-9, + c: 6.116391255615099e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.199478791494871e-9, + c: 1.739617559626678e-9, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.066070906802534e-9, + c: -2.974949781407311e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.683040908465454e-11, + c: -1.974672963676216e-9, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.894331033194687e-9, + c: 2.515274715862809e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.257187063210620e-9, + c: 1.425771551213941e-9, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.794703540714555e-9, + c: 4.509069571863211e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.800878790097729e-9, + c: -4.030025068229936e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.711197326773390e-9, + c: -6.289501182654034e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.348242359432907e-9, + c: 1.211651420548033e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -3.009454094885006e-10, + c: 1.767880130267874e-9, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.441081562631518e-9, + c: -1.001377082902252e-9, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.717371677713668e-9, + c: -1.122727637221845e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.897887495100674e-10, + c: -1.592147398223555e-9, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.265488694319775e-10, + c: -1.497294801680465e-9, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.338793282940235e-9, + c: 7.067072352084070e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.503146566940696e-9, + c: -6.480638384362546e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -1.443000000000000e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.393226757307686e-9, + c: 3.658475864104518e-10, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.165887877719957e-9, + c: -8.316598617939246e-10, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.850289137950241e-11, + c: -1.426292729758317e-9, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.766816921651343e-10, + c: 1.397151818825106e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.344218740094830e-9, + c: -4.509929095294470e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.321454122461804e-9, + c: 4.885509605634238e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023634913237931e-9, + c: 9.605588410599150e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.278780345241923e-9, + c: 5.099515779501503e-10, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.264559796924354e-9, + c: -3.687964124598513e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.255922335668091e-9, + c: -2.793454259834583e-10, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.444609458514389e-13, + c: 1.242353611484008e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0], + }, + Term { + s: 8.858081087902952e-11, + c: -1.193587797359473e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.148410052491806e-9, + c: 2.943096364297158e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.136836149065780e-9, + c: -3.300030128368065e-10, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.176586297239536e-9, + c: -7.647852795809440e-11, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.602868452471338e-10, + c: -1.167456568411457e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.780839814462340e-10, + c: -7.499227983342171e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.697799105401505e-10, + c: -6.120870417226697e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.862486611599000e-10, + c: -1.047499790373082e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.712956766511488e-10, + c: 1.064325720469991e-9, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.546296550916579e-10, + c: 9.273073580677609e-10, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.763021894064017e-10, + c: -1.033580345801707e-9, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.855326428867883e-11, + c: -1.035140195190317e-9, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.589573974882968e-10, + c: 3.889778660337386e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.881379948541046e-10, + c: -1.006936064374595e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.746208155845197e-10, + c: -5.135195142036391e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.799964064233896e-10, + c: -9.838679103335443e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.396906197848317e-10, + c: -5.171968704988935e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.190704587451082e-10, + c: -7.317737117636507e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.372577032841951e-11, + c: -9.529438956089215e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.398413146812095e-10, + c: -1.335304732878592e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.357790511534139e-10, + c: 8.430725027449567e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.771203816260980e-10, + c: -1.938406671082916e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.660453000916274e-10, + c: -8.681258537107869e-10, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.827721108303925e-10, + c: 3.912398140050760e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.190527966544677e-10, + c: 6.115073152003325e-10, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.483288098376145e-10, + c: 1.651089305327613e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.222020056333638e-10, + c: 2.270872594638457e-10, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.208517835383859e-11, + c: -8.465470937789850e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.859896808483941e-10, + c: -4.688137485909890e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.498004616234469e-10, + c: 3.334713886197076e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.136576130455561e-10, + c: 7.869480250767134e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.087093270959281e-10, + c: -5.212057544258883e-11, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.687357980138318e-11, + c: 8.012669730249336e-10, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.142221113418463e-10, + c: -3.415054013958660e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.513143939218664e-10, + c: -1.895105875089647e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.440410518568324e-10, + c: 1.949673038134478e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.902847360444045e-11, + c: -7.534147390991178e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.893050475338574e-10, + c: -2.920904105550755e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.147795320953194e-10, + c: -1.647987096397100e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.075547539521508e-10, + c: 7.140323292339389e-10, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.449764925286938e-10, + c: -7.059421112551121e-10, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.405847497369442e-10, + c: -4.580792692220957e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.187025859727092e-10, + c: 2.657531105882218e-10, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.234241952207053e-10, + c: 2.392906646560315e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.339266031238215e-10, + c: 3.887168292474551e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.247130328940550e-10, + c: -6.113755246012416e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.173622976267963e-10, + c: -6.378599609306505e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.934804572199668e-10, + c: 5.624099798715884e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.133592104838559e-10, + c: -1.346351407537892e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.031520777708644e-10, + c: -6.168526489312573e-10, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.559481828677954e-10, + c: -1.957845782155283e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.210788442369313e-10, + c: -5.617420286141634e-10, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.904538182743290e-10, + c: 4.006011647490120e-10, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.573575145765890e-10, + c: -3.552080456814008e-11, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.342975528057209e-10, + c: 4.461061497812046e-10, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.071550399533963e-11, + c: -5.492958023984515e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.354893958317458e-10, + c: -4.960779056128807e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.364441977878415e-10, + c: 3.268363815353715e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.738396298430917e-10, + c: 2.167996612177740e-10, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.990959032043080e-10, + c: 1.433572830357134e-10, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.058461918806423e-10, + c: -1.149834844378442e-10, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.864570531632156e-10, + c: 1.306588056247082e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.441511625486534e-11, + c: 5.016398309964134e-10, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.705899775678407e-10, + c: -1.556968951813220e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.400810332045425e-10, + c: 1.007558461143180e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.822901946442609e-11, + c: -4.401363415185016e-10, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.955258489135005e-10, + c: 3.373188992124010e-10, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.964801082283954e-10, + c: -4.026148903570296e-10, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.654054788161311e-11, + c: -4.369406964604918e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.294135563864587e-10, + c: -9.358952753844530e-11, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.883118894531063e-11, + c: -4.257139944230877e-10, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.883161041074872e-10, + c: 1.903009503366978e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.315116407908304e-10, + c: -2.774335373674923e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.893953731473622e-10, + c: 3.133979440107768e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.350568691142319e-11, + c: 4.219582765341514e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.542546438103638e-10, + c: -3.927449400707471e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.292191916169692e-11, + c: -4.160597579796720e-10, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.802235556358285e-10, + c: -3.747586125004688e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.221250661793528e-10, + c: 3.974653331733868e-10, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.381288374186444e-11, + c: -4.008626624107311e-10, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.663192973886531e-10, + c: 3.621852845124843e-10, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.477274988330241e-10, + c: -3.037807725912516e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.849984676399448e-10, + c: -2.419805233147016e-11, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.266853975157166e-10, + c: 1.724957110665552e-10, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.168639987459261e-10, + c: 1.843268974316648e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.513621253949939e-10, + c: 2.653574036072832e-10, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.808819428026584e-11, + c: -3.408969193770160e-10, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.405019878771353e-10, + c: -7.130579306414046e-11, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.237894424418143e-10, + c: 1.127388570268702e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339416662340462e-10, + c: -3.131435387708360e-10, + mult: [3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.100713735069318e-10, + c: -1.205053747327677e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.201947366783543e-10, + c: 8.837776679938305e-11, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.084638864911419e-10, + c: 9.166749654693992e-11, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.830516218845946e-10, + c: 1.525048213134056e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.288953167966889e-10, + c: 2.115756722016110e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.482962088747152e-12, + c: 3.094690507114391e-10, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.009489490592391e-10, + c: -6.510304225698556e-11, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.916310812839381e-10, + c: -9.878414263280119e-11, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.613979130711574e-10, + c: 1.606620948800639e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.880251238051171e-10, + c: -9.512443687200469e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.747690861042845e-10, + c: -1.121669171507491e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.398815820174602e-11, + c: -2.894984891025143e-10, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.825550841060401e-11, + c: -2.926808971056872e-10, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.849855823498235e-11, + c: -2.768452863994982e-10, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.200422090672578e-11, + c: -2.678929581235271e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.695077035288055e-10, + c: 3.514837949775158e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.298997197524813e-10, + c: 1.433649551918168e-10, + mult: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.115450124471846e-11, + c: -2.616870425109884e-10, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.514579101233194e-11, + c: 2.667510825874553e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.665353148478171e-10, + c: 1.648947889774192e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.664492548839035e-10, + c: -1.647155817467920e-11, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.012862900322086e-10, + c: -1.663232212981826e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.804287892709021e-11, + c: 2.403422440524346e-10, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.142255355272984e-11, + c: 2.354114569388110e-10, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.274758283389601e-10, + c: -9.895848799021742e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.236239135859828e-10, + c: 9.817681201207372e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.637542932440359e-10, + c: 1.770087736623549e-10, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.381401965720474e-10, + c: -1.618658830491673e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.468239344043194e-10, + c: -1.858677794805501e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.279972690003960e-10, + c: -4.437537415609584e-11, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.903232211986606e-10, + c: 1.277755213919455e-10, + mult: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.237896244621440e-10, + c: 1.465330824707627e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.895105790342856e-11, + c: 1.998793691873095e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.024755230510447e-10, + c: -1.972236500225924e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.118106626066971e-10, + c: 6.023578663693866e-11, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266219385385765e-10, + c: -1.795744149756007e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.512742022847504e-10, + c: 1.558129899681583e-10, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.111165118869209e-10, + c: -4.531429983626784e-11, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.387355304672441e-11, + c: -2.137298102022141e-10, + mult: [0, 15, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.002907365077890e-10, + c: 6.988289879626028e-11, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.734722546367763e-11, + c: -1.994617938119652e-10, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.913451399582435e-10, + c: -7.088389315282968e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.747703950027660e-11, + c: -1.993945783634413e-10, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.786938953310085e-10, + c: -9.492318975262021e-11, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.927812103990214e-10, + c: 5.905304550423506e-11, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.850449317387466e-10, + c: -5.011915463074199e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137514401984776e-10, + c: -1.540486245725944e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.551503387603106e-10, + c: 1.102200982481220e-10, + mult: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.664963022283203e-11, + c: 1.878557004986632e-10, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.774745529984821e-10, + c: -5.801439302605027e-11, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.848701947227313e-10, + c: 2.023512757950043e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.794904139914392e-10, + c: -4.844699609406404e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.847029335711621e-10, + c: -1.119913402793338e-11, + mult: [0, 18, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.808317786153357e-10, + c: 3.360516189728866e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.104093235463697e-11, + c: 1.599648037459548e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.690736508733741e-10, + c: -5.486895789375389e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.195222954993466e-12, + c: 1.749247670142020e-10, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.929586515166451e-11, + c: 1.620657397601155e-10, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.140551143298993e-10, + c: -1.245051290416298e-10, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.427903364063840e-11, + c: -1.483299504503910e-10, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.295760621241344e-10, + c: 1.021796017915528e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.632188532937060e-10, + c: -1.997072446255603e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.329659849194596e-10, + c: 9.358103505861051e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.780652519807288e-11, + c: 1.494456280781195e-10, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072117723876713e-10, + c: 1.181305473775562e-10, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.168310181640844e-11, + c: -1.555390868494160e-10, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.046983508549376e-11, + c: -1.560685730458623e-10, + mult: [0, 16, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.524589491369117e-11, + c: -1.239277349312758e-10, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.211284674559107e-10, + c: -9.855016368035955e-11, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.632749955291012e-11, + c: -1.511581448850326e-10, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.248747429624612e-10, + c: 9.030343417730390e-11, + mult: [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.512159487334081e-10, + c: -2.756883428340240e-11, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.482260373803750e-10, + c: -3.155646111756887e-11, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.458603767655021e-10, + c: 3.007653065827283e-11, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.406249110927936e-10, + c: 4.131746162441657e-11, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.353405395189705e-10, + c: -5.494622753716548e-11, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.392492577370028e-10, + c: -4.048634895584159e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073635088437612e-10, + c: -9.728852382603313e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.351900009044860e-10, + c: 4.906002890009667e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.205338116314769e-10, + c: -7.701705119529392e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.627160618436012e-11, + c: -1.385747521136363e-10, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270345378732916e-10, + c: -5.768144020492725e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.635341427407649e-11, + c: 1.369955165383900e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.093453006241929e-10, + c: -8.205691116547219e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.492346668396764e-11, + c: 9.266737388118801e-11, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.692124414477795e-11, + c: 1.196592393178436e-10, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.282127223475676e-10, + c: -7.602722191064954e-12, + mult: [0, 19, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.850794397214541e-11, + c: 1.248643057989401e-10, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.213337212797981e-10, + c: 3.825266532694856e-11, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.887974868130343e-11, + c: 7.350974652596713e-11, + mult: [0, 5, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158749714167693e-10, + c: -3.668068991960785e-11, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.766973407748326e-11, + c: -1.140059268948239e-10, + mult: [0, 15, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.402645025388602e-12, + c: 1.171978337712356e-10, + mult: [0, 0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.648960321872807e-11, + c: 1.101783175766413e-10, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.145805871438753e-10, + c: 1.490572306393748e-11, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.855716882270867e-12, + c: -1.139417100632664e-10, + mult: [0, 17, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.139867378692804e-11, + c: 1.117464185213503e-10, + mult: [0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.094200999013382e-10, + c: -4.474807494174456e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.079303943265464e-10, + c: -1.657575165863720e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.224645346335679e-11, + c: 9.836526807252523e-11, + mult: [0, 0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012740259989982e-10, + c: 3.308156978049877e-11, + mult: [0, 0, 9, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.668841046587785e-11, + c: -9.575774322858452e-11, + mult: [0, 0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041512841634677e-10, + c: -2.198483771137632e-11, + mult: [0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.034402861589917e-11, + c: 7.879273283768067e-11, + mult: [0, 0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.156639427403993e-14, + c: 1.055476568367252e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0], + }, + Term { + s: 1.037558278418681e-10, + c: -2.219413478773207e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.007296544709036e-10, + c: 2.334972571256312e-11, + mult: [4, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.164453507583387e-11, + c: -8.224756877260236e-11, + mult: [0, 0, 1, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.013336783077899e-10, + c: -1.620613924861175e-11, + mult: [0, 0, 9, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.934717356737285e-11, + c: -1.696319948816214e-11, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.415850372962838e-11, + c: -3.524760571880088e-11, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -1.134731322072173e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.031123650789526e-9, + c: -4.084813758168335e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.077991689012610e-8, + c: -2.605424248131432e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.524329119350964e-9, + c: -8.508661148940415e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.285178847417058e-9, + c: 7.853909058270643e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.878720583359585e-9, + c: -7.414594936290536e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.999782151849760e-9, + c: -7.272978441613859e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.278269447098873e-9, + c: 4.808515894330165e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.262565207121058e-9, + c: 6.155246770025437e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.542479401887669e-9, + c: 2.720464116612914e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.062442859663023e-9, + c: -5.751656423024505e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.445123419065230e-9, + c: -1.443314608577529e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.621893248818134e-9, + c: -2.555944313329506e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.522367996033507e-10, + c: -2.915538277715661e-9, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.444787244247619e-10, + c: 2.827209594218999e-9, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.168860834421876e-10, + c: 2.712041511782709e-9, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.046659089194025e-9, + c: 2.271357471624619e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.552658911640054e-10, + c: -2.187599855447233e-9, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.037051277829527e-10, + c: 2.081018672611302e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417337960101836e-9, + c: -1.554590757583141e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.798676705713322e-10, + c: -2.023009221039101e-9, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.274411861969978e-10, + c: -1.845801624623359e-9, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.538151203499706e-9, + c: 8.083230862528347e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.304880826724261e-9, + c: -1.089930925373573e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.576292020997098e-10, + c: 1.330382380660800e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.591667815901869e-10, + c: -1.394266307065378e-9, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.916442224131306e-10, + c: 1.345065540987921e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.388959333937614e-10, + c: -9.844546999986222e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.441010085257185e-10, + c: -1.167507662917777e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.980789858680077e-11, + c: -1.052538883370911e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.942589856338722e-10, + c: 2.037633003759095e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.662359917665184e-10, + c: 9.693769436867686e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.763995926984561e-10, + c: -9.606897223180867e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.321397399253717e-10, + c: 4.558717526483735e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.001382142768862e-10, + c: -5.551550231874096e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.012955729116592e-11, + c: 8.641565967419740e-10, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.540750915009766e-10, + c: -7.533063481788035e-11, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.200174066796366e-10, + c: -6.384616862030683e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.201970151404793e-10, + c: -2.199626828742399e-11, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.802175449427705e-10, + c: -7.365713404049913e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.897314002340827e-11, + c: 7.611522373654082e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.126108348271056e-10, + c: 6.267296272624874e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.665763562216895e-10, + c: 6.704413649572939e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.200502215860577e-10, + c: -6.628323525000414e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.264497104666496e-10, + c: 2.963488772141744e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.916648478644646e-10, + c: -2.021903914076568e-12, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.125997297238770e-10, + c: -5.740556218315836e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.938224960748758e-10, + c: -3.868089098069258e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.312341673369691e-10, + c: -4.201782670822228e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.321034078197401e-10, + c: -4.994873565503125e-10, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.175474382089725e-11, + c: -4.582443999150704e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.373129289922300e-11, + c: 4.612506540335058e-10, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.441612720281435e-11, + c: -4.125776404513935e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.089534673030762e-10, + c: 4.242379894651896e-11, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.549826803999673e-10, + c: 2.036014723900213e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.458639346041866e-10, + c: -3.674274944054000e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.715773863727898e-10, + c: 3.516202065693730e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.768739342945608e-10, + c: 4.836356500383156e-11, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.113246254019683e-10, + c: 2.971447617814396e-10, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.027957100369780e-11, + c: -3.572854846622654e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.717306841680717e-11, + c: 3.459202804308857e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.492177216707734e-10, + c: -2.511780315339486e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.146738852223968e-10, + c: -2.793149890901004e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.248138010574741e-10, + c: 2.519842782519496e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.572403848057697e-11, + c: -3.174934508194434e-10, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.090268130037595e-10, + c: 5.925353505331261e-11, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.899236745899146e-10, + c: 1.159680680748860e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.864549804216014e-10, + c: 1.217628663332574e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.972720499720778e-11, + c: 2.914729162642787e-10, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.008686767800089e-10, + c: -2.080913702317236e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.471300728521596e-10, + c: 1.436370559286509e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.862388655863715e-10, + c: -2.031038183553285e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.800294065561317e-12, + c: -2.609297083066371e-10, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.439177291023309e-10, + c: -9.206067328412868e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.824948661718431e-11, + c: 2.507442393965922e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.409966667721928e-10, + c: 4.173125050669918e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.338297852770478e-10, + c: 6.000894472844979e-11, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.395593431643506e-11, + c: -2.318492108010297e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.407515301119349e-10, + c: -1.869884336229084e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.854418234182900e-11, + c: 2.013715511009951e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.801468118008309e-11, + c: -2.204456582120463e-10, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.507033372886810e-10, + c: -1.652978139542373e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.320279087020227e-10, + c: 1.734486900324281e-10, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.103071336182126e-10, + c: 3.462122667217069e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.033158766876274e-10, + c: -1.058917065997139e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751123396080879e-10, + c: 1.027609271154422e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.315042918101546e-11, + c: -1.956827494005289e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.942789558204085e-10, + c: -4.103412411423021e-12, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.641996748206571e-11, + c: 1.894717039346288e-10, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.765739321302340e-10, + c: 5.398158552870962e-11, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.213659846630213e-10, + c: -1.370821601473229e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.810458601332786e-10, + c: -2.442731135220711e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.720356940159284e-10, + c: -3.195486052546954e-12, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.518943693386622e-10, + c: 8.055283501945205e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.549403900583777e-10, + c: -5.319230784937308e-11, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105204870702434e-10, + c: -1.191590458945141e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.191306695278196e-10, + c: 1.071786466806167e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.302042644173129e-11, + c: -1.258137711279421e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.595371668104663e-11, + c: -1.533733996403565e-10, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.253882218201540e-10, + c: 7.409752802415905e-11, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.418876719916950e-11, + c: -1.374551976502359e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.329803268749693e-10, + c: 4.570983997432468e-11, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.454958026027543e-11, + c: -1.398054155010717e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.759918433293499e-11, + c: 1.066489463876310e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.644460082152008e-12, + c: -1.334052419377154e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.786078838599149e-12, + c: -1.323359479847720e-10, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.880625449810707e-12, + c: 1.257038380566951e-10, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.308597519016010e-11, + c: 1.125792327805114e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.384064168467987e-11, + c: 1.234257590895507e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.336944758108632e-11, + c: 1.179317077879352e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.620062555784746e-12, + c: 1.213329970747286e-10, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.670605664003969e-11, + c: 1.058626019268870e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.542341377231672e-11, + c: -8.665247999439704e-11, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.927655972353385e-11, + c: -1.076079793418126e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.667611082988910e-11, + c: 4.941962201337590e-11, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.773098423429493e-11, + c: -1.069108629372549e-10, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.984952894345171e-11, + c: 3.731903645142280e-11, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.036562961580913e-11, + c: 5.367150261690454e-11, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.181259589029551e-11, + c: -8.496031683294151e-11, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.064332959022349e-11, + c: 9.590617380750393e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.691655125242465e-11, + c: -9.700811197240216e-11, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 1.236743820044911e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.504197521017551e-9, + c: 3.779484543871329e-10, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.047356166749571e-10, + c: 1.063828994689760e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.901367606091025e-10, + c: -4.727841809081263e-11, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.025116789737503e-10, + c: -3.748245410711594e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.944501964801013e-10, + c: 1.663636417368277e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.511302219706045e-10, + c: 1.961673398138350e-11, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.618613050130653e-10, + c: 3.983193617568511e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.230431411881758e-10, + c: -1.715731194304179e-11, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.880301937794986e-11, + c: -4.054675752222164e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.182227161097405e-10, + c: -1.485956411041118e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.268244930562746e-10, + c: 7.464354311986211e-11, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.878462139460130e-10, + c: 1.213847806697143e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.972569014812913e-10, + c: 1.070784318374601e-11, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.159501762061284e-10, + c: -2.698994774133307e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.744173525297632e-10, + c: -7.743939890437469e-11, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.215832653188783e-10, + c: -8.710435594850892e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.283125385582947e-10, + c: 4.833591659128031e-11, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.811932471309235e-10, + c: 1.117088736241874e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.877251349398920e-11, + c: -1.839496852057266e-10, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.755874608315711e-10, + c: 5.837138064950078e-12, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.465463433128829e-10, + c: -1.209847214477349e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0], + }, + Term { + s: 1.392742974438064e-10, + c: -2.703273284793467e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.958032033144743e-11, + c: 1.274427538703769e-10, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.304378013894901e-10, + c: 3.983951924876949e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.006800633457406e-11, + c: -1.021986616870011e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.647037281039537e-11, + c: -9.357052785963925e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.200232032191911e-10, + c: 2.217447842880089e-11, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.165557439203465e-10, + c: 3.414074620169637e-11, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.086732978664610e-10, + c: 3.071799851748994e-12, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 1.265390615335290e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.630769614855125e-11, + c: -6.906356036270878e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[Term { + s: 0.0, + c: -1.364851841718890e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[Term { + s: 0.0, + c: -3.167797729580470e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 1.143051248946656e-7, + c: 4.702136779419192e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.684459764580089e-8, + c: 3.603178002233933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.383757728520679e-8, + c: 9.861749707454420e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.193692495097233e-8, + c: -8.959173003201546e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.283084844907132e-9, + c: 9.061103588895765e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.258867533308999e-8, + c: 7.313198907481418e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.628582004889444e-8, + c: 5.479906683831936e-8, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.612535113837902e-8, + c: 6.698411861869979e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.754105336924164e-8, + c: 2.075442028891531e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0], + }, + Term { + s: 3.479373286741502e-8, + c: -2.957678112662184e-8, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.455326383498690e-8, + c: -8.616129768163713e-9, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.550093450487520e-8, + c: 3.942564899326677e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.742174696549827e-8, + c: -3.207559516069942e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.236166639442569e-9, + c: 3.425057157375080e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.449233432963438e-9, + c: 3.152742794989622e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.556363667905915e-9, + c: -3.058806508345368e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.531902588264984e-8, + c: 1.588866117761879e-8, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885356328214239e-8, + c: -1.810861331834876e-8, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.768551702483097e-9, + c: 2.387747314885375e-8, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.055512820668737e-8, + c: 1.037366151840705e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.395078114903046e-9, + c: 2.210644606566425e-8, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.245922669667603e-9, + c: -1.883389761449801e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.007326538505673e-9, + c: 1.654499658970031e-8, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.550333194129112e-9, + c: 1.569055030561075e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.197060780596306e-9, + c: 1.607138529050796e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.161508600140985e-9, + c: -1.326629179074003e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.121200746614020e-8, + c: -1.156948728078287e-8, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.735972739520667e-9, + c: -1.496536587078874e-8, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.318099608411633e-8, + c: 2.525253200597241e-9, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.783182033251191e-9, + c: 1.145675473699091e-8, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.285904564935286e-9, + c: 6.671532342306930e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.999285940062092e-9, + c: -7.586443653034419e-9, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.141335575435983e-9, + c: -4.603185251610087e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.653315403763044e-9, + c: 8.343060605224264e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.194350599129154e-9, + c: 7.247731061125784e-9, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.106221750478675e-9, + c: -8.335665946693233e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.377314167801623e-9, + c: 7.322956380189233e-10, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.934993617583800e-9, + c: 7.942501562455793e-9, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.336803577530162e-9, + c: 3.146096710366023e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.500693862346533e-9, + c: -5.058988393011418e-9, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.557318920532150e-9, + c: 3.737837078260234e-9, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.570752455892813e-9, + c: 1.246172720009966e-9, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.407511799616818e-9, + c: -1.249824629850153e-9, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.898883487405353e-9, + c: 5.533563084556459e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.893884080814883e-9, + c: -4.363309600105962e-9, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.347520612441592e-9, + c: 5.516070004020906e-9, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.060355851194611e-9, + c: -5.003763316991710e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.646597278703392e-10, + c: 5.075110093465101e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270818517964895e-9, + c: -4.961191766763531e-9, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.475657557753626e-10, + c: 5.017996453817067e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.862391392056421e-9, + c: -1.511756825352104e-9, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.263731566672637e-9, + c: 4.178618365392494e-9, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.589604250878792e-9, + c: 8.596078046264366e-10, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.094626784524266e-10, + c: -4.570510884116323e-9, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.951930272850042e-9, + c: -3.415090924764157e-9, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.111135730183835e-9, + c: 3.210747343455729e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.478956610560015e-9, + c: 2.480840301668867e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.970541082988149e-9, + c: 1.411964752881790e-9, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.219689035298994e-9, + c: 2.301352030045470e-9, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.400825931874283e-10, + c: 3.838318741979285e-9, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.031295731688131e-9, + c: 3.225264371516417e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.877307342506555e-9, + c: -2.343062131095673e-9, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.510480820055319e-9, + c: 6.460250598503657e-10, + mult: [0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.888839380290596e-9, + c: 2.827081319013936e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.323227189433976e-9, + c: -6.322558130976757e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.227070351752233e-9, + c: -3.080800415386073e-9, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.387094363845776e-9, + c: 2.267936158631531e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.991321667226176e-10, + c: -3.072660466377754e-9, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.963707268870064e-9, + c: -2.326902636407604e-9, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.923083215282482e-9, + c: -5.750880137206627e-10, + mult: [0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.903141366979332e-9, + c: 5.507689368565653e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.152676459321232e-9, + c: 2.513784502049824e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.569748090189459e-10, + c: 2.675901343009192e-9, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.087814571100372e-9, + c: 1.419426589016050e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.498695063292143e-9, + c: -2.382000756149916e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.438223673243835e-9, + c: 9.380001962695413e-11, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.775264181565160e-11, + c: 2.415064293093304e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.669209342476228e-10, + c: -2.346547433498827e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.867819013401304e-10, + c: -2.178466570124772e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.988435016562167e-9, + c: 1.138389104473438e-9, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.821590293562624e-10, + c: 2.096459086158729e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.179631088073386e-9, + c: -4.267719653436794e-10, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.989858541901021e-9, + c: 8.667168670971841e-10, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.009138226695667e-10, + c: 2.035991836940484e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.320221332612578e-9, + c: -1.597113861498137e-9, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202857945832422e-9, + c: 1.680618171510453e-9, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.166692755518559e-10, + c: -1.953627760878911e-9, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.598650421061077e-10, + c: 1.868807031001630e-9, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.128635966575439e-9, + c: 1.536090289870912e-9, + mult: [2, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.699400790826197e-10, + c: 1.757699811852994e-9, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.264711851723578e-10, + c: 1.874216996147585e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.809269276317127e-9, + c: 3.334788194753100e-10, + mult: [0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.213015673217813e-9, + c: 1.351138303010944e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.472014293132108e-10, + c: 1.749174522824081e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.480221154022176e-9, + c: 9.800789812244947e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.656556739069079e-9, + c: -3.286653063210262e-10, + mult: [0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.495711471092701e-9, + c: 7.257346830914348e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.533835587444270e-9, + c: -2.021075582481557e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.724656469639228e-10, + c: 1.422581554243734e-9, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.338420606967359e-9, + c: 6.705811601638089e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.379973481263331e-11, + c: -1.490729949827397e-9, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.314207845891867e-10, + c: -1.166387455006147e-9, + mult: [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.949228561723847e-10, + c: -1.102762170136299e-9, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.361883848684731e-9, + c: -1.902214313556129e-10, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.223656508342335e-10, + c: 1.307259069222850e-9, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.475491185468521e-10, + c: 1.235869909354708e-9, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.407693169782224e-10, + c: -1.265227513222388e-9, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.634301857103500e-10, + c: 1.254830071724335e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.080079390690285e-9, + c: 7.033740699008634e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.580062856613175e-11, + c: -1.277252887010262e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.265558888101903e-9, + c: -1.475320846174526e-10, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.199164376819427e-9, + c: -3.890584379313076e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.961674373304029e-10, + c: 1.041864717090419e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.243788184397516e-9, + c: -3.448336863131641e-13, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0], + }, + Term { + s: 1.080936665836821e-9, + c: 5.598326198650671e-10, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.725515480524971e-10, + c: 1.164594363221329e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.232888030675579e-10, + c: -9.823611597078085e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.146642885524497e-9, + c: -1.675008551003453e-10, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.095273668404900e-9, + c: 2.955853344719968e-10, + mult: [0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.074572933705105e-10, + c: 8.859529033937597e-10, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.658541806274533e-10, + c: -7.794159272761230e-10, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.772699672010613e-10, + c: 4.483670654183655e-10, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.105472082334688e-10, + c: -9.812871041734737e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.028665225452190e-9, + c: -2.060497169547070e-10, + mult: [0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.166332136373557e-10, + c: -8.775717401897062e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.302653659685889e-10, + c: 9.721616502855721e-10, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.106230289353515e-10, + c: -7.652151080734632e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.230107790509603e-10, + c: -8.170448446588671e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -9.700000000000000e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.968723759818296e-10, + c: 5.131453678043985e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.343005339758224e-10, + c: -1.413238424854157e-10, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.262775489816900e-10, + c: 9.157959599697679e-10, + mult: [0, 12, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.395641967089055e-10, + c: -7.218997086928272e-12, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.489001344151914e-10, + c: 8.593100749465177e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.650377441132133e-10, + c: 8.482443874888617e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.614290463889133e-10, + c: -4.076830867709988e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.281489527265391e-10, + c: -8.305552402802132e-10, + mult: [0, 12, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.240636727683368e-10, + c: 9.437379970591527e-11, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.285835855122412e-10, + c: 7.439896436654752e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.918583735102252e-10, + c: -4.310265507889602e-11, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.449762791918069e-10, + c: -1.159324301842231e-10, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.964912950187577e-10, + c: -7.203584771130540e-10, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.885067956202525e-10, + c: -6.570168800933624e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.106816434623858e-10, + c: 3.720454801159888e-10, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.906290834737754e-10, + c: 3.771323155585864e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.395598279388990e-10, + c: 5.433279625522021e-10, + mult: [0, 0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.792764972606570e-10, + c: -6.320228722020757e-10, + mult: [0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.631124633218672e-11, + c: 6.850978623006869e-10, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.707160002461972e-10, + c: -1.356721819962879e-10, + mult: [0, 10, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.188779400883851e-10, + c: -5.332310593712848e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.525699858406745e-10, + c: 1.637249879571236e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.560041642663064e-10, + c: -1.077379451328769e-10, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590193314767819e-10, + c: 6.424156687526780e-10, + mult: [0, 13, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.903377315262002e-10, + c: 5.311348601356331e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.429264577336777e-10, + c: -3.431156016798128e-10, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.806494663695691e-10, + c: 2.515793219868790e-10, + mult: [0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.096262757519563e-10, + c: 5.722958087491495e-10, + mult: [0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.848919403995721e-10, + c: -9.319725371744586e-11, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.888465064260559e-10, + c: -2.564665337514938e-11, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.964443937925694e-10, + c: -5.505243375863924e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.545453754305279e-10, + c: -5.508342810226287e-10, + mult: [0, 13, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.519155083657526e-10, + c: -4.994476295122532e-10, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.268871676582550e-10, + c: -4.832660323651194e-10, + mult: [0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.164193479708664e-10, + c: -4.175586026565124e-10, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.623299229605208e-10, + c: -2.396465472713484e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.181690413351582e-10, + c: 3.687302048957411e-11, + mult: [0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.384993874501347e-10, + c: 2.781067589350742e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.102089605534943e-10, + c: -4.476761001924156e-13, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.151002894330228e-10, + c: -4.455297371690530e-10, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.218708430323620e-11, + c: 4.810170829236243e-10, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.886281285764857e-10, + c: -3.729289117122501e-10, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.118718157104326e-10, + c: 4.511898432843462e-10, + mult: [0, 14, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.539513880369151e-10, + c: -7.380357758612528e-11, + mult: [0, 9, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.502855408887698e-10, + c: -9.200882212797110e-11, + mult: [0, 11, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.883205879996572e-11, + c: 4.344573073579403e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106607986256153e-10, + c: 4.313817562064677e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.983887141318980e-10, + c: -3.954682215274166e-10, + mult: [0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.944313945185683e-10, + c: -3.966231356965604e-10, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.523285565261334e-10, + c: 2.509051782225094e-10, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.691287159508194e-10, + c: 3.324083910429872e-10, + mult: [0, 0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.706470643248659e-10, + c: -1.848413105806661e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.791690656160184e-10, + c: 1.655494525224820e-10, + mult: [0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.042487381038379e-10, + c: -2.837812566819105e-11, + mult: [0, 0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.256644528480347e-10, + c: 2.053678789742237e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.056743765501009e-10, + c: -3.682427550458157e-10, + mult: [0, 14, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.792064118832970e-10, + c: -3.322856154649159e-10, + mult: [0, 1, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.836857100235896e-10, + c: 3.156330293925736e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.136485157961958e-10, + c: -1.816018752150496e-10, + mult: [0, 0, 4, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.315570354279669e-10, + c: 1.420932973073106e-10, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.474505870461234e-10, + c: 9.353024860816544e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.337561913859331e-10, + c: -1.191221730076055e-10, + mult: [3, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.492114146664283e-10, + c: -5.777540568767292e-11, + mult: [0, 10, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.506396521311415e-11, + c: -3.427087688989153e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.131587623739703e-10, + c: 1.339711783169514e-10, + mult: [3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.940700406207460e-11, + c: 3.333113508412574e-10, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.973795593393308e-11, + c: 3.182175624598412e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.325991333408665e-10, + c: 1.593038117461719e-11, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.996311228635196e-10, + c: -2.616474543496729e-10, + mult: [0, 14, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.592456030069019e-10, + c: -2.864332908318868e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.877813812296948e-11, + c: 3.172335155843330e-10, + mult: [0, 15, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.140590789523206e-10, + c: -7.744925061088059e-11, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.212693538166278e-10, + c: 5.031899976741777e-12, + mult: [0, 5, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.063807176213206e-10, + c: 3.009662547912243e-10, + mult: [0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.081088984321865e-10, + c: -6.362448696753953e-11, + mult: [0, 12, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.977738668091403e-10, + c: -2.413561020041491e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.115768894674172e-10, + c: 2.285056152268955e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.606449724301470e-10, + c: -2.568232586846469e-10, + mult: [0, 0, 6, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.426687693646622e-10, + c: -2.570162801253640e-10, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.417870883369835e-10, + c: 1.517075224258083e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.749730209854557e-10, + c: 2.246481681559353e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.781294739986050e-11, + c: 2.671542188386163e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.645173796122119e-10, + c: -2.318748285921812e-10, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.481660592302676e-10, + c: -2.334476309948267e-10, + mult: [0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.712793364721675e-10, + c: -2.303614700236772e-11, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.667536198282715e-10, + c: -4.481794044697065e-11, + mult: [0, 11, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.650666811170523e-10, + c: 4.941800910120072e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.057663243210493e-10, + c: 1.704832508734461e-10, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.671400715148320e-11, + c: 2.658425077605885e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.622639621284046e-10, + c: 2.016031388627330e-10, + mult: [0, 0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.281633763405153e-11, + c: -2.477359730191908e-10, + mult: [0, 15, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.945337795876115e-11, + c: 2.406391520184385e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.808045060884646e-10, + c: 1.730159658390751e-10, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.970647618856262e-10, + c: 1.520134955989702e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.815732684823787e-11, + c: 2.235989664318416e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017981199765887e-10, + c: 2.209790400892242e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.933046105103968e-11, + c: -2.381107812708374e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.318530500553270e-10, + c: -1.931591652770310e-10, + mult: [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.789198729217702e-10, + c: -1.505037234550001e-10, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.673547563391144e-11, + c: 2.279556315709534e-10, + mult: [0, 0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.385233620491233e-10, + c: -1.840883538167927e-10, + mult: [0, 15, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.552162298609206e-11, + c: 2.232704301677666e-10, + mult: [0, 16, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.905321038042298e-10, + c: -1.172304633096249e-10, + mult: [0, 0, 3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.998600101699957e-10, + c: -9.893069795323458e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.806086398164258e-10, + c: 1.278239544980123e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.029422617354633e-10, + c: 1.942741199797219e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.181611965055640e-10, + c: 2.075021009871196e-11, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.135887806413941e-10, + c: -4.459388616118397e-11, + mult: [0, 13, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.895858260408219e-10, + c: 9.389630736650447e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.793988175665584e-10, + c: 1.120453334525854e-10, + mult: [0, 12, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.141754221555550e-11, + c: -2.046200053676325e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.026052800007904e-10, + c: -3.451140157691606e-11, + mult: [0, 12, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.961727366586759e-10, + c: -1.098613734770615e-11, + mult: [0, 6, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.136749509119091e-10, + c: -1.574192920418376e-10, + mult: [0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.286979269418430e-11, + c: 1.836705899134299e-10, + mult: [0, 10, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.150953722253213e-11, + c: 1.869240492069624e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.301621616327878e-10, + c: -1.399164190820167e-10, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.748287535722803e-10, + c: -6.027176485045101e-11, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073404994278558e-10, + c: 1.490881862255850e-10, + mult: [0, 0, 8, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.705367198874116e-11, + c: -1.771715667022070e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.284416495090348e-11, + c: -1.680676403647622e-10, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.662582154544506e-10, + c: 6.085232938047440e-11, + mult: [0, 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.049919785289582e-11, + c: -1.675126525554687e-10, + mult: [0, 16, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.096650393199425e-11, + c: 1.739147441440455e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.563604021011402e-10, + c: 7.385834840321523e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.531413689195125e-10, + c: -7.972687079395201e-11, + mult: [0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.125190899015413e-10, + c: -1.287627711027534e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.209320426864450e-10, + c: 1.160156701970502e-10, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.927893456773674e-11, + c: -1.558651240913926e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.004052770646423e-10, + c: 1.322769491566982e-10, + mult: [0, 0, 4, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.357485319196167e-11, + c: 1.329333534349754e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.916083196156804e-11, + c: 1.572810194579530e-10, + mult: [0, 17, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.639115104768190e-11, + c: -1.298445821472402e-10, + mult: [0, 16, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.064025545114100e-10, + c: -1.190839874401765e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.786649640314669e-11, + c: 1.536545787919740e-10, + mult: [0, 0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.321535132555209e-11, + c: -1.266890979077104e-10, + mult: [0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.330045714369025e-10, + c: 8.271096380611930e-11, + mult: [0, 13, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.531574584547709e-10, + c: -2.641418947665624e-11, + mult: [0, 13, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.622722671978468e-11, + c: 1.213311811558038e-10, + mult: [0, 0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.529554336927130e-10, + c: -1.493347738521503e-11, + mult: [0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494417467585176e-10, + c: -3.156104650926515e-11, + mult: [0, 14, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.264297540608099e-11, + c: 1.500203746110701e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.262209015648914e-10, + c: -8.121204617085373e-11, + mult: [0, 0, 2, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.009093679860867e-11, + c: 1.458419612355057e-10, + mult: [0, 0, 5, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.431515960587461e-10, + c: 2.019667863003132e-11, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.755014399110537e-11, + c: -1.048805146026272e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.988633489952479e-11, + c: -1.332919181082576e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.903898390329542e-11, + c: -1.169233333259774e-10, + mult: [0, 0, 5, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.203465559622026e-10, + c: 5.779955518071300e-11, + mult: [0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.920540024881954e-11, + c: -8.580814687023725e-11, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.002040229731620e-11, + c: 1.203125400354100e-10, + mult: [0, 11, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.577591520113490e-11, + c: -1.081572462923984e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.607470044345544e-11, + c: -1.003038061377306e-10, + mult: [0, 5, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.521383852023601e-11, + c: -1.137356379572419e-10, + mult: [0, 17, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.175285593954839e-10, + c: -1.776353092620043e-11, + mult: [0, 7, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.153186073189365e-10, + c: -2.011421737367424e-11, + mult: [0, 14, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.162542143977601e-10, + c: -1.066030802406447e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.852621677506413e-11, + c: 6.101654827566309e-11, + mult: [0, 14, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.403826300963271e-11, + c: -1.132422047579004e-10, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.058343495543336e-11, + c: 9.071568484676782e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.764019683365021e-11, + c: 1.108866428652094e-10, + mult: [0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.033365033105512e-10, + c: -4.772340134986204e-11, + mult: [0, 0, 9, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.714734894823208e-12, + c: 1.135975374518637e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.723889880006672e-11, + c: -9.179083893244077e-11, + mult: [0, 17, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.774655862557233e-11, + c: 7.224594654117815e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.373622877052322e-11, + c: -9.996459521918515e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.536945661913788e-11, + c: -8.246405657090086e-11, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.078270875038888e-10, + c: -1.146065096189051e-11, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.052692346289684e-10, + c: -2.249963170459072e-11, + mult: [0, 15, -18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.132176720251372e-11, + c: 7.884013100470017e-11, + mult: [0, 0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.827968154990529e-11, + c: 1.022705309260410e-10, + mult: [0, 0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.648589275056424e-12, + c: -1.058706901777459e-10, + mult: [0, 0, 7, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.354551954188722e-11, + c: 6.498136275109711e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.056782867568187e-10, + c: -3.157162872326962e-14, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0], + }, + Term { + s: -9.312015594605889e-11, + c: 4.852758406732526e-11, + mult: [0, 0, 4, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.972898509496904e-11, + c: 2.969720221521190e-11, + mult: [0, 0, 9, -14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028369762084192e-11, + c: 1.025724246821710e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.017891898227051e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.236543085970792e-8, + c: -8.775084424897674e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.624835080227579e-8, + c: -1.089878211528249e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.080151983180138e-8, + c: -9.568857487969970e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.286252387858759e-8, + c: 5.254365992996053e-10, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.825289060017108e-9, + c: -1.853282320105320e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.371125594037420e-9, + c: 1.397768464718072e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.140188640904408e-9, + c: 1.654074321676772e-9, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.584802455388475e-9, + c: -2.037875499180203e-9, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.254531086221070e-9, + c: 1.842982053921365e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.982094834676107e-9, + c: 3.251983488148398e-10, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.963069800391898e-9, + c: -1.263952824744462e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.698062576440672e-9, + c: 5.017948521524053e-9, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.161179907028082e-9, + c: 2.106778965449957e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.866385968570088e-10, + c: -3.029958883968312e-9, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.041763585203175e-9, + c: -6.556253459174264e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.908204205132316e-9, + c: -1.556428085907958e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.807173091461253e-9, + c: 5.563601488671182e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.532570465691303e-9, + c: -9.381894415443671e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.604680990877310e-9, + c: 1.405571732222553e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.552022685072652e-9, + c: -3.032956554627914e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.326442070738238e-9, + c: 6.822172903132190e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.125594029207955e-9, + c: -4.636617947128319e-10, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.808534869933238e-10, + c: -1.956883103237645e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.992261389445684e-9, + c: -4.511161763897708e-10, + mult: [0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.680221812674604e-9, + c: 9.567759437251371e-11, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.418260027940210e-9, + c: 5.797262163115256e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.477762594560619e-9, + c: -3.260278298240319e-10, + mult: [0, 4, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.244860469848822e-10, + c: 1.415124847695525e-9, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.389502706435228e-9, + c: 2.669711450364866e-10, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.179071642678828e-9, + c: -4.472522949811662e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106100917011726e-9, + c: 6.612863982991680e-11, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.074953570612395e-9, + c: 6.982063114458036e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.026811694372942e-9, + c: -2.290632531776744e-10, + mult: [0, 5, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.310997651019505e-10, + c: -1.014509966910544e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028191699335857e-9, + c: -8.556254224861268e-11, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.716784879123531e-10, + c: 1.857232824931783e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.709298310719034e-10, + c: 2.268693860081345e-12, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.033069865126181e-10, + c: 7.749087697357343e-10, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.417076403503547e-11, + c: -8.097703364466609e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.578919092557717e-10, + c: 2.818014231475442e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.842593046145428e-10, + c: 1.451346062987123e-10, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.185990436197038e-10, + c: -4.079513423816133e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.388913432658851e-10, + c: 4.626183672520914e-11, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.144543125594801e-10, + c: -1.610390460544258e-10, + mult: [0, 6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.602329673601032e-10, + c: 2.676901700651703e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.931073120077312e-10, + c: -4.427143797686753e-11, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.262256085638723e-10, + c: -4.006068172893311e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.008207481802725e-10, + c: 4.950392501450353e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.323822082181593e-10, + c: 2.365401628408899e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.159414659232732e-10, + c: 2.156909759896227e-11, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.981061839423893e-10, + c: -1.133547484603474e-10, + mult: [0, 7, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.990856607018070e-10, + c: 3.268331296948024e-11, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.737391525105719e-10, + c: 8.385504037361730e-11, + mult: [0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.705645618319941e-11, + c: -4.538934364876511e-10, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.887792634456465e-10, + c: -1.559175368633564e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.630810312698950e-11, + c: -3.963302810223679e-10, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.674852001117928e-10, + c: -1.457597078827550e-10, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.825767095776866e-10, + c: -6.816711484788150e-11, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.630912363863166e-10, + c: 5.499689494750620e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.400106810874404e-10, + c: 3.365791884996446e-10, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.554183599710966e-10, + c: 2.567104553921808e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.480090047462573e-10, + c: -7.989908668321724e-11, + mult: [0, 8, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.690094681733271e-10, + c: -2.212332611743955e-10, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.819552133547491e-10, + c: -2.941579337143408e-10, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.400512636475826e-10, + c: 2.328009925885900e-11, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.276672334064237e-10, + c: 3.040584184175749e-10, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.288390262279911e-11, + c: -3.144627013499109e-10, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.458476694685828e-10, + c: -2.788105903625122e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.065134126644372e-10, + c: 2.577605175841455e-11, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.982473251556610e-10, + c: 5.011526734659143e-11, + mult: [0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.405387508325657e-10, + c: -1.777190365897569e-10, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.918442244837080e-10, + c: -2.224479617081654e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.083227946003278e-11, + c: 2.774588972164166e-10, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.613863197393516e-11, + c: -2.582763345639112e-10, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.587851345540350e-10, + c: 6.625009313868734e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.838029246247611e-11, + c: -2.473423997340471e-10, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.000249913413826e-10, + c: 2.360657662119322e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.455942424632278e-10, + c: -6.445421054600356e-11, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.436442670805778e-10, + c: -5.639283950055688e-11, + mult: [0, 9, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036960766752495e-10, + c: -2.188709600228627e-10, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.535938171404551e-10, + c: 1.785762822845676e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.333266854733114e-10, + c: 1.669708724252337e-11, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.226693745338490e-10, + c: -2.024095483436212e-11, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.214704968796393e-10, + c: 2.039994742988147e-11, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.733432205897314e-10, + c: 1.320229179976216e-10, + mult: [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.066174600569174e-10, + c: 2.680025949271540e-11, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.525479389205184e-11, + c: 1.958940548017855e-10, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.954124047240816e-11, + c: -1.927598236120039e-10, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.944538356935573e-10, + c: -4.254521820580972e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751767276119268e-10, + c: -8.793823962631497e-11, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.930546446596608e-10, + c: 3.053859992993175e-11, + mult: [0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.905377827588727e-10, + c: -7.598504024854045e-12, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.316464925642904e-10, + c: -1.373264583652993e-10, + mult: [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.438152682715751e-11, + c: 1.823775110628130e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.238278277989225e-11, + c: 1.684405157860491e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.709091368147201e-10, + c: -3.985154077875444e-11, + mult: [0, 10, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.619439391811811e-11, + c: -1.649725288303206e-10, + mult: [0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.578024224240545e-10, + c: 6.960333543726542e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.610308268055062e-10, + c: 1.204604411426442e-11, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.077585339193182e-10, + c: -1.179859297011049e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.558870624012570e-10, + c: -2.430464773994987e-11, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.968625511510056e-11, + c: -1.490332815915651e-10, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.538113366951329e-10, + c: 1.397747129601396e-11, + mult: [0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.465319967653931e-10, + c: -1.274030169581395e-11, + mult: [0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.376542696160598e-10, + c: -3.412965217572836e-11, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.415289095159884e-10, + c: 2.491136139073114e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405079071705368e-10, + c: -3.601019956079685e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.060036567739063e-10, + c: -8.733219015124735e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.318403483632166e-11, + c: 1.247697787686507e-10, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339469910717477e-10, + c: -8.901203439020587e-12, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -5.276076109405991e-11, + c: 1.214260650497837e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.274812714430347e-10, + c: 1.880594271344623e-11, + mult: [0, 11, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.242231002576537e-10, + c: 2.308313641039339e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.201032074713495e-10, + c: -2.819394821704042e-11, + mult: [0, 11, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.107472383867216e-10, + c: 5.238879023158815e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.034151312354794e-11, + c: -1.144395049426682e-10, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.187523305647922e-10, + c: 2.091545349805112e-11, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.508884197697096e-11, + c: -7.922625353596074e-11, + mult: [0, 0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.148357315241368e-11, + c: 1.023075285336041e-10, + mult: [0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.106720440401244e-10, + c: -2.547334176883985e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.769790643319589e-11, + c: 8.974469969567082e-11, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116821711199209e-10, + c: 8.734200276887074e-12, + mult: [0, 13, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.081011835739199e-10, + c: 1.141843948026142e-11, + mult: [0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.064521175828005e-10, + c: -1.558926664351748e-11, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 4.702795245810685e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.710471800210820e-10, + c: -1.800837750117577e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058264088244395e-9, + c: -8.845949175798145e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.964252148553637e-10, + c: -1.937079447076795e-10, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.990125047808132e-10, + c: 3.952263713023088e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124878330129534e-10, + c: -3.830418126203789e-10, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.648607877937770e-11, + c: -3.528993098152561e-10, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.166445027157513e-10, + c: 3.367729190399304e-10, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.655988251404412e-10, + c: -3.151666240299656e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.400205443141291e-10, + c: -3.135893934682017e-10, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.795768860227549e-10, + c: -1.363831011364816e-10, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.503187037503411e-11, + c: -2.847983442865562e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.093408384936803e-11, + c: -2.722778049388570e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.019073160692702e-10, + c: -2.024120205674005e-10, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.231009071548884e-11, + c: -2.628359642820659e-10, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.025940039428666e-11, + c: 2.210183941277468e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.822258766495998e-10, + c: 9.933244355661900e-11, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.776769779703385e-11, + c: -1.753615348376922e-10, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.228644770864502e-10, + c: 1.180628576790350e-10, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.483073211274414e-15, + c: 1.465477568176434e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0], + }, + Term { + s: 3.507661459934961e-11, + c: -1.374183478308647e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.273149622190112e-10, + c: -5.856826386803880e-11, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.866620779705120e-11, + c: -1.286691991074052e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.011094396825269e-10, + c: -8.817811301718888e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.579433191645684e-12, + c: -1.326710695947079e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.018828611209025e-10, + c: -7.819122477093893e-11, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.292768876641020e-11, + c: 1.122893285226626e-10, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.645248431007259e-11, + c: -1.001534661000515e-10, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.491141353470555e-11, + c: -9.702143805061976e-11, + mult: [0, 3, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.724478096114926e-11, + c: 7.415228182858652e-11, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -5.421827377115325e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[Term { + s: 0.0, + c: -2.508633795522544e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[Term { + s: 0.0, + c: 4.575014479216902e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/jupiter.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/jupiter.rs new file mode 100644 index 0000000..5086343 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/jupiter.rs @@ -0,0 +1,5721 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Jupiter +//! +//! Generated from VSOP2013p5.dat +//! Threshold: 1e-7 +//! Terms retained: 1106 of 324608 (0.3%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.202603206345000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.100731376088231e-6, + c: 6.908043510561457e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.878287385373483e-5, + c: -3.214904645945905e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.583453473202935e-6, + c: 3.114395584213925e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.894892071063347e-5, + c: -2.526500573333832e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.857280366916087e-4, + c: -1.144882040540835e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.640270342554730e-6, + c: 2.058116181419471e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.503553581964123e-6, + c: 1.463355804645551e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.014457983639388e-4, + c: -6.103015981554923e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.218486706911247e-10, + c: 7.808339308650885e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.942479811298708e-8, + c: 7.169971117088121e-5, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.427543192936528e-6, + c: 7.014002842092783e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.753347484800357e-5, + c: -3.440519598189308e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.922555354085085e-5, + c: -2.788364961190847e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.802795139395747e-5, + c: -2.666222252417651e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.267852106960026e-5, + c: -1.964538841347516e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.974483995914409e-6, + c: 3.398716932267049e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.816398757914647e-5, + c: -1.437521239238642e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.843791831073826e-5, + c: -1.124838774824948e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.033629299904686e-6, + c: -1.980735928840774e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.506583490119550e-6, + c: 2.050378758305158e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.691293360635209e-5, + c: -8.821079192656977e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.458972907958694e-6, + c: 1.655826491782312e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.184158916540012e-6, + c: 1.575645121122817e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.252762811859570e-6, + c: 1.293828210829329e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.170325098912063e-5, + c: -4.937922822762357e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.030037266815205e-5, + c: -6.436967874037989e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.050635838111060e-5, + c: -6.078589907222756e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.652973597624024e-6, + c: -8.128324529572141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.071253114907823e-6, + c: 1.060341125111326e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.851788911698629e-6, + c: -9.568475260744649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.682704512424542e-6, + c: -2.889149631653243e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.301863379058298e-6, + c: 8.803644392741248e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012820457666291e-6, + c: 8.080757612324129e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.169148009020324e-9, + c: 8.047904365382907e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.693362098180330e-6, + c: -4.056044801320787e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.335627848080957e-9, + c: 7.137810069279913e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062229191312803e-6, + c: 6.664837125766066e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.343355440481066e-6, + c: -4.445445521438561e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.698141031805844e-6, + c: -3.679287524659596e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417967936579169e-6, + c: -6.528427484050317e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.795693466658024e-9, + c: 6.294874229493426e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.421970155889951e-7, + c: 5.927578370400653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.330237230431685e-6, + c: -2.130545957140664e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.694238706223586e-7, + c: 5.493964438340120e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.774334310005706e-6, + c: 3.362399429949142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.244520011455627e-6, + c: -2.654820683599159e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.073304539840092e-6, + c: 3.887664717068405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.530169622772144e-6, + c: 4.548360419006079e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.319230553668554e-6, + c: 4.019373662917365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.829992684955828e-6, + c: -1.453491705242835e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.017532013129060e-6, + c: 3.948501573111228e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.753013929064870e-7, + c: -3.931983993424773e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.729223126998424e-7, + c: 3.939222127712830e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.909674589381688e-6, + c: 2.530940695280025e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.121261056298991e-6, + c: -2.100038508858380e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.037967949673425e-7, + c: 3.532303194904571e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.014272846573626e-7, + c: 3.267864186198890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.666463813368684e-6, + c: -1.699138339861888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.101477625965724e-6, + c: 1.826138606008450e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.191273090059927e-7, + c: 2.355574103155800e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.298282979737838e-6, + c: 2.526547549995776e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.503704707272860e-7, + c: -2.199684139672574e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.274558257880573e-10, + c: 2.265764736544816e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.692893771964387e-6, + c: -1.196790503162799e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.970113160903241e-6, + c: 5.416517525613596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.657344914814931e-6, + c: -1.064015712421113e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.324698053038268e-7, + c: 1.913580226394266e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.434995433452347e-6, + c: 1.261509448721907e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.062447785623676e-8, + c: 1.887074052947372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.905324822957574e-8, + c: -1.852416044189195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.540605344252255e-10, + c: 1.731597896709631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.264538244061724e-7, + c: -1.571452021889549e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.572681416261950e-6, + c: 2.780976374433825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.985011545563713e-7, + c: 1.350971315953633e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.316913770480962e-6, + c: -1.844321814917619e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.231168032920575e-6, + c: 3.880270805338440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.237423105565741e-6, + c: 2.767364219789401e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.363145465587655e-7, + c: 8.409061983073876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.222408330028502e-6, + c: -2.798649674079629e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.291475185163726e-7, + c: -1.230179895420353e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.263744995087407e-7, + c: -1.159378969458662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.019342436250496e-6, + c: -6.529055756440972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.090022093680759e-7, + c: -6.808941445945911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.762798993972681e-8, + c: 1.121741933902752e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.136924455204070e-7, + c: 7.707021194649712e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.060398387071498e-6, + c: 3.175156151020967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.211880578626317e-9, + c: 1.105886632794597e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.199126737947640e-7, + c: 3.029214499655323e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.706718151021677e-7, + c: 9.241835401850440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.990355470440596e-7, + c: 7.614184004003230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.880806776025478e-7, + c: 5.451146796705000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.770966051740020e-7, + c: 5.323043513474042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.020128068230192e-7, + c: 2.712880524100558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.207752072061456e-7, + c: -3.931985716264244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.817872358895719e-7, + c: 2.395896561060006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.757783619635695e-7, + c: -5.747083527608213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.048075153325226e-8, + c: 6.324910258350648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.520330719442597e-7, + c: 5.676454959018875e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.830454158761432e-7, + c: -3.866652895752459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.886091831585486e-8, + c: -5.603886768923086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.977394695868544e-7, + c: 1.802407062053866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.558949840274749e-7, + c: 2.039070859454540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.575123465082541e-7, + c: 3.455322393959346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.147758517533818e-8, + c: 4.914048687979005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.543871983982232e-7, + c: -3.138752072579920e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.657297340065163e-7, + c: 4.426625882554142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.774127445808855e-7, + c: 4.228168059727161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.746178287056022e-7, + c: -2.327034304383634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.805627980610047e-8, + c: 4.382291988409024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.969268258025342e-8, + c: 4.238292341207265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.502546967817487e-8, + c: 4.258181771484309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.510531580044599e-8, + c: 4.059529631942376e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.273229044465570e-9, + c: 3.846186170997035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.539105649951849e-7, + c: 1.302193859144957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.196190198153009e-8, + c: -3.533857828841510e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.314843538775395e-8, + c: 3.590132446740069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.215552365827326e-8, + c: 3.496403163615696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.516471777455732e-8, + c: -3.363625129737251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.880535556495560e-8, + c: 3.419281842174090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.072109167151215e-7, + c: -2.745991009028842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.538914155151679e-7, + c: -2.191221098100491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.906649615313421e-9, + c: 3.251894447917393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.907797200892781e-7, + c: 1.421048415355518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.760767426327154e-7, + c: -2.635802119990624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.749074604947210e-8, + c: 3.014673502029287e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.110128512086773e-7, + c: 2.150059324525155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.053736957439864e-8, + c: 3.003982640396887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.229319570687565e-7, + c: -2.618344379893653e-7, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.241839952864835e-7, + c: -1.354713091981018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.453892390542757e-7, + c: 9.060280702283672e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.043160520135409e-7, + c: 2.317039046795657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.355428664531541e-8, + c: 2.461024563362541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.163475544256758e-7, + c: 2.078152698495730e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.958698512416712e-8, + c: 2.096673049218906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.598600196356911e-8, + c: -2.240470319669575e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.367280570191051e-8, + c: 2.185011405080207e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.042325695192610e-8, + c: 2.025051012990225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.296864292676174e-8, + c: -2.058242244279301e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.985222025682534e-8, + c: 1.824074527863731e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.824837359354436e-7, + c: 9.406909058984957e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.095656088803288e-8, + c: 2.005409190288998e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.340569032484443e-9, + c: 1.981108271254465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.180688002553729e-7, + c: 1.411174871090593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.318754898588625e-7, + c: -1.238836809994722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.210825878486095e-7, + c: 1.316981071497021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.663019498384207e-7, + c: 6.090356804094516e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.376251013318831e-8, + c: 1.691910432741919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.663272815940109e-7, + c: 3.885575999643137e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.502092821817183e-8, + c: 1.630870892949018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.663036412172105e-9, + c: -1.643037794772621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.748755710272613e-8, + c: 1.562411429417081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.186309212963035e-8, + c: 1.549509960100107e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.331282274839037e-7, + c: -7.762760820602550e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.109369063607194e-7, + c: -1.069505368010097e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.251380909255179e-8, + c: -1.277051984250721e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.086603105320727e-8, + c: 1.254248382274417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.429689742990003e-8, + c: -1.336669500048512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.128835577088373e-7, + c: 5.993279606985594e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.241598675342862e-8, + c: 1.236574514089562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.169084355930876e-8, + c: 1.135952035316998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.914755790972415e-9, + c: 1.199709114300536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 6.685602107892866e-9, + c: -1.195389273889301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.104255334072492e-7, + c: 3.966230233499269e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.258368178267961e-8, + c: 8.146285481120571e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.452884687681845e-8, + c: 1.148885911084808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.272995338133714e-9, + c: 1.147503272930686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.098393853436260e-7, + c: 3.287510528137735e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.587815564794527e-8, + c: 1.113802617893596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.886098367067431e-8, + c: 9.784203692831532e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.952015536043550e-8, + c: -6.257405056180296e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.753447917438879e-8, + c: 7.956636878508747e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.406973549338070e-8, + c: 1.006623609431690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.330982599257673e-8, + c: -8.056771612043678e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 9.779860650885716e-5, + c: 2.824746971953850e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.896590586074550e-5, + c: -2.292145555389705e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.209583739367573e-5, + c: -1.795736921027807e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.367212439633017e-6, + c: 1.676685340403545e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.032306317345627e-5, + c: -1.238058000336475e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.368686582460645e-6, + c: -8.151391569990312e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.877641622841718e-6, + c: -6.972037486463834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.738647369168487e-6, + c: 8.105204337853149e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.006610634392831e-6, + c: -1.547577836311097e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.374126935038423e-6, + c: -3.931151601412717e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.642675031564029e-6, + c: 4.900808018948851e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.678537246840066e-6, + c: 1.179784367355932e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.444309549568986e-6, + c: -1.672620949393271e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.404823501267888e-6, + c: -9.799759018034115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.301688817504734e-7, + c: 3.338878235689684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.198000054765649e-6, + c: 3.063567019012485e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.939942342043947e-6, + c: -2.202320951983232e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.045017999741453e-6, + c: 1.772645676975279e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.497238287617800e-6, + c: 8.684720804589803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.905234264082261e-6, + c: -1.563058516007446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.338087307860241e-6, + c: -5.276375993440736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.810798554035128e-7, + c: 2.362185747876910e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.123932647423559e-6, + c: -5.665676313927493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.529660143879266e-6, + c: 1.498571712221816e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.142205454608614e-7, + c: 1.958702385685680e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.498984281266552e-6, + c: -1.445421892950140e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.547982552186850e-6, + c: 1.362691053361798e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 1.912471952289138e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.213158384301979e-6, + c: 1.198344348533770e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.112923358811528e-6, + c: -1.218872922966738e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.494404117818050e-6, + c: 5.691687312750334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.117970073582823e-6, + c: 9.815200727743203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.573339962751050e-7, + c: 1.414995888123366e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.914305609659004e-7, + c: -1.352456471893464e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.398565387371045e-7, + c: 1.244675141953395e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.267203518771366e-6, + c: -3.087099266506895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.269506114899550e-7, + c: 8.274349042196457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.714203770810632e-7, + c: 6.676552443418698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.569257669602262e-7, + c: -5.263162021553063e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.537374957514410e-7, + c: 9.371152105499960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.372164024007229e-7, + c: -6.666177920129205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.277320695049580e-7, + c: 3.586486025574781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.466296747906705e-7, + c: -8.521569376263477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.481479526982816e-7, + c: 7.827870282918214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.348059218811041e-7, + c: -1.541538054969399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.218243162440344e-7, + c: 5.311205262361530e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.071662396061362e-8, + c: 6.723253832458073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.129358977283540e-7, + c: 4.334448677683675e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.158503792430659e-7, + c: -6.384492953681728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.795554154876893e-7, + c: 4.009833660334792e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.186417025921039e-7, + c: 4.867348034597951e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.935952295282701e-8, + c: 5.304700208395890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.641293778459206e-7, + c: -3.600600360759650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.549731227805346e-8, + c: -4.746140333956289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.296633217510624e-7, + c: 2.213466508192655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.773865774416985e-8, + c: 4.693833662889275e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.141952287672569e-7, + c: 3.265620335438134e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.251133974449497e-7, + c: -6.745971102499948e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.312514402316830e-7, + c: 2.703657598031818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.273559899708019e-7, + c: 3.507988116804096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.118098533713545e-7, + c: 2.652659333287949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.295530453335907e-8, + c: -3.469876841685095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.339755614633097e-7, + c: 2.993181597971073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.463977868246365e-7, + c: 2.121414267522631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.829795959367327e-8, + c: 3.208926700706420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.709241694344867e-7, + c: 1.113038353033343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.076747118514019e-7, + c: -1.919363642238539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.830968648005395e-7, + c: 1.951128120155443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.089431332078664e-7, + c: 1.628813729516006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.310292887578448e-8, + c: -2.468754094755230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.078884556838916e-7, + c: 1.347047395967202e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.405979759742307e-7, + c: -2.226416631866150e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.370901385415550e-7, + c: 1.677482858600958e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.488139482633396e-7, + c: 1.790517866921618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.571374594865796e-8, + c: 2.131458572192000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.905668917248107e-8, + c: 2.141412570848385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.129002453176231e-7, + c: 2.357175484616695e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.821131002264230e-7, + c: 9.426883143468882e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.015703852308691e-7, + c: -3.545271304836863e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.023980650576448e-8, + c: 1.821748105559039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.244008294577582e-8, + c: -1.852488209624674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.633597041531009e-7, + c: 8.450066263057688e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.694949662473978e-8, + c: -1.711668350014101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.585780559429436e-8, + c: -1.658407085954905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.668089526461553e-7, + c: 2.320010671438081e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.568135025157947e-8, + c: -1.616179593215455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.292408816703480e-7, + c: 9.500561479857331e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.182089049127927e-7, + c: -1.008754847083773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.040668120009786e-7, + c: 1.141890898233770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.137586341029304e-8, + c: 1.388282348551775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.824944830926029e-8, + c: 1.396549375021973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.345393597741174e-7, + c: -1.069643734534074e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.552901634560107e-8, + c: -1.250829506356739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.140498305180978e-8, + c: 8.102452496066068e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.203088854480913e-7, + c: 1.998303639456868e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.702825644264043e-8, + c: 1.098299696399678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.465670397777817e-8, + c: -1.159261964271203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -8.439980695835434e-6, + c: 1.923847047408348e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.416962633645190e-6, + c: 3.946097813035192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.304222275526331e-6, + c: 1.658539515043111e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.805616975498629e-7, + c: 1.364907460527774e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.545819437749242e-7, + c: -1.297142858696475e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.178729390650787e-6, + c: 1.846719645710586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.685115376660420e-7, + c: 9.602687153116400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.262447745785821e-7, + c: 6.176794201091561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.401263397170990e-7, + c: -9.839017480053723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.452410331951707e-7, + c: 7.203670302141805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.034496340223054e-7, + c: -6.197349515625454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.826378265537369e-7, + c: -6.711204342634467e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.172349732671655e-7, + c: 9.441429361178477e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.786170492100570e-7, + c: -8.167385751310890e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.552358818222638e-7, + c: 5.779427941849960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.081569621510956e-7, + c: -4.723412994762800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.529426792351364e-7, + c: 4.856535863969524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.823264705821895e-7, + c: -4.614311272536941e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.920368148496479e-7, + c: 3.794758493019795e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.777740986180693e-7, + c: 2.038491335520969e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.642207215036828e-7, + c: -3.473729504733403e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.540250253207714e-7, + c: 8.332000046364713e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.495356057608168e-7, + c: -2.875894207091103e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.656814265563889e-7, + c: -4.198757884265483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.203155004698515e-7, + c: -3.423944380563301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.867521337445370e-7, + c: 3.489725014873913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.388393119016752e-7, + c: 5.245432776911566e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.638656300948305e-7, + c: 2.883559165806563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.181684055408313e-7, + c: 6.940918709451701e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.933215748703099e-7, + c: 5.795898255173832e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.942774745417439e-7, + c: -8.680121189304523e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.483973886363623e-7, + c: -2.367606078544444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.169288304905534e-8, + c: -2.512381287625928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.646908799622704e-8, + c: 2.105936816858331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.209496883320535e-7, + c: -7.368501824083183e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.113352215368364e-7, + c: 5.520656683287523e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.966912921892700e-7, + c: 7.889441480948961e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.882417859924252e-7, + c: 3.852680625431041e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.011717090744655e-7, + c: 1.577451880668931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.515700669335277e-8, + c: -1.575981419115584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004371520343164e-7, + c: -1.498172724264577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.020241079008282e-7, + c: 1.341019288315567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.648141837776935e-7, + c: -8.281961624371016e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.284726418446724e-7, + c: -8.600425387094020e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.779016829773960e-8, + c: -1.460618363042331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.384914087252092e-7, + c: 3.487699856185578e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.797563333900731e-8, + c: 1.261507515843616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.103324342053982e-7, + c: -6.661581037358881e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.194978976661330e-7, + c: 2.438867282630871e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.207315856171495e-7, + c: -6.806302358363064e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.012529089714626e-8, + c: 1.029776970885623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.180095104375529e-7, + c: 7.452946668314284e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.839867268207107e-8, + c: -1.017651912901821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.190630053801341e-8, + c: -9.253649512496835e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.067895455770566e-8, + c: 8.026980849055528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.001589373107841e-7, + c: -5.470885283827911e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -2.445427500388217e-6, + c: -1.547929857527429e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.188255954380461e-7, + c: 2.791594272355200e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.107102072632548e-9, + c: -2.266447046540960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.258356336180694e-7, + c: 7.723222523668449e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.237709546920772e-7, + c: -5.600193086789482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.632123428847619e-9, + c: -1.117185010215263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.042313385201487e-8, + c: -6.390652094459293e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024428261173952e-7, + c: 3.424109943037130e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.424677952672890e-8, + c: 1.050723485836007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.495205937182539e-8, + c: -4.199969401977089e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[Term { + s: 2.044330455487113e-7, + c: -2.238239680442930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.995461070350000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.666256834180089e-3, + c: -8.925144752155674e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.166232843201025e-4, + c: -9.025260614463747e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.225560302778263e-4, + c: 2.668051858131396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.379049905192102e-4, + c: 4.783423466902940e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.634915486447417e-5, + c: -1.100456084668563e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.173260044174877e-4, + c: 1.143140707515281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.505927947375491e-5, + c: 6.335656887132486e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.027394114481975e-5, + c: 1.685204710943389e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.874513129582408e-5, + c: -4.294988578816746e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.321213431093296e-5, + c: 3.776624002427641e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.261632405261021e-5, + c: 3.624370398732691e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.845215901685692e-5, + c: -3.450920446816846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.578227674774107e-5, + c: 7.109042641726133e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.338383615547329e-5, + c: -2.042563470989340e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.129867434353420e-5, + c: -4.309707511882701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.577296019381804e-5, + c: -1.344363206961822e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.668677478087503e-5, + c: 7.390082255489887e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.513204802507435e-6, + c: 1.584309509851290e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.327615395235714e-5, + c: 1.061768617913901e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.277104921184586e-5, + c: 2.540472534781543e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.741381373495040e-6, + c: -1.039181806464600e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.698015110299855e-6, + c: -3.769229105071724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.903923102263774e-6, + c: -9.203131191667123e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.008513679496641e-6, + c: -5.024316110444963e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.072679292456390e-6, + c: 7.256739445800006e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.526030749895598e-6, + c: -5.434362898080144e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.138455577750683e-6, + c: 1.215073697052108e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.237988391863777e-6, + c: -2.413484093827732e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.535501412588295e-6, + c: -1.745483613588534e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.508651529741313e-6, + c: -2.865076831366703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.430360210137098e-6, + c: 6.293433675706153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.323610694831171e-6, + c: -4.264160685812520e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.817931420382403e-6, + c: 3.874699441379375e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.638812179469778e-6, + c: -1.426552286785081e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.784954936788417e-7, + c: 3.788101872504950e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -3.535274829507332e-6, + c: -7.334717647630682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.883185358221205e-6, + c: -2.873112101667004e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.355302522719980e-6, + c: 5.559557750969072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.170547657061231e-6, + c: 2.234578003908703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.951662878777367e-6, + c: 3.939615554357191e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.441052821731904e-6, + c: -9.565665895297248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.111007727088329e-6, + c: 2.219438837583365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.429477052279185e-6, + c: 3.927405986565396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.497317078315310e-7, + c: -2.060369550680723e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.144053390301045e-6, + c: 5.353675929670799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.425069062733644e-7, + c: -2.100286054794160e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.121802958190590e-6, + c: -2.014358531328854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.829710357730583e-6, + c: 2.590141980445081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018826898387230e-6, + c: -1.524324025497360e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.146921041308371e-6, + c: 1.226139955892329e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.516569453659743e-6, + c: -5.971238138592312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.120974670512956e-7, + c: -1.302459438169112e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 6.860077945871000e-7, + c: 1.302492948885469e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.438287424129084e-6, + c: 2.120962822700358e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.045613316819072e-6, + c: -7.968919817358255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, -2, 7, 0, 0, 0, 0], + }, + Term { + s: 4.988037326751442e-7, + c: -1.215825687780612e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.283513818155582e-6, + c: 2.362066734206850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.234683877387327e-6, + c: 2.401746258446856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.174429230743698e-6, + c: 9.390109468161673e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.185492402702147e-7, + c: 1.092380603596903e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 1.097569403927214e-6, + c: 9.389262405163719e-12, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.048076653565622e-6, + c: 1.206728159972321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.005030167526670e-6, + c: -1.346149862519734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.831768343624007e-7, + c: 7.425295469112021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.941264176535288e-7, + c: 1.151410548735168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.558846421281845e-7, + c: -8.081832728731600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.581762361756550e-7, + c: -6.195887896785232e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.029408521753548e-7, + c: -3.597049105429370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.213115463234234e-7, + c: 7.710126488439459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.937285964659537e-7, + c: -1.358919793678466e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.511526801312122e-7, + c: -1.522702846880467e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.325622095195485e-7, + c: 1.875899173108173e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.399914231691449e-7, + c: -1.969206592270936e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.089505155671516e-7, + c: 7.219455288826260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 3.508088294837510e-7, + c: 6.385498611191445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 1.403870808794282e-7, + c: -7.069015335271946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.933759480280735e-7, + c: 1.773322140341341e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.584319851324447e-7, + c: -6.817132572496047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.574204976679959e-7, + c: 1.435806555569542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.299673161896192e-7, + c: -5.913329207762062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.225027799887882e-7, + c: 5.939717481514094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -4.861506341952436e-7, + c: -3.868930233891091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -17, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.166827630997529e-7, + c: 4.545571240376520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.110173913881564e-7, + c: -3.030628218203892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.228328037242925e-7, + c: -2.123328077267074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.855825216840949e-7, + c: -2.709393499493837e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.386080845173470e-7, + c: 4.244172905642867e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.401459168599892e-7, + c: 2.099960709149858e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.050524424048237e-7, + c: -4.271138883754316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.409679841060013e-7, + c: 3.977669787955532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.558717203469947e-7, + c: 4.570805410700609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.719536253253606e-8, + c: -5.162055248517843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.912108659461565e-7, + c: -4.058827018208486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.861456957463925e-7, + c: 1.110773468578801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -4.771403670882588e-7, + c: -8.673064380401720e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.679295156321515e-8, + c: -4.482950638978640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.654191480548458e-8, + c: -3.880367298661454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.781033050292392e-7, + c: 1.148287638314747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.897834165843164e-7, + c: 1.163259154017902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -2.541544043116221e-7, + c: 2.752846338931249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.250295144724680e-7, + c: 8.820842875322115e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.966424937859111e-7, + c: -1.237615815367076e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.102253499805648e-7, + c: -6.913389953540280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.807904283214226e-8, + c: 3.089401925560626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.533584145518535e-7, + c: 2.704534241330368e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.941808687591768e-7, + c: 1.093616319680492e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.701317075032601e-8, + c: -2.857270677103191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.680682861599739e-7, + c: -2.246025328883567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.253556395481863e-8, + c: -2.655974620891806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.501391803436460e-7, + c: 9.103962186001456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.708550022434955e-8, + c: -2.464064618024164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.234987207485980e-8, + c: -2.343922004011663e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.645206768921855e-7, + c: 1.662965691397326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.262650003707652e-7, + c: -5.432782070257171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.254721075065617e-7, + c: 5.685064176038942e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.126678647882082e-8, + c: -2.206571243488251e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.540075188037078e-7, + c: 1.638797472195375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.167394010826924e-7, + c: 8.776326440228660e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.075940664774000e-7, + c: 5.275479850786006e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.049942484111340e-7, + c: 4.929782839290173e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.819232178556021e-7, + c: -6.740129402521555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 4, 0, 0, 0, 0], + }, + Term { + s: 1.410022201648190e-7, + c: -1.315348057295427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.839716451503513e-7, + c: -4.742285798073483e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.066215218502698e-8, + c: 1.594611389542867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.813951365995469e-8, + c: -1.810095045460704e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.656177077729643e-7, + c: -7.152440518952725e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769831286972273e-7, + c: 8.654238609522576e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.680983523375845e-8, + c: -1.619002427901806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.534240817745238e-7, + c: 5.450742311905772e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.597028450878023e-7, + c: -3.823229950630993e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.284248433576941e-8, + c: -1.173597947752401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.595813496222626e-8, + c: -1.176609421777343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397663722052875e-7, + c: -4.113931903079570e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.239479815085413e-7, + c: 5.985392415277039e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.253182064912314e-8, + c: 9.571798303290341e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.313301678170009e-7, + c: 6.145436405537338e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.614583136329762e-8, + c: -1.134562124540565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.129781650647155e-7, + c: -1.817200736080537e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.068396064646692e-7, + c: -3.326389317295320e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.220238344159026e-8, + c: -1.066698574336039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.363218963073025e-8, + c: 7.143835106039394e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.094010317544172e-7, + c: -1.905625495785650e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.842211084233333e-8, + c: -1.055910029737184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.286626686530697e-8, + c: 9.361674804027031e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.057714369018779e-7, + c: 8.124491764526101e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.669442366277457e-8, + c: 4.314872044763418e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.462083429717300e-9, + c: 1.039308924420978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.014928144322167e-7, + c: -1.949474622172062e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.027985030130611e-7, + c: -8.519279936954377e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.121623437392008e-8, + c: -4.108059873351006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 5.296909615623250e2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.463174368757044e-4, + c: -2.196106383104567e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.796073585971277e-5, + c: 4.440436406102723e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.851953712347685e-5, + c: 3.809282264531027e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.399643230736737e-5, + c: 1.175591099311259e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.758536301604393e-5, + c: 4.922066520565255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.132545123204832e-5, + c: -8.389483686436879e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.571429673271613e-6, + c: 9.188482122386695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.916116877288994e-6, + c: -7.198818786384892e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.398223612575453e-6, + c: 4.535026376133041e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.770063703245940e-6, + c: -4.550974052232835e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.441911794083376e-6, + c: 1.272606126342694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.354855216167648e-6, + c: -3.247586946874551e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.544910077288773e-6, + c: 2.146794889284947e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.621383213864251e-6, + c: -5.075144142496188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.746723292241466e-7, + c: 2.376303241332876e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.048654530792724e-6, + c: 5.869402294594736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.414236752193164e-6, + c: -1.576559176713027e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.805370962149927e-7, + c: 1.712816609826569e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.283966181887115e-6, + c: 1.094653987650789e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.051573602539170e-6, + c: -1.297959263591332e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.486714221156538e-7, + c: -1.377400083627155e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.427646610236155e-6, + c: -1.293387616810516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.904309416403915e-7, + c: 1.290772644726064e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.101740910819900e-6, + c: 3.606050714246645e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.123720900776575e-6, + c: -1.926717166575445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.623167011342230e-7, + c: -3.554127012488086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.815137292905741e-7, + c: 9.355495650513482e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.121096284729982e-7, + c: 8.702249397558648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.758613621957806e-7, + c: -6.909920498719227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.659892966720467e-7, + c: 5.782051850436042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.995068516201009e-7, + c: 7.037329356271172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.230733770319122e-7, + c: -2.866694995201568e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -6.346031397494006e-7, + c: 2.234221020147522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.959091134452303e-7, + c: -5.365503277341872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.912770022736098e-7, + c: 2.778505341964168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.100313734052698e-7, + c: 3.846694261638596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.480590613577609e-7, + c: -4.131187789305030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.285744801159304e-7, + c: -1.108864457693501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.686501643967197e-7, + c: 4.628737037204693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.595122690632566e-7, + c: 4.917931880672944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.658631700344033e-7, + c: -5.007131245370017e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.488216570959502e-7, + c: 3.111854186869545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.249075105048822e-7, + c: 3.112367477248137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.739939201049483e-7, + c: 1.394450559142418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.014065832997542e-7, + c: 3.837425125519686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.124593465023180e-7, + c: -2.523920971411953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.962784665705326e-7, + c: 7.143409119375484e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.986922693263064e-7, + c: -5.938936551538361e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.170672799940862e-7, + c: 2.082576307217948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.576335657061924e-7, + c: -1.097017551142396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.659985139253801e-7, + c: -3.176929700067878e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.928976012704636e-7, + c: 1.855334205787081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.049510513142091e-8, + c: 2.499321077054922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.830779158491803e-7, + c: 1.694083753896639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.220765691401556e-7, + c: 8.623176192109615e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.357503338327189e-7, + c: 9.131988087602836e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 4.955259973669893e-8, + c: 2.087296654480762e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.666275684783485e-8, + c: 1.898778220498775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.281538916494561e-7, + c: -1.539610342633429e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.899801785336395e-7, + c: 5.529634624844145e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.896255536824687e-7, + c: -1.482207614546778e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.779372621055885e-7, + c: 6.405541372251200e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -1.349529550506903e-7, + c: 1.285386942776427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.695111860311925e-7, + c: -2.366109358088021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.679350718126147e-7, + c: 2.772868485935072e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -6.428973142987636e-8, + c: -1.373822596650782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.319455171224224e-7, + c: 5.252921479509276e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.209399496467804e-7, + c: 7.348251151122845e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.583556842015978e-8, + c: 9.291053040508989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.154615607791525e-8, + c: 1.220711216383135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.246553483673146e-8, + c: 8.849670679262991e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.231566990865795e-7, + c: -1.053252364846471e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.586970979855666e-8, + c: -9.316860712406564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.246676055010245e-8, + c: 1.137173491687932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116587405729751e-7, + c: -1.713148189416823e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.069917281781652e-8, + c: 7.584104275576441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013481877919506e-7, + c: -2.656745162584312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 4.312318531901481e-4, + c: 1.928790661753141e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -1.483392972823448e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.433818064928569e-5, + c: -9.487037871646341e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.016242424460424e-6, + c: 4.416218502360250e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.817060852930168e-6, + c: 2.129702821953641e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.567731469619854e-7, + c: -2.516960823205813e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.736463990195620e-7, + c: -1.442559995157759e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012344292816084e-6, + c: 7.930929243014339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.807190193875174e-7, + c: -4.319489062894853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.706193897893940e-7, + c: 5.743229964918390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.269515277532415e-8, + c: -6.387153394695727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.690009618956563e-7, + c: -2.156543851730260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.150143961758887e-7, + c: 2.903260615501993e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.669773884098765e-8, + c: 4.866522083270769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.528664856539677e-7, + c: -2.905308668864644e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.889895953433267e-7, + c: -2.389237711107865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.913206100712868e-7, + c: 2.797195295515613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.930492154972979e-8, + c: 3.820072562297197e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.361991110572111e-7, + c: -1.502729984074349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.229397521769168e-8, + c: 3.368432651241430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 4.581413441622539e-9, + c: 3.150384604208739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.882912094275600e-8, + c: -2.908970761225348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.710693129461359e-7, + c: 1.281655275529539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.181161241657397e-8, + c: -2.960516729113779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.545909839225061e-7, + c: -1.104098257300184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.087938356092396e-7, + c: -1.302126771406498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.077549519780559e-7, + c: 1.292794089842802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.828455996645091e-7, + c: -8.737526340771731e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.756399222858086e-7, + c: -8.731146419230202e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.075412716948059e-10, + c: 1.807668067075022e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.529873494947430e-9, + c: 1.639959788110495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.229399210515362e-8, + c: -1.608418717414406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.639821724456028e-9, + c: 1.594255721812481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.404749112003864e-7, + c: 5.511577213315963e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.391113683981702e-7, + c: -5.697353998868136e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255233452871735e-7, + c: -7.823913962643877e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.085130079615479e-7, + c: -9.773094758179252e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.074813707610493e-8, + c: -1.057586736150062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115750532461923e-7, + c: 6.104182102296299e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.562024656878993e-8, + c: -4.902729535820459e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.494058205393351e-10, + c: 1.022295370651378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -3.535350378107832e-5, + c: 5.469025073461363e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.103318768964940e-6, + c: -3.519212175160192e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.094373543392943e-6, + c: 2.488222949070012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 2.874243609095151e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.342974251249427e-7, + c: 8.310748983345354e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.106658572674440e-8, + c: -1.656516224716835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.284573258825854e-7, + c: 1.023083209688647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.555962217261085e-7, + c: -3.902328008119637e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.366234550538241e-8, + c: 9.114808916531580e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.111214030727200e-7, + c: -1.598213679068024e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095650202784367e-7, + c: -1.875051283141591e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -4.984856462431523e-6, + c: -4.666523516307367e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.236539422011207e-7, + c: 7.384385432721765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 2.253879303361725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.070561812579472e-9, + c: -1.956738809620997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: 4.809490708496387e-7, + c: -3.346173859078089e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.372182687955888e-7, + c: 8.294098125525814e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.698584700500000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.347545948308645e-6, + c: 6.529663871698988e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.444205345201338e-4, + c: 1.608724094551382e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.080410246523534e-4, + c: 8.129921456221117e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.837282704341540e-7, + c: 1.074221379589439e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.476195072468480e-6, + c: -8.214954651224059e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.510299649801816e-5, + c: -3.439349912587338e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.797731722279796e-7, + c: 3.765701484665328e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.678217331555950e-6, + c: -2.955595640853329e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.755114591586694e-5, + c: -1.030602476274358e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.418448416897737e-6, + c: 1.714436166617530e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.299788305028704e-7, + c: 1.557538316210753e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.427400995337214e-7, + c: 1.471990486711308e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.396186755007049e-10, + c: 1.038487436197112e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.700547157683974e-9, + c: 9.829444805288502e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.060033533574721e-6, + c: -4.585671009862824e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.911938867982320e-7, + c: 8.306762902829273e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.031976853203941e-6, + c: -3.590044657759579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397191633257133e-6, + c: -7.487821675764747e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.864476508151314e-6, + c: -1.909418266221415e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.474539975703300e-6, + c: 2.657074502480956e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.320556531713491e-7, + c: 6.869407637197205e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.569186393256488e-7, + c: -5.807179315876130e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.003787822550730e-6, + c: -2.649798687069938e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.064238393148304e-7, + c: 4.425054543037708e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.066513896836061e-6, + c: -1.044136458868309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.091708675146711e-9, + c: 4.024862024169037e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.979914009304643e-6, + c: 3.006644435984094e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.987076231014373e-9, + c: 3.599788028096356e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.908510653677986e-6, + c: -1.528481257253044e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.165511526415826e-6, + c: -7.650356328685265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.067284000655832e-6, + c: -5.539765342889154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.985478965707680e-7, + c: 3.095150329240255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.444582915184888e-11, + c: 2.815437551428784e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.068275705048115e-6, + c: -1.465327120185943e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.792007049857699e-6, + c: -1.678935722999942e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.287284993565927e-7, + c: 2.300615458186545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.030675241535161e-6, + c: -3.059882298919777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.681389797201784e-7, + c: -1.951415481882049e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.470668435077588e-6, + c: 1.297092279431049e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.828859091415897e-6, + c: -5.031366813611102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.357372167964449e-7, + c: -1.841967684718061e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.641255360608647e-6, + c: -7.922198055538992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.046213743386287e-8, + c: -1.644045554774161e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.243629482062372e-7, + c: 1.409840107921471e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.082894713666576e-6, + c: -8.141443708450196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.264972188590948e-6, + c: -1.772776661568130e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.923100514603950e-7, + c: -1.229952653902377e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629911464631472e-7, + c: 1.181547227879627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.934978891775641e-8, + c: 1.127608094606470e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.003327601412368e-6, + c: 4.412039697794393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.722421301869668e-7, + c: -4.408612544920249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.705355866565121e-7, + c: -9.059613012857884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.649217982685019e-9, + c: 8.932864148368428e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.589696989243617e-10, + c: 8.887228617495982e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.812298054187980e-7, + c: 8.602273114042915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156011901986402e-7, + c: 7.955282907189045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.995856658910691e-7, + c: 5.125261256552203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.598624635192386e-7, + c: -1.073076389254028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.635303456504187e-8, + c: -7.515269799978194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.686857212627989e-7, + c: -4.507680372317584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.994847896924445e-10, + c: 7.147213959023739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.309699130135124e-7, + c: 6.975620699469422e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.838940865898933e-8, + c: 6.409881515409552e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.892337720398565e-7, + c: -2.501018136337054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.477826542521852e-7, + c: -6.023712532762839e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.075115894797708e-9, + c: -6.157113295602887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.115765356975900e-7, + c: 6.019038600313857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.723458960800324e-8, + c: 5.180556312684913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.754567015178073e-7, + c: -9.902136403068182e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.358459039266320e-8, + c: -4.460487541515281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.443427788644225e-7, + c: -6.670586073166706e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.354306771689560e-7, + c: 2.813255230820962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.408283668270622e-10, + c: 4.324720186723636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.461629376010239e-7, + c: 2.087802664396970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.979558942847593e-7, + c: -2.479361794587174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.268157325213326e-10, + c: 3.863410380504756e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.584820483870077e-7, + c: -1.422611668397108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.652334681582427e-7, + c: 1.152873252721882e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.242549113220114e-8, + c: 3.208796789618072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.976906589026343e-8, + c: 3.181733454752021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -7.924874656414017e-8, + c: 3.034407153299758e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.382407090263921e-8, + c: 3.045488495606771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.171677788902113e-10, + c: 3.072137305965604e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.107965926450556e-8, + c: 2.995914151365599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.953072154019033e-8, + c: 2.884418594120599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.803438998045253e-8, + c: 2.655097243641367e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.492469044818902e-7, + c: -2.176233417292698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.953822791480953e-7, + c: 1.719781471450725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.547863462918074e-7, + c: -4.220975893618516e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.274759942782258e-8, + c: 2.533059887510390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.067917953550477e-10, + c: 2.355552993269797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.171635147364670e-7, + c: -8.054374775192305e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.044925821727171e-8, + c: -2.161415018073869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.996716751163991e-8, + c: -2.109553435755196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.552426462894595e-7, + c: -1.352722574812142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.033700196496190e-8, + c: 1.921777577682807e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.019551150619551e-8, + c: -1.763055455078998e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.425158350321936e-7, + c: -1.316053131970477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.812812533507054e-7, + c: 6.030391722456311e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.791403287927750e-7, + c: -4.072327117073583e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.264509913364701e-8, + c: -1.618675711542804e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.768983734735279e-7, + c: 4.039697324002855e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.062287626499878e-8, + c: 1.780225034895293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.772746928807417e-7, + c: -1.859225933232427e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.690828029568802e-7, + c: -3.884716797778633e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.751040260213563e-8, + c: 1.530716642894561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.147914738112345e-7, + c: 1.043313330294002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.527575230036111e-7, + c: -1.663963937870383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.110249144342769e-9, + c: 1.495028469075809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.025336489767695e-9, + c: 1.461308151734806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.437889814411675e-7, + c: -2.693387572403378e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.604744963604388e-9, + c: -1.428521704569219e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.375047789592208e-7, + c: -1.980707687770983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.305166777841337e-7, + c: -4.519479027339241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.863813159404793e-8, + c: -1.195860972009885e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.127096700238746e-8, + c: 1.273737676707924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.129436768731643e-7, + c: 3.683179295059938e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.348359548364657e-8, + c: 1.122620543912934e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.150225238910093e-7, + c: 1.053516132031133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.537889434864584e-9, + c: 1.144160601873533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.478949211350327e-9, + c: 1.093074459044535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.024917390876979e-8, + c: -7.313899825155416e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.881028639183844e-8, + c: -9.941734403737771e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.896119308535049e-8, + c: 1.836556037059385e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.130313783478597e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.076454418708960e-5, + c: -9.837616545761109e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.531233471206593e-5, + c: 1.252856676716392e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.802145688347550e-6, + c: -6.813500452640008e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.770669631944222e-7, + c: 4.731539422304615e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.879976856091777e-6, + c: 9.182260970730881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.678199174633734e-6, + c: -2.194641444399535e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.258883375793602e-7, + c: -2.198423340280997e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.200395071466667e-6, + c: 7.279052384422073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.080177709000574e-7, + c: 2.011842124844356e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.989993548421617e-7, + c: -1.804816756171717e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.423943858062861e-7, + c: 1.307159755694492e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015204643776055e-6, + c: -8.401503177297166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.306859501044210e-7, + c: -1.013158080962320e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.558165737032618e-7, + c: 8.365902588627760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.909058312415085e-7, + c: 6.926242446236056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.899999944073731e-7, + c: 8.285472296188781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.546804191069517e-7, + c: 2.372937729147037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.512477170195528e-7, + c: 1.319380811429796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.007373232377607e-7, + c: -4.695551545401065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.504418682331098e-7, + c: -1.667608342258731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.815818902680877e-7, + c: 1.491007067997365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.237541087880093e-7, + c: 4.869751840600537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.857759902331604e-7, + c: 3.712768058467523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.984625919526508e-8, + c: 4.425796093564679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.020140946772629e-7, + c: -1.500934204245667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.122318095542354e-7, + c: 2.834668111577430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.905002968672851e-7, + c: -2.324304207684209e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.965206490304350e-8, + c: -3.608737181119187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.486260382828356e-7, + c: 1.020719045244068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.674944479508447e-8, + c: 2.951419862751558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.918679925747297e-7, + c: -4.149235235909168e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.626446132710514e-7, + c: -1.059463590913961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.587728203016897e-7, + c: 3.157652959635092e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.592607456493068e-8, + c: -2.487159000633497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.462272453616076e-8, + c: -2.526692192055568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.302059040477032e-7, + c: 9.205856642080082e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.708380662757088e-7, + c: 1.591613396155595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.726515207480321e-8, + c: 2.183808109012472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.657352257564850e-7, + c: -1.167172601740234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.356621629886037e-9, + c: 2.018556931699789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.842623972340393e-8, + c: 1.826031548601038e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.517287783023999e-8, + c: 1.822295402929851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.708402555196669e-7, + c: 4.457927158226417e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.628671998343897e-7, + c: -6.762356003740731e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.565317490003063e-7, + c: -6.955809207927059e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.623930224380200e-9, + c: -1.494934860339645e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.423342570396627e-7, + c: 3.956614415140804e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.050239250992661e-7, + c: 9.141927592656558e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.832805343365250e-8, + c: 1.358273990558430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.616394862598151e-8, + c: 1.268681998320904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.382219093171788e-8, + c: -1.255041078066853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.482391040076062e-9, + c: -1.236716350298320e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.255690379141172e-8, + c: 1.221373597969436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172293268907758e-7, + c: -2.528730909996566e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.027012148397637e-8, + c: 1.124169700640223e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.261677370581900e-8, + c: -5.859958363820297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.820427660977292e-8, + c: -4.095193151375679e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.955223392557395e-8, + c: -2.054287517383155e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -1.093621680728395e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429692860732896e-5, + c: -2.019869628614621e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.513854944564841e-7, + c: -1.740800180455808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629374092829923e-6, + c: 1.025933556234852e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.062024676104823e-7, + c: -5.262252255088794e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.693905162545545e-7, + c: 5.524702411898878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.713420146464429e-7, + c: 5.638800216568417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.899835942381092e-7, + c: 3.063637561003628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.915532683143072e-7, + c: 5.238945736062551e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.578440040219083e-7, + c: -2.409610706719803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.875414482635182e-8, + c: -2.824171544138634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.585785356818602e-7, + c: -3.215028860463601e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.070411693110000e-7, + c: 7.493246672668039e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.246167970973430e-7, + c: 1.539517053172780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.096824085983868e-8, + c: 1.491130424945502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.559888497241132e-7, + c: -2.837014360837415e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.421923720851261e-8, + c: -1.179850612640287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.189029813885246e-7, + c: 1.762322584901485e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.505347440766886e-8, + c: -9.520209435654526e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.742347450651683e-8, + c: 9.474457614112514e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: -4.317689288877983e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.780229402820981e-8, + c: 1.356236361785286e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.214086864207020e-8, + c: -3.697484602222998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.568968769217516e-7, + c: 3.768466607982443e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: 1.965902836610493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.561966611689859e-8, + c: -3.527431007600007e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.200371972600000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.427198737338274e-4, + c: 1.479851653240996e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.604439138315285e-4, + c: -3.411176558900131e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.091809774990400e-5, + c: 1.113072150001340e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046978845355527e-4, + c: 3.869023932938911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.892170645245808e-5, + c: -6.118037554325284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.333277849896435e-5, + c: -5.467229748929953e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.749104009979733e-5, + c: -7.295427220199574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.838974402204854e-5, + c: -1.558961658278715e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.072547420724238e-5, + c: -1.727296264313949e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.578113362532889e-5, + c: -8.557326939321921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.500552055686985e-5, + c: -6.554420882623804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.173356297757817e-5, + c: 4.360481746028629e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.904404821396175e-6, + c: -9.105583475629667e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038171424799154e-5, + c: 6.468456867431086e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.824872904549427e-6, + c: -3.529400425378117e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.978260306235828e-6, + c: -7.883976570780447e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.411273355111239e-6, + c: -2.340724453533710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.445871150816846e-6, + c: 7.118087656220553e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.463240107330262e-6, + c: 1.323728568216141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.118951355192758e-6, + c: -7.100538436027520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885811063898976e-6, + c: 6.822732250760790e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.768916284403283e-6, + c: -6.464959280961278e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.167579098050916e-6, + c: -4.604228449310990e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.151389677674337e-6, + c: -9.373307036834227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.768600896139346e-6, + c: 1.384303129965796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.177500429454085e-6, + c: -4.013679142257708e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.445662974070135e-6, + c: -9.067594855812517e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.020700129643285e-6, + c: 1.264527384526270e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.321527144373519e-6, + c: 1.441767636437159e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.596061572606536e-6, + c: 4.848689263206795e-11, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.603286876037057e-6, + c: 3.045690536652334e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.357876641566742e-6, + c: -5.190742451863724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.816880983377201e-6, + c: 7.095062997736243e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.649714751569154e-6, + c: -1.798502575379104e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.994235591370289e-7, + c: 2.394202992229953e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.119412689628959e-6, + c: 1.070639103994191e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.080274548383360e-6, + c: -2.104058016761570e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.288667840089426e-6, + c: -2.284139892283383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.566847069395449e-7, + c: -1.871770456501191e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.288636968594218e-6, + c: 1.451615227474387e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.890203978450295e-6, + c: 3.817572966758949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.543326525045169e-7, + c: 1.526456718220139e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.700923185990378e-6, + c: -1.317505828758999e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.621364095658346e-6, + c: -3.635894070656398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.294426691959364e-6, + c: 7.060209087207961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.585039723397601e-7, + c: -1.117683930160222e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.199839652076708e-6, + c: 1.298507228214119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.161160444550252e-6, + c: 5.040479163573689e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.948828147230234e-7, + c: -1.075921182948560e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.953853625110500e-7, + c: 8.366460392555805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.932120378796776e-7, + c: 2.217107761955267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.902903920656779e-7, + c: 9.462174118853768e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.701469852489602e-7, + c: 4.372976730920227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.855865596083207e-7, + c: -3.720854095074267e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.964632975739904e-7, + c: -2.445177832357322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.224005920132975e-7, + c: 5.871882895466653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.508239598769087e-7, + c: -2.514107304856207e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.298284985278179e-7, + c: 1.240319988796833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.116211355538447e-7, + c: 4.840184061779266e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.949375780491108e-7, + c: -1.310090640552660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.265119968111017e-7, + c: 4.228187456758991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.988803375142908e-7, + c: -5.967056512836461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.104705555861213e-7, + c: 3.676116060962694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.168824093740840e-7, + c: -3.213389208000155e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.743928775281133e-7, + c: 4.709004646384482e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.882838706646456e-7, + c: 9.694672216259554e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.802172771458627e-7, + c: 1.164484572758025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.828500477739883e-7, + c: 1.350091586357809e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.498588107844086e-7, + c: 2.592884041280043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.660558983576715e-9, + c: -4.700249555946439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.456519756787630e-7, + c: 1.441357186011176e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.948658354487174e-7, + c: 3.249611598496081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.959443406180914e-7, + c: -1.595165935004106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.016111860339795e-7, + c: 8.881219991934493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.101095890064037e-7, + c: 4.816065021782775e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.857763973415251e-7, + c: -1.342003537697395e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.103278918700337e-7, + c: -3.657793386293678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.646754135483783e-7, + c: -3.187742640950316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.336512128790967e-7, + c: 2.684351433729150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.530304354317725e-7, + c: -4.465537079416649e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.167459736565207e-7, + c: -7.970092436005875e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.239115898638500e-7, + c: -4.120182413858749e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.033037761700877e-7, + c: -7.911104651345034e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.042336117915199e-7, + c: -5.901090928015082e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.068958286661782e-7, + c: -2.423936180390009e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.593327542444964e-7, + c: 1.490670385972674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.897780015724942e-7, + c: 1.361561242363159e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.653865995963427e-7, + c: -6.792294721048708e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.580185352400330e-7, + c: 6.179772205818355e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.541802362075142e-7, + c: -4.361970868285706e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.701068389499452e-7, + c: 1.921208438814885e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.210778359099788e-7, + c: 9.684939591259261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.083844293432225e-7, + c: 1.114010793699855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.325695959084977e-7, + c: 1.377767901110440e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.984485633782873e-7, + c: -1.015955678471065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439487830277736e-7, + c: 1.541540045926462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.914432435223761e-8, + c: -1.845595059479194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.295375662958551e-8, + c: -1.699752830201225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.276186991302051e-7, + c: 1.381732789457569e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.141454744689778e-8, + c: 1.784430898953278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.859280613962469e-8, + c: -1.762993706133799e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.764870423244297e-7, + c: -2.609628720182487e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.881707362804627e-8, + c: -1.690389150346697e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.539875711663573e-7, + c: 7.234786140588738e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.479919192340505e-7, + c: 8.358928031237764e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.684175544046460e-7, + c: -6.597950914245260e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.583241941665932e-7, + c: 4.057527546329118e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.064242496290093e-7, + c: 1.233858063741128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.393730975938901e-7, + c: 7.394136016454487e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.016905892027266e-7, + c: 1.135278918214831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.490741222008834e-7, + c: 9.320526879198698e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.621877012938128e-8, + c: 1.164948909057306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.426759553353784e-7, + c: 1.094953674848969e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.393763093597046e-7, + c: -5.218015157186772e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.296048800083185e-7, + c: -4.730538146834660e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070438442593142e-7, + c: 6.532654557603569e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.743781451982479e-8, + c: 8.900145070517720e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.997652231687891e-8, + c: -6.344986631106536e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.928246167971509e-8, + c: -1.114853449065763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.038451015389362e-8, + c: -1.141997898945279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117941042535877e-7, + c: -1.382504807964130e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.086169393011353e-7, + c: -2.491873776551282e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.348736766484244e-8, + c: -9.030967114328203e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.892903520323512e-8, + c: -1.019732469370128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.796410410294853e-9, + c: -1.006797896007288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.000214916102939e-7, + c: -7.216826025975675e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 2.171843761244132e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.683559870129499e-5, + c: -3.097332848074398e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.487381075931062e-5, + c: -7.517614533633825e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.763601461522904e-6, + c: 5.365224551171909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.693898214295900e-6, + c: 6.627805263331195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.770087158861231e-7, + c: 2.870605611392026e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.813165587862423e-6, + c: 7.232762986315541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.084638664411708e-6, + c: 1.839251630169737e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.053000519678452e-6, + c: 6.287447223282785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.806634800779485e-6, + c: -5.520953027987761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.370411708769896e-6, + c: -1.193223731056825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.481394451125954e-7, + c: 9.949066137727060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.345290841867286e-7, + c: 8.821545266041694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.244506743961736e-6, + c: -2.050734543599595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.805486429278869e-7, + c: -7.826909373787163e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.932789995014379e-7, + c: 3.092322286629738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.100860421837315e-7, + c: 5.280243766382154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.389148992849369e-7, + c: 7.196777803699671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.244758055454359e-7, + c: -1.591851399798393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.038447323802243e-7, + c: 3.173983712302823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.291160985966365e-7, + c: 2.522793448938217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.330924526902272e-7, + c: 2.144024310943593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.043077903394820e-7, + c: 4.694576233268157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.529056664589329e-7, + c: -1.336059547181107e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.734456114557385e-7, + c: -3.193021348538329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.047163606813157e-7, + c: -7.332625471241828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.836244418210061e-7, + c: 1.209307187022904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.346780053712550e-7, + c: 3.387154656476139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.940841925183622e-7, + c: -9.427674731556021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.705099107889523e-7, + c: 1.422192275042583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.237919166545749e-7, + c: 1.640085885460456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.317424211904787e-7, + c: 1.464689036190279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.910238242926170e-8, + c: 2.510837039960076e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.052620858883165e-7, + c: 2.369436473807426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.528759262267385e-7, + c: -4.007403051840353e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.478527928850366e-7, + c: 6.146065855443370e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.500119477798488e-7, + c: -1.808431283776714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.756223124250665e-8, + c: 2.263399460028679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.112512453059929e-7, + c: -3.702690730702539e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.804874138077626e-7, + c: -6.226824356103849e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.459913163847016e-8, + c: 1.672111343951258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.854399224230048e-7, + c: -2.128520741337347e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.423022424611066e-7, + c: 1.134481367403718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.748481607289162e-7, + c: 6.952024781149538e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.462607363154123e-7, + c: 6.800540225710499e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270822908107597e-7, + c: 9.857365642646896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.476987215624080e-7, + c: -2.176858154362035e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.502966276329560e-8, + c: 1.282377770916563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.936234927961321e-8, + c: -1.034530580000923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.320894176255047e-7, + c: -1.331290639624598e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282237399805830e-7, + c: -2.223554351358531e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.371772585745556e-8, + c: -1.176196562921502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.226208046010405e-7, + c: 4.507115386489617e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.216864669811675e-7, + c: 1.319873521658815e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.071250924162911e-7, + c: -3.999442787121649e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.056265187164279e-7, + c: -2.639107746141321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.428547560485068e-8, + c: -9.843865689406557e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 9.861588767909847e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.184641568162600e-6, + c: 1.393825317230794e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.030041780636023e-9, + c: -1.612488445795039e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.119209824772873e-7, + c: -1.128117952407744e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.625249725453725e-7, + c: -2.588947953577288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.628472261923228e-7, + c: 3.818464156547551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.991579950803318e-7, + c: 1.941775868458305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.024080763001465e-8, + c: -3.008620381889523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.372460819711763e-7, + c: -1.541900442427610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.543645029598293e-8, + c: 2.599435761008700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.847506864438632e-7, + c: 1.010679719416301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.275584756409949e-7, + c: -1.517576459011041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.366091079284406e-8, + c: 1.690449095111922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.912893315837228e-9, + c: 1.650874332658784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.391797121960449e-7, + c: -6.957858140867867e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.854109100314112e-8, + c: -1.341836326639220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.439726359813417e-8, + c: 1.316579872182494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.769716438617789e-8, + c: -6.092280638146484e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.648884392977392e-8, + c: 3.916556603867881e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: -5.174064995306223e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.305250151470391e-6, + c: -5.172762113137991e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.648069668664833e-7, + c: 5.214122936523273e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -2.065622731000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.510064823645628e-6, + c: 4.127505042017256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.895509290582169e-6, + c: 1.129707750006306e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.382554881278256e-6, + c: -2.425742672410620e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119679282297538e-6, + c: -3.447532545532254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.378789779477289e-7, + c: 5.014920760226047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.830150923855389e-7, + c: -1.926560374215189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.180481033742786e-7, + c: -3.058083861627956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.944863073212659e-7, + c: 1.715247279794161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.174181763536107e-7, + c: 2.140765747765876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.941064507082118e-7, + c: 2.147953827461738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.672108205285920e-7, + c: -1.613929655679126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.823169814211058e-7, + c: -8.401346186700714e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.078265498155283e-7, + c: 1.183189360781045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.981278489502822e-7, + c: -4.381666798320540e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.475044986771135e-7, + c: 1.079460469679889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.445357844135913e-7, + c: -5.484624763635278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.454458021801829e-7, + c: -4.658713683390221e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.340993792312288e-7, + c: -6.776564571140788e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.188328757274337e-7, + c: -8.468573054492343e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.586183089019170e-8, + c: 1.356262625295953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172349240778743e-7, + c: 6.462330425194995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.243794791492576e-7, + c: -3.811761425479961e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.209887155308914e-8, + c: -6.946608669350058e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -3.135048283468208e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.153259807666326e-7, + c: -2.666748877949371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.034151644448207e-7, + c: -7.945056948017118e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.534783716879473e-7, + c: 1.552630761936708e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.035111814088917e-8, + c: -1.025160238410398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.233091473081961e-8, + c: 9.023084079192492e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.049300684684844e-7, + c: 3.205186186173308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -1.671376172208626e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 7.983406736254565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.118386458000000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.339923137107150e-6, + c: -7.835068902148984e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.378654418658206e-6, + c: 1.698016251121175e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.016891284232472e-6, + c: 9.157989123231948e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.418008310533314e-7, + c: 7.101819061696521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.865191676098709e-7, + c: -5.342986974361332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.799024631111135e-7, + c: -3.921217114325907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.035674836952224e-7, + c: 2.879206322374144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.298633532340537e-7, + c: 3.071112496166055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.218679448403848e-7, + c: 2.908930132640546e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.084965105893760e-7, + c: 1.260880744944588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.249052049196699e-8, + c: -2.207996191058138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.791117496163897e-8, + c: -1.784948254078508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.115583324962837e-7, + c: 1.464171100408580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.245281761327116e-7, + c: -1.164864520749891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.561480580419573e-7, + c: 4.183096227468116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.061197265500130e-8, + c: 1.494469730603963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.241126681270409e-8, + c: 1.313950886360980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.427355178047508e-7, + c: -7.585563229360512e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.378660647610147e-8, + c: -1.238316364718720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.235295612103113e-8, + c: 5.630614104903066e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -2.343211190834333e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.806576783285896e-7, + c: 1.859292772776353e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.524184130243616e-8, + c: 2.892030255220875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.875659430591933e-7, + c: 1.498588446138389e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.131375671715031e-9, + c: 1.619791794177781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.050266924589381e-7, + c: 7.407516349020255e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012064771052156e-7, + c: -5.950849130964677e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.035333086341679e-9, + c: -1.025252768471402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.512178814132961e-8, + c: 3.318697021282641e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 2.088219062909500e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 5.275024423083654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mars.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mars.rs new file mode 100644 index 0000000..a1e7632 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mars.rs @@ -0,0 +1,3453 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Mars +//! +//! Generated from VSOP2013p4.dat +//! Threshold: 1e-7 +//! Terms retained: 660 of 309140 (0.2%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.523679340234000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.101775373331733e-7, + c: 6.601704278461370e-5, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.977604980983227e-6, + c: -1.962695157182863e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.331249419813583e-7, + c: 1.638959609503905e-5, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.347316964242000e-8, + c: 1.580840346743808e-5, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.615849173822213e-9, + c: 1.412663622583949e-5, + mult: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.292228176543606e-6, + c: 9.717887342158017e-6, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.720620998767606e-7, + c: 1.038210471448370e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.166981470159275e-6, + c: 5.198780582332147e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.407576659256848e-6, + c: 3.326024526824262e-6, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.719551592680042e-6, + c: -4.898410079363411e-6, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.426382381910058e-6, + c: 4.413292857548602e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.737792874126088e-8, + c: -4.231537921236292e-6, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.938340922901881e-7, + c: 4.219010648957231e-6, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.329150196772434e-7, + c: -3.824449711161624e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.430131989151610e-6, + c: -1.505172555071829e-6, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.826924672382635e-9, + c: 2.775575690078601e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.098499554421608e-6, + c: 1.794785385575996e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270830948261515e-6, + c: -2.289700285270012e-6, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156069001833922e-10, + c: -2.250979008184185e-6, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.700773225885121e-7, + c: 1.648710460346341e-6, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.374170812096317e-7, + c: -1.758077483212750e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.695964838298249e-6, + c: 7.606481222549741e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.382099425969955e-7, + c: -1.339137198574707e-6, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.248060815310143e-6, + c: -7.825747606258779e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.412520969954071e-6, + c: -6.731441923843907e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.532050062398503e-7, + c: 1.300161841207188e-6, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.084989664083918e-6, + c: -6.731273448189722e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.795363017413059e-9, + c: -1.234469627728082e-6, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.314690131631681e-7, + c: -1.089705725646474e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.330996041691032e-7, + c: 1.118537958458975e-6, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.358659385663707e-10, + c: 1.100662988762681e-6, + mult: [1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.621902393320430e-7, + c: -8.298970083104085e-7, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.935777308379402e-7, + c: 5.838094400634189e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.893192435925332e-7, + c: -7.812713996919548e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.661053230700197e-7, + c: -4.146150862766960e-7, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.421465252373316e-7, + c: 3.172763562633093e-7, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.199461664277399e-7, + c: 3.330108203476801e-7, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.724521589038814e-7, + c: -1.556619530529695e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.510725802824502e-9, + c: -6.818629727619853e-7, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.556312744674344e-9, + c: -6.755767465206500e-7, + mult: [0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.509951213774558e-7, + c: 5.635637908086733e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.345120973096317e-7, + c: -1.816559677175291e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.919490920412570e-7, + c: -5.211060705953724e-7, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.781112192976352e-7, + c: -2.837900114394227e-8, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.419340423453909e-7, + c: -2.747938658251270e-7, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.430774246955607e-7, + c: -2.199940695976503e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.521452379416227e-7, + c: -4.183613605523656e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.940446041075854e-7, + c: -4.210801837519170e-7, + mult: [0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.536026740019433e-7, + c: 2.475992037872327e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.744215898121539e-8, + c: 3.925615424973359e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.227865712130458e-7, + c: 3.215518892348473e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.849778290517534e-7, + c: -3.272880962145298e-7, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.251332787703116e-8, + c: -3.696876207713439e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.827504615095617e-9, + c: -3.743754785433892e-7, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.613537150369223e-7, + c: -1.798498933415302e-8, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.003061067298503e-7, + c: -1.861747131792314e-7, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.458016224209875e-7, + c: 1.410012070510001e-8, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.358875751787741e-7, + c: 3.170235984975406e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.356487699657207e-8, + c: 3.308765306857872e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.465819084199822e-8, + c: 3.022803934604403e-7, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.908273700005926e-7, + c: -5.138183326733477e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.267059415761854e-7, + c: 1.839640227378237e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.702110277761842e-7, + c: 8.340465838074908e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.214885559926702e-7, + c: 2.305041721421953e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.565149783400369e-8, + c: 2.550572539189949e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.093680941637172e-10, + c: -2.559928038123368e-7, + mult: [0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.277430799719486e-7, + c: 1.121707564715174e-7, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.499140129768193e-7, + c: -1.242205765999095e-8, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.050691209894702e-7, + c: -1.265193217544590e-7, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.336806122155172e-7, + c: 4.336251210293357e-8, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168069023418913e-7, + c: -2.042505924005527e-7, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.326638695673249e-7, + c: -3.391090153859476e-8, + mult: [0, 0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.299798909659075e-8, + c: 2.316823550678110e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.226892957933927e-7, + c: 1.843705268352460e-7, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.684487044315139e-7, + c: -1.424453310587176e-7, + mult: [0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.890832719617544e-7, + c: 1.026436362484944e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.062736676066834e-7, + c: 4.597207144500725e-8, + mult: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.593883269723570e-8, + c: -1.855967619768482e-7, + mult: [0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.212805422014157e-9, + c: -2.026768061936459e-7, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.694128030614251e-7, + c: 1.097938218978477e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.925365067420897e-7, + c: -5.048063480565789e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.785549554206092e-7, + c: -8.742930191598505e-9, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.395999715453372e-7, + c: -8.554900698938271e-8, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.424169750288520e-7, + c: 7.002821403495972e-8, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.620475920847875e-8, + c: -1.563070653415712e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.603526497696597e-8, + c: -1.245301195754294e-7, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.326026430972181e-8, + c: -1.261783309460555e-7, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.591485193434109e-8, + c: 1.410351447107470e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.654039354026295e-8, + c: -1.355731797551990e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.737758424940881e-8, + c: 1.065279807409298e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.350524411723829e-7, + c: -1.033798732520982e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.053010727720211e-9, + c: 1.349355156366147e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.365916936703448e-8, + c: -1.326883632824858e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.468146818031936e-8, + c: -1.225076706357569e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.286859308041331e-7, + c: -6.123367405915165e-9, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.128721354975669e-7, + c: -5.640735740365282e-8, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.161053618977028e-7, + c: -1.854449681771125e-8, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.091964817625831e-7, + c: -3.738832742461965e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.122004074008393e-8, + c: 1.051993809711229e-7, + mult: [1, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.010522066627870e-7, + c: 4.967614602212950e-8, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.437655808770928e-8, + c: -5.733237384161430e-8, + mult: [0, 0, 10, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.265166230748794e-8, + c: 9.025038841033476e-8, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.998387228207956e-8, + c: -9.159287039857168e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.043144926097605e-7, + c: -2.792162639071577e-8, + mult: [0, 2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.189832197423005e-9, + c: -1.072348253300411e-7, + mult: [0, 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.990768493283482e-8, + c: 8.282039550740065e-8, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.020573779263368e-7, + c: 3.607883293845220e-10, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.493020392943442e-10, + c: -1.012918024405104e-7, + mult: [0, 4, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 1.488179289234472e-6, + c: -8.972948530903373e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.722863664192959e-7, + c: 9.018550948605026e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.832730573411330e-7, + c: 5.636440207534160e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.133300036501809e-7, + c: -4.031226917673518e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.721372021310510e-7, + c: -2.388025399753773e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.136548173672922e-8, + c: 4.119630832248833e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.854807817863438e-7, + c: -1.040046951806922e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.426470288585925e-7, + c: 2.041457797798669e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.832953282639158e-9, + c: -3.410408359342062e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.174703093747789e-7, + c: -1.998288125060762e-7, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.737603699115699e-7, + c: -1.113362241659521e-7, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.363819297748021e-7, + c: -1.510671903339747e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.545240263420536e-8, + c: -1.792490726194915e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.753382520840011e-7, + c: 9.165881956852316e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.225385796325631e-8, + c: 1.386191179398733e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.370812351223860e-7, + c: -8.063893783754865e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.527887860698805e-7, + c: -4.108460260649099e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266902849213138e-7, + c: 8.445154305034739e-8, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.431012064720051e-7, + c: 4.377466496451479e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.762270663632870e-9, + c: -1.390079931883416e-7, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.255449159205896e-7, + c: -3.101525940678155e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.877268834209592e-8, + c: -1.097281012150225e-7, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017806032851234e-7, + c: -6.407231015862751e-8, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.863611970821512e-8, + c: 1.038750466905616e-7, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.494461606879429e-8, + c: 6.135045966176507e-8, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.283785148337299e-8, + c: -5.184529019999843e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 6.203500014141000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.742264425111476e-5, + c: -2.617832697374777e-4, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.345241861531846e-5, + c: -7.804886631701535e-5, + mult: [0, 2, 0, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.395443448782784e-5, + c: 3.306618274807684e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.999025247825537e-5, + c: -4.297011666327412e-5, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.072644215611296e-5, + c: -2.697923793416644e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.320139209414433e-5, + c: 1.117430913775943e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.681694483678999e-5, + c: -2.549770211249528e-5, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.070598040310655e-6, + c: -2.902468613941162e-5, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.123129810287098e-5, + c: -1.803245714472436e-5, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.733461359007396e-5, + c: -3.691490197470149e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.883485736703881e-6, + c: 1.661730372858658e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.262902522289650e-5, + c: 4.892632991942881e-8, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.078704493955365e-5, + c: -6.078798841253108e-6, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117518625808045e-5, + c: 1.229822949559054e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.272323022732691e-6, + c: -9.022954102428195e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.905173843579710e-6, + c: 4.680833582487247e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.854682964487085e-6, + c: 2.941197015223346e-6, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.385645833016237e-6, + c: 3.192086923906569e-8, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.519009794123066e-6, + c: -5.360148014480102e-10, + mult: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.392731411486480e-6, + c: -5.556544990617091e-6, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.069597602399858e-6, + c: 4.811887233935557e-6, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.484150142166636e-6, + c: 3.823706647023445e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.012269259347221e-6, + c: -2.048290033579948e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.301766892830673e-6, + c: -1.858160578753045e-6, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.125256262551799e-6, + c: -1.866768810582101e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.504676461162430e-7, + c: -3.596627213550593e-6, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.871381654511748e-7, + c: -3.519357650324815e-6, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.311568302229243e-6, + c: 9.545722415423152e-9, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.115487908698175e-6, + c: -2.525626810546255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.141439180493254e-6, + c: 8.048983051850023e-9, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.472472925260876e-6, + c: 1.577239279291324e-6, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.593927626529472e-6, + c: -2.443290387727314e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.491495056516442e-7, + c: -2.480876622715778e-6, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.210200555016928e-6, + c: -8.551690050124623e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.777398591903986e-7, + c: -1.954964884053413e-6, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.964739892705606e-7, + c: -2.124840323759040e-6, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.798379768319372e-6, + c: -9.309498579964041e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.598137886389428e-6, + c: -8.919084132290866e-7, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.429672038894177e-6, + c: 1.016313902741850e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.090029388965865e-7, + c: -1.493991670038213e-6, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.657188651119139e-6, + c: -1.630806258202396e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.301518531003955e-6, + c: -8.948535173395426e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.498797077319507e-6, + c: 1.117341863163020e-9, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.260953471168174e-6, + c: -6.931415674416758e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.267949329605628e-6, + c: 5.952658317318303e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154632134980568e-6, + c: -7.123318278965562e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.709624936277660e-7, + c: 8.623829329293910e-7, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.847688930398691e-7, + c: -4.969345060365929e-7, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.904060539228224e-7, + c: -9.209887690854796e-8, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.109259895943754e-7, + c: -8.108056554714242e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.574554283219820e-7, + c: -7.489269204551130e-7, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.676793280195444e-7, + c: -5.807592827127655e-10, + mult: [0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.823830907783743e-7, + c: -7.080909269574395e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.561496217802751e-7, + c: -7.862026916182118e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.109255144470705e-8, + c: -7.852692873434178e-7, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.520449749170100e-7, + c: -2.819454854456123e-9, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.107509547420473e-7, + c: -6.440037598495520e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.067563212574775e-7, + c: 7.303977130623984e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.396999273030300e-7, + c: -2.811359967723729e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.060154116904783e-7, + c: -3.193085366131090e-7, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.428355359682534e-7, + c: 3.642637073518077e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.024428061636830e-7, + c: 4.132929581628010e-10, + mult: [1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.149079519379483e-7, + c: -2.899915114724546e-7, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.366667991638790e-7, + c: 1.843080782500827e-7, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.547627045935781e-7, + c: 4.849253199505927e-9, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.711168705247728e-7, + c: -4.435394317297948e-7, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.488660058939165e-7, + c: -4.904345816255398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.623838976362666e-7, + c: -2.147570034675114e-7, + mult: [0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.027700360358543e-7, + c: -6.106688249925010e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.160248506703687e-7, + c: 4.718199418327260e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.698748380778357e-7, + c: -7.982411892468596e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.908600272315285e-7, + c: -2.499880872287714e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.545776127269644e-8, + c: -3.916072195141889e-7, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.847426252975128e-7, + c: -4.003850267655388e-9, + mult: [0, 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.707387678719711e-8, + c: 3.679876301233625e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.795581875443364e-7, + c: 2.444932034482054e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.820751655774828e-7, + c: -2.301458587281979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.059997728511394e-7, + c: -1.732868509701447e-7, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.579027583188005e-7, + c: -3.129102187127492e-7, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.828636618884896e-7, + c: 2.959397817198409e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.432783577470349e-7, + c: -3.125517371132690e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.193989276757422e-7, + c: -1.231552754934030e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.262029535061041e-7, + c: -5.367422305341833e-8, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.709764043140446e-7, + c: -2.798957653187281e-7, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.163698585459332e-7, + c: -4.807622793034194e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.375824318461375e-7, + c: -2.884867066350888e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.945153982246559e-7, + c: 2.453966171397781e-7, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.923366537282926e-7, + c: -9.952061662751251e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.954750058503919e-7, + c: -6.070617782902084e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.337778009329077e-7, + c: 2.657972525884972e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.783853383509932e-7, + c: -4.729371800410385e-10, + mult: [0, 3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.541461633466817e-7, + c: -3.747177985732497e-8, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451685451621986e-7, + c: -2.118138061872741e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.378695310828354e-8, + c: -2.364581559761311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.575657775488874e-7, + c: -1.878361774350683e-7, + mult: [0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.523022712053803e-9, + c: -2.401635406108323e-7, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.300801400405939e-7, + c: 2.020700057579431e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.358519245486675e-7, + c: 1.045907311341396e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.004408399657361e-7, + c: 9.252256900963276e-8, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105154286337202e-7, + c: -1.813380034191498e-7, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.830508746629992e-7, + c: -1.045445421555407e-7, + mult: [0, 0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.094113324503868e-7, + c: -1.771960792653093e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.971593756852191e-7, + c: -4.021166646382336e-9, + mult: [0, 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.745943077026229e-7, + c: -8.115668218175128e-8, + mult: [0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.680744122807175e-7, + c: -9.373853995232991e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.033196829771523e-10, + c: 1.896380513439910e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.807769042556758e-7, + c: -1.127543276939419e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034429173924440e-7, + c: 1.439195946422509e-7, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.592611777209300e-7, + c: -7.612125412731237e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713739662175335e-7, + c: 3.136098128240817e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.042451334506803e-7, + c: 1.360064096083969e-7, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.658538442341518e-8, + c: -1.514243904688875e-7, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.317988486500598e-7, + c: -9.391604456366360e-8, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.301754734206155e-9, + c: -1.591491766231236e-7, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.222630617261333e-8, + c: 1.271874396364419e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -7, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.298359237944670e-7, + c: -8.831943476119146e-8, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.372126694083774e-7, + c: -7.612754538086750e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -1.547207679176737e-7, + c: -2.393936648398887e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.974066817927561e-8, + c: -1.512695338449191e-7, + mult: [0, 2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.268162290768601e-7, + c: -8.518020693318409e-8, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.496552019610186e-7, + c: -2.589510186155879e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.674287642180376e-8, + c: -1.468619751868452e-7, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023887105815828e-7, + c: -1.108404388437911e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.150522615848135e-7, + c: 8.725766202750384e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.433898705578889e-7, + c: -7.841890315514475e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417326531206251e-7, + c: -1.755823272726808e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.374388479795024e-8, + c: 1.275111826413610e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.201051736727599e-8, + c: -1.186497863865363e-7, + mult: [0, 0, 9, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.048821611764193e-7, + c: -7.102366594739069e-8, + mult: [0, 0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.731202389691837e-8, + c: -1.234065159282029e-7, + mult: [2, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.093408893656112e-7, + c: -6.318905439006648e-8, + mult: [0, 0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.090578170421883e-8, + c: -1.151383648491416e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.947850316890296e-8, + c: 6.808951328958232e-8, + mult: [0, 1, -8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.230710727968073e-8, + c: -9.237787482745079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0], + }, + Term { + s: 4.148117554223210e-8, + c: -1.039911696421681e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.037686476569722e-8, + c: -6.110965224575427e-8, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.258294884011601e-9, + c: -1.089180850123025e-7, + mult: [0, 0, 9, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.966227751253380e-8, + c: -6.078532235572073e-8, + mult: [0, 0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.973864639454147e-8, + c: 3.777763165517545e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.770540110595122e-8, + c: -9.428449674354331e-8, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.038726488935542e-7, + c: -1.716386870707018e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.953488955311372e-8, + c: 8.613539483090775e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.319195799195293e-8, + c: -8.988231748654668e-8, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.059769494852868e-8, + c: 8.371753168278601e-8, + mult: [0, 2, 4, -15, 0, 0, 0, 0, 0, 11, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 3.340612434145457e3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.392467736366959e-5, + c: -1.511101396473551e-6, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.140779257662208e-6, + c: 4.159884204788708e-6, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.356524216700906e-6, + c: 3.890260283499122e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.240182701752442e-6, + c: 2.821530783391107e-6, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.984842807332587e-6, + c: -3.792457814576750e-6, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.000690892337626e-6, + c: 1.590270536256866e-6, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014798687329114e-6, + c: 8.504856229628976e-7, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.141241634665973e-7, + c: 1.108197526016123e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.230839153955378e-7, + c: 4.824035484565672e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.311370284908726e-7, + c: 8.212882207084901e-7, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.705265977868452e-7, + c: -2.470102191824495e-8, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.507790749446204e-7, + c: -1.647751584282472e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.832142911497428e-8, + c: -8.165684443896552e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.886453826409682e-7, + c: -6.193302231716449e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.990875587868648e-7, + c: -3.956683712957663e-7, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.105568109382427e-7, + c: -8.323595763792499e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.096522785747149e-7, + c: -3.623314175726494e-7, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.418994515725038e-7, + c: -1.545847558084637e-7, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.241750613738842e-7, + c: -5.557578840611395e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.034394618467441e-7, + c: -4.653970745568120e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.534367697576200e-7, + c: 5.130958771663832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.846557497815970e-7, + c: 2.898601353851697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.665534872310218e-7, + c: -3.151720573629485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.617635740857375e-7, + c: 2.511543673805567e-7, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.488471830169642e-7, + c: 2.483323893344025e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.470831203413522e-7, + c: 1.294261858059816e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.002203312637550e-7, + c: -1.156256678364204e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.397039694897328e-8, + c: 2.234211657223354e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.416346026154094e-8, + c: 2.133851998369281e-7, + mult: [0, 2, 1, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.709213202042732e-7, + c: -1.142838697556327e-7, + mult: [0, 0, 11, -21, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.264121739084802e-8, + c: -1.953701627226445e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.573579929407326e-8, + c: -1.818608176447938e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.894094564426154e-7, + c: -5.364305824377947e-9, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.397548983853498e-8, + c: 1.393380142214412e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.205078425848747e-8, + c: 1.583057303478877e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.386178765218969e-7, + c: 4.366171477609562e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.694191346348369e-8, + c: 1.216733722758209e-7, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.234104795505193e-7, + c: 6.513396348498107e-8, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.770760428588927e-8, + c: -1.200793499912695e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.794564768726827e-8, + c: 7.661701064021213e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.490052831006954e-8, + c: 9.438613895026438e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.785385828601466e-8, + c: 5.736600502375625e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.735518552577511e-8, + c: -5.805690841435526e-8, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.872307359414797e-8, + c: 9.082767518347517e-8, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 1.432192152061476e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.588460249318501e-6, + c: 9.691488856676208e-6, + mult: [0, 0, 8, -16, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.338015515532807e-7, + c: 2.173692005747185e-6, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.027581513345932e-6, + c: -6.191798856770471e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.681466653778026e-7, + c: -6.762970630192738e-7, + mult: [0, 0, 10, -19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.095270533312157e-7, + c: 2.338376541798022e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.741642839629241e-7, + c: 4.646420153918038e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 14, -36, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.177327620033315e-7, + c: 2.382295563272267e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.149047817704294e-7, + c: -2.001886291934392e-7, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.692445963394845e-7, + c: 1.271445359992919e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.952262109147395e-7, + c: -6.703163803632738e-9, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.424349954827497e-7, + c: 1.050558538651066e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.134077288613837e-7, + c: 5.840933224558535e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.062000920029439e-7, + c: -6.162959769291335e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.155104995227347e-8, + c: 9.336391571887617e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.445648808835393e-9, + c: 1.089037892224022e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.817207782037370e-9, + c: 1.021383678732490e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.949748755014559e-8, + c: 9.734822183246471e-8, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.091417579481852e-9, + c: 9.996023388921379e-8, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 1.237462981980040e-7, + c: 1.849168951656110e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 2.142755393737710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.019907473752331e-7, + c: 1.935060624173663e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[Term { + s: 0.0, + c: 1.151849842298193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 8.536559316400000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.592342405387394e-7, + c: 8.228281656722220e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.328646517298552e-6, + c: -4.629996603431496e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.240165207309972e-5, + c: 2.273842165766883e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.920133835392524e-7, + c: 1.710311546841972e-5, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.031443176334461e-8, + c: 1.300643835597837e-5, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.251575706315990e-6, + c: 7.230175341920897e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.984269905503782e-6, + c: 8.936019366574187e-6, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.677929647573779e-8, + c: 6.367755183768505e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.568066385559759e-8, + c: 5.973657354596975e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.053266836663249e-8, + c: -5.963749598039279e-6, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.947481011958404e-8, + c: -5.907140981004286e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.322460431427035e-9, + c: 5.351444313417709e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.800342444969280e-6, + c: -3.188353530730128e-6, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.545800684027169e-6, + c: 2.957668791554827e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.944251841832631e-8, + c: 2.992636318152613e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.360714327304621e-7, + c: 2.868434078777448e-6, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.357132187310826e-6, + c: -2.485291250440742e-6, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.259154453532821e-7, + c: -2.824065960448215e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.941573606822031e-7, + c: -2.743184039068583e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.338586508870189e-6, + c: 1.432538024026860e-6, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.054317442642010e-6, + c: -1.593864904972456e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.100667401010757e-8, + c: 2.532494439048406e-6, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.791570429068447e-6, + c: 1.468774208153929e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.831420075445771e-7, + c: 2.252362412399436e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.499536825334527e-8, + c: -2.060598631607974e-6, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.661929968952862e-6, + c: -1.010201422532068e-6, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.204609128447789e-7, + c: 1.849430617234108e-6, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.579856603652265e-7, + c: 1.274875809544864e-6, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.726287824989358e-7, + c: -1.172865182022964e-6, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.109124465975797e-6, + c: 7.100007187916541e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.215942950105764e-6, + c: -3.862341659598202e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.132607946512577e-6, + c: -5.830969115309098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024294180844343e-6, + c: -3.933437369381341e-8, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.185774500782912e-8, + c: -9.468676379456465e-7, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.890647122128889e-8, + c: -8.174897711097136e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.728538953903047e-7, + c: 7.102119155921611e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.000263881613695e-7, + c: 3.256476343392914e-8, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.168101693845058e-7, + c: -2.090010025136532e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.598742192799875e-7, + c: -6.074245791220415e-7, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.490450220721313e-8, + c: 6.905793203953058e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.940185023071667e-7, + c: -3.571789417449150e-7, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.785218209619749e-7, + c: 5.741345808405097e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.755815452486207e-7, + c: 3.529712255637020e-7, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.912335296107941e-7, + c: 4.061602774272019e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.118010937505422e-7, + c: 2.591997750262540e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.939792817889265e-7, + c: -2.377419647563083e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.149009288472906e-7, + c: -1.363591372600575e-7, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.152625306569539e-7, + c: 3.261492481523086e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.484933481919302e-8, + c: 5.184243495031495e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.639087102229813e-8, + c: 5.189475005761091e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.241977936076862e-9, + c: -5.156792293548797e-7, + mult: [0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.538817642481299e-7, + c: -2.336009078771706e-7, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.664323542221121e-8, + c: 4.912360951514042e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.104241155109431e-9, + c: 4.831749255078732e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.965873097808240e-8, + c: -4.766740263725231e-7, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.563979375567025e-7, + c: 1.184324576261141e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.141818963718438e-8, + c: -4.606680995149214e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.123200046727077e-7, + c: -3.453686134284355e-7, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.294371835709386e-7, + c: -1.947203991529276e-7, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.144893954090106e-7, + c: 3.165616704412502e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.559230466774966e-7, + c: -3.345844782339068e-7, + mult: [0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.251321199951037e-7, + c: -1.124011160105865e-8, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.537217554362000e-7, + c: 2.639581101693800e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.032230169534647e-9, + c: 2.867331820608125e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.910324961868569e-7, + c: -1.999857216721062e-7, + mult: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.243608988197253e-7, + c: 1.576115992327954e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.435150234678487e-8, + c: 2.643740356284742e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.546460542526486e-7, + c: -6.137146089466415e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.384746957763283e-8, + c: -2.487310216877570e-7, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.154309770488393e-7, + c: 1.247477442403950e-7, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.191494975568256e-7, + c: -1.104054622981878e-7, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.308228669460475e-7, + c: -2.032508466543055e-7, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.047854856456373e-7, + c: -1.183566237820534e-7, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.346977533300217e-7, + c: 9.721017495315271e-9, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.665008212869846e-7, + c: -1.399931901282635e-7, + mult: [0, 2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.122414842539755e-8, + c: 2.068148373013629e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.398168600403783e-9, + c: -2.035883473415610e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.009940510238721e-7, + c: -1.272179673125638e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.587655079254752e-10, + c: 1.975754126905369e-7, + mult: [1, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451375153265788e-7, + c: 1.214673433079136e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451003750212934e-7, + c: 1.166896740010289e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.838713997559651e-7, + c: -5.381763841535322e-9, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.358762011511136e-8, + c: 1.746823282856827e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.950917445568307e-8, + c: 1.605142441881225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.160492187807359e-7, + c: -1.278811138246752e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.139513497994476e-9, + c: -1.681353069520516e-7, + mult: [0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.641601557541783e-8, + c: 1.416695402757121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.328903524711237e-7, + c: -7.467619661006886e-8, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.915884134376434e-8, + c: 1.455409943455433e-7, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.309435691528269e-7, + c: 6.683652271305222e-8, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.231831299441830e-8, + c: -1.209971527199536e-7, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.160377435910851e-8, + c: 1.206357127093328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.775250908132790e-8, + c: -1.401210588055566e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.372934242995104e-8, + c: -1.416540186196404e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.184300580208565e-9, + c: 1.423944324331385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.152006399931043e-8, + c: 1.346072656995003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.720329848309338e-8, + c: -1.314801759966884e-7, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.049316083235498e-7, + c: 8.330204428213588e-8, + mult: [0, 1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.711262950032614e-8, + c: -1.204505710956038e-7, + mult: [0, 3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.319561348679562e-8, + c: -1.084194230690312e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.169324638142283e-8, + c: -1.166055793142932e-7, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.750793693422765e-9, + c: -1.216146714104586e-7, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.039537360428699e-7, + c: 6.104048633186220e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.189655855017955e-7, + c: -2.678308767523806e-9, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.112710457952286e-7, + c: 3.190133852139174e-8, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.717686761312109e-8, + c: 1.125622902706801e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.102932739717389e-8, + c: -1.075992361058747e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.688065104642900e-8, + c: 8.976927427847831e-8, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.752271424712210e-8, + c: -3.756525565245870e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036710648545635e-7, + c: 4.206616949161650e-9, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.034483798460948e-8, + c: 4.980634266825398e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.209543088946241e-8, + c: 9.336560176182220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -9.973568598537271e-8, + c: 1.930418165461967e-8, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 3.763367938421870e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.754756076412481e-6, + c: 1.065495035971535e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.789095244321896e-7, + c: 4.357638654269466e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.023902253853725e-7, + c: 3.894020985840042e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.247134704833823e-7, + c: 3.195453117562093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.415504697917686e-7, + c: -2.769340116947778e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.032560043797620e-7, + c: -5.702231077745254e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.416554965146882e-7, + c: -1.612647466100985e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.317905180855554e-7, + c: 1.557630476729170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.549296293905885e-7, + c: -2.976589121728413e-9, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.970790685692622e-9, + c: -2.472613202584897e-7, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.249985177296662e-7, + c: 4.975695531573898e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.916196057087293e-7, + c: -4.983901239767441e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.853715171129644e-7, + c: -5.978964123821837e-8, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.391658493604856e-9, + c: 1.937826435037051e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.778326411751893e-7, + c: 5.525819886057054e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.611104320747809e-8, + c: -1.587750855230621e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.348574307709022e-7, + c: -7.704676810993828e-8, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.037046786320258e-7, + c: -7.030932868542267e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.416375142805943e-8, + c: -1.197222564825176e-7, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.829372902275399e-8, + c: 6.266816814433717e-8, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.955048750872910e-8, + c: -9.928457776941001e-8, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.030489291645963e-8, + c: 9.606987923943901e-8, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.882753573098872e-8, + c: -6.192689852302204e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -2.464616210115644e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -3.664324658584607e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[Term { + s: 0.0, + c: 1.095038205659516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -3.789970916200000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.158300803476505e-5, + c: -1.631333225777431e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.514621671640089e-5, + c: -1.338560051808422e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.277189069592638e-5, + c: 1.238717483530517e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.767741054655739e-5, + c: 1.509504795025434e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.375932742517312e-5, + c: -2.521126070964129e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.051445800877345e-6, + c: -9.317231212056156e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.964324176723945e-6, + c: 4.968805485088363e-6, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.313737910784611e-6, + c: -9.209863792539958e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.994221629652556e-6, + c: 1.830616616144348e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.961746918701734e-6, + c: 7.147003133525596e-8, + mult: [0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.839346374610998e-6, + c: 5.237613687075798e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.350553716176112e-6, + c: -2.466080957189595e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.983990153839419e-6, + c: 2.461501393299174e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.198195177569685e-6, + c: -1.736494747791275e-6, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.946376412179520e-6, + c: 1.546907802959484e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.010692055481863e-6, + c: -7.448978735048264e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.955570869652298e-6, + c: -4.406235864415438e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.503300084502988e-6, + c: -1.391646673603063e-6, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.753538664383369e-6, + c: -3.830410145140804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.450559466360241e-6, + c: 2.319793028213917e-6, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.515588991849488e-6, + c: -5.908901130942744e-9, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.508175764310131e-6, + c: -1.846047121519578e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.253535044860000e-6, + c: -1.842475389760972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.019762394282054e-6, + c: 5.276126071560760e-8, + mult: [0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.034115885550497e-6, + c: -1.627935398382022e-6, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.808352355134046e-6, + c: 4.067140787379124e-8, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.499731501059512e-6, + c: -5.855419257882184e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.280101302062425e-6, + c: 7.774980588204577e-7, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.175861265963645e-6, + c: -6.199707996207850e-7, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.096610761384078e-7, + c: -1.212465557789573e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.722964019658363e-7, + c: 1.161595910082836e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.066976678784353e-8, + c: -1.013446765493269e-6, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.166583160109177e-7, + c: 1.561482512874665e-7, + mult: [0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.007953409762222e-7, + c: 4.591760641512876e-8, + mult: [0, 0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.101480018735022e-7, + c: 3.650168967525384e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.267570212919888e-8, + c: 7.958028204110436e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.130683325527887e-7, + c: -7.088031703984309e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.390967347142208e-7, + c: -3.067467007792932e-8, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.336352018759252e-7, + c: -3.557107226061567e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.757777308782128e-7, + c: 3.924135471603749e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.085499257944805e-7, + c: -3.132068364609712e-7, + mult: [0, 0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.704783986915166e-7, + c: -5.728426931431639e-7, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.542888455764680e-7, + c: 5.766079687839078e-7, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.169542893699290e-7, + c: -5.014631496791389e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.452518257062549e-7, + c: -5.121773665355784e-7, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.452403950597990e-7, + c: 3.228517608366123e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.386495492851063e-7, + c: 4.952437146159095e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.377566352453621e-7, + c: -5.134523011215498e-7, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.118627964891172e-7, + c: -5.805679784950804e-8, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.087609839410636e-7, + c: 5.495584796585265e-9, + mult: [0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.977139121377172e-7, + c: 2.503513196829969e-8, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.864164955781286e-7, + c: -6.154678947378620e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.781686720269706e-7, + c: -2.026853829288971e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.190921580070763e-7, + c: -4.556694367158876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.556159329028948e-7, + c: -7.419219033116710e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.296924853091950e-7, + c: 9.044910277369979e-8, + mult: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.336300026945744e-7, + c: 3.730025059751496e-8, + mult: [0, 0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.456047686483671e-7, + c: -1.717416211489357e-7, + mult: [0, 0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.083500877507107e-7, + c: -2.192728360391746e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.052078534042070e-7, + c: -3.117137182696778e-7, + mult: [0, 0, 6, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.338971862030254e-7, + c: -1.526141728553305e-7, + mult: [0, 2, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.110771918675917e-8, + c: -3.196589659153168e-7, + mult: [0, 0, 6, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.638565138412241e-7, + c: 1.471098707958386e-7, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.819404785762546e-7, + c: -5.223501188084539e-9, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.741752733605468e-7, + c: -4.249008700701743e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.121878360396976e-8, + c: -2.591398253377087e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.242510983088556e-7, + c: 2.177348319022951e-7, + mult: [0, 0, 1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.064920205700237e-7, + c: 2.194588697954258e-7, + mult: [0, 0, 5, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107032374042309e-8, + c: 2.344930431248299e-7, + mult: [0, 0, 3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.271191860348956e-7, + c: -1.894237483381581e-7, + mult: [0, 0, 7, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.030778826271745e-7, + c: -9.661963607427635e-8, + mult: [0, 0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.403143509139658e-7, + c: -1.653498635019499e-7, + mult: [0, 2, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.125468566008422e-7, + c: 2.924913525474086e-8, + mult: [0, 0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.049268534107000e-7, + c: -1.353738372584960e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.007994825061536e-7, + c: 1.127427472265740e-8, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.948003312245284e-9, + c: 2.000454452899865e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.966456382795779e-7, + c: 6.148379380329894e-11, + mult: [1, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.931661264244007e-7, + c: -8.504297178572047e-10, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.226891885675636e-7, + c: -1.478647207073585e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.911521341740554e-7, + c: -1.198659560161086e-8, + mult: [0, 0, 0, 5, 0, 0, 0, 0, 0, -6, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.852617785207344e-7, + c: -1.472419934837890e-8, + mult: [0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.297913719083695e-8, + c: -1.794431240830091e-7, + mult: [0, 0, 7, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.608613961339611e-7, + c: 6.975012790456873e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.282232757782144e-7, + c: -1.153333854047708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.655004794325953e-7, + c: -1.383195842094991e-8, + mult: [0, 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.120791492841899e-7, + c: 1.200525249116506e-7, + mult: [0, 0, 0, 4, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.617835699229023e-7, + c: 3.598525309504028e-9, + mult: [0, 3, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.418434097830523e-7, + c: 5.629970954789840e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.426603311806667e-7, + c: -3.609388313988188e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.206807607010923e-7, + c: -8.170343534074609e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.203346974713268e-8, + c: -1.196744170863091e-7, + mult: [0, 0, 8, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.187234738004423e-8, + c: -1.309353483842797e-7, + mult: [0, 0, 7, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.383055770460643e-7, + c: 2.311749434651438e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.367270117937833e-7, + c: 1.180229307740854e-8, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.368287668262660e-7, + c: -3.236209691087537e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.876147277336447e-8, + c: 1.258419535805860e-7, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.336343767589567e-8, + c: 1.052292909180544e-7, + mult: [0, 1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.289754300708215e-7, + c: 3.252952196979290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.206655671732430e-7, + c: -5.432792101218305e-8, + mult: [0, 0, 8, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.197017134506060e-7, + c: -5.403587786108744e-8, + mult: [0, 3, 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.597316118438538e-8, + c: -1.276017450762781e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.070472674285406e-7, + c: 7.371521311932082e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.295889500143785e-7, + c: -9.929598044129758e-9, + mult: [0, 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.165149565465537e-7, + c: 5.238615141584980e-8, + mult: [0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.164505380648086e-7, + c: -4.825220706013884e-8, + mult: [0, 0, 9, -17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.047227949174416e-8, + c: 1.055754663562050e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.187496521338327e-7, + c: -2.013232054839071e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.080372511908043e-9, + c: -1.151125700977762e-7, + mult: [0, 0, 8, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.147442484917453e-7, + c: 4.149682853610185e-9, + mult: [0, 0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.137683083591098e-7, + c: -1.110983141134813e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.027373423951300e-7, + c: 2.224769033313184e-8, + mult: [0, 0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.972803349724909e-8, + c: 5.294706914902998e-8, + mult: [0, 0, 0, 6, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.203305875467576e-9, + c: 1.039621649378118e-7, + mult: [0, 0, 2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.817181457845431e-8, + c: -9.066593699647008e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.335763866938549e-8, + c: 4.205528706968090e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 6.246745883366477e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.064675812517608e-6, + c: -1.758731729267913e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.328945977234749e-7, + c: -6.841322086436945e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.835622894986830e-7, + c: -2.082244852961404e-7, + mult: [0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.302883020651374e-7, + c: 7.094780342192205e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.663269647753218e-7, + c: 1.497549398830721e-7, + mult: [0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.460425660539310e-7, + c: 2.443635018053936e-7, + mult: [0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562272956894162e-7, + c: -2.282090535198984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.094047092827995e-8, + c: -2.508030803225789e-7, + mult: [0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.433415257193280e-7, + c: -8.363902316262536e-11, + mult: [0, 0, 5, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.970614449011529e-8, + c: -2.251565835985639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.818359020097042e-7, + c: -9.892832961127087e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.895392958579669e-8, + c: 1.869503755454492e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.226552675839552e-8, + c: -1.887547245301996e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.922608932116238e-7, + c: 2.227779246194250e-9, + mult: [0, 0, 4, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.331802736810711e-8, + c: -1.768156229027925e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.593695760493289e-7, + c: -8.931136302215295e-8, + mult: [0, 0, 6, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.008487630813605e-8, + c: -1.303378678114819e-7, + mult: [0, 0, 7, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.090232490020795e-8, + c: -1.306714669845110e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.191588263099092e-7, + c: 2.466019241166211e-8, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.776525411355866e-8, + c: -9.884941733533574e-8, + mult: [0, 0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035210027104415e-7, + c: 4.611944754295985e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.643752352252041e-8, + c: -5.056722223964413e-8, + mult: [0, 0, 2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.269542381352601e-8, + c: 5.419961925391512e-8, + mult: [0, 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.930643485127754e-8, + c: 9.012673122058061e-8, + mult: [0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 1.551692161239763e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -6.329624344097053e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.047042802100000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.246813302741171e-8, + c: 8.594274361620359e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.449904008972912e-7, + c: 1.141430534438391e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.187131186708977e-8, + c: -2.290524892536585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.362485878429100e-9, + c: -1.669717707604479e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168059986617546e-7, + c: 1.113521168384815e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.222102125883406e-8, + c: 1.597035281304948e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.908977152201443e-8, + c: 1.389389760260478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.540223327591090e-8, + c: -1.381383862849080e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439527858846180e-8, + c: 1.344517033919892e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.220428563817825e-7, + c: -7.309141705765692e-9, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: 1.713209209255757e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -4.078518124360005e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -1.388846384860339e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.228448645700000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.451824768408958e-7, + c: -7.454192373232668e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.464107166424126e-7, + c: 2.827376448972970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.554409450904592e-7, + c: -1.226005368259921e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751045903820074e-7, + c: -1.417126555924434e-7, + mult: [0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.967960582328518e-7, + c: 1.195557622423850e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769544850502951e-7, + c: -1.141653725065998e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562538020027395e-7, + c: -2.318620751715540e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.405198157463418e-7, + c: 5.109980158816472e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.490463633193448e-8, + c: -1.265632740321128e-7, + mult: [0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.998760496375380e-8, + c: -1.063311078840623e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: -1.080243440121441e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -1.920867334542991e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 8.713671657696112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mercury.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mercury.rs new file mode 100644 index 0000000..6bf0080 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mercury.rs @@ -0,0 +1,976 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Mercury +//! +//! Generated from VSOP2013p1.dat +//! Threshold: 1e-7 +//! Terms retained: 168 of 272360 (0.1%) +//! Generated: 2026-01-08 +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 3.870983098840000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.134020401409140e-7, + c: -1.652072785401277e-7, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.476982714245287e-10, + c: 3.768193065472954e-7, + mult: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.439283395053392e-7, + c: 2.709202267017637e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.278192642022871e-7, + c: -6.168637730088775e-8, + mult: [2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104401374874086e-9, + c: 2.072815303578338e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036459879306992e-7, + c: 1.670575683665867e-7, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.764829444563843e-9, + c: 1.464985495094521e-7, + mult: [3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.385486279878519e-7, + c: -2.951810954618543e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.038203966916311e-8, + c: -1.157343222240682e-7, + mult: [2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.725449738737392e-10, + c: 1.300842746358887e-7, + mult: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.218149028334506e-10, + c: 1.297457657899779e-7, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.245087469114301e-7, + c: -2.929091683388728e-8, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.180045715565988e-7, + c: -2.893028859352988e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.125025170215923e-7, + c: -3.002653358521730e-8, + mult: [3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.402608631669000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.642015105471128e-5, + c: -2.382707472808938e-5, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.940312272049771e-6, + c: 1.686988542736688e-5, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.976923766499061e-6, + c: -1.717623549014977e-6, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.319192931853331e-6, + c: -1.469717601394532e-6, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.587189466969106e-6, + c: -8.521033266675313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.387770724699230e-6, + c: -4.768627425059595e-9, + mult: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.968951859130630e-6, + c: 1.043600722608465e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.429548947201725e-7, + c: 2.040952422611257e-6, + mult: [2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.017629878778230e-6, + c: 4.496484984153924e-9, + mult: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.659680159034898e-6, + c: -9.981324350987292e-7, + mult: [2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.704547286163219e-7, + c: 1.556659037978469e-6, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.498414658861104e-7, + c: 1.193615509659924e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.627270805102693e-7, + c: -5.569437283593237e-9, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.324209549913824e-7, + c: -9.194148140273453e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.478803097058891e-7, + c: -9.026433342187544e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.602745938258842e-7, + c: -7.503213643700418e-9, + mult: [3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.905731061326225e-7, + c: 7.248381907723678e-7, + mult: [3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.031191127424801e-7, + c: 1.283599248709097e-9, + mult: [2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.299827321528564e-7, + c: -2.826208430061369e-7, + mult: [5, -14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.699953867088565e-7, + c: -3.919641349573965e-7, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.368462056270862e-7, + c: -2.587298068097940e-7, + mult: [3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062962719680052e-7, + c: 4.241623597194136e-7, + mult: [3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.822290680248388e-7, + c: 3.706304745718834e-7, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.077226033334610e-7, + c: 3.792613359186601e-9, + mult: [1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.727031037547310e-8, + c: -3.554265752505235e-7, + mult: [4, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.581065848250864e-7, + c: -2.398652984093271e-7, + mult: [3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.051252090116190e-7, + c: -3.270583045123857e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.811539748080897e-8, + c: 3.031714528012968e-7, + mult: [4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.141425743666026e-8, + c: 2.913258960604079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.557601336558304e-8, + c: 2.695755521995716e-7, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.472580534164975e-7, + c: 1.261841911186046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.674374649032813e-7, + c: 3.980527507018550e-8, + mult: [3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.544655920391357e-7, + c: -5.399856884026918e-9, + mult: [4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.288698798033655e-7, + c: 8.808104575320582e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.155478133035771e-7, + c: 9.743010761802610e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.992645964239453e-7, + c: 1.180768127905867e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.909093408929731e-7, + c: -1.116117707354256e-7, + mult: [4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.358945979802760e-8, + c: 1.933459920472250e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.703555551378336e-7, + c: 2.204206871781401e-8, + mult: [1, -5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.683748049178144e-7, + c: -1.615491866769953e-9, + mult: [3, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.392792585402343e-8, + c: 1.615658716633884e-7, + mult: [3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.460777389385194e-7, + c: 2.588052582456579e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.279658589502179e-8, + c: 1.313304195355720e-7, + mult: [5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.487860503403079e-8, + c: -8.982282629540882e-8, + mult: [4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.464285925418597e-8, + c: 1.182285552990769e-7, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015183198572546e-7, + c: 6.463618299934785e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107039400705542e-7, + c: -4.363225999261348e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450007387568318e-8, + c: 1.117719074649771e-7, + mult: [4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.291146276240559e-8, + c: -5.355172182111160e-8, + mult: [5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.748683918897496e-8, + c: -9.712622995775460e-8, + mult: [2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 2.608790314068555e4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.276615245307316e-6, + c: -2.684794569786837e-6, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.787238351955830e-7, + c: 1.391831900282937e-7, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.244057254067437e-8, + c: -2.081129899048292e-7, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.027193474153656e-7, + c: 1.514103283033456e-7, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.139619458873577e-7, + c: 1.225502781104929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.819527871972024e-8, + c: 1.459633362298612e-7, + mult: [5, -14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.737368980704792e-8, + c: 8.267856869301855e-8, + mult: [1, 0, -10, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.981907102587578e-8, + c: 1.045116706588183e-7, + mult: [2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.063691790896674e-8, + c: -1.090529542234269e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -8.653050353289743e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282517685152912e-7, + c: 1.114909193566599e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 1.664455639601079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.466062941700000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.052282000033976e-6, + c: 1.495412395749504e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.022179459878643e-8, + c: 4.451557078105153e-6, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.715811436720008e-6, + c: -2.904746012591218e-6, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.387723636166736e-6, + c: 6.416221107109675e-7, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.744081461830082e-7, + c: -1.458005185522546e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.404570112774964e-7, + c: 1.887107456001087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.558991926150722e-8, + c: 8.353730530913535e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.955595113465040e-7, + c: -2.000062278861810e-7, + mult: [2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.697634237558669e-9, + c: 7.706262492681513e-7, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.443088866569930e-7, + c: 1.147828734676349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.819663726390830e-8, + c: -7.157885419980253e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.128208134356762e-8, + c: 6.697805521737383e-7, + mult: [2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.677647102396208e-8, + c: -6.398927671710690e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.776584168352704e-7, + c: -4.721633319567527e-7, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.806860044682372e-7, + c: 1.179211921876336e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.742411743489416e-7, + c: -1.231153035862233e-7, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.670479173702244e-8, + c: -3.172950443207473e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.019791144350143e-7, + c: 7.462369007844849e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.270922817459036e-7, + c: 2.078637834332164e-7, + mult: [1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.304389972404358e-7, + c: -5.149649290369841e-8, + mult: [3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.328707779134802e-8, + c: -1.645396108364872e-7, + mult: [3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.861332878244446e-7, + c: -1.090793171853814e-8, + mult: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.270066804343659e-7, + c: 1.331270909346370e-7, + mult: [3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.346751466763266e-8, + c: 1.823678400353141e-7, + mult: [3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.816274427705971e-7, + c: -2.611506337697146e-9, + mult: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.394542975839849e-7, + c: -6.138217807151259e-9, + mult: [3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.389168961135600e-7, + c: -7.586485720176047e-9, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.203349508914549e-8, + c: -9.997314558230232e-8, + mult: [2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.151632583622961e-9, + c: 1.332494824403733e-7, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.307004936270296e-8, + c: 1.291362858066305e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.087229474764564e-7, + c: -5.459168295723522e-8, + mult: [3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.320949684102861e-8, + c: -1.030639460088990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -5.521455127763387e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.810258815190993e-7, + c: -1.170922224711110e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.023421282762885e-8, + c: -1.972783636192053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -1.860176830365075e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 7.899613605259872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 2.007233087310000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.462474987448847e-6, + c: -7.076701462520828e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.634064819751798e-6, + c: 1.221141852529845e-8, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.004333949585185e-6, + c: -1.850005796839090e-6, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.655668150567788e-7, + c: -2.439671476532713e-6, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.402500001972069e-6, + c: 3.388042180169104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.921173877838340e-7, + c: 6.080288884243189e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.406933594061894e-7, + c: 8.443663523837661e-7, + mult: [2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.853447744456287e-7, + c: -8.414408861739984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.136362026244324e-7, + c: 7.884585065124915e-9, + mult: [1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.759432987696769e-7, + c: 2.150355737376340e-8, + mult: [2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.111177280694079e-7, + c: -7.459244260868172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.658945964254264e-7, + c: 2.643170287784853e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.421950485580706e-7, + c: 1.754369559751344e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.790893617723518e-7, + c: -3.848187277835185e-7, + mult: [1, 0, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105066482055028e-7, + c: -4.804183149816713e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.284486033952524e-7, + c: 3.817346301197201e-7, + mult: [1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.071724678046328e-8, + c: -3.022496421126613e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.021257439818235e-7, + c: 1.172213373720588e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.778131329628168e-8, + c: 2.588059729116657e-7, + mult: [3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.571018945289517e-7, + c: 1.668459789267024e-8, + mult: [3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.114207542534553e-7, + c: 1.294835695271752e-7, + mult: [1, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.742810768791489e-7, + c: -1.086290651353349e-7, + mult: [3, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.449662369372195e-7, + c: -1.307286992364395e-7, + mult: [3, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.516368647749121e-7, + c: 5.003344887246529e-9, + mult: [2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045738257757087e-7, + c: 9.396793465394969e-8, + mult: [2, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.384240668307284e-7, + c: 1.592989975439023e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.355057601509411e-7, + c: -2.416071751396994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.484666605858527e-8, + c: -1.150352069912097e-7, + mult: [3, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.473915137440115e-8, + c: 1.085461457316840e-7, + mult: [4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032755952791709e-7, + c: -1.287634774363018e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.437550757037212e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.341447802238685e-7, + c: 1.912649138044491e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.985198856040492e-7, + c: -4.198366734892758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -7.974840632101417e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -3.031357937028700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.061564059600001e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.664040056450221e-7, + c: 2.941930918381553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.118223958894232e-7, + c: -2.398756962916450e-8, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: 6.543150544460608e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -1.071265646582313e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 2.244469068144186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.563549330800001e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.724565583598006e-7, + c: -2.876333930779383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.679501643354155e-8, + c: -1.994236967978576e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.474423355783678e-7, + c: -6.422455450227499e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.647135381679356e-9, + c: 1.352461787838698e-7, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.274777509033215e-7, + c: -2.102395103528274e-8, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: -1.276365552465256e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -9.135017283432294e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 1.893983254292155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mod.rs new file mode 100644 index 0000000..d20f898 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/mod.rs @@ -0,0 +1,34 @@ +//! VSOP2013 planetary coefficients +//! +//! Truncated coefficient tables for analytical planetary ephemeris. +//! These coefficients are used to compute heliocentric positions of planets. + +pub mod emb; +pub mod jupiter; +pub mod mars; +pub mod mercury; +pub mod neptune; +pub mod pluto; +pub mod saturn; +pub mod uranus; +pub mod venus; + +/// A single Fourier term in the VSOP2013 series +#[derive(Debug, Clone, Copy)] +pub struct Term { + /// Sine coefficient + pub s: f64, + /// Cosine coefficient + pub c: f64, + /// Argument multipliers for 17 fundamental arguments + pub mult: [i16; 17], +} + +/// Terms grouped by power of T (time) +#[derive(Debug, Clone, Copy)] +pub struct TimeBlock { + /// Power of T (0, 1, 2, ...) + pub power: u8, + /// Terms for this power, sorted by amplitude descending + pub terms: &'static [Term], +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/neptune.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/neptune.rs new file mode 100644 index 0000000..8683029 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/neptune.rs @@ -0,0 +1,9063 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Neptune +//! +//! Generated from VSOP2013p8.dat +//! Threshold: 1e-7 +//! Terms retained: 1780 of 322572 (0.6%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 3.011041598701700e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.166884538167269e-5, + c: 1.481828355075092e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.596256660809162e-6, + c: 3.597897749269386e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.405521320990218e-4, + c: 8.300030787861581e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.716178449700167e-3, + c: 6.727663637118296e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.786198686035557e-7, + c: 4.616440618705026e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.851463869820049e-3, + c: -1.430756410825257e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.065288382049196e-3, + c: 9.790535366780812e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.292772502579743e-6, + c: -1.055223614629592e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.523441905530890e-10, + c: 1.011738760328321e-3, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.170881093836575e-7, + c: 9.552945071246487e-4, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.411376985310350e-5, + c: 7.816339125313854e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.032881981702171e-5, + c: -7.234645649785965e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.064937428706450e-4, + c: 6.866645618922459e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 9.989264916046985e-7, + c: -5.688399870484251e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 3.190948002603004e-5, + c: -5.058068306522776e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -4.029243991603840e-4, + c: 2.396409686005164e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.466618996030593e-5, + c: 4.205296714901091e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.726525049754594e-5, + c: -4.188661836208271e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.792659377258140e-4, + c: 3.284377328527411e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.603887502056839e-5, + c: 3.158690279584982e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.151337612165369e-7, + c: -3.137657379204492e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: 1.330957377938935e-5, + c: -2.602731068520376e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.897962037757975e-5, + c: -2.537886860729642e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -3.992697183658804e-5, + c: 2.481598480080688e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.094803499540447e-8, + c: 2.465387953457577e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.492865585068791e-5, + c: -2.161026059806596e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 1.995329982725276e-5, + c: -1.976433842552962e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -1.068967753203705e-5, + c: 1.892094157370675e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.388269349560771e-7, + c: -1.790981422859432e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: -1.002294221387272e-5, + c: -1.762164027240680e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.132432641973006e-7, + c: 1.752967541553992e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.389385340889513e-4, + c: 2.881151803634832e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.106292734518844e-5, + c: 1.317605569279775e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233529168687061e-5, + c: -1.108028930064569e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: -1.401900509795410e-5, + c: -1.094833030885373e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.720282850914073e-8, + c: -1.037963852669069e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -4.305895030737538e-8, + c: 8.707159668861332e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.601810852262140e-7, + c: 8.622015779825483e-5, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.932257115515835e-7, + c: -7.784190279979701e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 7.294883109165077e-5, + c: -2.248972900718196e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.342477549809034e-6, + c: 6.892891892884385e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.919299660440298e-6, + c: -6.622396151740853e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: 1.067547430603470e-5, + c: -6.279512330569929e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -5.740491289309911e-8, + c: -6.073269958245140e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: -1.226156595200332e-5, + c: 5.636806158616493e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -5.398130548528931e-5, + c: -1.599963136835370e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.167742079783524e-5, + c: 4.794606645677010e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.846763431360959e-5, + c: -4.152840180902812e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.735805424685108e-6, + c: 4.335821481240543e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 5.154706040271338e-6, + c: -4.097987097034289e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 6.732848462662267e-6, + c: 4.001971195743108e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.599483830096481e-5, + c: 3.717758855669601e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.676980674022071e-6, + c: -3.807548898050296e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.065153626578601e-6, + c: 3.603626509900673e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -9.989575039922266e-8, + c: -3.577832572956802e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: 5.023503023394037e-6, + c: 3.503462242341919e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 6.562338375823914e-6, + c: 3.328835639630458e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.020121581542335e-5, + c: -3.224801015995710e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -4.084661082380333e-6, + c: 3.323543549131945e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.522079859346406e-6, + c: -2.979600819842231e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.479798783240759e-5, + c: 1.601947951171030e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.650500045721384e-6, + c: 2.837506691039483e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 5.159188361179121e-6, + c: -2.726589206078369e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 1.187611593182682e-6, + c: -2.701927930880195e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.939521360994010e-6, + c: -2.650690536359685e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 2.555050112104375e-5, + c: 5.836903942455771e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.370636687127864e-6, + c: -2.575067048746859e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: -2.206130504578056e-5, + c: -1.186638141204851e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -5.036898127033801e-6, + c: 2.131619017525105e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.508295709656307e-7, + c: -2.141878176857941e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.455614268175511e-5, + c: 1.565391036809917e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.079169217208381e-7, + c: -2.117807008002996e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: 1.710373245653296e-5, + c: 3.839038560706697e-6, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.304716444725016e-8, + c: 1.747281325630412e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.642491403079653e-5, + c: -3.773078838065954e-6, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.198347248894867e-6, + c: -1.631126001609549e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: -1.615982184072791e-5, + c: -1.683943546865718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.240405373705195e-6, + c: -1.566330275803577e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 1.016975489779803e-5, + c: -1.006852639220392e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -3.029098000326703e-7, + c: -1.385146248769885e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.295849264124622e-5, + c: -7.433675120192075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.913823694127653e-8, + c: -1.257709449402042e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: 2.886734977617229e-6, + c: 1.130388065013974e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.068005501454732e-7, + c: 1.128928199571285e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.102776812942857e-8, + c: -1.049554826768760e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.429743274535545e-6, + c: -1.037782608549756e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -9.788803196659153e-6, + c: 2.492846867038559e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -9.199530407740206e-6, + c: 4.005028923354940e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.165890585594518e-6, + c: -9.761060363370596e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 9.801029866807544e-6, + c: -2.039033043497732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -8.201489171827710e-6, + c: 4.716106296233312e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.897601464821548e-7, + c: 9.415748391789554e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -6.806146803523476e-6, + c: 6.103240851863258e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.840673374882643e-7, + c: 9.137306927920959e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 9.104625888527063e-6, + c: -6.092228066194034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -9.004901854938804e-6, + c: 1.249144290187679e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 8.525990224608600e-7, + c: 8.764744229285396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.989707072116841e-8, + c: 8.683929460037993e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -6.415877134585878e-6, + c: 5.744685503557796e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.293209094670062e-6, + c: -2.116734673285344e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.211909665478502e-6, + c: 8.455810283584408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0], + }, + Term { + s: -1.684867545765015e-7, + c: 8.329341087115435e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 2.013061827846437e-6, + c: 8.010709524886096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.280899169464603e-6, + c: 7.376942871533980e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.882827240946449e-6, + c: -7.722636815455776e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -6.684479440393168e-6, + c: -3.953078081282095e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -7.653032409405020e-6, + c: 7.325395131231522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.996472049841945e-6, + c: 7.315404963395122e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.369318739265607e-8, + c: -7.485634320952124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0], + }, + Term { + s: -3.204711082603572e-8, + c: 7.469369306561438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -3.438463652911044e-6, + c: 6.564106437462352e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.765277803716551e-7, + c: 7.384897655891190e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.130761945232549e-9, + c: 7.282568781149555e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.828342653575399e-7, + c: -7.153274343221848e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -3.053861232153055e-9, + c: 6.881680341712061e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.266715176594096e-7, + c: -6.617941260494779e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: -1.323166186819687e-7, + c: 6.649777305380322e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: 1.489656682164625e-6, + c: -6.422516131370070e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -6.568027442682783e-6, + c: -9.420212967668942e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.966655002521267e-6, + c: 2.681056926835230e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.483995020270921e-6, + c: -6.331414900654351e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: -3.885000857307265e-6, + c: 5.186169232685059e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.833215167712925e-6, + c: -4.280387246759691e-6, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.934016839764690e-6, + c: 5.604712019447174e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.282918911063601e-6, + c: 4.115243557860613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.659327395009967e-8, + c: -6.034398536384235e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 4.241600415225521e-7, + c: -5.632415358314657e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -1.009387486940234e-6, + c: 5.542040450309680e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -3.009901094170236e-7, + c: 5.348845181705508e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.393553978623899e-6, + c: 4.901288810876803e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -2.879346911962306e-7, + c: 5.050591675658790e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.474118275171070e-8, + c: -5.049929798963756e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 4.406798874163755e-6, + c: -2.464740403771773e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -9.536148116303410e-8, + c: 5.006778716142367e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: -1.044210752832289e-9, + c: 4.976835282911606e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.509165009235668e-6, + c: -2.085583060494852e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.757842919986821e-7, + c: -4.927075449791762e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 7.939688701365183e-7, + c: -4.721425067787325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.532600012981357e-9, + c: 4.699739634861425e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.569859069168907e-7, + c: -4.651927945498678e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.457530962900877e-6, + c: 4.290154346325556e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.701247887762367e-8, + c: -4.461332664067121e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0], + }, + Term { + s: -3.679345082532032e-6, + c: 2.437300075032584e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -4.314804380694946e-6, + c: 3.686223698981577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.025368545934183e-6, + c: -4.181009128344157e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: 5.983690863418523e-7, + c: -4.224522277901338e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: 3.460588698268311e-6, + c: -2.287469504357427e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.501139431490954e-8, + c: 4.125382100878379e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 2.356527760358517e-6, + c: 3.380925932908569e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.707596531190016e-6, + c: -3.629679497777200e-6, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.289494307637920e-6, + c: -3.544795283046773e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.557700713914355e-7, + c: -3.578333076240185e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.804945960063653e-6, + c: -3.170409644230133e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.515098465064093e-8, + c: 3.633413050746875e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: -3.460645478248007e-7, + c: 3.550406592923424e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 9.099515503907799e-7, + c: -3.355757987910581e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: -5.830907745831995e-7, + c: -3.423017795419964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -5.258265502366169e-7, + c: 3.395292997802666e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 5.289594298517137e-7, + c: -3.388017937619063e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 2.545721913913507e-6, + c: -2.233622212083904e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -3.133125992357674e-6, + c: 1.189797211059087e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.018497452818838e-6, + c: 3.157727006175754e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.031941844501549e-6, + c: -3.151660923155147e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.984273528232258e-6, + c: 2.554211679119027e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.824121775112361e-6, + c: -2.648970591735847e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.507307941124892e-9, + c: -3.160744717752762e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -9.836154432478882e-7, + c: -2.996235690185621e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.945951576385932e-7, + c: -3.076934492417978e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.009816238363678e-6, + c: -5.150367045430510e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.088346743273259e-7, + c: -2.786447454010454e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: 2.433623030250171e-6, + c: 1.500740718288915e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.184066483716684e-8, + c: 2.774921241835574e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.848888383021613e-7, + c: -2.697240925859359e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 1.195961507704903e-6, + c: 2.412806752981569e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.339975399035252e-7, + c: -2.603582413519119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 4.804683030297490e-8, + c: 2.668583167160052e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -5.173103196299027e-8, + c: -2.660680308913257e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0], + }, + Term { + s: 7.748440196112280e-9, + c: -2.655467522037586e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 4.472424474271261e-7, + c: -2.602855225428806e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -3.995237554412882e-7, + c: 2.569520426267160e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -4.266393395565543e-8, + c: 2.570549070637929e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: 3.582512853833014e-7, + c: 2.541554207543152e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -2.166684384065341e-6, + c: -1.297452152495288e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 3.802632330102937e-7, + c: -2.443858590943119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.268363810728724e-8, + c: -2.443158495975849e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -3.290108458516606e-7, + c: 2.406810344846579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.905764939128572e-6, + c: 1.504594211950611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -6.454154850347517e-7, + c: 2.292109757698399e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.337891450505352e-6, + c: 4.186297037649289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0], + }, + Term { + s: 1.119819512744394e-6, + c: 2.070135856410852e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.570486772565258e-8, + c: -2.300864120532376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.890835329609647e-6, + c: 1.251276974318303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.152886312122490e-7, + c: 2.237336746237545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 4.361295432811585e-7, + c: -2.173362463104338e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 4.729744734062266e-7, + c: -2.051440516166242e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, -1, 3, 0, 0, 0, 0], + }, + Term { + s: -2.150597396708672e-7, + c: 2.063539477501360e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.431574031340589e-7, + c: -2.064115832425849e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 4.252529681360923e-7, + c: 2.010594968770817e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0], + }, + Term { + s: 1.960277071778858e-6, + c: -5.407127839921520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 5.742632003801918e-7, + c: -1.943818974133159e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: -3.107664366858934e-7, + c: 1.957676820030117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 8.494331263242107e-7, + c: 1.788211933627054e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 9.863999774353157e-9, + c: -1.945123158181392e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.890781685305962e-7, + c: -1.865289469453742e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: -3.178191324977244e-7, + c: -1.863215795448801e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 7.853078844274631e-8, + c: 1.840351274509381e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.069733084360732e-7, + c: 1.827070422720830e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.085820852418824e-7, + c: -1.814090362966380e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -9.609682684734038e-7, + c: -1.543816020659737e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -3.019610013681017e-7, + c: -1.765397155311694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -2.683767035291219e-8, + c: 1.784999424715876e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0], + }, + Term { + s: -1.680669002683672e-6, + c: 5.188440400129723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -9.743899883932625e-8, + c: -1.738082900033272e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 2.466082628062488e-7, + c: -1.721553417296365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0], + }, + Term { + s: -1.727563134595790e-6, + c: 1.566129223127230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -3.447550124052827e-8, + c: -1.725604221513834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -6, 0, 0, 0, 0], + }, + Term { + s: 2.945075122422209e-10, + c: 1.718785786358225e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.255579177814287e-7, + c: 1.429559180125396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 0, 0, 0, 0], + }, + Term { + s: 2.591279051936054e-7, + c: -1.653376506325413e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 6.355237001291954e-7, + c: 1.535692039017060e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: -9.859494123532738e-7, + c: -1.336687653282615e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.194110347129990e-6, + c: 1.133307969199736e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.396349467461290e-7, + c: 1.611401442762864e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -9.530080551157949e-10, + c: 1.624357158086225e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.381223893316317e-8, + c: 1.618994339032884e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.976316135267783e-9, + c: -1.598782924979166e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 3, 0, 0, 0, 0], + }, + Term { + s: -3.886879535187916e-8, + c: -1.586957420934336e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0], + }, + Term { + s: 1.545108572643086e-6, + c: 1.937104710917153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0], + }, + Term { + s: -1.395214157867862e-6, + c: 6.696455443081305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 9.989649616855439e-7, + c: -1.175293985915714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -9.919966119639479e-7, + c: 1.161710518737641e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -3.016151386440797e-7, + c: -1.482884584443049e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -8.747747182126479e-8, + c: -1.479097760837715e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.240080565390910e-9, + c: -1.467890051175731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -1.830225443194509e-7, + c: -1.435041590077758e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 3, 0, 0, 0, 0], + }, + Term { + s: 4.710905844642984e-7, + c: -1.348265921596002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.089063510762033e-7, + c: 1.363690273632966e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.191806703363992e-6, + c: 7.283022165987387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.262571944405221e-7, + c: -1.345292089379710e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 3.270756285809177e-7, + c: -1.304269048276734e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: -2.565545051807112e-7, + c: 1.283051388621631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -3.491224285104048e-8, + c: -1.306999800784600e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.301993350288323e-6, + c: 1.050324437914548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.924005651527241e-7, + c: -1.238013180453175e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: 3.363405364487546e-7, + c: -1.250861212754468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: -1.278780368376483e-6, + c: -1.445889623746215e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -8.128844014488650e-8, + c: -1.273851083095174e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -2.867681881391569e-7, + c: 1.236632841712150e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, -1, 3, 0, 0, 0, 0], + }, + Term { + s: 1.059790685130226e-6, + c: 6.834910064374225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.269019708522434e-7, + c: -1.226874459806194e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 7.584138440582639e-8, + c: 1.229315030027698e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -5, 0, 0, 0, 0], + }, + Term { + s: 1.493067650793977e-7, + c: -1.214489204623735e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.618844592440725e-8, + c: 1.221962037849024e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0], + }, + Term { + s: -1.195886297968052e-6, + c: -2.236128690149352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0], + }, + Term { + s: 1.775656681469712e-7, + c: -1.199835776766710e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.349006608248827e-10, + c: 1.205546119169270e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.690598016519324e-8, + c: -1.188601111895937e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -1.075131363309324e-9, + c: 1.138589010449065e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.616944160194797e-7, + c: -9.249491594874523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.110631527156046e-7, + c: -1.104116221512236e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -4.706887660697274e-8, + c: -1.119732567541277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.573891870834305e-7, + c: -1.098062063555288e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0], + }, + Term { + s: 2.712321264160717e-8, + c: 1.059983655798347e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -1, 0, 0, 0, 0], + }, + Term { + s: -8.610109976017511e-7, + c: -6.121393044703641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 9.698294916158878e-7, + c: -2.576003585829720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -5.470002703293049e-7, + c: 8.331510384316978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 6.350135913282357e-7, + c: -7.498832672212931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -7.648266962971159e-7, + c: -5.919537432983629e-7, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.896256997482475e-7, + c: -9.127020948349064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: -2.859907397989869e-8, + c: -9.461680166026355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -15, 0, 0, 0, 0], + }, + Term { + s: 1.204993216596331e-7, + c: -9.376504994399676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: -6.215331255731427e-7, + c: 7.076840479079115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 2.858714897504438e-7, + c: -8.502646371922908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.852150998660324e-9, + c: -8.854842795380324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 2.771257228432499e-7, + c: -8.257856684846719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: 2.303931583160814e-7, + c: -8.389900837008552e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0], + }, + Term { + s: -7.058549217237030e-8, + c: 8.645327639690294e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.933995855849589e-7, + c: 6.180074810180784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.249249539657217e-7, + c: -6.703577416266143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -6.289476758122688e-7, + c: 5.675903615959808e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.158350976014102e-7, + c: 1.723581534937811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.046701139327721e-9, + c: -8.325540305935449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -7.097024966166110e-7, + c: -4.266569538786284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0], + }, + Term { + s: -9.294414990435102e-9, + c: 8.271007407792123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -12, 0, 0, 0, 0], + }, + Term { + s: 2.051050995121298e-7, + c: 7.966730898720413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -6.710130517481116e-8, + c: 8.150622156687540e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.889684821081555e-7, + c: 5.279278585066317e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.783332379359236e-7, + c: 5.166794321429867e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.121084082472906e-7, + c: 2.731517451696104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.130608699603708e-7, + c: -7.386413449157047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -5.442391855706699e-7, + c: -5.040557759255393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.063669329235685e-7, + c: 6.133477194069129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.163874132071930e-7, + c: -1.465709822090540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -6.097009543340226e-7, + c: 3.993249476651255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.936925275292032e-7, + c: 1.905663642015160e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0], + }, + Term { + s: -1.245651362842578e-7, + c: -7.016978955083976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 4.981330189779450e-7, + c: -5.080026763108772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, 0, 0, 0, 0], + }, + Term { + s: -1.715841955017172e-7, + c: 6.885719298548382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.000526051255754e-7, + c: -6.997338936888439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -16, 0, 0, 0, 0], + }, + Term { + s: 3.721085825275534e-7, + c: 5.903928676087930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.977615555914429e-7, + c: -6.651265547308957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.242307008703762e-7, + c: -6.822296347802920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -5.207067454582440e-7, + c: 4.337737758067393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.663971057734947e-8, + c: -6.681577270194293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.578953990519475e-7, + c: 6.507152352878513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: 8.900051862749286e-8, + c: 6.621303428813331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -5.497736476228244e-7, + c: 3.709813737076132e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.139558486569156e-7, + c: 5.711470617100825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.678464545011067e-8, + c: -6.460626471863859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 1.945574248869193e-7, + c: 6.156605152088259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.426445137908882e-7, + c: 6.043352906370639e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -5, 0, 0, 0, 0], + }, + Term { + s: -1.722696680520240e-7, + c: -6.199230384333861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.024283162640517e-7, + c: 5.534682365103142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405487357287159e-7, + c: 6.142492063541307e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.715131497813851e-10, + c: 6.257123698809176e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.096614153738218e-8, + c: -6.251271017689535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 5.593998039125064e-7, + c: -2.786379174879785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -9.044429491626963e-10, + c: 6.216744637777875e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.277152551988327e-8, + c: -6.013548092614342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 7.153617999628454e-9, + c: -6.081820235506980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -8.921101050923780e-8, + c: 5.981666285791793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 0, 4, 0, 0, 0, 0], + }, + Term { + s: 1.984145314551050e-7, + c: -5.627037158865030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0], + }, + Term { + s: -5.810122233798741e-7, + c: 8.343304423028023e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0], + }, + Term { + s: -4.995251259487232e-7, + c: 3.040943074778121e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.571597667126114e-7, + c: -5.623132572235462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0], + }, + Term { + s: -4.132896918781453e-8, + c: -5.817675714543643e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 5.614195083209474e-7, + c: -1.518176229631083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 5, 0, 0, 0, 0], + }, + Term { + s: 3.735442759598538e-7, + c: 4.387897815821825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -5.663006431077063e-7, + c: 8.088761795542766e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.069058039348560e-8, + c: -5.636467712617669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -16, 0, 0, 0, 0], + }, + Term { + s: 3.990188723927676e-7, + c: -3.898422337607364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.994258602772044e-9, + c: 5.546637266670093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -13, 0, 0, 0, 0], + }, + Term { + s: 5.220250417094849e-7, + c: -1.676493142583385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 7.359063255761455e-8, + c: -5.400133487248539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 1.040516581399634e-7, + c: 5.297521341603051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -7.317741432839639e-8, + c: -5.269692213140917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.511312052526924e-7, + c: 2.818424356886780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 4.421653882313804e-7, + c: 2.826817130757660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 5.218091665499563e-7, + c: -4.018881926130209e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.849750310634634e-7, + c: -4.828026061321964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0], + }, + Term { + s: 1.558251967385565e-9, + c: -5.070234197875919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 5, 0, 0, 0, 0], + }, + Term { + s: -1.220145480632144e-7, + c: -4.854809104371259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.444247457552192e-8, + c: -4.981523713336703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, -7, 0, 0, 0, 0], + }, + Term { + s: 1.021531476141479e-7, + c: 4.840814364755123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 5, 0, 0, 0, 0], + }, + Term { + s: -4.201636797203877e-7, + c: 2.451377999939227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 4.394611294804086e-7, + c: -2.053334455604389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 9.557259424054207e-8, + c: -4.749640087316290e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0], + }, + Term { + s: 4.683565880136204e-7, + c: 1.184787823833181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.008618415549071e-10, + c: -4.797845907096340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 4.751804206216083e-7, + c: -4.053300315444879e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 4.122999504657597e-7, + c: -2.328198133743395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.228578784704198e-8, + c: -4.573895680855814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0], + }, + Term { + s: -1.536815545708789e-7, + c: 4.350176900122039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0], + }, + Term { + s: -2.612139268340204e-8, + c: 4.602252113417890e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.500748834601840e-7, + c: -9.121577392076685e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -2.648063742387081e-8, + c: 4.558526545447981e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 7.168670695724987e-8, + c: -4.471626090228248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0], + }, + Term { + s: 3.028156017196584e-8, + c: 4.505432447001877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, -6, 0, 0, 0, 0], + }, + Term { + s: 6.335077541655700e-8, + c: -4.454141988894034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -17, 0, 0, 0, 0], + }, + Term { + s: 2.090075020952684e-7, + c: 3.935931519024231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.321646283144721e-7, + c: -9.638652421127974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 4.149817204739533e-7, + c: -1.487866142755942e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.150407496192975e-7, + c: -4.209987467479920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.714296859909499e-8, + c: -4.237773203020718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.297053963814587e-7, + c: -4.084884338766098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -3.120645777243217e-10, + c: 4.281988806420976e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.241613518198164e-7, + c: 5.248921005872411e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353504010090494e-8, + c: -4.241376187092101e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -8.796415356222690e-10, + c: 4.242251580966506e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.273625330161320e-8, + c: -4.198549074411344e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.517972982061464e-9, + c: -4.201802220636031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.116394389290422e-7, + c: -7.024986279862294e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0], + }, + Term { + s: -3.886085233679038e-7, + c: -1.464922019312591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.425357371785301e-7, + c: -3.879427358425409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0], + }, + Term { + s: -6.496383929921571e-8, + c: -4.078137695321670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.946937993602233e-7, + c: -3.636007522091991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.753608229907299e-7, + c: 1.690328927478485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.358951176903158e-7, + c: -3.874800066996369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0], + }, + Term { + s: 5.819371703832886e-8, + c: -4.046728252729271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0], + }, + Term { + s: -4.022506249168739e-7, + c: -7.003448324947559e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.874534692577670e-7, + c: -1.011752820617995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 3.606200266386472e-7, + c: 1.661510087265291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -5, 0, 0, 0, 0], + }, + Term { + s: 1.067520055447220e-7, + c: -3.763764904493111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -16, 0, 0, 0, 0], + }, + Term { + s: -3.628759877204028e-7, + c: -1.312399611508027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.006861283172109e-8, + c: 3.852937066932878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.159044043246735e-7, + c: 3.647056490408927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 3.438502981798206e-7, + c: -1.654679021595867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.842592905335357e-8, + c: 3.800398620760021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.068295738841112e-8, + c: -3.678030764733463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.549399034230355e-10, + c: -3.763148283818671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.476549662472305e-7, + c: 2.821685435527537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -3.503450177587790e-7, + c: 1.303165982467847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -2.410728635906342e-9, + c: 3.691036806797372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -14, 0, 0, 0, 0], + }, + Term { + s: -8.040235409091145e-9, + c: 3.647416687770568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -2.910475934904787e-7, + c: -2.186655398927620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -3.630639561605118e-7, + c: 2.961816724084071e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 2.527012132964129e-7, + c: -2.597046109338694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 6, 0, 0, 0, 0], + }, + Term { + s: 6.501074396044852e-8, + c: -3.526845069351468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.031607440509562e-8, + c: -3.535063141116365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -7.361721970479546e-8, + c: -3.501820639761535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0], + }, + Term { + s: 3.561040893001620e-7, + c: -3.248077362483860e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, -1, 0, 0, 0, 0], + }, + Term { + s: 7.313418190094764e-9, + c: -3.569706301539104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, -5, 0, 0, 0, 0], + }, + Term { + s: -3.976886498334582e-8, + c: -3.535760932277714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 5, 0, 0, 0, 0], + }, + Term { + s: 3.401028814385290e-7, + c: -9.395551105322788e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 6, 0, 0, 0, 0], + }, + Term { + s: 1.755630347847696e-7, + c: -3.058874490728669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.896325715788339e-7, + c: -2.008043673226464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.045360669930679e-8, + c: -3.496447528178773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.494558165071028e-8, + c: -3.452800464832717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0], + }, + Term { + s: 1.000934410391734e-8, + c: -3.458146961304986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -8.539740529872672e-8, + c: 3.343988688401896e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.162722816944427e-7, + c: 1.257905831747880e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.371701283817219e-8, + c: 3.312962227272639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -1, 0, 0, 0, 0], + }, + Term { + s: 1.691836980236353e-7, + c: -2.927429380076958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -7, 0, 0, 0, 0], + }, + Term { + s: -2.671000675318035e-7, + c: 2.058177375673131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.365476573880276e-7, + c: -1.608242251223745e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -3.011087132391701e-8, + c: -3.353405679694480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.358793742846592e-7, + c: 6.102052764671044e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.476183806500753e-8, + c: -3.353519353638583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -17, 0, 0, 0, 0], + }, + Term { + s: 4.621608649056144e-8, + c: -3.262709652009631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -8.227950333930667e-8, + c: -3.186916527866125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -3.250769870402718e-7, + c: -5.056249312744954e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 4, 0, 0, 0, 0], + }, + Term { + s: -1.398001842163265e-7, + c: -2.975703810101515e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 1, 0, 0, 0, 0], + }, + Term { + s: 1.526940937648718e-7, + c: 2.910407266357557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.088232435037540e-8, + c: 3.159224988036437e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.349279013977206e-8, + c: -3.185007872880231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -5.663534851980487e-8, + c: 3.161209270519896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.381944735516647e-7, + c: -2.847186410459138e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.649639156375519e-8, + c: -3.103204044809308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 1, 0, 0, 0, 0], + }, + Term { + s: -1.344567279324223e-7, + c: -2.796510178667471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, -1, 0, 0, 0, 0], + }, + Term { + s: -4.649323790915214e-8, + c: -3.046344931085191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -2.811771546585902e-7, + c: -9.605135397143259e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.017926183672606e-7, + c: 2.776788242250800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.355050893712833e-9, + c: -2.949939720340558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 6, 0, 0, 0, 0], + }, + Term { + s: -1.023595520516746e-7, + c: -2.727810998356557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: 2.887393989072386e-7, + c: -1.647846906516134e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 5.979923159817203e-8, + c: 2.823258093942173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.023648878760107e-7, + c: -2.690003730606588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0], + }, + Term { + s: -5.575220420040272e-8, + c: 2.818374358651278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0], + }, + Term { + s: -1.642164431128780e-7, + c: -2.354861122245003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.389186839929565e-8, + c: -2.819783541505729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.856097025045243e-7, + c: 2.310414032882030e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.995080103203398e-8, + c: -2.831828466917931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -18, 0, 0, 0, 0], + }, + Term { + s: 3.355355291435493e-8, + c: -2.821082364583800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0], + }, + Term { + s: 6.448342264213129e-8, + c: 2.732748314681087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -5.410990107203228e-8, + c: 2.742655504759105e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -5.933225525323065e-10, + c: -2.794620934844153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 2.676273820391026e-7, + c: 6.297296083213297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.457365328444120e-7, + c: -2.319778719906048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.328136807599630e-7, + c: -1.398077780739771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -7, 0, 0, 0, 0], + }, + Term { + s: -2.095202312401775e-7, + c: -1.609167344135527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 7.221007761166192e-8, + c: -2.514994056914001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -17, 0, 0, 0, 0], + }, + Term { + s: 3.389346980669049e-8, + c: -2.528380970076196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.850097242828537e-7, + c: 1.691026440411201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -1, 0, 0, 0, 0], + }, + Term { + s: -2.454849688907391e-7, + c: 4.497206001462634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 2.419338376903890e-7, + c: 5.915083548127875e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.448734624162556e-7, + c: -3.489031686088137e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 5, 0, 0, 0, 0], + }, + Term { + s: 5.046286931045558e-8, + c: -2.416747770903011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 1.947066392746673e-7, + c: 1.510886336488372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.437835743609594e-7, + c: 2.856004088806391e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -9.300238608746189e-10, + c: 2.440057894839407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -15, 0, 0, 0, 0], + }, + Term { + s: 2.310420425229934e-7, + c: -7.522517986650592e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.452238511243363e-8, + c: 2.401915005027248e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 2.107391030005384e-7, + c: -1.202568481035877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -5.254539185143090e-8, + c: -2.363811562595337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 5.133924790529777e-8, + c: 2.362712738136546e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 6, 0, 0, 0, 0], + }, + Term { + s: -1.847515112494536e-7, + c: 1.534773000528637e-7, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.544301472078723e-8, + c: -2.240907257916872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0], + }, + Term { + s: -5.846561604122634e-8, + c: -2.321639035384361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 2.267501094839440e-8, + c: 2.351680399016205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0], + }, + Term { + s: 2.225509897877797e-7, + c: -7.659560610728589e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, -5, 0, 0, 0, 0], + }, + Term { + s: -6.563436124776401e-8, + c: 2.250629752392291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.766663403837956e-8, + c: 2.259988776017716e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.299419017744330e-7, + c: 2.261802614688347e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, -6, 0, 0, 0, 0], + }, + Term { + s: -2.172081753789107e-7, + c: 7.475549234150400e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 2.228844845191781e-7, + c: -5.433091899059638e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.234751323351393e-8, + c: 2.267460072781127e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 8.093927844573695e-8, + c: 2.106956635656500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 3, 0, 0, 0, 0], + }, + Term { + s: 2.442256866553587e-8, + c: -2.229484868199718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0], + }, + Term { + s: -1.602152765637834e-7, + c: -1.556735907827252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 2.176781548452824e-7, + c: 4.487657264633864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.151057652511269e-7, + c: -5.435842940451080e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.429104023527466e-8, + c: 2.134567598247759e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.664815003228552e-8, + c: 2.186028215220548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -2.091145893124903e-7, + c: -6.306437932324178e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.546349375238361e-7, + c: -1.538989804612715e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 7, 0, 0, 0, 0], + }, + Term { + s: 2.164032314474969e-7, + c: -1.762418494464622e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 2.078828438577722e-7, + c: -5.840813537564099e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 7, 0, 0, 0, 0], + }, + Term { + s: -3.201604622521594e-8, + c: 2.128483145739267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 0, 5, 0, 0, 0, 0], + }, + Term { + s: 2.290587294517691e-8, + c: 2.136170138521265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -6.010698557794148e-8, + c: -2.061367310434101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 3.038001328612556e-8, + c: -2.122259911607600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 7.331893993540485e-8, + c: 2.010871752069635e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -2.517498057823835e-8, + c: -2.112013512922550e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 6, 0, 0, 0, 0], + }, + Term { + s: 1.613997911265873e-7, + c: -1.370969538792865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.132505506739645e-8, + c: -2.015053224506487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 5, 0, 0, 0, 0], + }, + Term { + s: 2.941215867078639e-8, + c: -2.017146285959900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 7.333336641773643e-8, + c: -1.869826158659656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0], + }, + Term { + s: -9.240608942881940e-8, + c: -1.768492672124602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.040853424920297e-8, + c: -1.991930988195938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -18, 0, 0, 0, 0], + }, + Term { + s: -4.345710093470923e-8, + c: -1.935674073110020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.291738327587343e-7, + c: 1.480883805431517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.191153619525006e-8, + c: 1.864367286247424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.194539973807609e-9, + c: -1.958435714799460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -1.897201117960952e-7, + c: -4.755017117689077e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 1.719685499962039e-7, + c: -9.055559689836355e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 5.771576462333459e-8, + c: 1.842460629399135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.098117945958590e-7, + c: -1.578351407805067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 6.628746583013857e-9, + c: -1.890503081721806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.854879689055086e-7, + c: 3.504612507125627e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 2.827497246098749e-8, + c: -1.861444661752818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.871257026712138e-7, + c: -7.511146275357890e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, -1, 0, 0, 0, 0], + }, + Term { + s: -1.251997855921137e-7, + c: -1.389755900880718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.657370921434931e-8, + c: 1.817826603174820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, -1, 0, 0, 0, 0], + }, + Term { + s: 3.679207929567741e-8, + c: -1.812775525363421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.533618284989911e-7, + c: -1.030948332209948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 16, -10, 0, 0, 0, 0], + }, + Term { + s: 1.527660745937229e-7, + c: 1.029529339795918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -16, 8, 0, 0, 0, 0], + }, + Term { + s: 3.349185776099811e-8, + c: -1.799629872686398e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 1.067644150133728e-8, + c: 1.826511807070353e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.509073261486038e-8, + c: -1.798048364744698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -19, 0, 0, 0, 0], + }, + Term { + s: -1.787490850789491e-7, + c: -2.317207978136916e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 6, 0, 0, 0, 0], + }, + Term { + s: 9.277744392761010e-8, + c: -1.544401915736355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 8, 0, 0, 0, 0], + }, + Term { + s: -1.566590992559152e-7, + c: 8.838543419073159e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0], + }, + Term { + s: 1.464152550113221e-7, + c: 9.965661651130689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.441518039164747e-8, + c: 1.723522076366230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 4.864682914801086e-8, + c: -1.677376032851337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -18, 0, 0, 0, 0], + }, + Term { + s: 1.083681469688278e-8, + c: 1.730082026147349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.158044721264564e-9, + c: -1.733271924744442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -8, 7, 0, 0, 0, 0], + }, + Term { + s: -3.898002741659060e-8, + c: -1.686339879192224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.173751147627422e-8, + c: -1.698624637038873e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 1.742340272952821e-8, + c: -1.715873759377835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -10, 0, 0, 0, 0], + }, + Term { + s: 9.928936322584544e-9, + c: 1.720742956133867e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.542924625679735e-8, + c: -1.703289686445819e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.308518920291039e-7, + c: -1.083722566828238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.589635267191194e-7, + c: -4.866521704240479e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.480897474121308e-7, + c: -7.213818190275643e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 4, 0, 0, 0, 0], + }, + Term { + s: -7.371032118815768e-10, + c: -1.639794356993852e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: 1.619411248714978e-9, + c: -1.636614895484114e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 1.453792319449646e-7, + c: 7.422321008566785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -6, 0, 0, 0, 0], + }, + Term { + s: -1.573126009622811e-7, + c: 4.327115587286161e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 1.240932698584356e-7, + c: 1.034382376620223e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.568206252419274e-7, + c: -3.513569634311356e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.349588892350724e-10, + c: 1.603822331663804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -16, 0, 0, 0, 0], + }, + Term { + s: 1.545511523992019e-7, + c: -4.213082653923307e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, -3, 0, 0, 0, 0], + }, + Term { + s: 1.963614468325416e-9, + c: 1.593193597333813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, -1, 0, 0, 0, 0], + }, + Term { + s: 1.171703325975886e-8, + c: 1.586044198655570e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, -7, 0, 0, 0, 0], + }, + Term { + s: -2.677129029328665e-8, + c: -1.562079748762910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.694380134367611e-8, + c: 1.376086121731153e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.262350001336920e-7, + c: 9.130794013190673e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 5.900338533759702e-8, + c: -1.441373904801567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0], + }, + Term { + s: 8.054408899032511e-8, + c: -1.311489205106342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 7, 0, 0, 0, 0], + }, + Term { + s: -1.349024136451765e-7, + c: -7.296251279390210e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 2.235181876849005e-8, + c: 1.516311767711153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.681489482890758e-8, + c: 1.163935958489966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.203505375655617e-7, + c: 9.070667231224290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 2.704104660631998e-9, + c: -1.502198249442177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 5.922251966744203e-8, + c: 1.370094976984193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.117734810622659e-8, + c: -1.400331355431789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.439820049083284e-7, + c: 3.629585146605590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 1, 0, 0, 0, 0], + }, + Term { + s: 1.358498116052595e-7, + c: 5.963792811715495e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -1.702036931144344e-9, + c: -1.480428867948242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, -3, 0, 0, 0, 0], + }, + Term { + s: -9.658977406903086e-8, + c: -1.117919325697593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.352952938598157e-11, + c: 1.476785428743854e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.592038870483608e-8, + c: -1.427406039888245e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -5.698744340419901e-8, + c: 1.353693890036740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.711847699286547e-10, + c: 1.467310858338277e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.555237175671922e-8, + c: 1.450493870485575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -5.762668076634271e-9, + c: -1.446823719063509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, -8, 0, 0, 0, 0], + }, + Term { + s: -1.252254665277123e-7, + c: -7.142684679467623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.171097266850059e-7, + c: 8.072065802108030e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -5.818124165623792e-8, + c: -1.294558445827777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.390669789980635e-7, + c: 2.426495219892467e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -3, 0, 0, 0, 0], + }, + Term { + s: 1.355852169610077e-7, + c: 3.901372038525084e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 3.817825753681083e-8, + c: 1.354054860833480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 7, 0, 0, 0, 0], + }, + Term { + s: 5.234524078685041e-8, + c: -1.300312493171765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -16, 0, 0, 0, 0], + }, + Term { + s: -2.929608090933337e-8, + c: 1.369550033315742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.006034575026707e-7, + c: -9.608043507927600e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 8, 0, 0, 0, 0], + }, + Term { + s: 2.493046410170762e-8, + c: -1.364957773084326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.363997441183720e-7, + c: 2.310449196270671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.170524358229503e-8, + c: 1.340416550762049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.030847544954231e-8, + c: 1.323083133427048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, -1, 4, 0, 0, 0, 0], + }, + Term { + s: -1.333845163995929e-7, + c: -1.895446544368064e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 7.334194012938487e-8, + c: -1.105133187012665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.273676154425416e-7, + c: -3.660749293054377e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -10, 8, 0, 0, 0, 0], + }, + Term { + s: 1.290213403799580e-7, + c: -2.855788537823800e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 2.975426331018103e-8, + c: -1.286609737179246e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: -1.624792212130788e-8, + c: -1.304802495105753e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 7, 0, 0, 0, 0], + }, + Term { + s: 9.175995202034592e-9, + c: 1.304573503627626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -6.390718060363166e-9, + c: -1.304650235374840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -1.239448284269543e-7, + c: -3.894938499776806e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, -1, 3, 0, 0, 0, 0], + }, + Term { + s: 1.222392097779440e-8, + c: -1.292402861828098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -11, 0, 0, 0, 0], + }, + Term { + s: -4.909654999875586e-8, + c: -1.197912608986104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 1.187057080443618e-7, + c: 5.088861284930596e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.204944578427203e-7, + c: -4.447766049529174e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -1, 0, 0, 0, 0], + }, + Term { + s: -1.272973045694748e-7, + c: -1.514429037043510e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -10, 7, 0, 0, 0, 0], + }, + Term { + s: 1.879276383825864e-8, + c: -1.263007739886385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: 8.648224835079202e-8, + c: 9.271470825653942e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233637999641373e-7, + c: 2.763748153933195e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.846135947158064e-8, + c: -1.167476676237386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -1.025790519296335e-8, + c: -1.256104060911871e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 4, 0, 0, 0, 0], + }, + Term { + s: -3.076150179706742e-8, + c: -1.218338317714654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 4.593757574341276e-8, + c: 1.158058671604038e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -1.187374132705079e-7, + c: -3.688443353197448e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.167933289848929e-8, + c: -1.200694404449313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 4, 0, 0, 0, 0], + }, + Term { + s: -1.227792388613162e-7, + c: 1.377553185425621e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.109524136630125e-7, + c: -5.431643707618527e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0], + }, + Term { + s: -1.170955080655855e-7, + c: -3.926196268804716e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.039520920112131e-9, + c: 1.217431037167442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.011917231679410e-7, + c: 6.803235899747395e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 4, 0, 0, 0, 0], + }, + Term { + s: 1.022216694926985e-7, + c: -6.621679303750553e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 2, 1, 0, 0, 0, 0], + }, + Term { + s: -1.181901090907979e-7, + c: -2.810785369037487e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 1.183403712445164e-7, + c: -2.720316011427178e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.089512353508048e-7, + c: 5.339320663762150e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0], + }, + Term { + s: -1.136344875937623e-7, + c: 4.251773355446241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.305806477188945e-10, + c: 1.209335426080999e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -7.668098555466185e-9, + c: 1.206187283401200e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.188065848506762e-8, + c: 1.181582066418313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -7.485088757160765e-8, + c: -9.395216343583673e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.198051038116303e-7, + c: -2.467592608740567e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0], + }, + Term { + s: -1.133917457301080e-7, + c: 3.668856496518555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 5, 0, 0, 0, 0], + }, + Term { + s: 6.572214585362852e-8, + c: -9.928947963443493e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -7.264890472247620e-9, + c: -1.180731026048411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, -19, 0, 0, 0, 0], + }, + Term { + s: -1.979035700710904e-8, + c: 1.153945182317599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.915913085941006e-8, + c: -1.152823534643557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.348681538423402e-8, + c: 1.157411327708938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, -2, 5, 0, 0, 0, 0], + }, + Term { + s: 3.264392127021455e-8, + c: -1.116477989691993e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -19, 0, 0, 0, 0], + }, + Term { + s: 2.420534352384390e-8, + c: -1.127844393867237e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -3, 0, 0, 0, 0], + }, + Term { + s: 1.569156904823217e-8, + c: -1.140082568729485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, -20, 0, 0, 0, 0], + }, + Term { + s: 1.324512357479214e-10, + c: 1.142471659576300e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.793042359771377e-8, + c: 1.124447234590639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 6.371154741072235e-9, + c: -1.131921560291850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 7.225404535058642e-8, + c: 8.702597606573621e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 4.073392372726720e-8, + c: -1.041316690363962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0], + }, + Term { + s: 4.500280588171123e-8, + c: -1.013875695925324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.133028746970334e-8, + c: 1.102669758782902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: 3.811172203291180e-8, + c: -1.039946368800434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.103461948034722e-8, + c: -1.052818155908616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -1, 3, 0, 0, 0, 0], + }, + Term { + s: -9.137331107559004e-8, + c: 5.489472162772752e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 2, 3, 0, 0, 0, 0], + }, + Term { + s: 4.240882097147573e-8, + c: -9.773913885045349e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0], + }, + Term { + s: -2.108847101845687e-8, + c: 1.043447582125044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -1.056302039873415e-7, + c: 8.389819376919148e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.141756945979187e-8, + c: -1.052601655388898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 7.619475018187413e-8, + c: 7.295802296733477e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -13, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 3.486899993911117e-8, + c: -9.955897028944185e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 2.510473567788814e-10, + c: 1.048839628457649e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0], + }, + Term { + s: -1.070871554723007e-8, + c: -1.032990983030449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.270698435810810e-11, + c: 1.036896765273629e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.486237328815021e-8, + c: -7.173789174711544e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -6.316191480314423e-8, + c: 8.197304400348888e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, -2, 6, 0, 0, 0, 0], + }, + Term { + s: 6.309471045293353e-8, + c: -8.196842935362901e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, -2, 8, 0, 0, 0, 0], + }, + Term { + s: -2.110898048120259e-10, + c: 1.027898409339490e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.003156090232197e-7, + c: 2.240724018582455e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 9.537835278677705e-10, + c: -1.024828247893271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -9, 8, 0, 0, 0, 0], + }, + Term { + s: -6.792122855037922e-8, + c: 7.603627843450671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -2.954228717891209e-8, + c: 9.721267197871936e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -5.264624532680103e-8, + c: 8.592804025174489e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -5.664616805894274e-10, + c: -1.003458206507238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 3, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 3.109224642376736e-4, + c: 1.612136688441680e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.276285847424419e-4, + c: -1.790204150263705e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.630895715417067e-4, + c: -4.753204579900835e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.622984405545413e-4, + c: 4.818430087839044e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.315964323224181e-4, + c: -3.407160123876025e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.838120447889485e-5, + c: 2.859927729129315e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -9.617322336992511e-5, + c: -2.851554503027410e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.678182885709938e-5, + c: 8.588465881500797e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.001313456784480e-5, + c: 2.908855380568152e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.007693348473322e-5, + c: 1.643327182256143e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.045693152644944e-5, + c: -6.747381810421385e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.180847499744199e-6, + c: 2.107403455204766e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.721278411236223e-6, + c: -1.493113896136435e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.574987235777566e-5, + c: -7.729075286564662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.375596098250466e-5, + c: 2.239623579483309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.799599820545785e-6, + c: 1.202234877463581e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.378676422358480e-6, + c: -1.178422772009513e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.222842836824706e-5, + c: -3.559157317168712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.128205189456758e-5, + c: 3.325534469001394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.877460890980990e-6, + c: -1.089544404722539e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.952489600512233e-6, + c: 1.683924119072002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.065364774307821e-6, + c: 6.753752861141570e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -4.735211694727877e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.901591762584462e-6, + c: 3.718041441062537e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.418153538823678e-6, + c: -3.232971667608170e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.593566089803452e-6, + c: 3.089158924206862e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.997906142644727e-6, + c: -2.624231361662493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.249195432320202e-6, + c: -1.593563448285354e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.466287991519647e-6, + c: 9.340263651351291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 2.921416194496241e-7, + c: 3.342734101531504e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.240015918248878e-6, + c: -6.620722113629794e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.196441017280570e-6, + c: -1.721223058807689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.108050106366335e-6, + c: 5.832541605874638e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 2.951559413119905e-6, + c: -8.127731601331754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.769145040724977e-6, + c: 7.445448596031593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -7.711517868590366e-7, + c: -2.571490475174081e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.392537480876566e-6, + c: 1.145056360002839e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.394613000282154e-6, + c: -1.133830749522880e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.438703971930503e-6, + c: -1.027337097934874e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 2.261856579487521e-6, + c: 1.289009851340660e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.514957239350945e-6, + c: 2.084523552977987e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.213527158351691e-7, + c: -2.167943123347985e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.108398238526525e-6, + c: 6.429068839662893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -5.975244608430405e-7, + c: 2.051523941315110e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.897660260380495e-6, + c: 5.988450439393238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.528590830904953e-6, + c: 1.038996978781541e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.379513056188306e-6, + c: -1.226214108411909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.742425690805817e-6, + c: 3.117363651548930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: -8.540800851409030e-7, + c: -1.546643763609697e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -5.168338138381911e-7, + c: -1.678572696963055e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.672200245299022e-7, + c: 1.487173242469982e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.406426385065586e-6, + c: 7.970742347726523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.484559752510584e-7, + c: -1.537110192701284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.230568316060631e-6, + c: -8.954962267197521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.857186860653904e-7, + c: -1.231831988346137e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.379292556871936e-6, + c: 6.062538191935947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.250141997503665e-6, + c: -7.882042405372622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.384171767035437e-6, + c: -2.921354755286137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.528440342387513e-7, + c: -1.383775006987854e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.235755977628443e-6, + c: -5.646926713936726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -6.747492178740536e-7, + c: -1.131088965456786e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.270735305515669e-6, + c: 1.192410733833648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 7.471865341440187e-7, + c: -1.011695809608738e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.010300133965699e-6, + c: -6.831895910509024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.013996157073755e-6, + c: 5.544347826650323e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.020978492633119e-6, + c: 5.104954690578574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.043697677970900e-6, + c: -3.490588269473111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: -6.153140404092662e-7, + c: -8.805952212484873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.041257451107232e-6, + c: 1.802028102487935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: 6.250764406280621e-7, + c: 8.420814234589440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -6.251582479387014e-7, + c: -8.303384454123935e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.179568991492228e-7, + c: -8.354822852566818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -5.160874358145749e-7, + c: 8.623167760018597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -3.720024330399263e-7, + c: -9.290260702013581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.023255273548045e-7, + c: 6.944779196407747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 9.472243105896084e-7, + c: 2.770122302736696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.416746401154603e-7, + c: -2.604202928346823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.077250364235494e-7, + c: -2.170333850246824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.266180345183407e-7, + c: 8.612645588119679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.816754195899481e-7, + c: -5.613438519664491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 6.799150113553033e-7, + c: 5.615710386460358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 8.292604846807635e-7, + c: 2.598492999008954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: -8.357866852809508e-7, + c: -2.058754996232306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 8.036344226360379e-7, + c: 2.945369356820308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 7.137032516939287e-7, + c: 4.500437300409690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 7.798957507782616e-7, + c: 2.776107546998024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 6.145205777669298e-7, + c: 5.344485254820258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.517990117812425e-7, + c: 2.929452604960270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, -1, 3, 0, 0, 0, 0], + }, + Term { + s: 7.348844962473685e-7, + c: 1.387964785865993e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.804877818411141e-7, + c: 6.891231210320184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.295827017935378e-7, + c: -1.083734735449948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.210888966198279e-7, + c: -6.066192361817496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.298084202186856e-7, + c: 4.333379649880666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -5.291344018509648e-7, + c: -4.143441568346499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 3.991933416299594e-7, + c: 5.357209273337953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 6.403395284229983e-7, + c: 1.862578780542760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 6.452519870166919e-7, + c: 1.082484147395096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -6.253914147516655e-7, + c: -1.776250367540168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -3.752004609799418e-7, + c: -5.197755421323667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 5.403749885835572e-7, + c: 3.246894457787953e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.807040641996515e-7, + c: -1.337645719771961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.233874542160642e-7, + c: 2.729993462513683e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.459991951533197e-7, + c: 1.301479346194413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -3.529732177567066e-7, + c: 4.247605876825851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.976409851374826e-7, + c: 4.269049650424799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 4.971688662970047e-7, + c: 1.216061263168884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -4.746519856690492e-7, + c: -1.733983748859974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 4.783959564649150e-7, + c: 1.496311964150912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -4.534753167221895e-7, + c: -1.761344504245881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, -1, 3, 0, 0, 0, 0], + }, + Term { + s: 1.227037270777403e-7, + c: -4.707506118277845e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.644105622011546e-7, + c: 1.260077901248879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.482648564227711e-7, + c: -8.244738399446913e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -3.446654868939605e-7, + c: 2.980918718918711e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.333532074538044e-8, + c: 4.541541241171992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.169219293638430e-7, + c: 1.786574095249334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.743379130495464e-7, + c: -4.028679610312334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.712837330700746e-7, + c: 1.967208407400729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.568016904149459e-7, + c: 2.130925586257208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.924779633208731e-7, + c: -3.663850565833960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 4.052033240686891e-7, + c: 6.514216382917929e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 2.418266562994550e-7, + c: -3.306964905514128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 3.739486414490795e-7, + c: 1.353672164814183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.046288190047519e-7, + c: -2.555723064223058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.951189746631474e-7, + c: -3.215460726282261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.382123771529891e-7, + c: 1.421431123287212e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -2.234749284125421e-7, + c: -2.841741853864572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.071250138553218e-7, + c: 1.835443664269544e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0], + }, + Term { + s: 3.069495269350292e-7, + c: 1.542219846399674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.522118881313181e-8, + c: 3.181700054303379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.879230790988438e-7, + c: 1.472421358826452e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.451594445479854e-7, + c: 2.782605199871307e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.991957669120614e-7, + c: 9.352312734328944e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -2.737417166718748e-7, + c: -1.403788297673679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -4.639283871956848e-8, + c: 3.031178894926104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.865680284045516e-7, + c: 8.317563278895426e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.540568574524910e-7, + c: 2.530412895011140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 2.312190201446633e-7, + c: 1.786096555237959e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.953739766695070e-7, + c: -2.109622324944310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.682561114579653e-7, + c: -9.680912331822157e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.675117819304057e-7, + c: 8.068150089306638e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.259986273279386e-7, + c: 2.382270193653488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.514999101664074e-7, + c: -8.263106565982377e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 2.568080422473982e-7, + c: 3.976979758559900e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: -2.350908878597102e-7, + c: -1.028826055334095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 2.460728354000352e-7, + c: -6.801942665223717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.110246130295856e-8, + c: 2.349570266284918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 2.414723145859755e-7, + c: 6.581708344613687e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.329194988301220e-7, + c: 6.603011634499616e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -2.322521856454216e-7, + c: -6.571575140537171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 0, 4, 0, 0, 0, 0], + }, + Term { + s: -2.163470236219718e-7, + c: 1.013637727830506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.121300312862809e-7, + c: 2.080346401882315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 1.395762295077797e-7, + c: 1.876781635773572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.465816434808462e-8, + c: -2.278050192454554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.334063060072024e-8, + c: -2.117932810048887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.803059828064326e-7, + c: 1.407149185106968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.856534180432548e-7, + c: 1.318958110899247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0], + }, + Term { + s: -1.980354202830793e-7, + c: -1.016776566165369e-7, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.826892838717898e-8, + c: -2.202894008622615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 2.146038588702657e-7, + c: 3.373818837730542e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.408305822015699e-7, + c: -1.614143242618735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.191255871534881e-7, + c: 1.713702472064395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.448106484506527e-7, + c: -1.454113346371706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.947258461461238e-7, + c: 6.078823984069649e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 1.804480467256924e-7, + c: 4.555733426916868e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 1.579718559181969e-7, + c: -9.398246983686472e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0], + }, + Term { + s: -1.788228036260752e-7, + c: 2.263985947409354e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 7.339333259416247e-8, + c: 1.630171727252144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.763249183723624e-7, + c: 1.440089107662207e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.529530754688734e-7, + c: 8.767286019585831e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 1.634993739194499e-7, + c: 2.435842227378860e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: 1.269513019872307e-7, + c: -1.035647626191294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.480278858383525e-7, + c: 6.334929340550291e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 5.427115375656441e-8, + c: 1.513396270679938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.570689355614450e-7, + c: -2.379851784271565e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 9.125500493890944e-8, + c: -1.297472418236276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.568258024614540e-7, + c: -2.370884979700584e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: -1.542197237860508e-7, + c: 3.580855309639858e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.522920224617236e-7, + c: -3.800597019182213e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -6.037293897587948e-8, + c: -1.432456862126589e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 1.772030118649777e-8, + c: 1.520115015426789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.490083457134228e-7, + c: -3.052465502570064e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.565367051283696e-8, + c: -1.248599624472625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0], + }, + Term { + s: 1.407448435490989e-7, + c: 5.449809540017310e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.807146939593260e-8, + c: 1.471323297216283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.195575429725212e-7, + c: 8.442838561752870e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.335231653547276e-7, + c: -5.513246475766405e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.265564685734118e-8, + c: -1.345111489667259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.364290124262180e-8, + c: 1.417177570575375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -6.749431625395405e-8, + c: -1.252215421076187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.396453696976542e-7, + c: 2.599203239561425e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.144052785120945e-7, + c: -8.282591057384502e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.379765707094216e-7, + c: -2.236850396286879e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 1.289191613187282e-7, + c: 4.012778205976292e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: 7.854919497673038e-8, + c: -1.091031581925560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0], + }, + Term { + s: -1.190345347622245e-7, + c: 5.769937015105494e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 7.594887124680241e-8, + c: 1.082719899887676e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.256487022026348e-8, + c: 9.015679041519599e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 6.183399433737181e-8, + c: 1.130822909372185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.896698889518303e-8, + c: 1.187317139762050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.188417853518292e-7, + c: -4.842643892698551e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.118165934329319e-7, + c: -5.769729820954608e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.619763171410050e-8, + c: -9.160979206315119e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.404382715890305e-8, + c: -8.331524667250571e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -9.432469566087914e-8, + c: 8.278091602772349e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.226055299487404e-7, + c: -2.630814672490901e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: 1.199022373775890e-7, + c: -2.401811661280363e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 8.433162376670979e-8, + c: -8.752837744002914e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -3.995029431368593e-9, + c: -1.207710531686643e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.325432413905903e-8, + c: -1.192349166890742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.044324556714664e-7, + c: -5.425721849785640e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -5.588530424732344e-8, + c: 1.020147886624150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0], + }, + Term { + s: 8.666627760933991e-8, + c: -7.666740620978412e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.710008193808008e-8, + c: -7.256707884584195e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -4.705780463794482e-8, + c: 1.024315302686374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.910635857093585e-11, + c: -1.114156096407979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.097933839162914e-7, + c: -1.821244032844415e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -1.180095935867731e-8, + c: -1.087526975813978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -3.702269744165682e-8, + c: -1.019789702117205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.703747726009974e-9, + c: 1.057999810696859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.043438472834471e-7, + c: 1.492442207212143e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: -9.004077415414129e-8, + c: -5.463393012579661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -3.118157930168212e-8, + c: 9.849712853534186e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.183671938733187e-8, + c: -9.311590101778123e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.047976929474892e-8, + c: 1.009245175871356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.792900223232500e-8, + c: 2.547644922577347e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.238823598931008e-8, + c: -9.163937940002480e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 3, 1, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 1.419730959582273e-5, + c: -3.204312992922654e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.438887296353443e-5, + c: 3.185193441259236e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.609975761323647e-5, + c: -1.618664404833514e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.214704557549878e-5, + c: 1.629162045947616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.664689165570098e-6, + c: 1.930990742488545e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 8.380609594950018e-6, + c: -1.890292345694952e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.077874014178153e-5, + c: 1.178705413263308e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.313920004336850e-5, + c: -9.915369909451866e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.882483707563182e-6, + c: -3.476341293979344e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.792606785578668e-6, + c: -2.173639081373446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.888204643329684e-6, + c: 1.661703333621050e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.983452890947744e-6, + c: -2.641407984253799e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.970535727630225e-6, + c: 2.435694123703113e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.008699692017561e-6, + c: -6.159420466769500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.225122363874771e-6, + c: 2.531438133225401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.316721445848406e-6, + c: -1.151892032289049e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 8.146805364749036e-7, + c: -1.222485879151239e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.894555999766341e-7, + c: 9.018417214716197e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.859637731142754e-7, + c: -9.020473312993622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.179075311399534e-7, + c: 5.158287071562712e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 5.520617005684087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.507741594156546e-7, + c: -3.223260217934382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.590938076421190e-7, + c: 3.840096655050608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.290645095550291e-7, + c: -3.963287168065643e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.566785074321219e-7, + c: 2.903941481340135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.075915467297094e-7, + c: -3.139490693291251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.709083364406483e-7, + c: -5.216269034661269e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.364849886657571e-7, + c: -1.504824088418740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -3.286129489063058e-7, + c: 1.501060229021381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 1.605089824111607e-7, + c: -3.230986987861157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.255481470958981e-7, + c: -1.486399742554265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -3.261209363410650e-7, + c: 1.239193280248129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.245030284936443e-7, + c: -7.711552202853657e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.200614497956331e-7, + c: 8.804420095417051e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.779087408510454e-7, + c: -1.808204038578408e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.319184196741100e-7, + c: -3.015237433121049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -3.186251556924909e-7, + c: -3.635597485996085e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.480837180174748e-7, + c: 2.741699192614916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.799691829703202e-7, + c: -1.346693702541329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.085908692727824e-7, + c: 3.986170296113189e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 9.304934470801260e-8, + c: -2.749033254478373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.709966069882423e-7, + c: -2.287967347822832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.723777409052990e-7, + c: 3.104503084472594e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.043682379773899e-7, + c: 1.707580165745978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 2.407355509287953e-7, + c: -8.872537474601329e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.607147977575572e-7, + c: 1.950756451787487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.423476736013231e-7, + c: -3.684394594324569e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.775229656679730e-9, + c: 2.418290383743633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.092962823831569e-7, + c: 9.590982219361100e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 2.146014672728845e-7, + c: 8.322119456180292e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.015654586806659e-7, + c: -8.988000497510388e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -8.408804133028305e-8, + c: 1.858301917871891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.904887760096286e-8, + c: -1.858573352318189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.363852618818858e-8, + c: -1.854587282454775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 6.951846015292632e-8, + c: -1.704110727405165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.296951101383198e-7, + c: 1.155398998226851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -8.286186848949231e-8, + c: 1.493188410961987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.139451238584331e-7, + c: -1.188008839974010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.909960749451473e-8, + c: 1.389618992540847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, -1, 3, 0, 0, 0, 0], + }, + Term { + s: -3.751932610949488e-8, + c: -1.476463226662555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.393880481887364e-8, + c: 1.412854233880706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.341150632083806e-8, + c: 1.263193312939887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 8.604925012195897e-8, + c: -1.056012405691654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 5.525389547960951e-8, + c: -1.228170457171817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.308202547333811e-7, + c: 3.048555568489305e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.056292373440390e-7, + c: -7.319143565062291e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.269034989320681e-7, + c: -2.918453271923970e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.074468551616427e-7, + c: -6.474391237420624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -1.064597246906738e-7, + c: 6.462935110666880e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 1, 0, 0, 0, 0], + }, + Term { + s: -1.231011408696777e-7, + c: 5.636492446391146e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -5.391855747278820e-8, + c: -1.079241847043200e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.094700382742434e-7, + c: 5.027592183485033e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.482049924041693e-8, + c: 1.114895010399455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -4.192857826409686e-8, + c: -1.111413108029945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.144652587703566e-7, + c: 3.602573387469188e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -8.994939432706198e-8, + c: 7.011532233581363e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 7.312919162996237e-8, + c: 8.438712610723335e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.046287924660860e-8, + c: 1.015264364717443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 5.791874902274031e-8, + c: 9.198538476528420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.139881187517145e-8, + c: 7.643070099147188e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 4.814427670975698e-8, + c: -8.838308731984637e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 1, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 4.070130228937628e-6, + c: 2.595967791724274e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.032314681203516e-6, + c: -2.645503553796695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.441432456429144e-6, + c: -1.610309564706913e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.406983403094350e-6, + c: 1.514444537191977e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.984072236025989e-7, + c: -7.063191777465100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 6.679099353482313e-7, + c: 3.469959368201927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.888377581747595e-7, + c: -4.100683223759026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -5.201438190779517e-7, + c: 3.065613797738474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.998171998410812e-7, + c: 2.663129450145804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.625448824481904e-7, + c: 1.409667641968162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.511235166176020e-7, + c: -2.665915171406005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 6.456763301929755e-8, + c: -2.955270687878887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.216836383330658e-7, + c: -1.933176786174138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.214276194954425e-7, + c: 1.929953122199312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.307416047201674e-7, + c: -1.683520686958023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.424666747246620e-8, + c: -8.414311911419310e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.337245398571419e-8, + c: 7.979376665318852e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 4.932558964544313e-8, + c: 9.256024706913683e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 1, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 3.504993320207476e-7, + c: -3.658129250387847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.414443409052295e-7, + c: 3.724883384086140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.152242236295664e-7, + c: -2.204738800464466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.973279360600110e-7, + c: 2.217457199564374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.311897933164000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.014690462797575e-2, + c: -5.688041401364499e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 4.417132164176055e-3, + c: 7.045195911201201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.293565823748688e-4, + c: 1.727288348982847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.111704882609788e-4, + c: 6.682748202172926e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 2.112914113346390e-4, + c: -5.392251616353442e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.627161218466769e-4, + c: 4.238846201502652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 8.872165111739010e-5, + c: 2.139272500059055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -4.201466259675198e-6, + c: -5.361731085270463e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.662019574830729e-5, + c: 3.291310927365163e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -3.125250182417247e-5, + c: 3.455918334388146e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.796442160384549e-5, + c: 1.030656888205716e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 3.322119845305415e-5, + c: -6.060689201300410e-12, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.147337786912443e-5, + c: 1.768577188954487e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.275211341606973e-5, + c: 1.284577025007215e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.182454529838928e-5, + c: 4.971254880181301e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -2.213486377990007e-5, + c: 1.228336815326300e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.856431868304301e-5, + c: 5.052346665455549e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -4.106150902736598e-6, + c: 1.687226402347856e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.659407821187764e-5, + c: -9.379666523961533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.397262427212505e-5, + c: 1.233610241623096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -1.255149891129686e-5, + c: -1.930804453094497e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.246905900882537e-5, + c: -2.001877243947378e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.050090429817198e-5, + c: -5.734548000478843e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.123762522250897e-6, + c: 9.424924584576555e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.743919223989256e-6, + c: 8.629745916027282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.681291446004829e-6, + c: 2.434356796948567e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 2.106090294482753e-6, + c: -6.531044991217541e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.596810744057060e-6, + c: 1.015119777493037e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.582114819535596e-6, + c: 6.506751292905360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 6.367225118640127e-6, + c: 1.024296684586188e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 6.068969729852524e-6, + c: 9.093668340039759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 5.234973418711726e-6, + c: 1.044657075532984e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.253018245723476e-6, + c: 9.478362723734954e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 4.793149495468458e-6, + c: 2.727998513792551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.653125846462579e-6, + c: 2.522745216184731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.776540820813225e-6, + c: -6.006128869042973e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.560917449218839e-6, + c: 3.826493506300084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -3.317467862279158e-6, + c: 4.262887585371056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.108466741160818e-6, + c: 3.858066486446652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.128727412210418e-6, + c: -1.735444250542372e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 2.924644200154206e-6, + c: 2.223381375126484e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: 2.850536644895761e-6, + c: 3.955762692982650e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.836298349201887e-6, + c: 1.045994561245186e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.390200423508125e-6, + c: 2.068866505473366e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -16, 9, 0, 0, 0, 0], + }, + Term { + s: -5.420223129420613e-7, + c: -2.185114418900434e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.040299342383281e-6, + c: 1.992435478239980e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.517680358321915e-7, + c: -2.109473656035109e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.174875968057249e-6, + c: -7.420315534975612e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.051139815305532e-6, + c: 2.348791785763381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -1.628650352358818e-6, + c: -1.196574885398149e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, -2, 7, 0, 0, 0, 0], + }, + Term { + s: -6.024977907121051e-7, + c: -1.874804364881982e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -1.837633295313529e-6, + c: -2.947253081630115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 1.819139869152127e-6, + c: 3.013407874844875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: -5.022916517422049e-7, + c: 1.694774604348301e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.656975789636522e-6, + c: -1.194374863187528e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: 1.375174319497081e-6, + c: -8.784048106791842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.653492383703449e-7, + c: -1.380621167447033e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.380759309802979e-6, + c: 4.119191540987631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: 5.474559522874947e-7, + c: -1.199799445331666e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.167977754298157e-6, + c: -5.026417269978957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.222966235450885e-6, + c: 1.468579725406918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 1.213594154208097e-6, + c: -2.057885975770900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.223789436466604e-6, + c: 1.384408330613686e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.065327782859415e-7, + c: -1.061022778203757e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.103147636158029e-6, + c: -2.163195859079909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.096479546702159e-6, + c: 2.264765821906890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.042550877639804e-6, + c: 3.293082078144451e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.047813536283016e-6, + c: 9.564089586972215e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.964466767154559e-7, + c: -1.443064623773233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0], + }, + Term { + s: -9.558180422621953e-7, + c: 4.561199437464064e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.554792993670922e-7, + c: -5.009706751023310e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 9.503580519149012e-7, + c: -2.518176470405116e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: -9.413802300052590e-7, + c: -7.425556066972126e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 4.998715606114166e-7, + c: -7.740791257240895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.614721328834819e-7, + c: -7.237720704416932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 8.834879903165564e-7, + c: 1.611384789950419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -8.338023726982098e-7, + c: -1.521827364395428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 7.549632912616716e-7, + c: 1.658139814005540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -1.701585474477203e-7, + c: 7.413785910315758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.390894869762713e-7, + c: -7.198523658877300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 7.441982331991198e-7, + c: 9.279383734051095e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 5.049487117374511e-7, + c: -4.698366533068835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.856875935674187e-7, + c: -3.864144465502278e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 6.608232669429172e-7, + c: 1.376600854247799e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -6.326228377019492e-7, + c: -2.387405180176400e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 1.267959034487917e-7, + c: -5.661470485406012e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.567631772969385e-7, + c: 3.462564684379443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.346057815404838e-7, + c: 1.961963461430393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -5.592902420515255e-7, + c: 4.982693771562097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.244538005371590e-7, + c: -5.417785687452109e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 5.499067209102087e-7, + c: -2.774778105319556e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: 5.008312827311221e-7, + c: 9.895217183024468e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -5.067304740281597e-7, + c: 3.678128628523503e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -5.769254013823056e-8, + c: -4.833821870510545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.727454928317852e-7, + c: -9.908998756896416e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.822462285870417e-7, + c: 6.244564238138687e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 4.586538824279456e-7, + c: 5.888544403043418e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -4.476747963910284e-7, + c: -2.662979805353297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -4.260696079457469e-7, + c: 1.779088552088983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: -4.087121217356090e-7, + c: 1.942280547291906e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 2.084111117780745e-7, + c: 3.472494519187791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -2.463993301306149e-7, + c: -3.140768625886576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.612332042074415e-7, + c: -3.308780847392438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.375931966117193e-7, + c: -2.024510058205237e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.250448871459108e-7, + c: 2.509561448876600e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.202336120904000e-7, + c: -2.540963737369700e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0], + }, + Term { + s: -2.131841876625254e-7, + c: 2.375568282777212e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.136015134278789e-7, + c: 1.948132598382842e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: 3.041454763802540e-7, + c: 6.417939472677193e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 2.849971766508410e-7, + c: 3.742615912145015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: -5.995528033613145e-9, + c: -2.775930015767446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -2.680025103079590e-7, + c: -5.398979883628394e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.269372816449150e-8, + c: 2.672228360135121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -2.006788035941054e-7, + c: -1.772189538225733e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: 2.423674900932299e-7, + c: 1.077569702418710e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.628951608696294e-7, + c: 2.434897642180414e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.550401171542311e-7, + c: -2.594538003557494e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 2.546239088670964e-7, + c: 8.758458465294781e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 2.407537148389847e-7, + c: 3.393575196541477e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.343788657359466e-7, + c: -6.401667352870149e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.232571783160503e-8, + c: 2.372099224885760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.370971196590556e-7, + c: -1.255381589828904e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.285277993231530e-7, + c: -3.857361978397032e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: 2.246642581491088e-7, + c: 3.542719656790708e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.184176287824536e-7, + c: 5.220923219145538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 2.118289150596929e-7, + c: -5.962241240045533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.414459029892301e-7, + c: -1.596569046697904e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.103332277086480e-7, + c: -2.996721343941415e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0], + }, + Term { + s: -2.076031989068853e-7, + c: -2.358516907773791e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.786508024956256e-7, + c: -9.356776059823973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.317197840181520e-8, + c: 2.008477146859898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.720513079535492e-7, + c: 1.043790697621971e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.234918886711852e-8, + c: 1.830673379117477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.945763431779615e-8, + c: -1.995031211202637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.915777887835384e-7, + c: 4.264374462720640e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: -8.695710639639570e-8, + c: -1.694437625555349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.873472933668168e-7, + c: -2.126094305815332e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0], + }, + Term { + s: -4.700582999133431e-8, + c: -1.754630383041820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 1.780465777704056e-7, + c: 2.378535827633905e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: -1.783234777699048e-7, + c: -1.604469493540633e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -1.782007721072593e-7, + c: 1.169661801482117e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.709153616184159e-7, + c: 9.629168918162286e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.667060925360514e-7, + c: 9.277498117738471e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 1.619092655689989e-7, + c: 9.211218096529015e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.613390353566680e-7, + c: -4.671103206408072e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: 6.475132374921580e-8, + c: 1.473993410086163e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.586934785988189e-7, + c: -3.363102150208770e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.579474938180929e-7, + c: 8.703491926755046e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -6.605897630505348e-8, + c: 1.428565930201254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.473277365726205e-7, + c: 3.675549439456319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.413672934681651e-7, + c: -1.551497368219796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.209708906429518e-7, + c: 5.961426305526385e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.275347606256576e-7, + c: 4.332489058428446e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.027908285480649e-7, + c: -8.642382519247784e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.362511229436724e-8, + c: 1.118362328084331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202029645634861e-7, + c: -5.648101367674234e-8, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.231618396473880e-7, + c: 2.866964785224320e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: -2.804435236201751e-8, + c: 1.192421750858415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.548132446187411e-8, + c: -9.171151868358418e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.033373298038403e-8, + c: -1.135556939252010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.988656937368694e-8, + c: -5.699175911906473e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.131149330941585e-7, + c: -4.287617492261902e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.116254294761565e-7, + c: 1.509971859780382e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 5.048434836206499e-8, + c: -9.961414996942189e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: -1.115068989403722e-7, + c: -3.738109178848158e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: 7.396706363191728e-8, + c: 8.249732638835442e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.068368838413045e-7, + c: 2.785106976154151e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: 1.099619212103152e-7, + c: -1.684841089741832e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0], + }, + Term { + s: 1.093973193537380e-7, + c: -1.072452533333871e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.028202570188060e-8, + c: 7.847063485560551e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.167225513897675e-8, + c: -6.347704979404414e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.835479471342916e-8, + c: 3.196844376028916e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.012941897347567e-7, + c: 1.568340245724225e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 1.009073352398080e-7, + c: 1.575316286002940e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 1, 0, 0, 0, 0], + }, + Term { + s: 9.502509568516742e-8, + c: 3.535142681734350e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0], + }, + Term { + s: -2.239189734338101e-8, + c: 9.850576701636907e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 3.813297222612500e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.565273078954130e-5, + c: 1.584873111604001e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.162700606896971e-6, + c: 1.218004048688237e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 5.062549319635583e-6, + c: -9.764162374264616e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.190131508109039e-6, + c: 3.700790832967303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.418935124846984e-6, + c: -4.867624844736978e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.434223052515738e-6, + c: -4.831612808805407e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.438848650761642e-7, + c: 2.557225056305334e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -7.317229718362424e-7, + c: 2.467670351000589e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.744180407334990e-7, + c: -1.175994374797512e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.072203595197710e-7, + c: 9.418290804656498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 8.031378046972357e-7, + c: 5.895912732360562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.981531580515057e-7, + c: 6.080791197864738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.480280140114425e-7, + c: 7.344991533591289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 6.341582787847166e-7, + c: -2.486461699302432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.093272495623147e-7, + c: -3.458253799032134e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -4.687886651734229e-7, + c: -3.052107268979671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.428760544324171e-7, + c: -4.947886064859396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.036157032997631e-8, + c: 4.145624623279908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.488759971302891e-7, + c: -1.686808404248020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.038864333333034e-7, + c: -3.556817675959921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.014549781090328e-7, + c: -3.453845431134128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -3.236347515074545e-7, + c: -4.096071373754223e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.772602419345101e-7, + c: -1.461003568501468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.273567806248997e-7, + c: 1.369531866505486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -4.179587587064870e-8, + c: 2.201885123264322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 1.641220270487024e-7, + c: 1.213929097991816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -5.691557235245723e-8, + c: 1.830112913497954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.658152028641252e-7, + c: 1.999430225844560e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.265352021713709e-8, + c: 1.256222638456311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.128125677625407e-7, + c: 5.781351084257631e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.642922680829629e-8, + c: 8.093746212930785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.005276164009852e-8, + c: -1.172161780317277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.027980466288045e-7, + c: 5.429740784191036e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 9.576950224544585e-8, + c: -6.032787528846404e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -7.297488787449476e-8, + c: -8.379955684581587e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.036914280036672e-7, + c: 3.801385096669836e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -4.737114478812449e-8, + c: 9.659353252094500e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.895115172080237e-8, + c: 1.037014659871977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: -2.160427418719332e-9, + c: -1.045287803210911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -1, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 3.941236375689926e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.631644350338552e-7, + c: -2.932508877305411e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.563580959271284e-7, + c: 4.237877667699795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 9.482474680827347e-7, + c: 4.283142129649044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.083792998493853e-7, + c: -5.055587300856756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.819233112059569e-9, + c: -6.601332036789947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -5.019297949740564e-7, + c: -2.253115023058261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.850018560676114e-7, + c: -2.150679052700395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.417059463119932e-7, + c: 3.124181361610628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.867726842691618e-9, + c: 3.390086674328735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.097214126647490e-8, + c: -2.085723247505062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 4.527706380515463e-8, + c: 1.466267499131538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -1.092087521499941e-7, + c: 5.915249273909928e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.445534562834060e-8, + c: -6.340106016652151e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 6.317732137295612e-8, + c: -8.104315937158060e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.036528452219175e-8, + c: -8.757582264303420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: -3.415492570837751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.029595918750952e-7, + c: 1.153001627639895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -7.748586139533886e-8, + c: 1.214755329502370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -7.875204743274223e-8, + c: 1.200470600021582e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -1, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.998838194000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.195908189204994e-6, + c: 3.438127013876512e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340140117574077e-8, + c: 1.362288518758392e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -3.118114523786671e-7, + c: 1.310430241551439e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.529063164571739e-7, + c: 7.615079638701425e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.003665747169621e-6, + c: 5.986634451756896e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -6.729681621770766e-8, + c: 3.408085136137868e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.115252354663685e-5, + c: 1.614730533248087e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.265858140071098e-5, + c: 1.582161283707438e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -2.085142008259754e-8, + c: 8.680654557907471e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.139655856887869e-7, + c: -6.842664640819570e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.472916589985499e-5, + c: 5.774912556734455e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.225576799361271e-5, + c: -3.275572856147954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.721758111088190e-8, + c: -2.533289197778165e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 6.313942013248231e-9, + c: 2.501595878635208e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.166194365594856e-8, + c: 2.367399611639770e-5, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.422469292069709e-5, + c: 1.350875779196234e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.642142584649121e-5, + c: -7.064603748716993e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.655688902082871e-5, + c: -1.281294669528437e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.693084238453729e-7, + c: 1.335386779258940e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.250586565326062e-7, + c: -1.327822190097791e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.105087926520823e-6, + c: 1.234877586955676e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 4.956487813647468e-8, + c: -1.203323613273574e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 1.192483811581018e-6, + c: -1.139346670264192e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -1.500241643454875e-6, + c: 9.765830761213051e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.579245771796964e-6, + c: -9.717700367278163e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.001197938482232e-6, + c: 3.103036464380810e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.818992388575800e-7, + c: -9.516850133594796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 4.350039716021529e-6, + c: 7.975239883583870e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.647259355975709e-10, + c: 8.437012005474115e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.126974463901731e-9, + c: 7.948005648753748e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.760002262270268e-8, + c: -6.294199071324676e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: 8.288027770020731e-7, + c: -5.394714923419012e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.037876595285551e-7, + c: 5.261217511383726e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.566573866684900e-6, + c: -3.125101441625552e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.233005176063808e-7, + c: -4.531202965154502e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 3.676110530948301e-7, + c: -4.438143548860009e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -4.056538569002343e-6, + c: -1.836014184547893e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.092496343992304e-7, + c: 3.791152634296698e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -5.716017947630460e-7, + c: 3.714190881037351e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 5.953775096532355e-7, + c: -3.706765657652431e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.528143030205078e-7, + c: -3.673915458665391e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.921147394957350e-7, + c: -3.458803340652394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.701325141488182e-7, + c: 3.459412689946171e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.522415911471602e-8, + c: -3.451194480922379e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 1.520893592091944e-6, + c: 2.710089430921729e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.075912423013454e-7, + c: 2.697847386310773e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.470073527258230e-6, + c: 9.151672737234729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -3.294719381501918e-7, + c: -2.570433651098917e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.295595149957667e-7, + c: 2.283525949545471e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.689787419357391e-7, + c: -2.396722187618865e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -4.630398706832768e-7, + c: -2.378951682561204e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -3.791062478624019e-7, + c: 2.356319969530583e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.928043550526492e-7, + c: -2.364378081129664e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -7.694674580615187e-9, + c: -2.328161677890663e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.639930792840980e-8, + c: 2.149093593966078e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.168083278492958e-10, + c: 2.138924167564811e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.022705492444334e-9, + c: -1.945816549663811e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 1.654288643938581e-6, + c: -5.547745709810944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.923314381836292e-10, + c: -1.698187471179663e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 5.614576711742180e-8, + c: 1.659135810518212e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.886309066270532e-7, + c: -1.515575423036384e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -2.219309468105226e-7, + c: 1.521390375106781e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.765857959703131e-7, + c: -1.355506274286182e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 2.370720904932991e-8, + c: -1.364623015025286e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: -1.294695942757627e-6, + c: -3.866238568244181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.222262701424590e-7, + c: -1.338301867043808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.095226787123929e-10, + c: 1.309872680815026e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.642631874123566e-9, + c: -1.255877610826212e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 3.977427797027238e-9, + c: -1.116834586520184e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: -1.496971975825001e-7, + c: 1.078544584144055e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -2.558421135417046e-7, + c: 1.057314047274093e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -8.999075058652829e-7, + c: -6.085284193954647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 9.225860414894652e-8, + c: -1.074633201192591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.837712992087074e-7, + c: 8.925642323374184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562829182086078e-7, + c: 9.217586708353769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.901418617468192e-7, + c: -8.751135587769281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.594315895661116e-9, + c: -8.484312516230415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 9.581356853951465e-10, + c: 8.307231650980897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.099638950005624e-7, + c: -8.115171421129519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: -6.929294585549523e-7, + c: -3.797573403723475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 4.260198720467376e-9, + c: 7.714034100467089e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.501550621306597e-8, + c: -7.315083548872663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.756681917641394e-10, + c: 7.298921055327667e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.344752440213474e-9, + c: 7.157322947582743e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.925194028548960e-7, + c: 3.808714402022628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.552294984826259e-7, + c: -2.024127155701958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -8.607830447444985e-8, + c: 6.647821817427036e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.760390810063202e-9, + c: -6.488485896809460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -7.636086151151505e-8, + c: -6.350510872001394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.285629156260855e-7, + c: -6.145605109724725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: -1.203652730228194e-7, + c: 6.026332699188781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -4.648541430664945e-9, + c: -6.104281727025427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: -1.811425602954305e-7, + c: -5.743407386079757e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.163394256515239e-7, + c: 5.900732672058277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.838912772714540e-7, + c: 1.335056097143675e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.006071249047633e-8, + c: 5.895742248872622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.247454997007922e-8, + c: -5.724838849559461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -5.429681381015484e-8, + c: 5.630865408018263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.361454936269519e-9, + c: -5.507198789589619e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 7.572393007269510e-8, + c: 5.421771000131453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.553143427122034e-7, + c: 3.823758245245360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.945141171483821e-8, + c: -4.973551032008099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: 9.965979031674842e-8, + c: -4.743712772709179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -4.631488684564625e-7, + c: -1.375098160253012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.254622442642684e-7, + c: 9.774659923936085e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.336102014765777e-7, + c: 3.965855664629034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 4.073150647435022e-7, + c: -9.367468672084683e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.432743818742066e-8, + c: 4.064815329280831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.905141702660656e-8, + c: 4.092812769543767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.024065465904391e-8, + c: 4.158210802470576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: 1.779357889779414e-9, + c: -4.153841552525928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 5.979607337508515e-10, + c: -3.802000131009131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: 4.848522369336507e-8, + c: 3.633274181124297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.024674952697741e-8, + c: -3.568983677926170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.139315967752900e-8, + c: -3.525135148130382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -1.533976715213346e-7, + c: -3.168851850738844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.416216986896117e-9, + c: -3.505523136945781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: 1.376251585614371e-7, + c: 3.203154846602893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.084311628989914e-8, + c: 3.424840380715915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.533151308837231e-8, + c: -3.350006810666249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: -3.137372026480911e-7, + c: 1.355972640431476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.253420627136923e-7, + c: -8.693484367453084e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -3.176267166371813e-7, + c: 8.683415425303603e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 4.417586064589986e-8, + c: -3.089894611479667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: 2.067428977895105e-7, + c: -2.172108731926077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -2.669449734640648e-7, + c: -2.801084440247649e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.416132963441780e-8, + c: -2.664663858435961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.465765885658092e-8, + c: -2.642474363667429e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 2.135261963401386e-7, + c: 1.378861782981873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.811476848055832e-8, + c: 2.513844917355034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.323580182007559e-7, + c: 5.034085318856518e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.921781884230578e-8, + c: 2.356800313457414e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -2.111737819002202e-7, + c: -1.053972142838537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.990860421077533e-7, + c: -1.138095012995654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 1.997226003609098e-8, + c: 2.272923013020820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.516281790372075e-7, + c: 1.653720802087468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.952272751250884e-11, + c: -2.241587501337456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: 7.736797626496609e-10, + c: -2.211776700313866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: -5.367778728856405e-8, + c: 2.019955486464579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 4.804972605306139e-8, + c: -2.019506108815617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: -8.097879609253320e-8, + c: 1.823280683664554e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.818734935568763e-8, + c: -1.935642740846256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: 4.980439894218420e-8, + c: -1.848773526479444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: -1.816895642978242e-9, + c: 1.902890380397072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.850979578170447e-8, + c: 1.778597228634159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.822552953997232e-7, + c: 1.717759029138397e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.556516564392180e-8, + c: -1.705001181730922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: 1.218145958453020e-7, + c: 1.281615433644703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.690142778755155e-7, + c: -2.148030369257517e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.671170932046605e-7, + c: 2.732802713908192e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.286985227358821e-9, + c: -1.671357973903708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0], + }, + Term { + s: 1.553046530416995e-7, + c: -5.142255236989671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.481003539628274e-7, + c: 6.577951580965756e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.200601737369840e-7, + c: -1.062038501463153e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.110008147670555e-8, + c: 1.357901883228949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.524945612860891e-7, + c: 9.754859210371306e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.060302765311545e-7, + c: 1.097596709192826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.222040390419174e-9, + c: 1.509684878448382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.749073424781100e-8, + c: -1.492496124006468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.395356061626638e-7, + c: 5.502282266394374e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.418778142287337e-7, + c: 3.184851968986480e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.760236409257904e-8, + c: -1.409206638683142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.873801841384481e-8, + c: 1.412120789308873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.365600925455779e-7, + c: -3.136716734738537e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.812840881755677e-8, + c: 1.367023750303206e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: 3.710456223909657e-10, + c: -1.389596442275756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: 3.161685218261301e-8, + c: -1.342977259842167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.374206302682240e-7, + c: 7.089100473761051e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -2.149760144719734e-10, + c: -1.327523903711425e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 3.174604017891267e-8, + c: -1.274153002540379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: -1.652867555022297e-8, + c: 1.298031361973458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 3.661779650315457e-8, + c: -1.216077953269957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 1.800341538034406e-8, + c: -1.218866919884915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: -1.122919613778503e-7, + c: -5.056735836422595e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.087639859391787e-7, + c: -5.097416457045681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.099047683964061e-7, + c: 4.685482829815997e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.475537041729254e-8, + c: -9.038343113745346e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.059463434256760e-7, + c: -4.776270336115834e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.519160748389844e-8, + c: 7.629424043903813e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 8.938181614173047e-8, + c: -7.024384539147893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -2.391963397121356e-9, + c: 1.134096235210294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0], + }, + Term { + s: 1.225427332438416e-9, + c: -1.109291301654056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -8.012267359865405e-8, + c: 7.164887207676613e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -3.423968576998147e-8, + c: 9.942475841412746e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.834252839854405e-9, + c: -1.020093954834980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.954005406295552e-8, + c: 9.965535680681655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 8.830856821251260e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.460455402610619e-6, + c: 3.871203481126349e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.915368834089489e-6, + c: -4.087760970515545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.787210046119481e-6, + c: -1.103207124542714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.764447466610504e-6, + c: 1.121245531765084e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.665880098355188e-6, + c: 1.383475201510909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.483384054900918e-6, + c: -5.266271566611919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 2.091499020423587e-6, + c: 6.082707704537607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.032006133504809e-6, + c: -5.974211305851457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.135670954082248e-6, + c: -1.623775779678568e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.441016602672386e-6, + c: -4.201013504215001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.436256072115082e-6, + c: 4.264551072927613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 9.294577048467308e-7, + c: 2.701051864929707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -9.131864633082409e-7, + c: -2.707600841309488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.930018028051488e-7, + c: 2.087619722978650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.714225913654328e-7, + c: 3.858931096270346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.085079086297941e-7, + c: -4.933430669292783e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.877063897851733e-7, + c: 5.052320113802888e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.698129797073993e-8, + c: 4.795551580274729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.333600880349956e-7, + c: -3.582175280610140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.781242130518652e-7, + c: -1.854563587642397e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.714871610798721e-7, + c: -1.209827084216469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 3.120720056122225e-7, + c: 7.297721482477611e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.326148538112722e-7, + c: 2.747617438871315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.222662250355646e-8, + c: -2.592664415245726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.761935170136910e-7, + c: 1.432092478733277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.089911367462189e-7, + c: -6.102918276448725e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.071977064651983e-7, + c: 6.080409762229834e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.081859548596713e-7, + c: 4.208112091529915e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.092187822887751e-8, + c: 1.889618786752733e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.860056409646152e-7, + c: -8.358919465556565e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.799426472392969e-7, + c: 3.338891693432440e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -1.756380540078606e-7, + c: -1.417846375522579e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 8.350671204463923e-8, + c: -1.280980668988950e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.353829208401052e-7, + c: -6.655915762601813e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.434231555055268e-8, + c: -1.305947289612529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 7.593548698149227e-8, + c: -1.018228959954988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -5.143735183923076e-8, + c: 1.088762418168138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.981762188756680e-8, + c: 1.026782524729781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.652274117676910e-8, + c: -9.911531617547711e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -1.200377573953148e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.295828129404907e-7, + c: -7.440385455622668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.341162631942251e-7, + c: 7.386585973919423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.861098906657870e-7, + c: -3.880286342279524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.037845683553706e-7, + c: 1.160142978196171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.843932689555075e-7, + c: 4.105792347788268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.765424063076134e-7, + c: -3.987552172012584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.462293248625848e-7, + c: 2.697377885883154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.254515889821538e-7, + c: -2.831435367639342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.273484489716102e-7, + c: 2.818712382952678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.872777188009697e-7, + c: -7.649430315245353e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.183167274795388e-8, + c: 1.824651983804261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.971312930622150e-7, + c: 1.404886339296927e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.958401291992368e-8, + c: -1.794938398982004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.381118373637650e-7, + c: -1.389324156938115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -9.596872808885606e-8, + c: 1.067201741876268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.235157503844485e-7, + c: -1.387775452237043e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 9.449446868516994e-8, + c: 6.027153848516302e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.349871067038578e-8, + c: -6.137900822420149e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 6.691809982000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.440371234102762e-3, + c: 2.600370896891576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.362745596816718e-3, + c: -7.316836421432354e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.310439985021585e-3, + c: -2.553482969688661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 7.608159068033625e-4, + c: 1.832195561690072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.964068464879121e-4, + c: -4.117787747356804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -3.407664708359854e-4, + c: -2.788749422610491e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.615434742743582e-4, + c: -4.120113462435257e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.576255624353831e-4, + c: -1.264798012691299e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 8.722529694334346e-5, + c: 7.523192366474330e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.857712536570073e-5, + c: 2.980702312221004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -5.769596506352083e-5, + c: 1.474361161620056e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.272514371511733e-6, + c: -4.222992750384469e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.503620980590597e-5, + c: 6.880426412186953e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 2.501305133516332e-5, + c: 6.306850010498949e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.367363499404004e-5, + c: 3.872624094429797e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.350912465045429e-5, + c: -1.422449745812264e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.212176054136219e-6, + c: 1.680944511009788e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.465018184152297e-5, + c: -8.159417524586127e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.336095447628969e-5, + c: -7.646193515987792e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.327836256942902e-5, + c: -7.256385768637671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.228347734475589e-5, + c: -2.096834515178240e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 1.182110699503861e-5, + c: 2.851388828124312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 1.134695961858660e-5, + c: 1.191371802411507e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.132629521678559e-5, + c: -2.904264975965537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -9.771823811031755e-6, + c: -1.504025657583792e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.709794232890848e-6, + c: -1.540750336921268e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.529850214970924e-6, + c: 1.929569314814695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -3.100457892979255e-6, + c: -9.004007850547344e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 7.977831437524982e-6, + c: -4.352803404175272e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.437050847864928e-6, + c: 1.720680216614042e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.948042197724186e-6, + c: -5.809867793166838e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.145957334418190e-6, + c: 8.640513037792280e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: 5.389816676511630e-6, + c: 8.278995999038796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.190539931156028e-6, + c: 8.782690461438362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.126088097011254e-6, + c: 3.563306505555752e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 4.490051914155510e-6, + c: 5.175256695946836e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 3.609178067222802e-6, + c: -1.309233661042755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.789553576700090e-6, + c: -6.145119208531539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.717882227574630e-6, + c: 5.711777831995876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.706815367252247e-6, + c: 5.952197079057020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.677368897175555e-6, + c: -4.539487883857283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.473684629458474e-6, + c: -2.261572283848369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.458654846596449e-6, + c: -1.939038039094204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.348872672520867e-6, + c: -1.528214556172987e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -2.863027430518221e-6, + c: 1.521852787307275e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.990023340752356e-6, + c: -5.412420672782135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 9.370259740580646e-7, + c: 2.471276111609787e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.568412112636424e-6, + c: 3.292015227064592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.400513326279602e-6, + c: -3.660575402975654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.378716484730150e-6, + c: -4.607810637368004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 2.344550801840394e-6, + c: 5.409551634944702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.356049284085260e-6, + c: -3.787452563174260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.335550253530938e-6, + c: 2.875803386895109e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 2.332774510033951e-6, + c: -3.120883573064220e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 2.143924671727499e-6, + c: 2.734267688024199e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.133946307851210e-6, + c: -8.443612354196384e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.874408248613397e-6, + c: -4.076565983049362e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: -1.844600260492698e-6, + c: 1.788898621972175e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -4.707137537600927e-7, + c: -1.670550207918098e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.661059723351901e-6, + c: -5.689261984496995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.521915000423655e-6, + c: -2.218068819571466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.506597254622671e-6, + c: 2.871918912723759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -3.812101958698500e-7, + c: 1.296671275401104e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.335692767604459e-6, + c: 1.724077789714970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -1.312786370354486e-6, + c: 1.314143672835500e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 1.311158199611581e-6, + c: 4.721556971659087e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.222797669392554e-6, + c: 1.527555559121661e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: -6.091624207635338e-7, + c: 9.012709321383070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.074980192471928e-6, + c: -1.497247723823525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -1.050799579078251e-6, + c: -2.544767084550097e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: 1.067129557771458e-6, + c: -5.244165258512650e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 1.036844094081740e-6, + c: 5.213675988712010e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -9.621551949406129e-7, + c: -1.769589691550710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.929173620641130e-7, + c: -3.841160334679890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.566441250637862e-7, + c: -1.621151200232137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.781567472521729e-7, + c: 1.724167115231952e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.312283121379662e-7, + c: -1.289831298263773e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -8.156530164320878e-7, + c: 2.026462379431794e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 7.977053631170006e-7, + c: 1.066984161754255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 3.805456066933019e-7, + c: -6.932280538578185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -7.732555976437759e-7, + c: 2.706074872496598e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.514464660733243e-7, + c: 1.174505506632756e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -7.320143146414600e-7, + c: 3.498589312257746e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.298954178429535e-7, + c: -3.464819806720956e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.157355931846833e-7, + c: -1.316183059007356e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.853106575164115e-7, + c: -5.935520645398411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.008392777824958e-7, + c: 6.587145445385500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.806098876681944e-7, + c: 7.773095291022220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -6.757167186122642e-7, + c: 6.072763123841476e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -6.648851758313498e-7, + c: -8.632419792397209e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -6.231188755934402e-7, + c: -3.755952838777399e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 6.093557588210216e-7, + c: 1.274176805809787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: -6.051050590878674e-7, + c: 1.169877570751147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.038903738557714e-7, + c: 1.194894610110696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 6.143993200048324e-7, + c: -5.102132458615022e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: 6.120985815193436e-7, + c: -2.779583674459342e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 5.737696862717108e-7, + c: -1.812550784230729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.334364043809055e-7, + c: 5.834957152465230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.828395889700573e-7, + c: -1.211250937205948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.895276711419336e-7, + c: 2.011408468876749e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.717042536770108e-7, + c: 5.516600293000354e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 5.302454446022501e-7, + c: -3.866537054261825e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 3.824713006635441e-7, + c: -3.554752213184772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.197153074571753e-7, + c: 1.980254001822171e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 4.875453044473204e-7, + c: 6.690535114644578e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: 4.743924135876301e-7, + c: 9.964328981728276e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 1.372046843109296e-7, + c: -4.632734450318422e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.779842426214951e-7, + c: -8.841803056544178e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 9.309870087640349e-8, + c: -4.247955625644329e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.285195959682684e-7, + c: 2.146369157462882e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -3.959784566855948e-7, + c: -1.346931720795628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -9.346442213889927e-8, + c: -4.073224836509164e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.153407424948442e-7, + c: 1.935575948932501e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -3.947110746677113e-7, + c: -9.166218919686694e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.568460336269541e-7, + c: -8.018395509513025e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.584288255842341e-7, + c: 5.824137237378854e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.564225464488876e-7, + c: -4.417876272403628e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: 3.519062308116783e-7, + c: 2.958587451890363e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -3.168975437852503e-7, + c: 1.533913626633106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -3.485797683531798e-7, + c: -9.092751741244983e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: -3.174776689788019e-7, + c: 1.369065796905416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.355491738829180e-7, + c: -3.142144195852750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 3.314727385218519e-7, + c: 7.440852235518555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: -8.293255036024822e-8, + c: -3.214547955462345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -3.219974596498293e-7, + c: 1.973844153299622e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -3.043462126823698e-7, + c: -4.432619849699677e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.019944274132558e-7, + c: 4.221758353900623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: 2.172193141395398e-7, + c: 2.067397794015726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, 0], + }, + Term { + s: 2.699953182377739e-7, + c: -9.913677828078989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.801041089162395e-8, + c: -2.669407378262289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 2.669236253114731e-7, + c: -1.162321252168930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.558394417046256e-7, + c: 7.710995720364962e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.379455987432999e-7, + c: 2.134941333370873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.463602097257191e-7, + c: -7.584890411281310e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: 2.360332092207457e-7, + c: 1.925236876999841e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -3.975719879923870e-8, + c: -2.333271394814219e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.054878555739544e-7, + c: 2.110763691724651e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.357742430350955e-8, + c: -2.277166598708404e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.141374912098503e-7, + c: -1.992036096251055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 2.247419321437971e-7, + c: -1.923125540592135e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.657799381877184e-7, + c: 1.516436423341815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 2.018162852192640e-7, + c: 5.506077877979638e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.078158540986976e-7, + c: -3.583458446631504e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: 1.995517814512914e-7, + c: 4.734494083190989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: 1.825816938681288e-7, + c: 8.131493555278806e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.963193756743864e-7, + c: 1.803171509949285e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: 1.909131512455541e-7, + c: 2.186059358872950e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885772616389200e-7, + c: 2.670030302071127e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: 1.836242655144108e-7, + c: 4.949232338821876e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: 1.779946587291525e-7, + c: -4.858257986884311e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.359416302099997e-7, + c: 1.238059404544341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.716285834610016e-8, + c: 1.821844859390815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.753668773750545e-7, + c: 2.140324176899279e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.551187399416801e-8, + c: 1.722349911338437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.676081618950111e-8, + c: -1.698939337794517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.705514641279185e-7, + c: -5.771344297567224e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: 1.677427971814760e-7, + c: -1.551290903396484e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0], + }, + Term { + s: 5.148570899107487e-8, + c: 1.549740558716028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0], + }, + Term { + s: 6.372084542230709e-8, + c: 1.484632719853950e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.063433578705181e-7, + c: -1.199332192814906e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.169872229513919e-8, + c: 1.428565953426129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.359929413230424e-7, + c: -7.116516158856195e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.104130004968792e-7, + c: 1.061906933658144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.021537529190556e-8, + c: 1.526449720969501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.511880244354411e-7, + c: 6.084358485087897e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.489653595147170e-7, + c: 1.733953752223886e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -3.184296740565896e-8, + c: 1.418798560088005e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.408613013365089e-7, + c: 2.855052176000646e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 3.137327894404384e-8, + c: 1.365607155194824e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.360706810567848e-7, + c: -2.804893447894475e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: 1.344623982656975e-7, + c: 3.180955222070655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.312758008948328e-7, + c: 2.351732002269495e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.289569899506605e-7, + c: 1.755017057586660e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 1.297083155823686e-7, + c: -6.152613196049724e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.257347740236790e-7, + c: 3.120307742353505e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: 1.216886419464864e-7, + c: 3.629718607550337e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -6, 0, 0, 0, 0], + }, + Term { + s: 1.215660235799613e-7, + c: -2.785890037536173e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: -4.978275669234089e-8, + c: 1.090126119065020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.183370528361564e-7, + c: 1.688699679671519e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: -1.183057607730806e-7, + c: 1.541188109664460e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: -4.865621414709772e-8, + c: -1.069727267010906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.011463539360230e-8, + c: -7.498606270705962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.163234803205175e-7, + c: -4.159943977047083e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: 1.007524558135325e-7, + c: -5.631725869418206e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -1.142615026813843e-7, + c: 6.789837114466134e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -7.629621257765115e-8, + c: -8.519023482599915e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -6.911694066309501e-8, + c: -8.850617072774016e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -1.960958867187813e-8, + c: -1.076075105889260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 9.512278592444195e-8, + c: -5.312323078174962e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -7.165072474669765e-8, + c: -8.012138249664210e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 9.938284068294669e-8, + c: 3.330795410986442e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.246637114360730e-8, + c: -1.000226920103225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -1.015116491929850e-7, + c: -5.704661028839934e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 7.803136248402970e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.870210886341811e-6, + c: -7.469681144639923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.083251260875028e-6, + c: 2.910121439856303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105076563558839e-6, + c: -3.789864601312995e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.113667652419243e-6, + c: -3.763158006281054e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.382110423871845e-6, + c: 2.668514754162759e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.194539454309431e-7, + c: -2.456176145013377e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -6.070311620476468e-7, + c: 2.089083603052030e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.037979648483646e-7, + c: 2.018554641698900e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.593872774719244e-6, + c: -1.157416324252154e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.199342146491852e-7, + c: 1.441287255984655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -4.263918130719716e-7, + c: 1.436282762577790e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.700318723987267e-7, + c: -9.302131471177836e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.705097005201313e-7, + c: -9.130423330196945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.086056269529573e-7, + c: -8.935403825468567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.854945793724160e-7, + c: 4.707946229424067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.937875449672485e-7, + c: 3.098470213504538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 5.054940274200497e-7, + c: -1.895251255985637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 4.809254714382354e-7, + c: -2.697654563498495e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.585328818518131e-7, + c: -2.332276456304164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.856246584448007e-7, + c: -3.782973812686516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.195714120235281e-7, + c: -3.676537138578833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -7.271598980488451e-8, + c: 3.120770297938981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.745432142706176e-7, + c: -1.324939765093085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.489783412529010e-7, + c: -1.292862868632915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.446958128407052e-7, + c: -1.762025634717129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.106571789601611e-8, + c: 2.088568925080480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.078761703391895e-8, + c: 2.072022485316600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -4.209076176765563e-8, + c: -2.082059550200202e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.798538580284775e-7, + c: 6.546615245771095e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.906424758426611e-7, + c: 9.734322089629567e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.285642470558062e-8, + c: 1.777793139881505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.281575353755800e-7, + c: 8.337913422151614e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.609350099978100e-8, + c: 1.347990924379379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.332000025782566e-7, + c: 6.761344657790140e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.018848395629365e-7, + c: 7.629475886861448e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 1.075519204726761e-7, + c: 5.239869132552994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 7.446698092989028e-7, + c: 3.300296577790795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.386755172409827e-7, + c: 3.332544047562984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 7.982091068140214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.891645862592780e-7, + c: -3.866780972668681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.992732208658298e-9, + c: -5.176467000936613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.099741842069935e-7, + c: -1.838065156139007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.973792459922865e-7, + c: -1.764729322173108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.683163727966008e-7, + c: 2.457126679909799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.831591356756217e-7, + c: -1.254560077600380e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.818782929804672e-7, + c: -1.273353735768769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.505097359798386e-9, + c: 2.699535669737946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.825420916464725e-7, + c: 8.187282416662094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.376006869352774e-9, + c: 1.971064347802441e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.794585307193612e-7, + c: 7.949533512482883e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.388123146336083e-7, + c: 1.382027734860774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.051736815905425e-7, + c: -9.783758053071907e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.237271447485439e-10, + c: -1.252512607882293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -6.034208663820704e-8, + c: 9.459960260697537e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.131812572132497e-8, + c: 9.352718082507590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -1.029147513800000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.128223319791564e-7, + c: 1.009228486085109e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.553409733337765e-7, + c: 8.733964639121190e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.402697212893556e-6, + c: -3.124925164304440e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 2.456972563061429e-6, + c: 4.699417318280443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.185720646127024e-6, + c: -6.676254903061925e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.725048778358609e-6, + c: 3.241694151100966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 9.842694960287944e-8, + c: 4.634836080988995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.123320707290705e-7, + c: 4.543298222825252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 9.156751482826973e-8, + c: 4.307532169707452e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.197801095340399e-7, + c: -4.050828500123065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -1.437051991525422e-7, + c: -3.285911172214814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -8.733117282352905e-9, + c: -3.530474781028685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 8.990381810023761e-8, + c: 1.927000825480883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.368761978763346e-7, + c: 1.354574950958085e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.358923677336603e-7, + c: 1.344122730300385e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.544658051867781e-7, + c: -1.108435051569476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 6.102933609087407e-9, + c: -1.685473093136557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.596991878643561e-8, + c: -1.309305409423007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.650086101049798e-8, + c: 8.622025869124155e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -9.531482301839156e-8, + c: 8.520179944239824e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 4.819882287735092e-8, + c: -1.151376055624121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.370888671826366e-8, + c: -1.105623037813556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -7.512680221293386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.190818615185414e-7, + c: -3.844559440280018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -2.764065823138730e-7, + c: -3.326584901622394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.673775644287300e-7, + c: 2.395560549711613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.176066158496242e-7, + c: 1.655803414995101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -9.982920945759525e-8, + c: -1.605303686522652e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + ], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.151676665900000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.008517921388559e-5, + c: -4.104560528929437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.733650507811760e-6, + c: 3.575866946800602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.892804371421478e-6, + c: -1.330962422814372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -2.808318665873602e-6, + c: -8.607467583872598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.616814069468148e-7, + c: 2.494139378635545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 3.246436039627882e-7, + c: -1.724818249712141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -4.628416452566510e-7, + c: 9.875221688683795e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 4.307654608188366e-7, + c: -9.145418967979246e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.859776658154656e-7, + c: -1.152034622576153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 3.551438251497552e-7, + c: 4.284835619901706e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -3.439091688953739e-7, + c: 1.234923169348971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.111710910558963e-7, + c: -1.377345397180987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 2.376571343573536e-7, + c: -1.919325883438179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.747611762556908e-7, + c: 8.472021764850051e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -1.354132661178729e-7, + c: 1.369078123126012e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.344438053267287e-7, + c: -1.358544726973729e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 8.221503470686997e-9, + c: -1.883233097120921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.727373705005538e-7, + c: 2.243604000051487e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 1.320955646245414e-7, + c: 3.864023688416975e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.340956532550566e-7, + c: 1.751047016947691e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -8.623692015164592e-8, + c: -9.647615551401006e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 8.517510991642319e-8, + c: 9.533431860398468e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.135459655088273e-7, + c: -4.716796886076795e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.105561646018415e-7, + c: -1.373711930178466e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 2.572175215148812e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.841368510699330e-7, + c: -3.193708967333400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.327240936829727e-7, + c: 2.763209165904597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.356850385219665e-7, + c: 1.701539719608162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.656246069081068e-7, + c: -1.175680041535778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 3.706026761699335e-8, + c: -1.134797801079391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 1.958310393176235e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/pluto.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/pluto.rs new file mode 100644 index 0000000..02111c0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/pluto.rs @@ -0,0 +1,38922 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Pluto +//! +//! Generated from VSOP2013p9.dat +//! Threshold: 1e-7 +//! Terms retained: 7729 of 114088 (6.8%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 3.954461714403000e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.525819763547007e-2, + c: -1.889137353343409e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -3.338741527488626e-2, + c: -4.149587783381234e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -7.345541227254729e-3, + c: -4.850247491924983e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -5.346843766015214e-3, + c: 2.810213291894822e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.230920455443139e-2, + c: -9.160025130460898e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -5.251985632998290e-3, + c: -1.220216134483199e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -7.296856064471895e-4, + c: -9.784522947546719e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -6.891897037442508e-3, + c: 4.849451820958598e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -3.194677865343639e-3, + c: 5.827137548823493e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -6.032772979152595e-3, + c: 1.530005950957615e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 4.571713073999470e-3, + c: -1.949489740841236e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -4.298068350291145e-3, + c: -1.752422067266424e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -2.472866755154226e-3, + c: -3.106277580370268e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 2.975627007715812e-3, + c: -1.718866343341105e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 2.651462678277768e-3, + c: -7.747265312818484e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -2.077839054899415e-3, + c: -1.540572212511184e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -4.195795117918912e-4, + c: -2.004839720986923e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.581191371496983e-3, + c: 9.685076219214893e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -9.683665499483422e-4, + c: 1.546671582108348e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -1.429383447937909e-3, + c: -1.882036746389112e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 9.598501099794336e-4, + c: -1.073884519959974e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: 1.141621394038945e-3, + c: 7.582121108378607e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -1.002466776236420e-3, + c: -6.965037015815398e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -6.494714015539713e-4, + c: -3.280177145465059e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 5.731588635532511e-4, + c: 4.042476707515829e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 6.794949222936907e-4, + c: -1.323844849858705e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -1.043002107469713e-4, + c: -6.504848040487414e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -5.157367884026341e-4, + c: 3.392976800987855e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 4.528462771277029e-4, + c: 4.013819725461328e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 3.101062257727055e-4, + c: 5.082371778511747e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -1.722514732717809e-4, + c: -5.681390616489158e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 1.441651313217837e-4, + c: -5.109446910110006e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.863170944489248e-4, + c: -4.819230786715567e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 5.042975632253770e-4, + c: 6.369594883243656e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 4.022653534967544e-4, + c: -3.053274499582131e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 3.258806436349614e-4, + c: 3.467783424697075e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -4.514504471537313e-4, + c: 5.621903656938314e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -2.479332616187662e-4, + c: 3.676456536029856e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -4.036808485622579e-4, + c: -6.139933566899684e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 1.072786773765188e-4, + c: 3.820612384196465e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: -3.635776064232244e-4, + c: -9.248298433417668e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -7.269666426225212e-5, + c: -3.549293588098809e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 1.628256776653583e-4, + c: -3.160842008603355e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 6.980026136138961e-6, + c: 3.420462427010387e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 3.192891180739413e-4, + c: 1.102680127288099e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -2.690888364578619e-4, + c: -1.540343603283940e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 1.556379786226932e-4, + c: -2.173841474749494e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 1.405802484936001e-4, + c: 2.139827951872006e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 1.753317487218570e-4, + c: 1.768264034588617e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: -1.296562609167813e-4, + c: 2.054155569720648e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -1.049906176589792e-4, + c: 2.149344441467223e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -9.664752627197359e-5, + c: 2.105907075249680e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -3.457500786591060e-5, + c: 2.216820129291404e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -6.343765561951737e-5, + c: 2.101129060620877e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.040600570813469e-4, + c: 2.059080842867220e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -3.985811337389438e-5, + c: 1.986251645365736e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -1.057577321913462e-4, + c: 1.634071193550684e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 1.904214493994316e-4, + c: -2.246093441678423e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 1.817683230943917e-4, + c: 3.681005791454017e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -1.548046370389844e-4, + c: -9.845216822712777e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -1.538587956300008e-4, + c: 1.544612936291663e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 1.100501797450874e-4, + c: 1.063424878854461e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -7.950143305199429e-5, + c: -1.302883448466239e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -8.786172404778267e-5, + c: -1.234367808479035e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -9.276495709685505e-5, + c: 1.134367368383581e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -1.357271182571146e-4, + c: 5.433595759789712e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -1.407569067678890e-4, + c: -2.015878153602518e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 4.575915137040648e-5, + c: 1.334864918126729e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.348079960341349e-4, + c: 1.103900693715041e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 9.958767168660292e-5, + c: 9.044244518247897e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -1.298860493755118e-4, + c: -1.220298779895909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -6.615326828191384e-5, + c: 1.096591456091608e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: -1.105023373514174e-4, + c: -5.630577644191311e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -3.107290842332164e-5, + c: 1.200203132340981e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 9.803650101219470e-5, + c: -7.308796267835988e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -1.125401497291889e-4, + c: 3.610833066027832e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -1.021096781290804e-4, + c: -5.539085553689598e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 1.109376086154372e-4, + c: 2.059810010502968e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 9.157348752703954e-5, + c: 6.545937199726835e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: -1.097409617670081e-4, + c: -1.763578152256356e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -1.096244331938067e-4, + c: -6.036461994983742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -7.226563570869880e-5, + c: -8.172914344840793e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 9.813387635091759e-5, + c: 4.081944506880917e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -3.042864686070350e-5, + c: -9.980202274033147e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -7.851152389005198e-5, + c: 6.774134031701334e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: 4.732136810426078e-5, + c: 9.020966833346995e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -9.363040847375072e-5, + c: 4.011081727098608e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -4.527105788278305e-5, + c: 8.847966549002934e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: 2.169650481974078e-5, + c: -9.624003685717232e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -8.251186706793420e-5, + c: -5.209690884814139e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: -8.888235611849966e-5, + c: -3.987239043340302e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: -6.757444630848729e-5, + c: 6.750731604512051e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -7.947209819689536e-5, + c: 5.155315270922629e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 9.329528703253361e-5, + c: 7.345965229137979e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: -9.237811075405668e-5, + c: 1.090417646562516e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 2.604355291059931e-5, + c: -8.908916429996076e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 2.541640489305027e-5, + c: 8.865135898647901e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -8.180897990180591e-5, + c: -2.612002419867869e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 8.990175104819752e-6, + c: -8.264117372021907e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -7.223164395466179e-5, + c: -3.346768015651777e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 1.517215367109706e-6, + c: 7.570804194298259e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: -7.219732957001593e-5, + c: 1.497583762217817e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -6.649111911344866e-5, + c: -2.514905702964148e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 1.535504252839724e-6, + c: -6.992872149972830e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -6.715990796728796e-5, + c: 1.718425892664470e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -6.580909334915998e-5, + c: 1.430297070517250e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 2.919873677494986e-5, + c: -5.775018378617728e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -6.084471053628382e-5, + c: 1.540885135715865e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -5.388826516429189e-5, + c: 3.199616172421503e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -5.879447166237427e-5, + c: 1.437268497976216e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -3.916346861139833e-5, + c: 4.389425139346764e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 1.144414611494876e-5, + c: 5.604319666660307e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: 5.049488095493712e-5, + c: 2.617420137295422e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -2.036419680670498e-5, + c: 5.308154705063546e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -5.558490692648951e-5, + c: 1.074443296868508e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: 5.414859032918718e-5, + c: 1.612423993809004e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -1.389564339618602e-5, + c: -5.385859558600689e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 5.203206896593389e-5, + c: 1.109426038337246e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -5.259150535714481e-5, + c: -7.900595848671949e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -4.373378052967039e-5, + c: -2.868062150671154e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.959960685029732e-5, + c: -4.656622480313366e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -7.057476186484835e-6, + c: -4.950041872578602e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: -4.484151754553571e-6, + c: -4.950393976533717e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -3.904234498979660e-5, + c: 2.862917554941477e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -5.852295694950618e-6, + c: 4.564431593393509e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 2.898343627193112e-5, + c: 3.381070793248557e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: 3.842288108276152e-5, + c: 2.171187326727145e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: -3.159941293254004e-5, + c: -3.060056721346098e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -8.770502705843831e-6, + c: 4.196756609366356e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 2.949376951136325e-5, + c: 3.058604579710735e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -4.157765024592031e-5, + c: -5.536779082847475e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.217964198482817e-5, + c: 3.988409470322139e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -1.985717058507261e-5, + c: -3.499785920591011e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 3.673205744833794e-5, + c: -1.627223130987684e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -3.721086787087213e-5, + c: -1.204688502894760e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -3.797966459104269e-5, + c: 9.262394507594671e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: -3.172313245858079e-5, + c: 2.046883015663981e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -1.130055571184806e-5, + c: -3.501369903040927e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 2.754664625943886e-5, + c: 2.431274629045810e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -7.854999691710594e-6, + c: -3.588303727596956e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -3.159356097043199e-5, + c: -1.836527717879251e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: 3.898916975641048e-6, + c: -3.588186202164800e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 3.419274705946044e-5, + c: 5.899945380974897e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -2.268788446778335e-5, + c: 2.443467985588051e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: -1.310516044148147e-5, + c: 3.050158346348793e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 3.130935033024524e-5, + c: 1.097589066570324e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: 1.595319278983611e-5, + c: 2.902033541011162e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -3.075593537905766e-5, + c: 1.146076610375077e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 2.766308095653938e-5, + c: 1.502045521139923e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -3.000035777714308e-5, + c: -8.476785877165908e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 3.050829997464094e-6, + c: -3.087830117708715e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -2.999821642843727e-5, + c: -6.630515182801645e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: 1.235374688172806e-8, + c: 3.051266391557954e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: 1.777918361526399e-5, + c: -2.464275337352809e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: -2.644865740727463e-5, + c: 1.453641873263430e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -1.679418338023056e-5, + c: -2.491339366365813e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -9.151540179776868e-7, + c: -2.881049645853857e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: 2.465507355839900e-5, + c: -1.404684866755653e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 1.574507063770704e-5, + c: -2.326936541953297e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 2.759072218747074e-5, + c: 5.014498112696167e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 2.688561023475636e-5, + c: -4.751098701906410e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: 2.521829957012646e-5, + c: 9.075535444602246e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 1.775977146578184e-5, + c: 1.929577825192488e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 1.453559628350192e-5, + c: 2.167631093967156e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: 2.451732899172316e-5, + c: -7.270868499735771e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: 1.763662536129561e-5, + c: -1.839477842257704e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 4.078199846505147e-6, + c: -2.487989681830804e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: 2.124650119939953e-5, + c: -1.310311554030472e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -1.830691761858291e-5, + c: 1.669689880857685e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -2.305069129647941e-5, + c: -7.562197471301595e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: -8.887301337184577e-6, + c: 2.231173970810760e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: 1.521753162245873e-5, + c: -1.857955306692405e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: -2.354209556941765e-5, + c: 3.314240571733558e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -1.774672864158627e-5, + c: -1.487544474075335e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.196703638987694e-5, + c: 6.476178744910388e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 2.183327908319867e-5, + c: 4.822213215718846e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: -1.298587588518319e-5, + c: -1.797126438614235e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -1.753380673787212e-5, + c: 1.263640587343677e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0, 0], + }, + Term { + s: -2.120210197827758e-5, + c: -3.024613986950801e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -1.058855005232672e-5, + c: -1.766393488851886e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 1.005577796902092e-5, + c: -1.785941776089627e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -4.906380243091237e-6, + c: 1.978303267622895e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 2.532679279684540e-6, + c: 1.920934109574017e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: -1.703588795336055e-5, + c: -9.191479012330204e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: -1.538065848947708e-6, + c: 1.857906564270560e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0], + }, + Term { + s: -1.672234137294363e-5, + c: 6.888304879283251e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -1.781739407220264e-5, + c: -1.429230739116265e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -1.016771662251849e-5, + c: -1.466863663952873e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -1.764891705869774e-5, + c: -4.830743252645407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -1.169209830460876e-5, + c: -1.247596612802113e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 4.081323650118499e-7, + c: -1.684220352851628e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 9.150259096743067e-6, + c: -1.407845022250094e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: -1.007820540086018e-5, + c: 1.269060939740193e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 5.878730634752794e-6, + c: 1.473740499853433e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: 1.620831334294698e-6, + c: 1.571751020890472e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: 1.237711584511655e-5, + c: 9.024035728982282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 1.389518271990030e-5, + c: 6.120342494445060e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: -1.384447988218788e-5, + c: 5.705532331862882e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 1.475137126892163e-5, + c: 1.297134782016999e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 8.061996614533119e-6, + c: 1.238911788785425e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: 1.248309319083876e-5, + c: 6.522371669056120e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -7.003804645076094e-6, + c: 1.210239779692391e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -1.138944006206347e-5, + c: 8.025092907971755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 9.203980812516094e-6, + c: 1.032477788191823e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: 9.643339170707572e-6, + c: 9.871984729986486e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: -1.647964097474749e-6, + c: 1.355078678509643e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 1.288670564584251e-5, + c: 3.536511947989455e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: -1.157176826630904e-5, + c: -6.577587769899064e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: 9.012208521745978e-6, + c: -9.416511986671837e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: 1.131327600970289e-5, + c: 5.564099485490995e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 1.225356740793340e-5, + c: -2.191974321820766e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: -1.264426918954814e-6, + c: -1.222542550864796e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: 2.887040196083755e-6, + c: 1.191823812766245e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, 0, 0], + }, + Term { + s: -8.896973615301929e-6, + c: 8.364708253465240e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 1.168985190517093e-5, + c: 3.107416823288861e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0], + }, + Term { + s: -1.100641443973696e-5, + c: 4.878551304568073e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16003, 0, 0, 0], + }, + Term { + s: 3.927016751386786e-6, + c: 1.129669478782893e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -7.945977826978341e-6, + c: -8.336303917881307e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: -4.121902597816549e-6, + c: -1.067760766767881e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -6.092895169385645e-6, + c: -9.676620453213433e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26935, 0, 0, 0], + }, + Term { + s: 1.127545687913632e-5, + c: -1.749176670577512e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 9.045065560748371e-6, + c: 6.458577667414619e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: -1.086724286375125e-5, + c: 2.366348635731435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 1.077768479245954e-5, + c: 1.314848557127884e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: -7.817106729953121e-6, + c: 7.476166807303362e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0], + }, + Term { + s: -6.431012131206218e-6, + c: -8.630168865984330e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: -4.488032900276633e-6, + c: 9.754780757605328e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: 1.002301887174039e-5, + c: 3.809493056637330e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -9.610013873428966e-7, + c: 1.053377491954023e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -8.080965849654599e-6, + c: 6.628911530474438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 5.519940437138830e-6, + c: -8.647773857062873e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -9.608246198237324e-6, + c: -3.567210860743312e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0], + }, + Term { + s: 2.587830394401985e-6, + c: -9.841501302637972e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -9.513263822817286e-6, + c: 2.701089473499317e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 9.114484928105732e-6, + c: 3.405326884702372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 8.593699004634650e-6, + c: -4.521710011930371e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -7.773450806187869e-6, + c: 5.743013366879790e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: -1.111776221602086e-7, + c: -9.651703371205158e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -7.806048943521830e-6, + c: -5.589985382418124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: -4.888986982326743e-6, + c: -8.043384246760043e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: -9.239826819751234e-6, + c: -1.588220207572900e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: -7.202172162048808e-6, + c: 5.854995612131330e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 9.679392838893378e-7, + c: 9.218396322556755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8792, 0, 0, 0], + }, + Term { + s: 5.268698862195701e-6, + c: 7.552747224746195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: -9.172394810021916e-6, + c: 1.895176301684789e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0], + }, + Term { + s: -8.856958000750378e-6, + c: 1.422755388345701e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: -6.946445989363719e-6, + c: -5.618333923863506e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: 5.970513434294536e-6, + c: 6.533838482401557e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 8.800979575954088e-6, + c: -9.363642004873383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -2.445163014371821e-6, + c: -8.323975294518658e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: 8.528054460192368e-6, + c: 1.179636877939114e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: -8.548073471139635e-6, + c: 3.113517210781746e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: 1.582417071839012e-6, + c: 8.332372654106325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: 2.123989325404372e-6, + c: 8.169359240087606e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6812, 0, 0, 0], + }, + Term { + s: -8.375322559294435e-6, + c: -5.673773918806982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -7.813749106590894e-6, + c: -2.754280278738459e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, 0], + }, + Term { + s: 8.240073019394483e-6, + c: -5.842932706591016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: 7.462025541294503e-6, + c: -3.412156409839213e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: -7.379311277522622e-6, + c: 3.569468539674547e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -7.602740633968837e-6, + c: -2.949712154754931e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -7.634054610151465e-6, + c: -2.805718957820823e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -1.688067525950005e-6, + c: 7.901878090466449e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 7.777628843472415e-6, + c: 2.141007409281597e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -2.871561666896025e-6, + c: 7.490935869056391e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: 3.315385971087818e-6, + c: -7.294868970917277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: -3.523206331323959e-6, + c: 7.166172777872388e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: 7.982414795161990e-6, + c: 1.509650920220801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 7.334416295248032e-6, + c: -3.052090216977999e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: -7.206954428699366e-6, + c: 3.249577661835050e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: -6.397694382921114e-6, + c: -4.611781338980881e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 2.731824459044326e-6, + c: 7.298891295606073e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: -7.555809503471676e-6, + c: 1.802759962782446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -5.224044356349940e-6, + c: 5.702305428669255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0], + }, + Term { + s: -2.001572042532927e-6, + c: -7.363092671334213e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: -2.290447831510907e-6, + c: 7.202920058526871e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18807, 0, 0, 0], + }, + Term { + s: -6.246891161119355e-6, + c: 4.212298715621182e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: -7.600974932564954e-7, + c: -7.422282971688820e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 6.914046910724464e-6, + c: -2.778166556960854e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -4.539648289944846e-6, + c: -5.891338019216055e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 6.601563863355272e-6, + c: 3.171359986557203e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 3.904113255584038e-6, + c: -6.133875523686570e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 2.835173762085374e-6, + c: -6.653027361081990e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: -7.093577976058476e-6, + c: -1.173637122870726e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29739, 0, 0, 0], + }, + Term { + s: -8.188259712150469e-7, + c: -6.987902219618072e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 0, 0], + }, + Term { + s: -5.038147681756719e-7, + c: 7.006413936256234e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 7.000101549248913e-6, + c: 5.079719979892230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0], + }, + Term { + s: -5.962408696058700e-6, + c: 3.573223599178958e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0, 0], + }, + Term { + s: 3.956583220263362e-6, + c: 5.568220810976180e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: -6.750028082069467e-6, + c: -9.166609972944358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 3.740190574838678e-6, + c: 5.673942176100584e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: 6.601203811841764e-6, + c: 1.456962939105517e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -6.706808595837164e-6, + c: -3.028150381284533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -6.033802862785800e-6, + c: 2.440996651650858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: -3.230751984289496e-6, + c: 5.532763862171625e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: -9.757441217013260e-7, + c: -6.259191078750721e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0], + }, + Term { + s: -5.652937007636920e-7, + c: -6.176215459389002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13907, 0, 0, 0], + }, + Term { + s: 2.925975808706245e-6, + c: 5.419051253169028e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: 4.961432500547898e-7, + c: -6.090180066599487e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: -5.683035395973599e-6, + c: -2.184361421864642e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: 5.671413957952181e-6, + c: -1.970281158888087e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 660, 0, 0, 0], + }, + Term { + s: 5.038421959439938e-6, + c: -3.187449430567353e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: 2.839459609814354e-6, + c: -5.221843870353944e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: 2.480713231858311e-6, + c: -5.371984492511981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30726, 0, 0, 0], + }, + Term { + s: 4.118203530022139e-6, + c: 4.247630436042123e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: 4.804688645981299e-6, + c: 3.392414455089888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: 5.073596401147402e-6, + c: 2.823930549057623e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: 1.300597801661392e-6, + c: 5.652103234092129e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: -4.128513363543263e-7, + c: 5.755036023406377e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21002, 0, 0, 0], + }, + Term { + s: 5.596413110130175e-6, + c: 1.150988470887787e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -2.328725604336908e-6, + c: 5.185682316927925e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: -4.425575583329163e-6, + c: -3.405063389681099e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 2.187756007927890e-6, + c: 5.118776131105052e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326, 0, 0, 0], + }, + Term { + s: -5.422976331726384e-6, + c: -1.062719388116646e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 0, 0], + }, + Term { + s: 2.939391562250212e-6, + c: -4.671386453340084e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: 2.455255365783236e-7, + c: 5.481980908369510e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 5.300735706700459e-7, + c: 5.401054704282992e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 5.307845123152898e-6, + c: -1.074665271877002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -5.369958450830827e-6, + c: 3.088859916258618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: 5.040500774742418e-6, + c: -1.588303058879814e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: 3.155170961191545e-6, + c: -4.232725732980270e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -4.664054710354134e-6, + c: 2.237990185118437e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0], + }, + Term { + s: -3.006832015091931e-6, + c: -4.116963099690184e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: 4.838157501434318e-6, + c: -1.440860475241039e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -5.100863091947575e-7, + c: 5.014062783108035e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -4.941417154764062e-6, + c: 4.566906187996482e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -4.809586081556143e-6, + c: -4.059468226902849e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0], + }, + Term { + s: -3.812962577572376e-6, + c: 2.836687580242196e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -4.604755748006170e-6, + c: 1.131204663235740e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: 2.510316109491419e-6, + c: 3.988221799522470e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0], + }, + Term { + s: -3.494951959431543e-6, + c: -3.020836381577536e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0], + }, + Term { + s: -6.569354935546374e-7, + c: 4.541989545570710e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367, 0, 0, 0], + }, + Term { + s: 1.762997232028830e-6, + c: 4.232484840546865e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3755, 0, 0, 0], + }, + Term { + s: 3.302523945217660e-6, + c: -3.158889754917663e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: -1.771260322757130e-6, + c: -4.170477951365750e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0], + }, + Term { + s: 3.489586654249623e-6, + c: 2.808199075701845e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: -4.463900811607471e-6, + c: 2.686034617063576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: -4.156787047473022e-6, + c: -1.497796528055333e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, 0], + }, + Term { + s: 3.374990286868033e-6, + c: 2.837595952412083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0], + }, + Term { + s: 2.753767783807388e-6, + c: 3.420964194540649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1440, 0, 0, 0], + }, + Term { + s: -1.765567226496408e-6, + c: 4.002851607963376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1579, 0, 0, 0], + }, + Term { + s: -3.530516273209564e-6, + c: -2.553447309671098e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: -4.405313192191107e-7, + c: -4.318395782592841e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -4.046320763422601e-6, + c: -1.316582542805559e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: -2.978696697282362e-6, + c: 2.992106383855272e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -4.116654238501510e-6, + c: 8.698183889008465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: -3.091261758902752e-6, + c: 2.779176152025115e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: -3.087296269311164e-6, + c: -2.767684383173296e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: 4.135653735864235e-6, + c: 2.610741815133212e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: 7.822951025771361e-7, + c: 3.982675719897446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 0], + }, + Term { + s: -3.193712963123028e-6, + c: 2.472302300087020e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812, 0, 0, 0], + }, + Term { + s: -3.996946542923053e-6, + c: -3.865254342357067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0], + }, + Term { + s: -2.187974925399545e-6, + c: 3.311551344957890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: 2.766711967489343e-6, + c: -2.842451160985817e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: 3.825992500033873e-6, + c: 1.002743912597648e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: 3.186233794132217e-7, + c: 3.921719855137034e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 3.863048238257224e-6, + c: 6.741444969270658e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -1.605255026236109e-6, + c: 3.568150106665142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 0, 0], + }, + Term { + s: 2.821751177880709e-6, + c: -2.679448722993762e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0], + }, + Term { + s: -2.021711894978037e-7, + c: 3.796449488540545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18737, 0, 0, 0], + }, + Term { + s: 3.753051858289070e-6, + c: 8.574228992026897e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 0, 0, 0], + }, + Term { + s: -3.228711510084689e-6, + c: -1.847607671315142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0], + }, + Term { + s: -3.599777096686276e-6, + c: 3.263111535185641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29668, 0, 0, 0], + }, + Term { + s: -2.150772698251623e-6, + c: 2.777063973105715e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 0, 0, 0], + }, + Term { + s: -3.301887075679018e-6, + c: 1.167163357155174e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: 2.997278768598366e-6, + c: 1.797741688074809e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -2.840643977826879e-6, + c: -2.019862384016523e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -1.204236773282961e-6, + c: 3.192675285713516e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: -3.315274646729408e-6, + c: 7.792724874273817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0], + }, + Term { + s: 3.264642484471720e-6, + c: -9.634453688785023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: -2.228553182691755e-6, + c: -2.493545357569790e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -3.116666702765093e-6, + c: 1.020217961778721e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: -1.696848858985258e-6, + c: -2.764775257816005e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0], + }, + Term { + s: -8.947943456396966e-7, + c: 3.090184919924999e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 4.218813534154403e-7, + c: 3.150988047260596e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0], + }, + Term { + s: 1.627846948369762e-6, + c: 2.684528950007894e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0], + }, + Term { + s: 1.598258345416646e-6, + c: 2.664160324573447e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0], + }, + Term { + s: -3.050014943480103e-6, + c: -5.492375047504947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: -3.037596253390844e-6, + c: -5.362037537748719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17409, 0, 0, 0], + }, + Term { + s: 2.244603884128386e-6, + c: -2.083437478401810e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0], + }, + Term { + s: 1.518181779236949e-6, + c: 2.652154445720360e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: 2.851457274715888e-6, + c: 1.098384395592322e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 0, 0, 0], + }, + Term { + s: 3.593374031702311e-7, + c: 2.986118682253282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, 0], + }, + Term { + s: -9.926144866187604e-7, + c: -2.830268574217504e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: 2.707824866568832e-6, + c: -1.249087883298949e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0], + }, + Term { + s: -2.916229900989869e-6, + c: 5.819364262451799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -8.955185854734063e-7, + c: -2.815286533041747e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: -2.838926518956055e-6, + c: -7.747629014503501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 9.105739029647571e-8, + c: -2.936308854733708e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28341, 0, 0, 0], + }, + Term { + s: 8.132155280408788e-7, + c: -2.791975745076337e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0], + }, + Term { + s: 2.424034080085096e-6, + c: 1.511336222694173e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3228, 0, 0, 0], + }, + Term { + s: -7.595678867735628e-7, + c: -2.742694510361754e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17401, 0, 0, 0], + }, + Term { + s: -2.414705967733272e-6, + c: -1.499065082878807e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18441, 0, 0, 0], + }, + Term { + s: 2.555007812561749e-6, + c: -1.222518971254914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: -2.438411404424029e-6, + c: 1.433457518698103e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 2.596776428680548e-6, + c: -1.111228830029355e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: -2.154034816913496e-6, + c: 1.781416637446780e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16883, 0, 0, 0], + }, + Term { + s: 2.782021252956132e-6, + c: -2.366355620457827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0], + }, + Term { + s: -2.701981117163156e-6, + c: -6.728828543419832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0], + }, + Term { + s: 2.671514179880127e-6, + c: -6.635397013436502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0], + }, + Term { + s: -2.711340403103515e-6, + c: -3.506917586336805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905, 0, 0, 0], + }, + Term { + s: -9.671495127399441e-7, + c: -2.555473477345271e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0], + }, + Term { + s: -1.599083158645375e-6, + c: 2.192672341607839e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 0, 0], + }, + Term { + s: 2.479337428981973e-6, + c: -1.086924867589912e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28333, 0, 0, 0], + }, + Term { + s: 4.111063922943254e-7, + c: 2.669168791855145e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0], + }, + Term { + s: -1.478112857600165e-6, + c: 2.251136109066413e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 699, 0, 0, 0], + }, + Term { + s: -1.365449146772695e-6, + c: -2.280343217089743e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17052, 0, 0, 0], + }, + Term { + s: 1.693696163455457e-6, + c: -2.045836805902847e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0], + }, + Term { + s: -2.590227627273782e-6, + c: -5.864357900399998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0], + }, + Term { + s: -1.969230822056404e-6, + c: -1.781352720629090e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27814, 0, 0, 0], + }, + Term { + s: -2.417851188058446e-6, + c: 1.086794046981858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0], + }, + Term { + s: -2.383923223906701e-6, + c: 1.151778064683181e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0], + }, + Term { + s: -2.520525565629966e-6, + c: -6.810923207152867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0], + }, + Term { + s: 2.052895068354618e-6, + c: -1.596463600859809e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: 9.088993061622259e-7, + c: 2.397071677491702e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, 0], + }, + Term { + s: 1.947344677608927e-6, + c: -1.583427835686675e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27983, 0, 0, 0], + }, + Term { + s: -2.403475883927046e-6, + c: 7.168562048478207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9008, 0, 0, 0], + }, + Term { + s: -2.492301476974840e-6, + c: 1.154197314292645e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0], + }, + Term { + s: 1.872526873816732e-6, + c: -1.627204538030831e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: -1.128241041731099e-6, + c: -2.185573750985576e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0], + }, + Term { + s: 1.195770542246316e-6, + c: 2.148607367526526e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6741, 0, 0, 0], + }, + Term { + s: -7.542293699550655e-7, + c: -2.298277821344888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: -1.784292547208121e-6, + c: 1.632730233203287e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: 1.192981957679731e-6, + c: -2.085728908073489e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853, 0, 0, 0], + }, + Term { + s: -2.127075959696586e-6, + c: 9.684679691245487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0], + }, + Term { + s: 1.082447843960915e-6, + c: -2.061529926561640e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: -2.064400576227455e-6, + c: -1.052058740568840e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0], + }, + Term { + s: -4.464530975901404e-8, + c: 2.311833779535033e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, 0], + }, + Term { + s: -5.896852620581525e-7, + c: -2.231933900269714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0], + }, + Term { + s: 1.920011731851621e-6, + c: 1.272342476709954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0], + }, + Term { + s: 8.001693270750816e-7, + c: 2.136961400466751e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8863, 0, 0, 0], + }, + Term { + s: -1.306636716740014e-6, + c: 1.849195807922509e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -1.573807864168761e-6, + c: -1.611594457054448e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4564, 0, 0, 0], + }, + Term { + s: 2.244904652028693e-6, + c: 3.967453074666713e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2305, 0, 0, 0], + }, + Term { + s: -1.228677341027416e-7, + c: -2.209258440276789e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0], + }, + Term { + s: -2.099108897556483e-6, + c: 6.870438939052005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3971, 0, 0, 0], + }, + Term { + s: 1.717020133665975e-6, + c: 1.371911388970515e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1409, 0, 0, 0], + }, + Term { + s: -1.272940652417706e-6, + c: -1.780525488987006e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0], + }, + Term { + s: 2.066230430615253e-6, + c: 6.358566267054963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0], + }, + Term { + s: -5.590530460569891e-7, + c: 2.087549699662933e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -2.032554057435435e-6, + c: 7.191737615642376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0], + }, + Term { + s: 1.333566821039636e-7, + c: -2.129962900508972e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1395, 0, 0, 0], + }, + Term { + s: 1.983794219551017e-6, + c: 7.520709002412974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: 2.112929650748157e-6, + c: 1.213160548348939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: 1.749047330807431e-6, + c: -1.180466519193961e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: 1.171857014458876e-6, + c: 1.748531111908254e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256, 0, 0, 0], + }, + Term { + s: -1.439628096572310e-6, + c: -1.534290550643840e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0], + }, + Term { + s: -2.067497873729873e-6, + c: 3.427383466025621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16074, 0, 0, 0], + }, + Term { + s: -5.944907115323955e-7, + c: 2.007476457829542e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: -2.056629877507134e-6, + c: 3.687993975664250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0], + }, + Term { + s: 1.941190251105947e-6, + c: -7.728309863108455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0], + }, + Term { + s: -1.938569059282102e-6, + c: 7.436239438771121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1633, 0, 0, 0], + }, + Term { + s: 9.419795852201692e-7, + c: -1.845411295985871e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0], + }, + Term { + s: -8.813143730570367e-7, + c: -1.813289817592834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0], + }, + Term { + s: -1.717854823366012e-6, + c: 1.041294424994039e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: -1.572734807958063e-6, + c: 1.236624148768282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15932, 0, 0, 0], + }, + Term { + s: -6.034032571101743e-7, + c: -1.900495463187865e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27005, 0, 0, 0], + }, + Term { + s: -1.828536661847324e-6, + c: 7.775612472043504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0], + }, + Term { + s: 1.244236978621268e-6, + c: 1.543698442024305e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0], + }, + Term { + s: -1.808308721355504e-6, + c: -8.054301049815819e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0], + }, + Term { + s: -2.840657117512240e-7, + c: -1.958819436024904e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0], + }, + Term { + s: 1.819318380857729e-6, + c: 7.533644429883854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0], + }, + Term { + s: 8.031701532020086e-7, + c: 1.787509537348480e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17688, 0, 0, 0], + }, + Term { + s: 1.942400506626363e-6, + c: 2.045299691372636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595, 0, 0, 0], + }, + Term { + s: -2.444610538790235e-7, + c: 1.932011004703987e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0], + }, + Term { + s: -1.298439088833635e-6, + c: 1.406837332556941e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667, 0, 0, 0], + }, + Term { + s: -1.380240266767179e-6, + c: -1.311321392072590e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26864, 0, 0, 0], + }, + Term { + s: -1.849308278080618e-6, + c: -4.207421835231601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: -1.747132414914824e-7, + c: 1.885647029197684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1681, 0, 0, 0], + }, + Term { + s: -1.621274774005371e-6, + c: 9.568506494975661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: 1.613549521216199e-6, + c: 9.661432128584056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4560, 0, 0, 0], + }, + Term { + s: 1.851056254196372e-6, + c: 2.319382497331476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: -1.811190873600543e-6, + c: -3.609967260662374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, 0, 0, 0], + }, + Term { + s: 6.881607336809536e-7, + c: -1.704925730302023e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0], + }, + Term { + s: 1.038667749737162e-6, + c: 1.479513151111239e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: 5.128624122418612e-7, + c: -1.725580741212313e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9362, 0, 0, 0], + }, + Term { + s: 1.485991090239626e-6, + c: -1.006310293952448e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7293, 0, 0, 0], + }, + Term { + s: -5.089762969334741e-7, + c: -1.718646360213724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3378, 0, 0, 0], + }, + Term { + s: -2.816949994519573e-7, + c: 1.769672239946702e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0], + }, + Term { + s: 3.430297248100715e-7, + c: 1.758435848544130e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0], + }, + Term { + s: -9.817694004398265e-7, + c: 1.494466510578479e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17927, 0, 0, 0], + }, + Term { + s: -2.032387367792963e-7, + c: 1.776009666186765e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: -1.579447546037431e-6, + c: -7.896686611436972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 0, 0, 0], + }, + Term { + s: -1.194086154900193e-6, + c: -1.291394324460768e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: 1.730792842526289e-6, + c: -2.955201280222706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258, 0, 0, 0], + }, + Term { + s: 1.721797714833749e-6, + c: -2.811044917225061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0], + }, + Term { + s: -1.295173517994772e-6, + c: -1.124682686480943e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0], + }, + Term { + s: -5.803463500653408e-7, + c: -1.613704310250398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13836, 0, 0, 0], + }, + Term { + s: 2.205208926928550e-7, + c: -1.695170175844587e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0], + }, + Term { + s: -1.540888675998392e-6, + c: -7.205410233586393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28859, 0, 0, 0], + }, + Term { + s: 1.427857053281081e-6, + c: 9.154105703317882e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0], + }, + Term { + s: -1.647374827376821e-6, + c: -1.070206566773601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0], + }, + Term { + s: 2.916151032954449e-7, + c: -1.612667278395629e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30796, 0, 0, 0], + }, + Term { + s: -6.456982491150169e-7, + c: -1.497340984166945e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0], + }, + Term { + s: 1.357459772974641e-6, + c: -8.605384775456169e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: -1.599294015603463e-6, + c: -5.756284948556873e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17339, 0, 0, 0], + }, + Term { + s: 1.511919174298326e-6, + c: 4.282518220037240e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0], + }, + Term { + s: -1.464854340392549e-6, + c: 5.579682454335470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2136, 0, 0, 0], + }, + Term { + s: 1.564950735396869e-6, + c: 2.030906275744722e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 707, 0, 0, 0], + }, + Term { + s: -1.553073594542887e-6, + c: -2.798707811117392e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0], + }, + Term { + s: 3.096301202248802e-7, + c: 1.521224279452731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18666, 0, 0, 0], + }, + Term { + s: -1.466501209242368e-6, + c: -4.790804384624990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: -1.628707091910745e-7, + c: -1.511954695146034e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28270, 0, 0, 0], + }, + Term { + s: 4.427391035572699e-7, + c: -1.446168699709189e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, 0, 0], + }, + Term { + s: 1.475541121936369e-6, + c: -1.484614716759367e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, 0], + }, + Term { + s: -1.388420108125199e-6, + c: 4.978475360278862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29597, 0, 0, 0], + }, + Term { + s: -1.000817384374024e-6, + c: 1.080041680778808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0, 0, 0], + }, + Term { + s: -1.435105977639304e-6, + c: 2.650090649558333e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -1.362875062725181e-6, + c: 4.174476546369124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659, 0, 0, 0], + }, + Term { + s: 2.570406425123703e-7, + c: 1.395653375018646e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20931, 0, 0, 0], + }, + Term { + s: -1.143987112707535e-6, + c: -8.333358525912419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4921, 0, 0, 0], + }, + Term { + s: -7.199377316460067e-7, + c: -1.216171035166151e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17330, 0, 0, 0], + }, + Term { + s: -1.235577250547062e-6, + c: 6.768149843872961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2643, 0, 0, 0], + }, + Term { + s: 1.404283890673093e-6, + c: -6.147508544069744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, 0], + }, + Term { + s: 4.120286771655498e-7, + c: -1.341964492375855e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0], + }, + Term { + s: -6.603310643880857e-7, + c: -1.232598480879204e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0], + }, + Term { + s: 2.565107304487350e-7, + c: 1.373626139207631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0], + }, + Term { + s: -2.676215688599603e-8, + c: -1.390938927052518e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28026, 0, 0, 0], + }, + Term { + s: -1.371357121647441e-6, + c: -1.305379802150352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0], + }, + Term { + s: 7.771092620661687e-7, + c: -1.120324425942473e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: -7.894072753163577e-7, + c: 1.109198204156899e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1375, 0, 0, 0], + }, + Term { + s: 9.929673123403904e-7, + c: -9.283240213496467e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0], + }, + Term { + s: 3.507890112283049e-7, + c: -1.308030133582794e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0], + }, + Term { + s: -1.000562384966628e-6, + c: -8.957926648587965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0], + }, + Term { + s: 1.045866653597319e-6, + c: -8.415717683170426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28262, 0, 0, 0], + }, + Term { + s: 1.151146791473544e-6, + c: 6.719583113112875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 0, 0, 0], + }, + Term { + s: 8.556065925638615e-7, + c: -1.011394294144698e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3303, 0, 0, 0], + }, + Term { + s: -8.167259797745954e-7, + c: 1.029447611728163e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0], + }, + Term { + s: 1.304886183225223e-6, + c: -1.055046942585955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0], + }, + Term { + s: 6.833401154871808e-7, + c: 1.115774082745663e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 0, 0], + }, + Term { + s: 8.109011260190840e-7, + c: -1.021607937528001e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0], + }, + Term { + s: -9.795840781338238e-7, + c: -8.602660648819088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: 1.202251766256076e-6, + c: -4.889199564376317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0], + }, + Term { + s: 1.279961538339931e-6, + c: -9.303113330057715e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0], + }, + Term { + s: 9.499999999999999e-7, + c: -8.499999999999999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: -4.729846798057142e-7, + c: 1.173136031610066e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0], + }, + Term { + s: 1.244076611530309e-6, + c: -2.110648206279783e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3110, 0, 0, 0], + }, + Term { + s: -1.206495815724930e-6, + c: -3.487292533961053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1670, 0, 0, 0], + }, + Term { + s: -8.437129598916125e-7, + c: 9.014256956806309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2494, 0, 0, 0], + }, + Term { + s: 1.022897649889149e-6, + c: 6.819226936486254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0], + }, + Term { + s: 4.897407875883105e-7, + c: 1.125527082919549e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943, 0, 0, 0], + }, + Term { + s: 1.017727545742915e-6, + c: -6.853645569524432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0], + }, + Term { + s: -7.216367666623522e-7, + c: -9.909254028358794e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0], + }, + Term { + s: 5.461767712818794e-7, + c: 1.093819712288776e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0], + }, + Term { + s: 5.974685935869928e-8, + c: -1.220419981712867e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0], + }, + Term { + s: 1.127177440994844e-6, + c: -4.638508260839181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 0], + }, + Term { + s: 5.486161970523561e-7, + c: -1.084097124933620e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, 0], + }, + Term { + s: -6.962302821470003e-7, + c: -9.953746686096588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0], + }, + Term { + s: 7.390952700915318e-7, + c: 9.578157228665374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 0, 0, 0], + }, + Term { + s: -4.953586308305168e-7, + c: -1.099436627550006e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27802, 0, 0, 0], + }, + Term { + s: 1.172690620285236e-6, + c: -2.536918800992908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5679, 0, 0, 0], + }, + Term { + s: 1.195663318109994e-6, + c: 5.735798707075065e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 0, 0], + }, + Term { + s: -8.237844856426966e-7, + c: 8.633327391590373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28619, 0, 0, 0], + }, + Term { + s: 2.253902673044166e-7, + c: 1.155306841724594e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0], + }, + Term { + s: -8.077651213209351e-7, + c: -8.467723584488381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1061, 0, 0, 0], + }, + Term { + s: -1.131393391958699e-6, + c: 2.954905462652429e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0], + }, + Term { + s: -1.154147143090942e-6, + c: -1.745245701643503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1379, 0, 0, 0], + }, + Term { + s: -7.893392010302236e-7, + c: 8.536814840596329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: -1.044055855954310e-6, + c: 5.072504088362949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0], + }, + Term { + s: -1.114125596473475e-6, + c: -3.242902753468345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0], + }, + Term { + s: 1.128222947233436e-6, + c: -2.320695179105481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 0], + }, + Term { + s: 8.883700194991575e-7, + c: -7.281469318359943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 7.924379643703126e-7, + c: -7.991191498767164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1277, 0, 0, 0], + }, + Term { + s: 5.709572373552925e-7, + c: -9.611077928842040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: -1.079446490716764e-6, + c: 2.759724957454624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7095, 0, 0, 0], + }, + Term { + s: -9.689528926635543e-7, + c: -5.274454816143908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0], + }, + Term { + s: 9.378339971783062e-7, + c: 5.670433954014576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1370, 0, 0, 0], + }, + Term { + s: 8.126175124204013e-7, + c: 7.310835990236831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: 1.007465169929176e-6, + c: -4.193551264897761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0], + }, + Term { + s: -1.091023826530965e-6, + c: -6.428044937614465e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 715, 0, 0, 0], + }, + Term { + s: -2.001075379005475e-7, + c: -1.061848588312970e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0], + }, + Term { + s: -3.515551824193097e-7, + c: 9.956943036931824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0], + }, + Term { + s: 6.573457903461283e-7, + c: -8.256804586521268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5552, 0, 0, 0], + }, + Term { + s: -4.555215702655931e-7, + c: 9.504251625189829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1481, 0, 0, 0], + }, + Term { + s: 6.675442605786022e-7, + c: -8.148081885617947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, 0], + }, + Term { + s: -4.453608074436574e-7, + c: 9.484826566427671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550, 0, 0, 0], + }, + Term { + s: 6.732421990753664e-7, + c: -8.001751487764478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0], + }, + Term { + s: -9.909703729789480e-7, + c: 3.322754505716206e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0], + }, + Term { + s: -6.955928401230715e-7, + c: -7.789351615625768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343, 0, 0, 0], + }, + Term { + s: 5.788353975100670e-7, + c: 8.611799026094480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3684, 0, 0, 0], + }, + Term { + s: 6.482182220110805e-7, + c: 8.071582133509568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7818, 0, 0, 0], + }, + Term { + s: -1.028761227531954e-6, + c: -4.886828109741977e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725, 0, 0, 0], + }, + Term { + s: 1.011934934871392e-6, + c: -1.841867693933341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1810, 0, 0, 0], + }, + Term { + s: -9.849326675391669e-7, + c: -2.730010070086318e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17413, 0, 0, 0], + }, + Term { + s: -9.948191876950859e-7, + c: 1.764930876900184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0], + }, + Term { + s: -4.221882172607602e-7, + c: 9.032055650308894e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3825, 0, 0, 0], + }, + Term { + s: -5.335602481134996e-7, + c: -8.400218903614069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0], + }, + Term { + s: -9.280700822527439e-7, + c: -3.492850193847667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5514, 0, 0, 0], + }, + Term { + s: -2.136463271545047e-7, + c: 9.669053607732305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0], + }, + Term { + s: -9.632419686288709e-7, + c: 2.268466147514096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0], + }, + Term { + s: -1.628890117784737e-8, + c: -9.867994704994833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, 0], + }, + Term { + s: 8.468763951838955e-7, + c: -5.001831147760036e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0], + }, + Term { + s: 5.094226942030041e-7, + c: 8.408122472914587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 0], + }, + Term { + s: 1.233278912736245e-7, + c: -9.647296895251681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28345, 0, 0, 0], + }, + Term { + s: -6.165140090629853e-7, + c: 7.518300483439154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 0, 0, 0], + }, + Term { + s: -9.666539368764915e-7, + c: 9.330723898767157e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0], + }, + Term { + s: 6.980166776044793e-7, + c: 6.642846689085374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0], + }, + Term { + s: -7.668569768088577e-7, + c: -5.832955167738068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5801, 0, 0, 0], + }, + Term { + s: 7.664403369528800e-7, + c: -5.654872073327356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0], + }, + Term { + s: 5.098929279400246e-7, + c: 7.905237313827460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 946, 0, 0, 0], + }, + Term { + s: -9.381894732622162e-7, + c: -4.929705106129891e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 0, 0], + }, + Term { + s: -9.226715002711819e-7, + c: 1.711052297204192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 0, 0, 0], + }, + Term { + s: 8.697465575142422e-7, + c: 3.406736311597489e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0], + }, + Term { + s: 8.541813228780099e-7, + c: -3.741469050698376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0], + }, + Term { + s: 2.948144261314960e-7, + c: 8.814960263176419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -2.535772646239983e-7, + c: -8.912711708448960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6107, 0, 0, 0], + }, + Term { + s: -5.337067261384289e-7, + c: -7.564455373785908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0], + }, + Term { + s: -2.944665364266781e-7, + c: 8.750415480987086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17857, 0, 0, 0], + }, + Term { + s: 4.887693864095253e-7, + c: -7.744212759030641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0], + }, + Term { + s: -7.516277910373513e-7, + c: -5.222326693070556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0], + }, + Term { + s: -7.255648718824533e-7, + c: -5.433092820876125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0], + }, + Term { + s: -5.919239314278837e-7, + c: -6.833747479082705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0], + }, + Term { + s: -1.243996160141770e-7, + c: 8.939636813050084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0], + }, + Term { + s: 7.950139375691772e-7, + c: 4.211883737264133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468, 0, 0, 0], + }, + Term { + s: -3.590777739426370e-7, + c: -8.233131803098436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17397, 0, 0, 0], + }, + Term { + s: -8.252669455839352e-7, + c: 3.493936439640280e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0], + }, + Term { + s: 2.945713566812491e-7, + c: 8.400365320574304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357, 0, 0, 0], + }, + Term { + s: -4.714403864811560e-7, + c: -7.482301538749050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 966, 0, 0, 0], + }, + Term { + s: 7.281218799693205e-7, + c: -4.944321485097846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116, 0, 0, 0], + }, + Term { + s: 8.658806015098376e-7, + c: -1.552601244515254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, 0], + }, + Term { + s: -8.632205207164991e-7, + c: -1.579960783789304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28788, 0, 0, 0], + }, + Term { + s: 3.558385641311115e-7, + c: -8.005671436952631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0], + }, + Term { + s: 8.541077072815688e-7, + c: 1.667449045252829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 0, 0, 0], + }, + Term { + s: 7.264432431293124e-7, + c: -4.498750025109308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28329, 0, 0, 0], + }, + Term { + s: 2.143565213445375e-7, + c: 8.265184987118082e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 840, 0, 0, 0], + }, + Term { + s: 6.204678490769602e-7, + c: 5.756502273254585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3299, 0, 0, 0], + }, + Term { + s: -8.337332699792674e-7, + c: -1.236501639755088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17268, 0, 0, 0], + }, + Term { + s: 6.546216653279111e-7, + c: -5.304669074721702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0], + }, + Term { + s: 7.809663994858126e-7, + c: -3.098975183152804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0], + }, + Term { + s: 4.397201886838056e-7, + c: -7.135359067167402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858, 0, 0, 0], + }, + Term { + s: 5.278295284619717e-7, + c: 6.420029035406692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 0, 0, 0], + }, + Term { + s: -5.880983283316872e-7, + c: -5.801226702304454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 0], + }, + Term { + s: -8.842944314585977e-8, + c: -8.125647615738283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1151, 0, 0, 0], + }, + Term { + s: 5.329439286737789e-7, + c: -6.114053868588528e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0], + }, + Term { + s: 6.050328282127279e-7, + c: -5.298936258138122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0], + }, + Term { + s: 4.725360289739920e-8, + c: -8.014489023631907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0], + }, + Term { + s: 3.298906657719573e-9, + c: -8.002454171023741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28199, 0, 0, 0], + }, + Term { + s: -1.225815979097232e-7, + c: 7.890315845714406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4296, 0, 0, 0], + }, + Term { + s: 1.207496331970119e-7, + c: 7.822536078102754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0], + }, + Term { + s: 7.842608271365769e-7, + c: 8.358871080115142e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0], + }, + Term { + s: -7.529795876764942e-7, + c: -2.340774132993291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18370, 0, 0, 0], + }, + Term { + s: 6.050620453462434e-7, + c: -5.050334326427658e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1276, 0, 0, 0], + }, + Term { + s: -7.863647842721513e-7, + c: 3.282615025166818e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3035, 0, 0, 0], + }, + Term { + s: -6.518987581098196e-7, + c: 4.388573346098399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 994, 0, 0, 0], + }, + Term { + s: 4.605820110816644e-7, + c: 6.343727465721967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0], + }, + Term { + s: 1.958969261809851e-7, + c: 7.587160843308024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0, 0], + }, + Term { + s: -1.223094843282309e-7, + c: 7.710364447792110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 0, 0, 0], + }, + Term { + s: 4.622876720544964e-7, + c: -6.268929910095475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27912, 0, 0, 0], + }, + Term { + s: -3.772230304203760e-7, + c: 6.790293027929611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0], + }, + Term { + s: 1.925304037204847e-7, + c: 7.408171623974154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0], + }, + Term { + s: 8.177910255661911e-8, + c: -7.607661814216492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0], + }, + Term { + s: 6.291399699146070e-7, + c: 4.343474503752127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -6.482037172057035e-7, + c: 3.918930641425451e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8937, 0, 0, 0], + }, + Term { + s: 6.390670607753546e-7, + c: -3.962159103544515e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0], + }, + Term { + s: 5.494801623004859e-7, + c: 5.090930367685696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0], + }, + Term { + s: 5.093346336645311e-7, + c: 5.339341278389011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6671, 0, 0, 0], + }, + Term { + s: 1.314682564674690e-7, + c: 7.256080097295762e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0], + }, + Term { + s: -4.572984292545293e-7, + c: 5.673113311791922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5467, 0, 0, 0], + }, + Term { + s: 7.248598079102273e-7, + c: 2.989882369209557e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881, 0, 0, 0], + }, + Term { + s: -2.102603348036804e-7, + c: -6.898582103177347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: 2.139316332453960e-9, + c: -7.211460217276694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 0], + }, + Term { + s: 6.197054503514603e-7, + c: 3.663711519292863e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0], + }, + Term { + s: -6.706344606079691e-7, + c: 2.549486194850560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0, 0], + }, + Term { + s: 2.855730714463188e-7, + c: 6.571557364655464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873, 0, 0, 0], + }, + Term { + s: 7.150874969462129e-7, + c: -1.163382359667474e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0], + }, + Term { + s: -2.410653749895773e-7, + c: 6.733073759964379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], + }, + Term { + s: -3.327574806528200e-7, + c: -6.282386927357883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0], + }, + Term { + s: -1.384704001351242e-8, + c: 7.085517850805702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0], + }, + Term { + s: -2.153368699603852e-7, + c: 6.679870196641654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596, 0, 0, 0], + }, + Term { + s: -6.352069122851575e-7, + c: 2.860886414614765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, 0], + }, + Term { + s: -4.038577855231490e-7, + c: 5.672126056578559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0], + }, + Term { + s: -3.639503193482355e-7, + c: 5.918819231405374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0], + }, + Term { + s: 5.190571030487551e-7, + c: -4.617076331670062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, 0], + }, + Term { + s: 6.280252416363497e-7, + c: 2.889552977715862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0], + }, + Term { + s: -4.332058215100386e-7, + c: 5.253874660234598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0, 0, 0], + }, + Term { + s: 4.061618760667046e-7, + c: 5.441030698993736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1515, 0, 0, 0], + }, + Term { + s: 5.516922831873836e-7, + c: -3.908530932496772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2941, 0, 0, 0], + }, + Term { + s: 5.404116058888021e-7, + c: -3.998961300799948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3735, 0, 0, 0], + }, + Term { + s: -6.460486483563879e-7, + c: -1.844105739064511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16145, 0, 0, 0], + }, + Term { + s: -4.790120791863759e-7, + c: 4.710064529208690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0], + }, + Term { + s: -1.482101108604029e-7, + c: 6.528760564068656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, 0, 0], + }, + Term { + s: 6.670451867152441e-7, + c: -5.451772349268162e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, 0, 0, 0], + }, + Term { + s: -5.979480619427656e-8, + c: 6.637758079516987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4870, 0, 0, 0], + }, + Term { + s: -4.666307513101840e-7, + c: -4.738687240983281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0], + }, + Term { + s: -6.637486098001600e-7, + c: -3.706387376295492e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17343, 0, 0, 0], + }, + Term { + s: -4.889319070807094e-7, + c: 4.384304488747195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, 0, 0, 0], + }, + Term { + s: 6.498889810132816e-7, + c: 3.158720124890037e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10622, 0, 0, 0], + }, + Term { + s: 2.621540245590477e-7, + c: -5.910482947262255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0, 0], + }, + Term { + s: -1.805611705924118e-7, + c: 6.194832093315347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5325, 0, 0, 0], + }, + Term { + s: 2.014728138905197e-7, + c: -6.060762651789874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0], + }, + Term { + s: -1.075736652737884e-7, + c: -6.289648665952888e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8356, 0, 0, 0], + }, + Term { + s: 6.376794293813083e-8, + c: -6.337245451408957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0], + }, + Term { + s: 2.617941432161855e-9, + c: -6.361477827335192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0], + }, + Term { + s: 1.719246998707737e-7, + c: -6.100431915096706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: 2.477182381787047e-7, + c: 5.828097040881651e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0], + }, + Term { + s: -5.489795808439006e-8, + c: -6.292323562972497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28274, 0, 0, 0], + }, + Term { + s: 3.627809225542647e-7, + c: 5.168004149876828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8933, 0, 0, 0], + }, + Term { + s: 2.852256452588718e-8, + c: -6.176668858105829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27076, 0, 0, 0], + }, + Term { + s: -5.404775649404521e-7, + c: 2.944962142068034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3900, 0, 0, 0], + }, + Term { + s: -8.411762884227228e-8, + c: -6.083199909045570e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 0, 0, 0], + }, + Term { + s: -5.004401174253002e-7, + c: -3.374895185515793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0], + }, + Term { + s: -2.838277549514514e-7, + c: 5.285043158396505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15862, 0, 0, 0], + }, + Term { + s: 4.792820900406187e-7, + c: -3.576581786554800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0], + }, + Term { + s: -5.413360484196153e-7, + c: 2.482409511908196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0], + }, + Term { + s: -5.442146749239816e-7, + c: 2.346168597812306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0], + }, + Term { + s: 4.667207990702039e-7, + c: 3.637857573853133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1444, 0, 0, 0], + }, + Term { + s: 2.586715029014485e-7, + c: 5.296886229277701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18595, 0, 0, 0], + }, + Term { + s: -4.197858897047135e-7, + c: -4.127776113754851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17260, 0, 0, 0], + }, + Term { + s: 5.558545761448850e-7, + c: -1.602845414134513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: 1.117658184286417e-7, + c: 5.670886350093402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17759, 0, 0, 0], + }, + Term { + s: 4.578419943650291e-7, + c: 3.522254394212247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0, 0], + }, + Term { + s: -2.335331296989864e-7, + c: 5.259995241690077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0], + }, + Term { + s: -3.809983697788027e-7, + c: -4.302129721727332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0], + }, + Term { + s: 5.274647757793589e-7, + c: 2.260255992237602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1338, 0, 0, 0], + }, + Term { + s: 2.716156465640924e-7, + c: -5.050567058250248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, 0], + }, + Term { + s: 5.029197833738174e-8, + c: 5.708725507089776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0], + }, + Term { + s: 1.302682724411803e-7, + c: -5.576008534749286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0], + }, + Term { + s: -5.358395917553011e-7, + c: -1.944898538593442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26793, 0, 0, 0], + }, + Term { + s: -5.672308107758114e-7, + c: 1.841240576652829e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0], + }, + Term { + s: -4.049195341914331e-7, + c: 3.957364795332053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14530, 0, 0, 0], + }, + Term { + s: 5.301913234312730e-7, + c: -1.795150770356919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0], + }, + Term { + s: -4.626593060690374e-7, + c: 3.149666626607222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29527, 0, 0, 0], + }, + Term { + s: 3.885503296395664e-7, + c: -4.013088728533570e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0], + }, + Term { + s: 3.307050540667410e-7, + c: -4.499128631163935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28191, 0, 0, 0], + }, + Term { + s: 5.192905291041494e-7, + c: 2.030236862335475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3990, 0, 0, 0], + }, + Term { + s: -3.020363334553842e-7, + c: -4.656810726944926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0], + }, + Term { + s: 2.814822277842785e-7, + c: 4.777389632425625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 0, 0], + }, + Term { + s: 5.105174747613155e-7, + c: 2.159091152432422e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 2.892099184025069e-7, + c: -4.693915804785266e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0], + }, + Term { + s: -5.487345754172466e-7, + c: -9.693083737451389e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0], + }, + Term { + s: 4.924456996978445e-7, + c: -2.352978414062576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, 0, 0], + }, + Term { + s: -4.299448351566026e-7, + c: -3.312418299646014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4493, 0, 0, 0], + }, + Term { + s: -4.276275252084766e-7, + c: -3.265886042421185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25462, 0, 0, 0], + }, + Term { + s: -5.155990073173443e-7, + c: 1.452803241229137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0], + }, + Term { + s: 5.115488529745401e-7, + c: 1.549897567926283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0, 0], + }, + Term { + s: 6.945672676924653e-8, + c: 5.252587337298217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 0], + }, + Term { + s: 5.125148403513517e-7, + c: 1.309572327787370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0], + }, + Term { + s: 4.898145924807931e-7, + c: -1.873136415479197e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0], + }, + Term { + s: -4.757378857785907e-7, + c: 2.204873226335758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16954, 0, 0, 0], + }, + Term { + s: 3.862492345702274e-7, + c: 3.539471785722227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4630, 0, 0, 0], + }, + Term { + s: 3.455279829905355e-7, + c: 3.930464338505098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2887, 0, 0, 0], + }, + Term { + s: -8.885695823241293e-8, + c: -5.142210209670141e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, 0], + }, + Term { + s: 2.062030306282341e-7, + c: 4.770882846842203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816, 0, 0, 0], + }, + Term { + s: -5.155562841461761e-7, + c: -5.232922577750395e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2710, 0, 0, 0], + }, + Term { + s: -8.478575689843785e-8, + c: 5.031037783056412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1586, 0, 0, 0], + }, + Term { + s: -2.331658396760931e-7, + c: -4.513339555716279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3307, 0, 0, 0], + }, + Term { + s: -4.822813064039632e-7, + c: 1.572069820724133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0], + }, + Term { + s: 4.157370761078812e-7, + c: 2.845842010762933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915, 0, 0, 0], + }, + Term { + s: 4.996112858850311e-7, + c: 5.691187181997148e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0], + }, + Term { + s: -2.814102753798929e-7, + c: -4.124719907837260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13766, 0, 0, 0], + }, + Term { + s: -2.722371513586612e-7, + c: -4.180655074109598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27885, 0, 0, 0], + }, + Term { + s: -4.547768529826280e-7, + c: 2.041415719130600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0], + }, + Term { + s: 4.787689098341691e-7, + c: -1.284446629540012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: 1.984919092138126e-7, + c: -4.508509398107441e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9432, 0, 0, 0], + }, + Term { + s: 4.783137274033558e-7, + c: 1.178013128752939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1077, 0, 0, 0], + }, + Term { + s: 6.357064773930545e-9, + c: 4.883214583260461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0], + }, + Term { + s: -4.705590408909281e-7, + c: -1.186095121308581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921, 0, 0, 0], + }, + Term { + s: -2.177681567043084e-7, + c: 4.326621317925381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671, 0, 0, 0], + }, + Term { + s: 1.155736536358386e-7, + c: 4.691505783872427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 0], + }, + Term { + s: -4.203023306035555e-7, + c: -2.325989232842612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, 0, 0], + }, + Term { + s: -3.538980079092100e-8, + c: -4.767252649409569e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30867, 0, 0, 0], + }, + Term { + s: -4.373992505414253e-8, + c: 4.759041322218485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2168, 0, 0, 0], + }, + Term { + s: -2.791661838243956e-7, + c: 3.877445772107191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16812, 0, 0, 0], + }, + Term { + s: 1.633678445177938e-7, + c: 4.454226289282526e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0], + }, + Term { + s: -2.887914077367104e-7, + c: -3.745731427270940e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0], + }, + Term { + s: -4.274305178569030e-8, + c: -4.651604275364141e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 0, 0], + }, + Term { + s: 4.505404700663016e-7, + c: -1.154998902872308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 0], + }, + Term { + s: 4.113856354104915e-7, + c: 2.088430168418169e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682, 0, 0, 0], + }, + Term { + s: -1.940797570377179e-8, + c: 4.605717748357938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5255, 0, 0, 0], + }, + Term { + s: -2.857229051133899e-7, + c: -3.611026807111910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17326, 0, 0, 0], + }, + Term { + s: -4.544448723177916e-7, + c: 5.586738968914767e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4281, 0, 0, 0], + }, + Term { + s: 4.542408733562808e-7, + c: 2.451281548641472e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17441, 0, 0, 0], + }, + Term { + s: -4.025052497583426e-7, + c: -2.104174084808151e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27744, 0, 0, 0], + }, + Term { + s: 3.920736922948325e-7, + c: 2.264063066885868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0], + }, + Term { + s: 2.705145450806752e-7, + c: -3.609946816045929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13179, 0, 0, 0], + }, + Term { + s: -4.448652396819680e-7, + c: 5.538448944962297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0], + }, + Term { + s: -3.242609127060801e-7, + c: -3.066381769564512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0, 0], + }, + Term { + s: -2.698604592652713e-7, + c: -3.514776261340016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2263, 0, 0, 0], + }, + Term { + s: -4.404576019977484e-7, + c: 4.511088380924556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14601, 0, 0, 0], + }, + Term { + s: -4.412494277109203e-7, + c: 3.319857658311086e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 959, 0, 0, 0], + }, + Term { + s: -3.874523018520659e-7, + c: 2.099654239161280e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 0, 0], + }, + Term { + s: 1.076054358832767e-7, + c: -4.262741208222802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0], + }, + Term { + s: 3.107353013720429e-7, + c: 3.097610179310824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30513, 0, 0, 0], + }, + Term { + s: 3.007564460240623e-7, + c: -3.175693851400354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28258, 0, 0, 0], + }, + Term { + s: -7.828657916320640e-8, + c: 4.283992902562912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0, 0, 0], + }, + Term { + s: 1.511687146947400e-7, + c: -4.073842679272175e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0], + }, + Term { + s: 3.922040545354704e-8, + c: 4.307412594471450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28372, 0, 0, 0], + }, + Term { + s: 4.317249510026596e-7, + c: 3.079482650412715e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14600, 0, 0, 0], + }, + Term { + s: 1.518017755190605e-7, + c: -4.038653046568994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0], + }, + Term { + s: -3.026914351472891e-7, + c: 3.043074384771142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445, 0, 0, 0], + }, + Term { + s: -3.776551542139655e-7, + c: -1.936975033860575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0], + }, + Term { + s: 2.470022716533903e-7, + c: -3.373173509828226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1862, 0, 0, 0], + }, + Term { + s: -4.468370099277600e-8, + c: 4.150851487732521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0], + }, + Term { + s: 2.872867147707964e-7, + c: 3.020163670070143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5962, 0, 0, 0], + }, + Term { + s: 3.906304692471064e-8, + c: 4.117154365499843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5227, 0, 0, 0], + }, + Term { + s: -2.619806402730889e-7, + c: 3.198801686264023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1391, 0, 0, 0], + }, + Term { + s: -3.425320573781320e-7, + c: -2.295703382312905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0], + }, + Term { + s: 3.877808311813357e-7, + c: 1.392637525796661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5608, 0, 0, 0], + }, + Term { + s: 1.309348822744711e-8, + c: 4.112702327782538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0], + }, + Term { + s: -4.013289975049835e-7, + c: 8.578635696770311e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655, 0, 0, 0], + }, + Term { + s: 1.135319906095412e-7, + c: -3.938232857750503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 0], + }, + Term { + s: 6.701032051897338e-8, + c: 4.037749393099985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 927, 0, 0, 0], + }, + Term { + s: 3.640750317100058e-7, + c: 1.820097691656858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 844, 0, 0, 0], + }, + Term { + s: -1.862186505235989e-7, + c: -3.593549098451992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0], + }, + Term { + s: 1.222373860036133e-7, + c: 3.843385364342267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0], + }, + Term { + s: 3.909161907213091e-7, + c: -8.714402925018746e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, 0], + }, + Term { + s: 3.996817789307415e-7, + c: 1.759920440237917e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 0], + }, + Term { + s: 3.716137119858664e-7, + c: 1.414193731160630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1300, 0, 0, 0], + }, + Term { + s: 3.967947318855880e-7, + c: 5.823887526955190e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0], + }, + Term { + s: -2.150497561056685e-7, + c: 3.331343861007630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5537, 0, 0, 0], + }, + Term { + s: -2.487524662464514e-7, + c: 3.060030625167335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 853, 0, 0, 0], + }, + Term { + s: 3.310898212062479e-7, + c: -2.136373939249998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0], + }, + Term { + s: -3.602833406258541e-7, + c: 1.580982237812027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0], + }, + Term { + s: 1.657211610585231e-7, + c: 3.556125789453847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20861, 0, 0, 0], + }, + Term { + s: -3.126201693964834e-7, + c: 2.366933857485099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0], + }, + Term { + s: 1.234130731703499e-7, + c: 3.698618423015040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2913, 0, 0, 0], + }, + Term { + s: -2.781668855620593e-7, + c: 2.712303839654964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573, 0, 0, 0], + }, + Term { + s: -3.463964573353969e-7, + c: -1.677672648127446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0], + }, + Term { + s: -2.420532357073857e-8, + c: 3.836591054305620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17786, 0, 0, 0], + }, + Term { + s: 1.765499995676908e-7, + c: 3.383486826485224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2038, 0, 0, 0], + }, + Term { + s: -3.677324999908281e-7, + c: -9.067361424246338e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187, 0, 0, 0], + }, + Term { + s: -3.698375884095516e-7, + c: 7.265530419631839e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4356, 0, 0, 0], + }, + Term { + s: -1.323738607427168e-7, + c: -3.510092073831915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0], + }, + Term { + s: -2.615858802477780e-7, + c: -2.666104894995654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0], + }, + Term { + s: -9.095934790237259e-8, + c: -3.619015367256272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4061, 0, 0, 0], + }, + Term { + s: -3.285893732241653e-7, + c: 1.757106236040754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0], + }, + Term { + s: -4.884500446298851e-8, + c: 3.678139343596490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0], + }, + Term { + s: -3.663473900236699e-7, + c: 2.762465848297709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2207, 0, 0, 0], + }, + Term { + s: -9.267783855801676e-8, + c: -3.551729365810638e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640, 0, 0, 0], + }, + Term { + s: -2.231513027760973e-7, + c: 2.908128800780559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0, 0], + }, + Term { + s: -8.810876201333972e-8, + c: 3.553467669211956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, 0], + }, + Term { + s: -2.434526981440893e-7, + c: -2.722141040375863e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4273, 0, 0, 0], + }, + Term { + s: -3.638245366885541e-7, + c: 2.937424637141885e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28717, 0, 0, 0], + }, + Term { + s: 2.775891181975250e-9, + c: 3.637580138978013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 0], + }, + Term { + s: 5.860173021364319e-8, + c: 3.589294942844574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0], + }, + Term { + s: -3.366372139860102e-7, + c: -1.362775913185347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 0, 0, 0], + }, + Term { + s: 2.392025711367803e-7, + c: 2.723483632220262e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1374, 0, 0, 0], + }, + Term { + s: -2.650763888785756e-7, + c: -2.468182864394485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0], + }, + Term { + s: -2.988723858540307e-7, + c: 1.991700382881986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28690, 0, 0, 0], + }, + Term { + s: 2.640887094948531e-7, + c: -2.420890725899034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: -2.181242557043038e-7, + c: 2.823544222080908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20280, 0, 0, 0], + }, + Term { + s: 8.731885717238406e-8, + c: 3.449148399173541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 0, 0, 0], + }, + Term { + s: 2.343461957452594e-7, + c: 2.662398904586519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2117, 0, 0, 0], + }, + Term { + s: -1.951204705841477e-7, + c: 2.957511032131191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0], + }, + Term { + s: -1.657193291456266e-7, + c: 3.086808991923016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5839, 0, 0, 0], + }, + Term { + s: 2.607551117781332e-7, + c: 2.337077624129655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1366, 0, 0, 0], + }, + Term { + s: 3.795934955069981e-8, + c: 3.434117242557217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30485, 0, 0, 0], + }, + Term { + s: -3.418472850411781e-7, + c: 4.376467575556420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7166, 0, 0, 0], + }, + Term { + s: -9.224515590386940e-8, + c: -3.294767278318592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27956, 0, 0, 0], + }, + Term { + s: -3.056055715087629e-7, + c: 1.504370882034584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0], + }, + Term { + s: -2.957490590927487e-7, + c: -1.669047113165556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31211, 0, 0, 0], + }, + Term { + s: -5.968492072752332e-8, + c: 3.329142865306816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0], + }, + Term { + s: 3.317468294857081e-7, + c: -5.749443428572412e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916, 0, 0, 0], + }, + Term { + s: 2.342079400230572e-7, + c: -2.411052050443719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3374, 0, 0, 0], + }, + Term { + s: 1.233471792059891e-7, + c: 3.120576896973667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0], + }, + Term { + s: 2.948819842449641e-7, + c: 1.587871485569847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 0, 0, 0], + }, + Term { + s: 1.810131998803538e-7, + c: -2.815630866279857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0], + }, + Term { + s: -2.745052262504053e-7, + c: 1.910557776838046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0], + }, + Term { + s: -2.183302639800382e-7, + c: 2.482144626535260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014, 0, 0, 0], + }, + Term { + s: -2.505193279984670e-7, + c: 2.121169313295720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0], + }, + Term { + s: 3.208745578346230e-7, + c: -6.692332962270244e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10552, 0, 0, 0], + }, + Term { + s: -2.452549068949958e-7, + c: -2.165743163639881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339, 0, 0, 0], + }, + Term { + s: 1.891981619646048e-9, + c: 3.233024425096449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0], + }, + Term { + s: -2.725172991044981e-7, + c: -1.713583012601112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0], + }, + Term { + s: 7.977440998883777e-9, + c: -3.213994162766492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0], + }, + Term { + s: 2.970318085150325e-7, + c: 1.223170650345444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1999, 0, 0, 0], + }, + Term { + s: -1.318376819907271e-7, + c: -2.924058556281708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8285, 0, 0, 0], + }, + Term { + s: 3.042436069281851e-7, + c: -9.333662705943696e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0], + }, + Term { + s: 3.608873077336737e-8, + c: -3.158040372548139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0], + }, + Term { + s: -3.176580852528038e-7, + c: -3.186731663659994e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1599, 0, 0, 0], + }, + Term { + s: -4.522984916329383e-8, + c: -3.136339419074740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 0, 0], + }, + Term { + s: 3.133774293330965e-7, + c: -4.635906156145486e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0], + }, + Term { + s: -3.588740988766537e-8, + c: 3.139697203171221e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, 0, 0, 0], + }, + Term { + s: -2.965235736720676e-7, + c: -9.739834516251336e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4851, 0, 0, 0], + }, + Term { + s: -3.082329585886395e-7, + c: -4.496611667782403e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1957, 0, 0, 0], + }, + Term { + s: -3.105958997850092e-7, + c: 3.436045053329870e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3538, 0, 0, 0], + }, + Term { + s: -9.319866134697311e-8, + c: -2.951943536469030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898, 0, 0, 0], + }, + Term { + s: -2.178429039635072e-8, + c: -3.057199312120181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0], + }, + Term { + s: -2.692597203916009e-7, + c: 1.456849018093921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 711, 0, 0, 0], + }, + Term { + s: 2.052262585000586e-7, + c: 2.260210964710207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0], + }, + Term { + s: -9.333626004308293e-8, + c: 2.889609387412871e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0], + }, + Term { + s: -2.362966822258820e-7, + c: -1.901591331535813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0], + }, + Term { + s: 2.194422155724793e-7, + c: 2.056172297809998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, 0], + }, + Term { + s: -1.862389231800195e-7, + c: -2.316743378478126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27732, 0, 0, 0], + }, + Term { + s: 6.111128747144395e-8, + c: 2.905084158412364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5184, 0, 0, 0], + }, + Term { + s: -2.596153101083391e-7, + c: 1.424187308704583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0], + }, + Term { + s: -1.769037110440129e-7, + c: 2.348587588797719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2320, 0, 0, 0], + }, + Term { + s: 8.188268601584525e-8, + c: 2.821422246342626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0], + }, + Term { + s: -2.887412849432116e-7, + c: -5.264964570553396e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0], + }, + Term { + s: -1.291113667200010e-7, + c: 2.613263389037697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, 0, 0, 0], + }, + Term { + s: 2.914293594669475e-7, + c: -7.016627844119159e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0], + }, + Term { + s: 5.250230731630338e-8, + c: 2.854016727321183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2525, 0, 0, 0], + }, + Term { + s: 5.750292185196167e-8, + c: -2.839968039226511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0], + }, + Term { + s: 2.882716689416424e-7, + c: -1.506656180122256e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0], + }, + Term { + s: -2.167607053316077e-7, + c: -1.888640869342631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0], + }, + Term { + s: -2.757342087447073e-7, + c: 8.119546553744671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17197, 0, 0, 0], + }, + Term { + s: -2.329469669244870e-7, + c: -1.676872662798716e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992, 0, 0, 0], + }, + Term { + s: -4.511911554262410e-8, + c: 2.825268543145032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1069, 0, 0, 0], + }, + Term { + s: -1.494432314639750e-7, + c: 2.391670899321874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, 0, 0, 0], + }, + Term { + s: 1.076662532362873e-7, + c: -2.580819140214908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1932, 0, 0, 0], + }, + Term { + s: 1.723165673442903e-7, + c: 2.198178624898732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4654, 0, 0, 0], + }, + Term { + s: 2.547650471184384e-7, + c: 1.071319352610443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0], + }, + Term { + s: 2.065931489516480e-7, + c: -1.822756543370434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2981, 0, 0, 0], + }, + Term { + s: -2.682559752726370e-7, + c: 5.817952679441092e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17272, 0, 0, 0], + }, + Term { + s: -2.033074888077259e-8, + c: 2.725950348454814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 0], + }, + Term { + s: -1.131231385722826e-7, + c: -2.479459574528111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28129, 0, 0, 0], + }, + Term { + s: 1.905177226174063e-7, + c: 1.882273228894905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3613, 0, 0, 0], + }, + Term { + s: -4.256033099834968e-9, + c: 2.672409771712394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4799, 0, 0, 0], + }, + Term { + s: 2.539950300430218e-7, + c: -7.906618049942605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6958, 0, 0, 0], + }, + Term { + s: 2.213893979762132e-8, + c: 2.648183308758838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9224, 0, 0, 0], + }, + Term { + s: -6.847706113895453e-8, + c: -2.565348288001786e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5208, 0, 0, 0], + }, + Term { + s: -2.567068303738728e-7, + c: -6.617270778760771e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4210, 0, 0, 0], + }, + Term { + s: 1.851869429086947e-7, + c: -1.894170086185340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068, 0, 0, 0], + }, + Term { + s: -5.065192955221112e-8, + c: 2.598514741718309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2479, 0, 0, 0], + }, + Term { + s: 2.116509070449596e-7, + c: 1.573462652050483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0], + }, + Term { + s: 2.285030710250657e-7, + c: -1.309962768206102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0], + }, + Term { + s: 2.550113719983762e-7, + c: 6.179587653814824e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3919, 0, 0, 0], + }, + Term { + s: 1.373574715402116e-7, + c: 2.226194076904868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3370, 0, 0, 0], + }, + Term { + s: 2.368985637667626e-7, + c: -1.101974249784017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0], + }, + Term { + s: -3.726962029845121e-8, + c: 2.584440927931313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1002, 0, 0, 0], + }, + Term { + s: -9.079962208387831e-8, + c: -2.440511270269136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28203, 0, 0, 0], + }, + Term { + s: 2.049533301575006e-7, + c: -1.605309119324288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0], + }, + Term { + s: -2.244681296250377e-7, + c: -1.293428006256688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16910, 0, 0, 0], + }, + Term { + s: -8.871004431113129e-8, + c: 2.431834229793968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432, 0, 0, 0], + }, + Term { + s: -2.138737053569572e-7, + c: 1.425100603768924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0], + }, + Term { + s: 2.377849583483089e-7, + c: 9.480777406513744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698, 0, 0, 0], + }, + Term { + s: 2.302834257471292e-7, + c: 1.106066849344417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3114, 0, 0, 0], + }, + Term { + s: -8.032609915246071e-8, + c: -2.424205835541670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25533, 0, 0, 0], + }, + Term { + s: -2.320535064123391e-7, + c: -1.022518597891154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18949, 0, 0, 0], + }, + Term { + s: 4.612567419957282e-9, + c: -2.506226314746908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3429, 0, 0, 0], + }, + Term { + s: 1.876705479345358e-7, + c: 1.639402852808220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: 6.748862385414158e-8, + c: 2.395358642628777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0], + }, + Term { + s: 2.404590270520620e-7, + c: -6.056351417131637e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0], + }, + Term { + s: 2.046658273890132e-7, + c: -1.389022722177609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0], + }, + Term { + s: -2.192727631546073e-7, + c: 1.128895142808876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0], + }, + Term { + s: -2.071253676725281e-7, + c: 1.337463480694980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0], + }, + Term { + s: -2.116580918708107e-7, + c: 1.235144849382921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9216, 0, 0, 0], + }, + Term { + s: 4.745350053801994e-8, + c: 2.403177862274868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1405, 0, 0, 0], + }, + Term { + s: 1.661837530213132e-7, + c: 1.797486881284910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6949, 0, 0, 0], + }, + Term { + s: 9.037705880661357e-8, + c: -2.265479061366519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27842, 0, 0, 0], + }, + Term { + s: -1.403508263175771e-7, + c: 1.987832199047255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0], + }, + Term { + s: -7.444233099470756e-8, + c: -2.311438141441042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4615, 0, 0, 0], + }, + Term { + s: 1.029148226070300e-7, + c: 2.199303384941922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2333, 0, 0, 0], + }, + Term { + s: 9.410183757023749e-8, + c: -2.229899456207609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6431, 0, 0, 0], + }, + Term { + s: 8.469960034794417e-8, + c: -2.265469062975575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2969, 0, 0, 0], + }, + Term { + s: 2.354695545898252e-7, + c: -5.206282419069818e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7222, 0, 0, 0], + }, + Term { + s: 1.954985824457846e-7, + c: 1.397373562462726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8698, 0, 0, 0], + }, + Term { + s: -3.461279701081882e-8, + c: -2.376410274398282e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0], + }, + Term { + s: -2.382180101387531e-7, + c: 2.823201424315074e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686, 0, 0, 0], + }, + Term { + s: -1.797028481756283e-7, + c: 1.583426693476087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3896, 0, 0, 0], + }, + Term { + s: -4.119317965354528e-8, + c: 2.356093274241213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 0, 0, 0], + }, + Term { + s: -1.487545918583001e-7, + c: -1.843923116655735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1399, 0, 0, 0], + }, + Term { + s: -1.663116343388047e-8, + c: 2.346424454607302e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 0, 0, 0], + }, + Term { + s: -2.313963039306218e-7, + c: -3.769471763020818e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1896, 0, 0, 0], + }, + Term { + s: -1.626046403804584e-7, + c: 1.665988733878026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8867, 0, 0, 0], + }, + Term { + s: -1.386918469595332e-7, + c: -1.840658413900127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1281, 0, 0, 0], + }, + Term { + s: -2.301274163079385e-7, + c: -1.091881260767533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18299, 0, 0, 0], + }, + Term { + s: 3.228664942321801e-8, + c: 2.279029674295613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25532, 0, 0, 0], + }, + Term { + s: -1.992279318272244e-7, + c: -1.140039121859572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17189, 0, 0, 0], + }, + Term { + s: -2.042234752508020e-7, + c: -1.044741152029075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1967, 0, 0, 0], + }, + Term { + s: 1.729967648061811e-7, + c: -1.498591845287945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0], + }, + Term { + s: -2.005281452691360e-7, + c: -1.083439682445596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4309, 0, 0, 0], + }, + Term { + s: -2.146984277231158e-7, + c: 7.478432220801760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, 0], + }, + Term { + s: -1.788470164826147e-7, + c: -1.400020466820030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1009, 0, 0, 0], + }, + Term { + s: 5.248125959082670e-9, + c: -2.257901958212306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0], + }, + Term { + s: 1.814654082711082e-7, + c: -1.339485421935774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0], + }, + Term { + s: 1.915184746976591e-7, + c: 1.187854901043301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6600, 0, 0, 0], + }, + Term { + s: -1.373123597619234e-7, + c: 1.781672755204769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, 0], + }, + Term { + s: -1.819657882526358e-7, + c: -1.317253725933095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16215, 0, 0, 0], + }, + Term { + s: -3.719428563206642e-9, + c: 2.245385580047577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600, 0, 0, 0], + }, + Term { + s: 1.909715219804736e-7, + c: -1.150851144018785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14119, 0, 0, 0], + }, + Term { + s: -1.048217213352080e-7, + c: -1.958174587480062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0], + }, + Term { + s: 8.341856951061084e-8, + c: 2.045222996090842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0], + }, + Term { + s: -1.965785736180038e-7, + c: -1.002597910053885e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3079, 0, 0, 0], + }, + Term { + s: -1.979851157716879e-7, + c: 9.598136972766398e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0], + }, + Term { + s: -1.106614559224864e-7, + c: 1.895822009305867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 0], + }, + Term { + s: 7.994027677552052e-8, + c: -2.021430979056934e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28120, 0, 0, 0], + }, + Term { + s: 1.002810116379607e-7, + c: -1.925367927111091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0], + }, + Term { + s: 1.240542066465745e-7, + c: 1.778030113956584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1108, 0, 0, 0], + }, + Term { + s: -1.926560351812811e-7, + c: 9.905055634255714e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: 1.407056289939697e-7, + c: 1.639263042057418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18524, 0, 0, 0], + }, + Term { + s: 1.624030507345846e-7, + c: 1.381940309802978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286, 0, 0, 0], + }, + Term { + s: -2.035864330955511e-7, + c: -6.152423843919853e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5443, 0, 0, 0], + }, + Term { + s: -1.167352039162358e-7, + c: 1.775912886203656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12576, 0, 0, 0], + }, + Term { + s: 1.932965731390038e-7, + c: -8.508703649926333e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1342, 0, 0, 0], + }, + Term { + s: -1.405770770065477e-7, + c: 1.571121681398494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3052, 0, 0, 0], + }, + Term { + s: 2.207370141821255e-8, + c: 2.088320511100459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0, 0], + }, + Term { + s: -1.214212821394557e-7, + c: 1.713285601863650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0], + }, + Term { + s: 1.433961671115111e-7, + c: -1.521208234409123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0, 0], + }, + Term { + s: 1.081545829439932e-7, + c: 1.765196573118040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2882, 0, 0, 0], + }, + Term { + s: 9.987881681035228e-8, + c: 1.811885780910251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2529, 0, 0, 0], + }, + Term { + s: 1.803062207768176e-7, + c: 1.002052738466565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 0], + }, + Term { + s: 1.114529352625330e-7, + c: -1.727239271842602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1504, 0, 0, 0], + }, + Term { + s: -1.348633763837894e-7, + c: 1.543646352120740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29456, 0, 0, 0], + }, + Term { + s: -1.521594540361619e-7, + c: 1.368544117332497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3083, 0, 0, 0], + }, + Term { + s: -7.983526304365575e-8, + c: 1.880058858530647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 0], + }, + Term { + s: -3.794401518971681e-8, + c: 1.995727031207631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3166, 0, 0, 0], + }, + Term { + s: -1.542293169725075e-7, + c: 1.312010658281951e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, 0, 0], + }, + Term { + s: 6.950817319919172e-8, + c: -1.888512440877268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27147, 0, 0, 0], + }, + Term { + s: -1.800150961117182e-7, + c: 8.925625584646471e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32057, 0, 0, 0], + }, + Term { + s: -1.991944251227994e-7, + c: 2.597241701922107e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4022, 0, 0, 0], + }, + Term { + s: -1.997544659984937e-7, + c: -1.345569330265189e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3106, 0, 0, 0], + }, + Term { + s: 1.989924687776467e-7, + c: -1.931445359663859e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0], + }, + Term { + s: 7.017984581736390e-8, + c: -1.871441319222818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0], + }, + Term { + s: 1.306198117280438e-7, + c: 1.504665218477145e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3931, 0, 0, 0], + }, + Term { + s: -1.301562757933086e-7, + c: -1.507869679792315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6394, 0, 0, 0], + }, + Term { + s: -1.585616343759522e-7, + c: 1.204909536224792e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1017, 0, 0, 0], + }, + Term { + s: -1.934546626074263e-7, + c: 2.507698956706847e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0], + }, + Term { + s: -1.559814890617689e-7, + c: -1.167574037007736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17256, 0, 0, 0], + }, + Term { + s: -1.880932002977071e-7, + c: 4.137686811540623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4285, 0, 0, 0], + }, + Term { + s: -1.372989725669868e-7, + c: 1.347017630128251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0], + }, + Term { + s: -1.410414003322224e-7, + c: 1.291401065858431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1822, 0, 0, 0], + }, + Term { + s: 7.380328285373915e-8, + c: -1.760763383782463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904, 0, 0, 0], + }, + Term { + s: 1.808767335490038e-7, + c: -5.959366444215474e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 0, 0, 0], + }, + Term { + s: -2.974249885915079e-8, + c: 1.873939734341714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15791, 0, 0, 0], + }, + Term { + s: -1.589941864671452e-7, + c: 1.030743954130625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0], + }, + Term { + s: -1.792175215252353e-7, + c: 6.127409827899060e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0, 0], + }, + Term { + s: -6.808639520322952e-8, + c: -1.762208973156119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0], + }, + Term { + s: 1.252894242668356e-7, + c: 1.380089450632633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 0, 0, 0], + }, + Term { + s: 3.390141247323864e-8, + c: -1.826569072018026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0], + }, + Term { + s: -9.901703423800121e-8, + c: -1.571129317909187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 0, 0], + }, + Term { + s: -1.211286406414283e-8, + c: -1.851779525847112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2868, 0, 0, 0], + }, + Term { + s: -1.565426345255713e-7, + c: 9.928412921729915e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2584, 0, 0, 0], + }, + Term { + s: 8.849747338894588e-8, + c: -1.622252226593941e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28187, 0, 0, 0], + }, + Term { + s: 1.400518739174347e-7, + c: 1.193238571169077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9004, 0, 0, 0], + }, + Term { + s: 1.473440987459791e-7, + c: -1.097867454427174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5622, 0, 0, 0], + }, + Term { + s: -1.229018961715063e-7, + c: 1.351836533578564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: -1.791193434828577e-7, + c: 2.743952279367030e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 0], + }, + Term { + s: 7.407567127710799e-8, + c: 1.653052742518317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7889, 0, 0, 0], + }, + Term { + s: -1.678481554022215e-7, + c: 6.685402160909359e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2852, 0, 0, 0], + }, + Term { + s: -8.828898872848898e-8, + c: -1.570458523982160e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3570, 0, 0, 0], + }, + Term { + s: -1.370812107697788e-7, + c: 1.168712587430502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3829, 0, 0, 0], + }, + Term { + s: -1.800528767430019e-7, + c: -2.279475623907226e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26722, 0, 0, 0], + }, + Term { + s: 1.028478738150013e-7, + c: 1.475180837548317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2745, 0, 0, 0], + }, + Term { + s: -1.648389274509739e-7, + c: 7.187993573758273e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0], + }, + Term { + s: 3.807576448066743e-8, + c: -1.747132281308529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29880, 0, 0, 0], + }, + Term { + s: -1.775445371053011e-7, + c: 8.175463357906351e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0], + }, + Term { + s: 1.424731636035688e-7, + c: 1.061087416539594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 926, 0, 0, 0], + }, + Term { + s: 1.490691252352302e-8, + c: 1.767260547937726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2860, 0, 0, 0], + }, + Term { + s: 7.874930308725022e-8, + c: 1.585673375858462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5113, 0, 0, 0], + }, + Term { + s: -1.419011641062467e-7, + c: -1.055503390677918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0], + }, + Term { + s: -7.553379582337785e-8, + c: 1.591879556461778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28474, 0, 0, 0], + }, + Term { + s: 7.259505390712276e-8, + c: -1.600730062697737e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5481, 0, 0, 0], + }, + Term { + s: -1.267693003983386e-7, + c: -1.208500398265603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0], + }, + Term { + s: -4.393639580753449e-9, + c: 1.749830944978416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17829, 0, 0, 0], + }, + Term { + s: 1.412782788613781e-7, + c: 1.033107994046736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7748, 0, 0, 0], + }, + Term { + s: 1.671556583314559e-7, + c: 5.031745810730910e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0], + }, + Term { + s: -6.580317029891154e-8, + c: 1.616370186552017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4225, 0, 0, 0], + }, + Term { + s: -8.845616105904214e-8, + c: -1.484003060772710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0], + }, + Term { + s: -1.727553619120319e-7, + c: -1.160761812573032e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17024, 0, 0, 0], + }, + Term { + s: 1.276911061315773e-7, + c: 1.149930654478913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1303, 0, 0, 0], + }, + Term { + s: -1.584172924330620e-7, + c: -6.589609248601967e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5730, 0, 0, 0], + }, + Term { + s: -1.700865291741870e-7, + c: -1.088290365798871e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0], + }, + Term { + s: 1.700530494040710e-7, + c: 9.700616355790031e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, 0, 0, 0], + }, + Term { + s: 1.086777481727071e-7, + c: -1.300296100264292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3665, 0, 0, 0], + }, + Term { + s: 1.023847827391614e-7, + c: -1.342281706711046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18653, 0, 0, 0], + }, + Term { + s: -1.592121684060816e-7, + c: -5.532389496132748e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 847, 0, 0, 0], + }, + Term { + s: -1.570685210647102e-7, + c: 6.073566182583965e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0], + }, + Term { + s: -1.583945022718910e-7, + c: -5.330997117142212e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0], + }, + Term { + s: 3.984695737435724e-8, + c: -1.621263102504815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17370, 0, 0, 0], + }, + Term { + s: -4.519500795003033e-8, + c: -1.596982173887939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6036, 0, 0, 0], + }, + Term { + s: 1.524181129493371e-7, + c: -6.379194865634114e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4383, 0, 0, 0], + }, + Term { + s: 1.642431837752092e-7, + c: 1.177687360880564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 0, 0, 0], + }, + Term { + s: 1.605065250677574e-7, + c: 3.364988042858435e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2536, 0, 0, 0], + }, + Term { + s: 1.283632603190973e-7, + c: 1.007281683679775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17543, 0, 0, 0], + }, + Term { + s: 4.990671922852050e-8, + c: -1.525625938291121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 0, 0, 0], + }, + Term { + s: 2.694182067478111e-8, + c: -1.573021034405854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, 0, 0, 0], + }, + Term { + s: -3.444519208140281e-8, + c: -1.555984624482471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27956, 0, 0, 0], + }, + Term { + s: 1.585090214157708e-7, + c: 1.522292843174990e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28301, 0, 0, 0], + }, + Term { + s: 1.590857331866025e-7, + c: 4.703938961100675e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1626, 0, 0, 0], + }, + Term { + s: 9.416074761373134e-8, + c: 1.259851815553752e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4701, 0, 0, 0], + }, + Term { + s: -7.256181529289424e-8, + c: 1.390119311240293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20209, 0, 0, 0], + }, + Term { + s: 6.296077312229692e-8, + c: 1.435753666924047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0], + }, + Term { + s: 7.131263998627505e-8, + c: 1.394858974050529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0], + }, + Term { + s: 1.555058479357666e-7, + c: -1.675550064198930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1006, 0, 0, 0], + }, + Term { + s: 8.734394817462729e-8, + c: 1.292333660658058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 856, 0, 0, 0], + }, + Term { + s: 4.230046294335114e-8, + c: -1.499255105494827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 0, 0, 0], + }, + Term { + s: -1.555976382569235e-7, + c: 2.300725221934954e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, 0], + }, + Term { + s: 1.459772444020606e-7, + c: 4.877848449026048e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9743, 0, 0, 0], + }, + Term { + s: -1.008607063537389e-7, + c: -1.158924531473940e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2037, 0, 0, 0], + }, + Term { + s: 1.530705719638275e-7, + c: 1.015407601243143e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0], + }, + Term { + s: 1.591581814568015e-8, + c: -1.519785873011985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7476, 0, 0, 0], + }, + Term { + s: 4.794698505228935e-8, + c: 1.450074653133055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1661, 0, 0, 0], + }, + Term { + s: 5.526306231092771e-8, + c: -1.421564341044459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: 1.312607617210281e-7, + c: 7.628787902679832e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1736, 0, 0, 0], + }, + Term { + s: -1.288672720725669e-7, + c: -7.884351302515567e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4422, 0, 0, 0], + }, + Term { + s: -1.164024355914246e-7, + c: 9.622764798813261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 0, 0], + }, + Term { + s: -1.433897281898537e-7, + c: 4.634886678405952e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0], + }, + Term { + s: -3.576037598290788e-8, + c: -1.463861642489941e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2442, 0, 0, 0], + }, + Term { + s: 2.542515338447467e-8, + c: 1.482931275847524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0], + }, + Term { + s: -1.496068236288093e-7, + c: -1.248668905119094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16290, 0, 0, 0], + }, + Term { + s: -1.127861002069672e-7, + c: -9.854306186291472e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13695, 0, 0, 0], + }, + Term { + s: -9.594222971682028e-8, + c: 1.143222751805137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154, 0, 0, 0], + }, + Term { + s: 1.022041671558135e-8, + c: 1.488366687434669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3095, 0, 0, 0], + }, + Term { + s: 1.392706483983478e-7, + c: -5.226615156023588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3302, 0, 0, 0], + }, + Term { + s: -1.399001922974581e-7, + c: -4.959434881426828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31141, 0, 0, 0], + }, + Term { + s: -9.838176314982768e-8, + c: -1.111301305375423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3236, 0, 0, 0], + }, + Term { + s: 1.311374339839358e-7, + c: -6.924792854883827e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4776, 0, 0, 0], + }, + Term { + s: -1.359787667060010e-7, + c: -5.886193455295237e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1426, 0, 0, 0], + }, + Term { + s: 3.086544541226009e-8, + c: 1.441961483775621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17715, 0, 0, 0], + }, + Term { + s: -1.139978914349215e-7, + c: -9.250871221073477e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0], + }, + Term { + s: 1.216403950679706e-7, + c: -8.183555472378824e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, 0, 0, 0], + }, + Term { + s: 1.456083053742061e-7, + c: -1.209107950017962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2891, 0, 0, 0], + }, + Term { + s: -5.754363761747013e-8, + c: -1.341683129237086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0, 0], + }, + Term { + s: -1.426456493692662e-7, + c: -2.374749875315722e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1122, 0, 0, 0], + }, + Term { + s: 8.334424120368263e-8, + c: -1.176837632864927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9503, 0, 0, 0], + }, + Term { + s: -1.421482954061929e-7, + c: 2.252914089337793e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1939, 0, 0, 0], + }, + Term { + s: -4.617861278012443e-8, + c: -1.360530952994499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30938, 0, 0, 0], + }, + Term { + s: 9.066829929672594e-8, + c: 1.106695917439256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455, 0, 0, 0], + }, + Term { + s: 1.850047989224474e-8, + c: 1.416360080766754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3024, 0, 0, 0], + }, + Term { + s: -8.718519606636542e-9, + c: -1.424094846408384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27221, 0, 0, 0], + }, + Term { + s: -1.303033317442586e-7, + c: 5.731054174371761e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1755, 0, 0, 0], + }, + Term { + s: -9.165580546285932e-8, + c: 1.088726491838438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1818, 0, 0, 0], + }, + Term { + s: -1.395214760299559e-7, + c: -2.624954360673631e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2081, 0, 0, 0], + }, + Term { + s: 7.061362521889755e-8, + c: -1.226462540611534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, 0, 0, 0], + }, + Term { + s: -5.375932007124609e-8, + c: 1.308280123661757e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497, 0, 0, 0], + }, + Term { + s: 1.403350628744358e-7, + c: 1.748089990267770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3726, 0, 0, 0], + }, + Term { + s: 1.191440279350233e-8, + c: 1.395157397786170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0], + }, + Term { + s: -1.311357442144112e-7, + c: 4.855780193400285e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28647, 0, 0, 0], + }, + Term { + s: -3.294860995452179e-8, + c: 1.344381649090648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], + }, + Term { + s: 3.047202359898050e-8, + c: 1.348847424905833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9154, 0, 0, 0], + }, + Term { + s: 1.131583611190795e-7, + c: -7.842787003721456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3231, 0, 0, 0], + }, + Term { + s: 1.243066933393488e-7, + c: -5.855278086505754e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6887, 0, 0, 0], + }, + Term { + s: -7.824952034269089e-8, + c: 1.123437508305855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17417, 0, 0, 0], + }, + Term { + s: -1.360715159709923e-7, + c: 1.267471556476109e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635, 0, 0, 0], + }, + Term { + s: 1.127557941641613e-7, + c: 7.606377497829459e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0], + }, + Term { + s: 1.354179950130979e-7, + c: -1.149240452892384e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373, 0, 0, 0], + }, + Term { + s: -4.918912989257080e-8, + c: 1.261048474600597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 0, 0, 0], + }, + Term { + s: -7.830267773450666e-8, + c: 1.088854922626652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2502, 0, 0, 0], + }, + Term { + s: 1.201380274462110e-7, + c: -5.943812383858166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10481, 0, 0, 0], + }, + Term { + s: 1.327622557811631e-7, + c: -1.610369891379067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0], + }, + Term { + s: -1.132867536524065e-8, + c: -1.326323634542278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28443, 0, 0, 0], + }, + Term { + s: -1.231309081364058e-8, + c: 1.324809976315265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2404, 0, 0, 0], + }, + Term { + s: 1.779924404043657e-8, + c: -1.307507437983956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2933, 0, 0, 0], + }, + Term { + s: -7.317456596855066e-8, + c: -1.094639833344050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1495, 0, 0, 0], + }, + Term { + s: 1.228528498568924e-7, + c: 4.675287484414091e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0, 0, 0], + }, + Term { + s: -1.307375163658191e-7, + c: -1.278587845704231e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27673, 0, 0, 0], + }, + Term { + s: 3.372200795230526e-8, + c: 1.266074179586164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15380, 0, 0, 0], + }, + Term { + s: -8.202626873395969e-8, + c: -1.019745203137480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8214, 0, 0, 0], + }, + Term { + s: -1.235717198573569e-7, + c: -4.218080609276352e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4139, 0, 0, 0], + }, + Term { + s: -1.164416872679469e-7, + c: -5.845925096378291e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28349, 0, 0, 0], + }, + Term { + s: -2.985464088266870e-8, + c: 1.267569123807214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0], + }, + Term { + s: -3.976165193667248e-8, + c: 1.238305278250431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0, 0], + }, + Term { + s: -7.371368113428863e-8, + c: 1.030874771945176e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1378, 0, 0, 0], + }, + Term { + s: -8.737485209543320e-8, + c: -9.104700708415040e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0], + }, + Term { + s: -3.298617293498796e-8, + c: 1.216733408857492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29253, 0, 0, 0], + }, + Term { + s: -1.129446958425605e-7, + c: 5.496166105107919e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 0, 0, 0], + }, + Term { + s: -3.887304488281203e-8, + c: -1.189176172119115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0], + }, + Term { + s: 1.008698735325458e-7, + c: 7.286118110699515e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4940, 0, 0, 0], + }, + Term { + s: -1.137598913547076e-7, + c: 5.020528909201117e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2695, 0, 0, 0], + }, + Term { + s: -3.970063548710101e-8, + c: 1.169750557461943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 0, 0, 0], + }, + Term { + s: -8.573559017985829e-8, + c: 8.697912777145973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9146, 0, 0, 0], + }, + Term { + s: 1.040216991868408e-7, + c: -6.324185557297840e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0], + }, + Term { + s: 1.189465080138669e-7, + c: -2.447945521010982e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859, 0, 0, 0], + }, + Term { + s: 3.177809030655114e-9, + c: -1.212685593064249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0], + }, + Term { + s: 1.026987433483605e-7, + c: 6.441537927591148e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6879, 0, 0, 0], + }, + Term { + s: -7.870331931638026e-8, + c: -9.148018716326864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, 0, 0, 0], + }, + Term { + s: -4.839527910687788e-9, + c: -1.195478215197608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4183, 0, 0, 0], + }, + Term { + s: -8.974063169634995e-8, + c: -7.906476772284168e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4269, 0, 0, 0], + }, + Term { + s: -5.576345533137917e-8, + c: -1.049460331507416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4202, 0, 0, 0], + }, + Term { + s: 9.330841679680046e-8, + c: -7.120947475521562e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4470, 0, 0, 0], + }, + Term { + s: -1.142762744749724e-7, + c: -2.665481413270527e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3001, 0, 0, 0], + }, + Term { + s: 1.143553789327448e-7, + c: 2.571624614257109e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3849, 0, 0, 0], + }, + Term { + s: -8.886759800372636e-8, + c: 7.567694725222005e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: 2.164306813433570e-8, + c: -1.144084407325096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0], + }, + Term { + s: -1.142969685046068e-7, + c: 2.189852242370053e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0], + }, + Term { + s: -8.592583229102397e-8, + c: 7.840134005438983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 6.563476639465984e-8, + c: -9.583473038399867e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1507, 0, 0, 0], + }, + Term { + s: -8.652488385105122e-8, + c: -7.634571036271413e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0], + }, + Term { + s: -1.142675988540852e-7, + c: -1.424119067956230e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: 5.228435492194535e-8, + c: 1.025081030814281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0], + }, + Term { + s: -1.144069413973457e-7, + c: 1.231241500760555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0, 0, 0], + }, + Term { + s: 7.028553035015769e-8, + c: 9.040596868881464e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30443, 0, 0, 0], + }, + Term { + s: 7.266580526531068e-8, + c: 8.812001700025327e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20790, 0, 0, 0], + }, + Term { + s: -7.137466172780997e-8, + c: 8.909217320378670e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0], + }, + Term { + s: -5.063209054746258e-8, + c: -1.021591948894550e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0], + }, + Term { + s: 1.125020318195489e-7, + c: 1.401717982149368e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17472, 0, 0, 0], + }, + Term { + s: 7.566130426746842e-8, + c: -8.415316833163325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3161, 0, 0, 0], + }, + Term { + s: -5.944547118189761e-8, + c: -9.586724636557462e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0], + }, + Term { + s: 7.880031029316445e-8, + c: -8.001133308300817e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17393, 0, 0, 0], + }, + Term { + s: -1.114930473932143e-7, + c: 1.152333095008456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, 0, 0], + }, + Term { + s: -7.855762389903731e-8, + c: 7.915520988328538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1075, 0, 0, 0], + }, + Term { + s: -1.032737860582805e-7, + c: 4.111278155258332e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28761, 0, 0, 0], + }, + Term { + s: -1.046114723752062e-7, + c: -3.742953557526931e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2152, 0, 0, 0], + }, + Term { + s: 4.217140327420976e-8, + c: -1.027503765663949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13250, 0, 0, 0], + }, + Term { + s: -9.375949199145849e-8, + c: 5.893343742825615e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1972, 0, 0, 0], + }, + Term { + s: -8.517502339333794e-8, + c: -7.040277679875595e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2192, 0, 0, 0], + }, + Term { + s: -3.063200852096650e-8, + c: 1.059461751142830e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0], + }, + Term { + s: -1.101427590908768e-7, + c: -7.992320125772104e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1570, 0, 0, 0], + }, + Term { + s: -3.863374298995551e-8, + c: -1.029829704001149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 0], + }, + Term { + s: 1.092317209690008e-7, + c: 6.447454769535376e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2820, 0, 0, 0], + }, + Term { + s: -8.539770332043442e-8, + c: -6.802399424768026e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0], + }, + Term { + s: -6.893179917212957e-8, + c: -8.442008781822607e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6088, 0, 0, 0], + }, + Term { + s: 1.035106749407710e-7, + c: 3.363255943493605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2890, 0, 0, 0], + }, + Term { + s: 5.242481506300848e-8, + c: -9.526713332671773e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 0, 0, 0], + }, + Term { + s: -1.070075963723528e-7, + c: -1.849234919876723e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14672, 0, 0, 0], + }, + Term { + s: 8.682665257672051e-8, + c: 6.455771563632449e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28324, 0, 0, 0], + }, + Term { + s: 1.048901177924564e-7, + c: -2.613836019838777e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8766, 0, 0, 0], + }, + Term { + s: 1.013535492225226e-7, + c: 3.729413615355057e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3590, 0, 0, 0], + }, + Term { + s: 1.072221863384247e-7, + c: -1.104826150348778e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2466, 0, 0, 0], + }, + Term { + s: 2.126882060053637e-9, + c: 1.075844583512859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28403, 0, 0, 0], + }, + Term { + s: 3.588402906292508e-8, + c: 1.012187462245278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 0, 0, 0], + }, + Term { + s: 7.477606699326769e-8, + c: -7.682830820493999e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, 0, 0], + }, + Term { + s: -8.919796963801241e-8, + c: 5.922459530310070e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17126, 0, 0, 0], + }, + Term { + s: 6.615130228821199e-8, + c: 8.372098976780556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6032, 0, 0, 0], + }, + Term { + s: 8.490792888497530e-8, + c: -6.432106652158796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489, 0, 0, 0], + }, + Term { + s: 1.262412682817383e-8, + c: 1.057628649271666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1073, 0, 0, 0], + }, + Term { + s: 3.520972978435171e-8, + c: -1.004973630709072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1991, 0, 0, 0], + }, + Term { + s: -1.059962578007312e-7, + c: -9.007917308156595e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7236, 0, 0, 0], + }, + Term { + s: -3.629279126711147e-8, + c: -9.964849052690997e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0], + }, + Term { + s: -7.616565154246315e-8, + c: 7.326349265485963e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2848, 0, 0, 0], + }, + Term { + s: 6.933875531246981e-9, + c: 1.052614217229366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2026, 0, 0, 0], + }, + Term { + s: 1.019000452963178e-7, + c: 2.719717634406256e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14671, 0, 0, 0], + }, + Term { + s: -8.632403295775818e-8, + c: 5.931386050845763e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798, 0, 0, 0], + }, + Term { + s: 1.978377603746971e-8, + c: -1.016854240417174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0], + }, + Term { + s: -6.930276177948956e-8, + c: -7.676738105026098e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7274, 0, 0, 0], + }, + Term { + s: 4.821333889929144e-8, + c: 9.148962805763074e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, 0], + }, + Term { + s: 1.334493100374600e-10, + c: 1.033848890829005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109, 0, 0, 0], + }, + Term { + s: -9.918063728161114e-8, + c: 2.550808975905331e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0], + }, + Term { + s: -8.395971821925338e-8, + c: -5.775455697957130e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3774, 0, 0, 0], + }, + Term { + s: 1.390032655520467e-8, + c: -1.004743225104999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3075, 0, 0, 0], + }, + Term { + s: -6.746816141228112e-8, + c: -7.550673571193448e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28058, 0, 0, 0], + }, + Term { + s: 6.412877777441384e-8, + c: -7.831692923735010e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 794, 0, 0, 0], + }, + Term { + s: -4.171616768500156e-8, + c: 9.184284617134749e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17347, 0, 0, 0], + }, + Term { + s: 6.003461303767421e-8, + c: 8.056388356256541e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1448, 0, 0, 0], + }, + Term { + s: 4.249724277561489e-8, + c: 9.059829275597045e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 5.382252967565117e-2, + c: -2.454100771085402e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.789000000000001e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.962357176525557e-2, + c: -1.598173392936494e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 1.385152332013626e-2, + c: -2.166784628540105e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 4.724196709450942e-3, + c: 8.672302004362156e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 2.739278026727122e-3, + c: -3.800880445379082e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 3.319079220271196e-3, + c: -5.901544125976962e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -2.622174677603653e-3, + c: -2.064684471297055e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 8.471165519668854e-4, + c: -2.734117707072450e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 8.382984417871771e-4, + c: -2.142736137110234e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 1.396247790982541e-3, + c: -6.519145744242542e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -4.880060952606280e-4, + c: -1.417435326639005e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 9.310576405243736e-4, + c: -7.787401740235857e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.956884299098960e-4, + c: -1.149511965571970e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.024569152949277e-3, + c: -2.932033980021945e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 1.212244001292761e-4, + c: -9.834400804770286e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.238063287932912e-4, + c: 7.266253143755908e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 5.412526950625145e-4, + c: -4.905902044903497e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 3.307189281222134e-4, + c: -5.085831499819024e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -4.373157097419988e-4, + c: 1.811118864433372e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -5.101769774599020e-5, + c: -3.976696081005544e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 3.300597113336468e-4, + c: -1.486685223547115e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 2.105950043250672e-4, + c: 2.942257510379876e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 1.930771644861868e-4, + c: -2.926316238607087e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 1.739391171961827e-4, + c: -2.594668959478998e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -3.752856230955329e-5, + c: -2.841546914377663e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 5.294816608951409e-5, + c: -2.547312232566922e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 2.350399293753188e-4, + c: -4.006064176652318e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.572776533575865e-4, + c: 1.699948831097590e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -1.681904000178875e-4, + c: -1.472904110512079e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 2.133594046468196e-4, + c: 2.241163194332789e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 1.274379019065965e-4, + c: 1.501219196987310e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -6.095443564094647e-5, + c: -1.737030989638843e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.004808573614376e-4, + c: 1.222407459173708e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -1.222039897751449e-4, + c: 8.035846578730112e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -1.374404265785550e-4, + c: -1.421919989296173e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 1.215619734902505e-4, + c: 5.130783257702707e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -2.762704199391134e-5, + c: 1.264120869861518e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -1.197457520396470e-4, + c: -2.550510738947553e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 6.900646665005918e-5, + c: -8.574232904247394e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.030268725363876e-4, + c: 2.781422101187169e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 6.286885503626256e-5, + c: -8.481800109127885e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -3.812033504126572e-5, + c: -9.681171509827064e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 3.054555401955127e-5, + c: 9.685774720902554e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -9.196368828891295e-5, + c: 4.024542972558330e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.351914349459681e-5, + c: 9.921870523801725e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -7.439010126126784e-5, + c: 6.531730723727344e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -2.118710118102274e-5, + c: -9.647246652133917e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -9.678155481443462e-5, + c: -1.782190993179929e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -8.841108199294064e-5, + c: -2.876608647942846e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 4.651202269508808e-5, + c: -7.776659231542541e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -8.510268729351224e-5, + c: -2.988545520294499e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 8.052569749675468e-5, + c: -4.041765407160848e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -9.000546907930298e-5, + c: 3.671109179034309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 6.197996568801692e-5, + c: -5.156100141623669e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 7.713053027686688e-5, + c: 1.932128985775710e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -6.443057884012408e-5, + c: -4.512310031866601e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -4.612392982528450e-5, + c: -5.843969792422501e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 6.428728112038679e-5, + c: 3.188562625136327e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 1.107072191141765e-6, + c: -6.876010962403835e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -4.318066467047510e-5, + c: -5.321791229569356e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 9.738068581283434e-6, + c: -6.739626564958889e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: -2.724019846811916e-5, + c: -6.012044233421388e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -2.523453538795897e-5, + c: -6.098142377360886e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.343978243478826e-5, + c: -6.357298375091582e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 1.492359787713021e-5, + c: 5.537606068258827e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -8.126059796157382e-7, + c: -5.717591269247373e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -5.474577024263601e-5, + c: 1.056454183134567e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -4.850454117718275e-5, + c: -2.409707134881031e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -3.606116570082079e-5, + c: 4.022240022240340e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -2.520728577215669e-5, + c: -4.603377247459550e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 5.119900865756354e-5, + c: 1.152502209451032e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 5.178128881656137e-5, + c: 8.441075897629916e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -9.758420751989971e-6, + c: -5.001225089433980e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 7.583160006085685e-6, + c: -4.902361180585981e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -3.896563081186152e-5, + c: 2.976966810808572e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -8.519188018280281e-6, + c: -4.726176187908670e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -4.452166151269026e-5, + c: -1.498409639940285e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 1.499475478179398e-5, + c: -4.398386291195852e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -3.026536023139465e-6, + c: -4.628882511643643e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 3.753228516092341e-5, + c: 2.713622442145255e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 1.442066849473159e-6, + c: 4.485805511453050e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -5.709929175598170e-6, + c: -4.422970570536327e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.976883046126014e-5, + c: -3.900818407592576e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 1.764841699148032e-5, + c: -3.981963936161064e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -2.493379180639632e-5, + c: -3.510307208757599e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -4.288815938824590e-6, + c: -4.209985981991281e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -2.141812102059144e-5, + c: 3.328101431924160e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: 1.924639178803212e-5, + c: -3.339520190639214e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 3.523445877791993e-5, + c: 1.231376889656361e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 2.532065275010421e-5, + c: -2.312186646490473e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 2.981132738049558e-5, + c: -1.579317442768112e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -1.523515218246898e-5, + c: 3.004169848788549e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: 3.770399018432807e-6, + c: 3.330976206344889e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 8.372512289390485e-6, + c: -3.227326732953407e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -2.467972940740115e-5, + c: -2.239416189148780e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -1.838870721265567e-5, + c: -2.766971606781006e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 1.980515094053631e-5, + c: -2.595580061783272e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: -2.257900998511287e-5, + c: 2.358119397923588e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 3.019868729355532e-5, + c: -1.184914933054783e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -2.877990664391390e-5, + c: 1.158168352368239e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 3.044537579588134e-5, + c: -1.888437342383864e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 2.665640140932023e-5, + c: -1.193725109990519e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.815217592023031e-5, + c: -6.461132500040798e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: 1.430521567309102e-5, + c: -2.401031288635936e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: 2.562340632642371e-5, + c: 6.743251941267010e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 5.344502837856761e-6, + c: -2.453875713296211e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 2.187528304956805e-5, + c: 1.195920551235414e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: 2.426841049180535e-5, + c: -5.556269307184534e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -9.656887493893987e-6, + c: 2.276289770376324e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 5.871413650595357e-6, + c: -2.384609487880414e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -9.534258096919666e-6, + c: 2.242392162950549e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -1.569023296980455e-5, + c: -1.828795056678423e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 1.353277412355327e-6, + c: -2.378088894492437e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: -1.196888102129324e-5, + c: 1.936076635833667e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -1.906530190383277e-5, + c: 1.142740191001135e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 6.652967227894159e-7, + c: -2.170884448076050e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -7.075616364685433e-6, + c: 1.976597235556712e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 1.378611197826692e-5, + c: 1.549712550409057e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 2.055326031823869e-6, + c: -2.029688478040616e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -1.397852042344907e-5, + c: -1.476108153644664e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 1.737615699149669e-5, + c: -1.044755379525720e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 1.050019592855754e-6, + c: -1.991383324515414e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 1.654431246881817e-5, + c: -1.031874261410291e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 4.802368380424912e-6, + c: 1.879181533066834e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 1.208013191275659e-6, + c: -1.934533882726791e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 1.695036837713855e-5, + c: -9.299372697052218e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -1.846844310840314e-5, + c: 5.630366843117920e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 1.809122377497237e-5, + c: -6.199819394681228e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 1.733630588731297e-5, + c: 7.810269593234846e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 8.442222942675366e-6, + c: 1.576365446034772e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -3.352775489080269e-6, + c: 1.702828814776974e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: -6.643238791762492e-6, + c: -1.586757406006388e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -1.314974929123053e-5, + c: -1.102121700918776e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 1.398706787532077e-5, + c: 9.819698808229554e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -2.384713769860824e-6, + c: -1.651656297464923e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 1.597028492775501e-5, + c: -4.568227691292920e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -2.503872158604678e-6, + c: 1.640188319072554e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 2.563705736933249e-6, + c: 1.597722195216347e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 1.616056821547712e-5, + c: 1.407428151948335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 3.479462471021381e-6, + c: -1.571361833829854e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -4.714494559589802e-6, + c: 1.520412848135770e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 1.399574165998076e-5, + c: 6.336109686890303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -6.603148171810034e-6, + c: -1.351445553885395e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: 2.847401696746772e-6, + c: -1.450506522327499e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: 1.313755973209865e-5, + c: 6.691416469022139e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -2.878624014763605e-6, + c: 1.432137084813398e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: 1.439711420076012e-5, + c: 7.610157918433630e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: -7.263405463595546e-7, + c: 1.425481159084500e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 1.153919869534919e-5, + c: -8.346546462517577e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -8.618464412994319e-6, + c: 1.127877230322793e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: 1.162934600108842e-5, + c: -7.976356471841606e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -1.284789986484523e-5, + c: -4.611304731182484e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -1.269733205793223e-5, + c: 4.884577746695784e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: -2.809602706226717e-6, + c: 1.308388147154082e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: -1.306289178718081e-5, + c: 1.471925022596098e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -9.507225271151585e-6, + c: 8.644916922016998e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: 5.029583204806915e-6, + c: -1.181331835044853e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 1.271748298129594e-5, + c: 1.334782970592642e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: 5.294664687718080e-6, + c: 1.151875212711072e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 1.862707566654233e-6, + c: 1.246693899793076e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.069046432571778e-5, + c: -6.124171031133432e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -6.083389931573784e-6, + c: 1.067037704341378e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -9.696496026377944e-6, + c: -7.501757140562872e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -7.406478048250780e-6, + c: 9.360370481828658e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -4.866393576006600e-6, + c: 1.088836076982684e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 4.544067329830815e-6, + c: 1.088641163092987e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: 3.295354337512826e-7, + c: 1.171345265396200e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 3.517620810854095e-6, + c: -1.104933342698152e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 5.531299577196112e-6, + c: -1.015200206466441e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 7.245342574353154e-6, + c: -7.629574966817031e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 6.410360433900972e-6, + c: 8.250198018479368e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 2.264212740370947e-6, + c: -1.013747197850983e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -6.241524938353527e-6, + c: 8.107911975493616e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: -5.715955495937422e-6, + c: -7.627134634896428e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 4.036912706953372e-6, + c: 8.595121156285374e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: 5.587770933475138e-6, + c: -7.603259254953870e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 1.786676156221858e-6, + c: 9.201969895101514e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: -7.505568092198714e-6, + c: 5.329315965316426e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 4.709871354163242e-6, + c: 7.851063106356068e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 6.677294346304931e-6, + c: -6.210000199648384e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 8.794102495047627e-6, + c: -1.933084778169405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: -7.128835002108740e-6, + c: -5.422853633681026e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 7.320222302797248e-6, + c: 5.134610791630520e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -5.746305684265134e-6, + c: 6.629977533793894e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: 2.660920521798518e-6, + c: 8.332046586921172e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -8.431635128936529e-6, + c: -2.107034783008079e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 3.402241223916371e-6, + c: -7.728377325811703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 1.747086768598032e-6, + c: -8.233142759556849e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -4.732384195549863e-6, + c: -6.883950858411633e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -7.590092046911704e-6, + c: 3.387529717846414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -3.227647193136745e-6, + c: -7.498339256839369e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 4.535013981340244e-6, + c: -6.736829524126094e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: -4.797015820587324e-6, + c: -6.551369707328703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: -5.736770631525895e-6, + c: 5.647226037486914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 7.905128999013012e-7, + c: 7.995734489662940e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: -8.000125767308717e-6, + c: 1.350989554667248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -2.393778260534217e-6, + c: -7.632685342800750e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 6.078003669093760e-6, + c: 4.998290883865841e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 7.727573836091834e-6, + c: -1.068907284930130e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 7.267374355860726e-6, + c: 2.740645753655695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: -2.855768411272852e-6, + c: 7.218085929943901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -7.360305272159773e-6, + c: 2.188283563681865e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, 0, 0], + }, + Term { + s: 5.789334935363319e-6, + c: -4.858805880853607e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: 8.312082088057211e-7, + c: -7.436962281753803e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: 5.228089621985929e-6, + c: 5.287100543043868e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -7.354228006641903e-6, + c: -3.844090835609655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 5.223004101956822e-6, + c: -5.165051838691086e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 6.643712858401599e-6, + c: -3.131498112880803e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: -7.269107497979555e-6, + c: -8.626230454175764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: -7.136844642119489e-6, + c: -1.215352822437740e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: 1.101512711842959e-7, + c: -7.102474557295420e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -2.958358547976834e-6, + c: 6.452835002277320e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0], + }, + Term { + s: -5.392807507901317e-6, + c: -4.604326810029276e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: 4.718000337679111e-6, + c: -5.292080605704888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: -3.377241529836310e-6, + c: -6.220155251473989e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -6.430438960935512e-6, + c: -2.624622282649407e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: 2.375026945596530e-6, + c: 6.437827222272431e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: -2.314888566499474e-6, + c: 6.208947576177109e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 5.839666442168572e-6, + c: 3.010011839669365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: -6.480079651067971e-6, + c: -9.772157065337021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 6.433514266753059e-6, + c: -3.816607382494443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: -2.803398370021746e-6, + c: -5.802675676506158e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -4.678621789920248e-6, + c: 4.406716766435877e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 3.221082846825519e-6, + c: 5.526126581494603e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: -6.028819141989155e-6, + c: -1.900548857943636e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: -6.265894164638352e-6, + c: -4.580314769737438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: -2.900759047146315e-6, + c: -5.529967067932487e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: -1.762691543978040e-6, + c: 5.893242650880205e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -1.314993218235345e-6, + c: -5.908259083006197e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: -5.816345717896696e-6, + c: 1.495738466362694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 3.455972330058933e-6, + c: -4.793454822840695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -4.985369259588087e-6, + c: 3.115345178308961e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26935, 0, 0, 0], + }, + Term { + s: 9.309373798520191e-7, + c: 5.782877161945819e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -4.757478028474944e-6, + c: 3.236675922878186e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: -4.455427315696015e-6, + c: 3.616907930700233e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: 5.622117439438152e-6, + c: -7.955790980951407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 1.153106180986947e-6, + c: -5.505508995370398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: 4.241301616898003e-6, + c: 3.497550202912448e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 1.321917739703991e-7, + c: -5.480390893519614e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -1.018292687533742e-6, + c: 5.369843562225660e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0], + }, + Term { + s: -5.412314808587446e-6, + c: -7.116322530896133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -4.304407754196539e-6, + c: 3.276268018237645e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -4.523823093797508e-6, + c: -2.965175465271346e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: -5.341033277271901e-6, + c: -2.883060456949692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: -3.009052636562063e-6, + c: 4.378593568136117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: -1.763582049953582e-6, + c: 4.929621125798165e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: -1.900792256040291e-6, + c: 4.865793134113282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: 4.035678898415826e-6, + c: -3.142425864770877e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: -2.062740394275805e-6, + c: -4.679790504964787e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 3.455915431242905e-6, + c: 3.697596378773294e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: 5.045894737621157e-6, + c: -2.133775320836366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 3.556312523847997e-6, + c: -3.554094817460921e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: 5.798201404271069e-7, + c: -4.980023202294331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: -3.700127747393156e-6, + c: 3.279763339574055e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0, 0], + }, + Term { + s: -4.206142075296687e-6, + c: -2.571885600237662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: 4.928966306467392e-7, + c: 4.884172446050414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 4.662385500235036e-6, + c: -1.526875737270880e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: -4.670006298206267e-6, + c: 1.387566735481943e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -2.865790706618803e-6, + c: -3.923080843911878e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: 9.310737652000946e-7, + c: -4.766983811360746e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: -5.507779017220546e-7, + c: -4.775311369422859e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: -2.331831370505930e-6, + c: -4.198685927717860e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 4.213041955043192e-6, + c: 2.294835234454193e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: -4.337362452678346e-6, + c: -2.043336788547526e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: -9.562294159762160e-7, + c: -4.647983383732739e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: 3.524373100789397e-6, + c: -3.086833429246735e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 3.356456279683901e-7, + c: -4.522951539122558e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -4.059729476899315e-6, + c: 1.950364154831853e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326, 0, 0, 0], + }, + Term { + s: 4.458704193579263e-6, + c: 2.656105692944705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: 4.314542450283688e-6, + c: 2.536916307845119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: -3.631964604520122e-6, + c: -2.171370497410323e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: -4.805919845924748e-7, + c: 4.128666456507665e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: -5.374167322171811e-7, + c: -4.105281921463991e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: -3.664242553820555e-9, + c: -4.138693654844613e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: 3.301275639183484e-6, + c: 2.076408191808684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 1.105075903864167e-6, + c: 3.589436268239002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: 1.577512821470720e-6, + c: 3.332742306362723e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -3.206828284342405e-6, + c: -1.690838626128847e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -5.120615124569229e-7, + c: -3.566273769411482e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: 3.437267883953295e-6, + c: -1.071363613919369e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -1.126205907806475e-6, + c: 3.411642602470880e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: -7.730751123411104e-7, + c: -3.443432952478561e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0], + }, + Term { + s: -2.080885608466853e-6, + c: -2.800000414570672e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 3.470335970836638e-6, + c: -1.154804181086329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 3.189125396811463e-6, + c: -1.373081735041375e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: -6.831739829834587e-8, + c: -3.410124213657604e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: 1.286407336187404e-6, + c: -3.136231638269255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 2.952133348031983e-7, + c: -3.341439666102355e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0], + }, + Term { + s: 1.055640986542743e-6, + c: -3.177392363702199e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: 3.323462069809141e-6, + c: 1.208569274998843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0], + }, + Term { + s: 1.314999676752691e-6, + c: 3.028859393766454e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16003, 0, 0, 0], + }, + Term { + s: 2.874827122827560e-6, + c: -1.616118997250141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: 3.242625903036869e-6, + c: 2.623752563664729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -3.224797508473007e-6, + c: -3.165347767855043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0], + }, + Term { + s: -1.611517722330483e-6, + c: 2.810244585336267e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0], + }, + Term { + s: 2.358010132320314e-6, + c: 2.215098510749256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: -2.502711283982259e-6, + c: 2.040681427817732e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -8.578819588532803e-8, + c: 3.210649454466460e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: -1.364060609029733e-7, + c: -3.192409412329043e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: -6.531298712214715e-7, + c: -3.127423217910088e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0], + }, + Term { + s: 9.650165203375503e-7, + c: -3.043398412882845e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: 2.975938497116827e-6, + c: -1.130746736887350e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -5.821550079477462e-7, + c: 3.129081543236721e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: 2.955307219078010e-6, + c: 1.123984740989690e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: -6.526347466422141e-7, + c: 3.045921040663532e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: -1.584012017126844e-6, + c: -2.467102314101791e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: -8.851994864078246e-7, + c: -2.749137283774230e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: -2.101994908894586e-6, + c: 1.970881802927244e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -7.490523044775896e-7, + c: 2.764536454084449e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: -1.060750691685856e-6, + c: 2.644988458952131e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0], + }, + Term { + s: 3.722536444339860e-7, + c: -2.825011581410459e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0], + }, + Term { + s: 1.143747627412682e-6, + c: -2.590276736687796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -2.209069021857589e-6, + c: -1.719678407110223e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: 2.207554314335180e-6, + c: 1.687573010359944e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: 2.597249511940194e-6, + c: -9.223279940422655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8792, 0, 0, 0], + }, + Term { + s: 2.674011733169723e-6, + c: -6.661346783072602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: 2.203099840979036e-6, + c: 1.538693879309883e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853, 0, 0, 0], + }, + Term { + s: 5.912048200526079e-8, + c: -2.677758509652627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0], + }, + Term { + s: 2.275220351746001e-6, + c: 1.403856356264727e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0], + }, + Term { + s: -1.604574339273908e-6, + c: 2.127992679951937e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: 2.424273021171053e-6, + c: -1.048928705532607e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0], + }, + Term { + s: -5.772390582710970e-7, + c: -2.534152975471157e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: -1.184050455860088e-6, + c: 2.312107846623270e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: -2.557697859833804e-6, + c: 1.014834936172718e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: 8.240231943068997e-7, + c: 2.386110390903136e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: 5.617977798467553e-7, + c: -2.458143392782448e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, 0], + }, + Term { + s: 2.167394111961721e-6, + c: 1.235553928488420e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: 2.120454015833600e-6, + c: -1.282841105719879e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: -1.674091126657845e-7, + c: 2.465536350029677e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: -2.445401707125005e-6, + c: -3.511323459855545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0], + }, + Term { + s: 2.336979574600955e-6, + c: -7.786360037093613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0], + }, + Term { + s: 2.396188080338798e-6, + c: -5.263818408770533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0], + }, + Term { + s: 2.181160949105930e-6, + c: -1.120453158532953e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: 2.281265850633356e-6, + c: -8.451637284213251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0], + }, + Term { + s: -3.819409731153166e-7, + c: 2.372299807110672e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 0, 0, 0], + }, + Term { + s: 6.007669881785034e-7, + c: -2.311233151821914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0], + }, + Term { + s: 1.096212214972076e-6, + c: 2.120569090700388e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0], + }, + Term { + s: 2.135638869151558e-6, + c: 9.702167500206119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: 9.349816556167581e-7, + c: 2.129012234204725e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: 2.306690688735210e-6, + c: -2.277076657511979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 0, 0], + }, + Term { + s: -1.168671647494482e-7, + c: 2.314573785103731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258, 0, 0, 0], + }, + Term { + s: -1.690205000036371e-6, + c: 1.551100281663552e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0], + }, + Term { + s: 1.708930940941771e-6, + c: -1.516776812131858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0], + }, + Term { + s: -1.998742584416421e-6, + c: -1.105040871262083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0], + }, + Term { + s: 1.201658838437047e-6, + c: -1.926392603413266e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: -2.148266946896505e-6, + c: -6.734259906886194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18807, 0, 0, 0], + }, + Term { + s: 1.043639893535513e-7, + c: -2.239022194337480e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0], + }, + Term { + s: 2.131628662765906e-6, + c: -5.650228268888650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: -8.918668437784530e-7, + c: -2.013502390889566e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 0, 0], + }, + Term { + s: 1.616370174281830e-6, + c: -1.421795847741615e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -2.113588625419338e-6, + c: 1.831773058984692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, 0], + }, + Term { + s: -3.564305341207897e-7, + c: -2.085698431383222e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: 1.663906330343637e-7, + c: 2.082492135145709e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 2.075098433524133e-6, + c: 1.652282780977696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21002, 0, 0, 0], + }, + Term { + s: -2.046960619251540e-6, + c: -3.102956347066874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: 1.805311955644180e-6, + c: -9.407115663010477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: 1.775088245352829e-6, + c: -9.900108595054590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: -6.832578858731167e-7, + c: 1.902669185780435e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 0, 0, 0], + }, + Term { + s: 1.105163675480243e-6, + c: -1.680591420042914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: 7.383813953169667e-8, + c: -1.960644104151804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: -9.474784776256307e-7, + c: 1.696201049247377e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: -1.334193535213567e-6, + c: -1.395861514459088e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0], + }, + Term { + s: -3.505333794250846e-7, + c: -1.892968687480028e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 8.636206201788344e-7, + c: 1.712488013437787e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0], + }, + Term { + s: -2.010862815134786e-7, + c: 1.900076951804483e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2305, 0, 0, 0], + }, + Term { + s: 2.122759531832341e-7, + c: 1.893138779804434e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0], + }, + Term { + s: -1.088302594659133e-6, + c: 1.558219479851197e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0], + }, + Term { + s: -1.781498530494240e-6, + c: -6.575459537382775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28341, 0, 0, 0], + }, + Term { + s: 1.010553190955647e-6, + c: -1.597945577726096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: -8.461056538076351e-7, + c: -1.662910202257262e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0], + }, + Term { + s: -9.379714859863785e-7, + c: -1.589199687615554e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: 1.499961042504543e-6, + c: 1.074498893898566e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: -1.651854780690695e-6, + c: 7.989250599712833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0], + }, + Term { + s: 1.261837372835334e-6, + c: 1.326225013857390e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0], + }, + Term { + s: 1.130567941781319e-6, + c: 1.436268038107183e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0], + }, + Term { + s: -3.683722360205498e-7, + c: -1.779379023160477e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: 1.808934523117164e-6, + c: -1.718196239740786e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0], + }, + Term { + s: 7.927771372770483e-7, + c: -1.628242701833085e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: -2.965869838753665e-7, + c: -1.776802219901579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0], + }, + Term { + s: 1.649936027846718e-6, + c: 6.713798041297690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0], + }, + Term { + s: -1.553769627662399e-6, + c: -8.611695038997391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: 8.944656007418214e-7, + c: 1.527866701099591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: -1.723056256537458e-6, + c: -4.056015771070549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0], + }, + Term { + s: 2.384478837685573e-7, + c: -1.752969521980331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0], + }, + Term { + s: 1.179303101651066e-6, + c: 1.315785837034056e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: 9.067918220286153e-7, + c: 1.485491096189195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: -9.316753359923536e-7, + c: 1.466945457378569e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 707, 0, 0, 0], + }, + Term { + s: 9.481829844582881e-7, + c: 1.386026232026662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: -1.675468749456253e-6, + c: 4.666816185051698e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: 6.012789056083002e-7, + c: 1.564459751747642e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -1.478601299854297e-6, + c: -7.529395154016843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: -8.911738250241908e-7, + c: 1.381436933214372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0], + }, + Term { + s: 8.892424826147259e-7, + c: 1.363309641756330e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0], + }, + Term { + s: 1.572505380686725e-6, + c: -3.940235465574418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0], + }, + Term { + s: -1.256405390469530e-6, + c: -9.941514665716287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 0, 0, 0], + }, + Term { + s: -1.398339225229246e-6, + c: 7.477566650175312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3755, 0, 0, 0], + }, + Term { + s: 4.320014544882546e-7, + c: -1.524320375205734e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905, 0, 0, 0], + }, + Term { + s: 1.076688752604982e-6, + c: 1.157516640834634e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7293, 0, 0, 0], + }, + Term { + s: 5.204322576556861e-7, + c: -1.488458130456461e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, 0, 0, 0], + }, + Term { + s: -7.326201225231826e-7, + c: -1.370415095572999e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1579, 0, 0, 0], + }, + Term { + s: -7.927859751481057e-7, + c: 1.327881591139962e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0, 0], + }, + Term { + s: 4.172124553217412e-7, + c: -1.478135630680581e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: -1.389366392624009e-6, + c: -6.272733385217075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0], + }, + Term { + s: 1.311189391026611e-6, + c: 7.302439828101340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: -3.206618457170551e-8, + c: 1.494656255354616e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, 0], + }, + Term { + s: 1.435425155344457e-6, + c: -3.233802417771784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0], + }, + Term { + s: -1.067477792343876e-6, + c: 9.985454481189846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0], + }, + Term { + s: 6.469559309876389e-7, + c: 1.284285954225885e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: -4.076383568838314e-7, + c: -1.355967961325177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9008, 0, 0, 0], + }, + Term { + s: -7.724956850753971e-7, + c: -1.180492929858602e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 0, 0], + }, + Term { + s: 1.008232001041593e-6, + c: 9.861593867350857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: 1.134047568396997e-6, + c: -8.343941638835519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0], + }, + Term { + s: -1.353003435136120e-6, + c: 3.876231213075899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6812, 0, 0, 0], + }, + Term { + s: -8.974324834326071e-7, + c: 1.082568114681864e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: 3.671333829656196e-7, + c: 1.345230106295159e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116, 0, 0, 0], + }, + Term { + s: 5.351871982317769e-7, + c: 1.282460610650191e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0], + }, + Term { + s: 1.617419197435607e-7, + c: 1.367233196767313e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: 1.259929185693715e-6, + c: -5.390181913876966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: 8.058469688819992e-7, + c: -1.078161290586204e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: -5.487099299914062e-7, + c: -1.219290749116668e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2643, 0, 0, 0], + }, + Term { + s: -1.064349191715356e-6, + c: 8.073862495582867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256, 0, 0, 0], + }, + Term { + s: 1.310663307429052e-6, + c: -2.311389357264503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0], + }, + Term { + s: 2.488958278648354e-7, + c: -1.293589837256741e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0], + }, + Term { + s: -8.232981560837177e-7, + c: 1.025106214104681e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17409, 0, 0, 0], + }, + Term { + s: 9.267286521892030e-8, + c: -1.311138882895002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0], + }, + Term { + s: -1.307888927230052e-6, + c: -1.151165395178044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367, 0, 0, 0], + }, + Term { + s: 9.100960450542322e-7, + c: -9.294384408737532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0], + }, + Term { + s: -1.120444983973026e-6, + c: 6.588493486366393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0], + }, + Term { + s: 9.481718903765326e-7, + c: -8.304585179066138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17401, 0, 0, 0], + }, + Term { + s: 1.003378512958948e-6, + c: -7.491903590334517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0], + }, + Term { + s: 1.247143259547510e-6, + c: -5.461998396729324e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: -1.341273670657607e-7, + c: -1.237898827540807e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725, 0, 0, 0], + }, + Term { + s: -1.188293063329684e-6, + c: 3.712095644902067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, 0], + }, + Term { + s: -9.568654351633200e-7, + c: -7.946598817157167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0], + }, + Term { + s: 1.004481182127121e-6, + c: -7.257728469098810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: -1.893579841625401e-7, + c: 1.223284085934873e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, 0], + }, + Term { + s: 4.547907756797700e-7, + c: -1.149522107903951e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0], + }, + Term { + s: -1.086558523956026e-6, + c: 5.868656414525480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0], + }, + Term { + s: 7.129490883316860e-7, + c: -1.001488583494982e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343, 0, 0, 0], + }, + Term { + s: -4.341261582037500e-7, + c: -1.143077834234235e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: 1.120487672736109e-6, + c: -4.801839908007907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0], + }, + Term { + s: 5.441857227380748e-7, + c: -1.087602663877390e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0], + }, + Term { + s: -3.999906102041511e-7, + c: -1.136084190880624e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659, 0, 0, 0], + }, + Term { + s: 7.530443902375051e-7, + c: 9.376446907058576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0], + }, + Term { + s: 1.109890199131291e-6, + c: 4.439272211171917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, 0], + }, + Term { + s: 5.530924259156060e-7, + c: 1.056933877920617e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0], + }, + Term { + s: 1.171496400667738e-6, + c: -1.822853165742562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: 1.131518510568116e-6, + c: 3.377928497883164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0], + }, + Term { + s: 7.767578782988806e-7, + c: -8.845454110942907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4564, 0, 0, 0], + }, + Term { + s: 8.332917914805685e-7, + c: 8.102232757210667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0], + }, + Term { + s: 1.149250139982697e-6, + c: 1.708103899406585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0], + }, + Term { + s: 1.118443992837692e-6, + c: -3.039483198129377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0], + }, + Term { + s: 7.572170862900196e-7, + c: -8.624927000384694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, 0], + }, + Term { + s: 1.145715277418095e-6, + c: -5.225868864824869e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0], + }, + Term { + s: -4.702400091334892e-7, + c: -1.012551268305447e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0], + }, + Term { + s: 2.135257812501985e-7, + c: -1.092950298717124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0], + }, + Term { + s: 4.885127292028598e-7, + c: 9.995344509131599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0], + }, + Term { + s: 5.233634616688358e-7, + c: -9.766477447850918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0], + }, + Term { + s: -4.077443816535993e-7, + c: -1.023079994882991e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3971, 0, 0, 0], + }, + Term { + s: -6.220056146981202e-7, + c: 8.915271772368861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0], + }, + Term { + s: 1.066824998318908e-6, + c: 1.835508770107491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 0], + }, + Term { + s: 4.489383186574692e-8, + c: -1.075652760477207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0], + }, + Term { + s: 2.094971494233651e-7, + c: 1.042771418052349e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 0], + }, + Term { + s: -2.171663397586312e-7, + c: -1.037713212305600e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1277, 0, 0, 0], + }, + Term { + s: -8.659242640464005e-7, + c: -6.090589214967413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0], + }, + Term { + s: 5.149334940077305e-7, + c: -9.218991323656045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 0, 0, 0], + }, + Term { + s: -5.059108358647784e-7, + c: -9.116995175630352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0], + }, + Term { + s: 3.439409508974456e-7, + c: 9.759327953316468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0], + }, + Term { + s: 6.603178626158614e-8, + c: -1.024637363874165e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0], + }, + Term { + s: -9.806409202246765e-7, + c: -3.032215083305279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0], + }, + Term { + s: 3.330888164891459e-7, + c: 9.661748199751357e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0], + }, + Term { + s: -6.891680855146558e-7, + c: 7.537042935491188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0], + }, + Term { + s: -4.906521387526094e-7, + c: -8.955614498698445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: -9.101856709966702e-7, + c: -4.590894976180751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0], + }, + Term { + s: 9.542469737412681e-7, + c: -3.442443439450011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: -2.005102091690174e-7, + c: -9.835399612255435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0], + }, + Term { + s: -9.079725661655423e-7, + c: -4.072906382323335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5325, 0, 0, 0], + }, + Term { + s: 9.674340235535719e-7, + c: -2.303139006526590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, 0], + }, + Term { + s: -7.902815300828744e-7, + c: 5.821677229734767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0], + }, + Term { + s: 1.526713606834478e-7, + c: 9.624705860786330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16074, 0, 0, 0], + }, + Term { + s: 3.823671518994081e-7, + c: 8.941335578105411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0], + }, + Term { + s: -5.813037335785081e-7, + c: 7.702811744507683e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0], + }, + Term { + s: 6.162371225751193e-7, + c: -7.358201502970394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4921, 0, 0, 0], + }, + Term { + s: 9.558685825487132e-7, + c: 1.924706926880381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: 2.096376993142369e-7, + c: 9.321360139877493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5679, 0, 0, 0], + }, + Term { + s: 5.669384229749075e-7, + c: 7.478272344287477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0], + }, + Term { + s: -9.163950221191173e-7, + c: -1.918402787076511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: 9.038239372515527e-7, + c: -2.379494881942055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3378, 0, 0, 0], + }, + Term { + s: -6.691447389376981e-7, + c: -6.497502659146161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], + }, + Term { + s: 4.544662789795731e-7, + c: 8.119720257562008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0], + }, + Term { + s: 6.074984904483303e-7, + c: 7.021746179041415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0], + }, + Term { + s: 3.771262735714539e-7, + c: 8.477101210064455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0], + }, + Term { + s: 4.794409530355861e-7, + c: 7.939380226907385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0], + }, + Term { + s: 5.965608666187653e-7, + c: 7.066688497389803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27983, 0, 0, 0], + }, + Term { + s: -3.275055626501914e-7, + c: 8.579100606224392e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17339, 0, 0, 0], + }, + Term { + s: 1.172346555136327e-7, + c: -9.026421878555199e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1379, 0, 0, 0], + }, + Term { + s: -1.375577162337634e-7, + c: 8.986879166839641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0], + }, + Term { + s: -1.950973479885877e-7, + c: 8.858225688406962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: -8.675952306358476e-7, + c: -2.442252272035358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 0, 0], + }, + Term { + s: -8.886750945764633e-7, + c: 1.453580304782882e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -8.891309374412015e-8, + c: -8.939842574476688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29668, 0, 0, 0], + }, + Term { + s: 3.892283672913813e-7, + c: 8.061449969331892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0], + }, + Term { + s: -2.203763333722262e-7, + c: -8.601713938646714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -7.615168532054231e-7, + c: 4.395535154348816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6741, 0, 0, 0], + }, + Term { + s: 4.128263736441453e-7, + c: -7.704216679432537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0], + }, + Term { + s: -6.676079493372264e-7, + c: -5.622842663468534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0], + }, + Term { + s: 8.650858833951698e-7, + c: 9.158425088482150e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0], + }, + Term { + s: 5.921906696638893e-7, + c: -6.288789992472217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0], + }, + Term { + s: 5.689509638267179e-7, + c: -6.432379689046123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17330, 0, 0, 0], + }, + Term { + s: -8.513652753602527e-7, + c: -9.063210880524973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0], + }, + Term { + s: -6.151384282162745e-7, + c: -5.941706940203931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5467, 0, 0, 0], + }, + Term { + s: -3.357122916870799e-7, + c: 7.828039378287044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0], + }, + Term { + s: 7.827088129480941e-7, + c: -3.311107840203457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0], + }, + Term { + s: -4.867928578115089e-7, + c: 6.943419748223899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0], + }, + Term { + s: -5.026946226889948e-7, + c: -6.768368520600405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -5.257262272267279e-7, + c: -6.490534562122959e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0], + }, + Term { + s: 8.158480832651795e-7, + c: -1.672950221532316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1375, 0, 0, 0], + }, + Term { + s: 7.843874061481098e-7, + c: 2.774415045171150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0], + }, + Term { + s: 2.038840393174369e-7, + c: 8.055749241049664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0], + }, + Term { + s: 3.655685700333880e-7, + c: 7.455647641721879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: -5.143938625861541e-7, + c: 6.507622747484650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: 5.848545618386483e-7, + c: -5.881929219337873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: 4.748432315581152e-7, + c: -6.717354108873811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0], + }, + Term { + s: -8.140522555892564e-7, + c: 2.694328347223484e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0], + }, + Term { + s: 4.592261348734480e-7, + c: 6.567015511284045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0], + }, + Term { + s: -6.563866655602841e-7, + c: -4.593744607166970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0], + }, + Term { + s: 5.823704662324514e-8, + c: -7.952215072996497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0], + }, + Term { + s: 7.958776253513806e-7, + c: -1.685654213466664e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0], + }, + Term { + s: 1.307153288507871e-7, + c: 7.837449496501283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1810, 0, 0, 0], + }, + Term { + s: 6.586339835043272e-8, + c: 7.859208462649211e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, 0], + }, + Term { + s: 4.360215654841173e-8, + c: 7.836501486293355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: 4.872415794608625e-7, + c: 6.137602625851530e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 0, 0, 0], + }, + Term { + s: 1.945933043230051e-7, + c: -7.581274709696713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0], + }, + Term { + s: -7.992762954179949e-8, + c: -7.725191187777356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0], + }, + Term { + s: 3.067779239411796e-7, + c: -7.101338232312806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921, 0, 0, 0], + }, + Term { + s: -6.699873860606940e-7, + c: 3.852880131026522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0], + }, + Term { + s: -7.491684313220118e-7, + c: 1.700520319192803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812, 0, 0, 0], + }, + Term { + s: 5.043953571541040e-7, + c: -5.785770567103097e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5801, 0, 0, 0], + }, + Term { + s: 4.832767852914300e-7, + c: 5.947676586241152e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16883, 0, 0, 0], + }, + Term { + s: -6.985776052980248e-7, + c: 3.050038048974925e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0], + }, + Term { + s: -7.616047352650815e-7, + c: -2.794096199061573e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943, 0, 0, 0], + }, + Term { + s: 3.731125318101384e-7, + c: -6.616374529045601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18441, 0, 0, 0], + }, + Term { + s: 3.495913781695822e-7, + c: 6.728292482173349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0], + }, + Term { + s: 2.082250048430224e-7, + c: -7.263501074969322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0], + }, + Term { + s: 4.516993975903396e-8, + c: -7.540788319039265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0], + }, + Term { + s: 3.251491982400315e-8, + c: -7.523576803673155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0], + }, + Term { + s: -2.019741740914423e-7, + c: 7.234813364802509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0], + }, + Term { + s: 2.001863088454331e-7, + c: -7.214595204255754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 0, 0], + }, + Term { + s: -6.743655459725132e-7, + c: 2.993757573045551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1409, 0, 0, 0], + }, + Term { + s: 3.468213748732195e-7, + c: 6.444281946440370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0], + }, + Term { + s: 7.230147274817450e-7, + c: 7.767596880523561e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: 6.125275867213435e-7, + c: 3.893749453898046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1395, 0, 0, 0], + }, + Term { + s: 6.606421229128962e-7, + c: -3.002067734151270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17688, 0, 0, 0], + }, + Term { + s: -5.013994773906254e-7, + c: -5.126166084151447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0], + }, + Term { + s: -8.815090413454195e-8, + c: 7.097861527271025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 660, 0, 0, 0], + }, + Term { + s: 1.819276212650379e-7, + c: -6.897238731302024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5514, 0, 0, 0], + }, + Term { + s: 6.558547517332246e-7, + c: -2.599627322015409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6107, 0, 0, 0], + }, + Term { + s: -6.880196551019063e-7, + c: 1.488821647243786e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0], + }, + Term { + s: -6.703237381700406e-7, + c: -2.109313828117684e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28270, 0, 0, 0], + }, + Term { + s: -5.109821410677696e-7, + c: 4.798392327913719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0, 0], + }, + Term { + s: -6.344976135233841e-8, + c: 6.934094564937449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0], + }, + Term { + s: 2.719453916320867e-7, + c: -6.379932384213401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0], + }, + Term { + s: -6.405156459415914e-8, + c: -6.872461057691543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 0, 0], + }, + Term { + s: 5.267745538320376e-7, + c: -4.451435695767673e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0], + }, + Term { + s: -6.571169709018727e-7, + c: 2.028385616646017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27005, 0, 0, 0], + }, + Term { + s: 6.863534449614181e-7, + c: 2.058011697961042e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0], + }, + Term { + s: 5.442631790563591e-7, + c: -4.168717541111809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 0, 0, 0], + }, + Term { + s: -3.735791588555720e-7, + c: 5.627216425296292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0], + }, + Term { + s: 6.489881206356753e-7, + c: 1.863839967407948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28333, 0, 0, 0], + }, + Term { + s: 4.473862855714254e-7, + c: 5.054721601892501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0], + }, + Term { + s: -6.295601774839646e-7, + c: -2.407283935235405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28345, 0, 0, 0], + }, + Term { + s: -4.846456166722548e-7, + c: -4.637123985123226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0], + }, + Term { + s: -7.002097450739375e-8, + c: -6.630755402208242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0], + }, + Term { + s: -6.520757759577762e-7, + c: 1.332040114817136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0], + }, + Term { + s: 5.581045987660413e-7, + c: -3.548030040980676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17052, 0, 0, 0], + }, + Term { + s: 2.841556676324761e-7, + c: 5.944110202010988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0], + }, + Term { + s: -5.206033924446321e-9, + c: -6.528506710264900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 0, 0, 0], + }, + Term { + s: -2.223077097622673e-7, + c: -6.091465502380460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29597, 0, 0, 0], + }, + Term { + s: 2.812837413844653e-8, + c: 6.469939652586873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3110, 0, 0, 0], + }, + Term { + s: 6.159594622686717e-7, + c: -1.663216603951089e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0], + }, + Term { + s: -5.776037500462078e-7, + c: -2.641011210349140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0], + }, + Term { + s: 4.904943205057104e-7, + c: 3.997494802902058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0], + }, + Term { + s: 6.176696920698464e-7, + c: 1.283286940704052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0], + }, + Term { + s: 5.623253446143648e-7, + c: -2.795581652492798e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27802, 0, 0, 0], + }, + Term { + s: -7.177271742626949e-8, + c: -6.218037932386842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 0, 0, 0], + }, + Term { + s: -6.020668859507992e-7, + c: -1.659031805743515e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5255, 0, 0, 0], + }, + Term { + s: 5.929114718384820e-7, + c: -1.954470527970087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0], + }, + Term { + s: 4.565698025372293e-7, + c: -4.249105434576019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 3.964644488091036e-7, + c: 4.803898111595462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0], + }, + Term { + s: -4.007579259443101e-7, + c: 4.713606934869927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0], + }, + Term { + s: -4.308531402736322e-7, + c: 4.434396800090205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26864, 0, 0, 0], + }, + Term { + s: -5.973184034322637e-7, + c: -1.568839571103143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2168, 0, 0, 0], + }, + Term { + s: 3.151432273132060e-7, + c: -5.279074246733576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0], + }, + Term { + s: 6.124242370578445e-7, + c: -2.328875027995341e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640, 0, 0, 0], + }, + Term { + s: 4.551252198685829e-7, + c: 4.098621244415153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: 5.964664733453968e-8, + c: 6.026823468243621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 0], + }, + Term { + s: 2.416246376012239e-7, + c: -5.549006064723561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0], + }, + Term { + s: -6.045719612053570e-7, + c: 5.566241135502925e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28026, 0, 0, 0], + }, + Term { + s: -6.022178449534523e-7, + c: -4.912477071367285e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 0, 0, 0], + }, + Term { + s: 5.805344727974382e-7, + c: -1.648789376574619e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0], + }, + Term { + s: -6.021503396629004e-7, + c: 3.436547712324945e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13907, 0, 0, 0], + }, + Term { + s: 2.771243713621742e-7, + c: 5.295574313564420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0], + }, + Term { + s: -5.233714310995054e-7, + c: -2.835896763467609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0], + }, + Term { + s: 7.419772141410409e-8, + c: 5.856563832845394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0], + }, + Term { + s: -5.557977416020153e-7, + c: -1.716599937552277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0], + }, + Term { + s: -3.212365320276170e-10, + c: 5.744072046355187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0], + }, + Term { + s: 1.350880578727485e-7, + c: 5.574700833168129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0], + }, + Term { + s: -2.943991031352706e-7, + c: -4.912507644376206e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8937, 0, 0, 0], + }, + Term { + s: -1.284098461113301e-7, + c: -5.527073123304504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0], + }, + Term { + s: 2.256237939319989e-7, + c: -5.166243099884216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0], + }, + Term { + s: -5.515088321308171e-7, + c: -1.008023098560859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0], + }, + Term { + s: -2.499291970642990e-7, + c: -4.896402760503790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 966, 0, 0, 0], + }, + Term { + s: 7.928553918916076e-8, + c: -5.438104921146133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0], + }, + Term { + s: -4.349411791983960e-7, + c: 3.357813772269179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3684, 0, 0, 0], + }, + Term { + s: -7.589450402611071e-8, + c: -5.421885438473540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0], + }, + Term { + s: -1.815402145267575e-7, + c: -5.141609539957428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2136, 0, 0, 0], + }, + Term { + s: -5.292265552575115e-7, + c: 1.187561521351491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0], + }, + Term { + s: -5.317407941982126e-7, + c: 1.051129069949220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1681, 0, 0, 0], + }, + Term { + s: -3.777752838396276e-7, + c: -3.829270151365248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 699, 0, 0, 0], + }, + Term { + s: 5.791255410499867e-8, + c: -5.336252450866096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0], + }, + Term { + s: 5.113973704963161e-7, + c: -1.617252278858233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0], + }, + Term { + s: -4.468599992285787e-7, + c: -2.900749346447776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17927, 0, 0, 0], + }, + Term { + s: 5.243850080356782e-7, + c: 8.408395864704312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0], + }, + Term { + s: -1.527507364741941e-7, + c: -5.075496221513884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0], + }, + Term { + s: -4.162636177505107e-7, + c: -3.263961755569913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5537, 0, 0, 0], + }, + Term { + s: -1.304835609893027e-7, + c: -5.110031939983186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0], + }, + Term { + s: -4.111185766062593e-7, + c: -3.294680707634932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5552, 0, 0, 0], + }, + Term { + s: 3.042183296325962e-7, + c: 4.286685138348330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, 0], + }, + Term { + s: 2.463383050207809e-7, + c: 4.631264748548989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0], + }, + Term { + s: -5.430371867454637e-8, + c: 5.169492765594707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 0, 0], + }, + Term { + s: 4.796917459222383e-7, + c: 1.973012397776529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28262, 0, 0, 0], + }, + Term { + s: -4.875095927334393e-7, + c: 1.514931093985985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0, 0], + }, + Term { + s: -3.883277323748385e-7, + c: 3.182900430151700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0], + }, + Term { + s: -4.857689488815990e-7, + c: 1.028184959589559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18666, 0, 0, 0], + }, + Term { + s: -4.373167002281925e-7, + c: -2.259548659764496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, 0, 0], + }, + Term { + s: -1.105645317391561e-7, + c: 4.783447877465487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0], + }, + Term { + s: -2.122076503353517e-7, + c: -4.415794875132110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0], + }, + Term { + s: -4.892025694567020e-7, + c: -1.707780017234410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18737, 0, 0, 0], + }, + Term { + s: 2.728436817512103e-7, + c: 4.044491992101881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3735, 0, 0, 0], + }, + Term { + s: -1.070176490840680e-7, + c: -4.722505853994730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -4.199514135940220e-7, + c: -2.393363075687065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0], + }, + Term { + s: -3.423502100445798e-7, + c: -3.378011894332854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1440, 0, 0, 0], + }, + Term { + s: -1.974344715566187e-7, + c: -4.385536755175248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0], + }, + Term { + s: 2.993979332253327e-7, + c: 3.748815978119529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2941, 0, 0, 0], + }, + Term { + s: -4.559374866587210e-7, + c: -1.352661643719917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3825, 0, 0, 0], + }, + Term { + s: -2.802059981619077e-7, + c: 3.830763982808416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17413, 0, 0, 0], + }, + Term { + s: -4.542455233622919e-7, + c: -1.359359283376268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873, 0, 0, 0], + }, + Term { + s: 4.713859747471731e-7, + c: -4.914719341586177e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0], + }, + Term { + s: -4.552248602195978e-7, + c: 1.292714352925150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357, 0, 0, 0], + }, + Term { + s: -3.890505204478660e-7, + c: -2.601198141762898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550, 0, 0, 0], + }, + Term { + s: 1.316914760137028e-8, + c: 4.668631473004032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881, 0, 0, 0], + }, + Term { + s: -4.606166631628525e-7, + c: -4.934128501370283e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0, 0, 0], + }, + Term { + s: 2.074599852559781e-7, + c: 4.136788013499704e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0], + }, + Term { + s: -3.922702782845447e-7, + c: -2.424683321441933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, 0], + }, + Term { + s: 2.073314855549876e-7, + c: 4.100103052193781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0], + }, + Term { + s: 4.128526546993186e-7, + c: 2.003095404086907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2887, 0, 0, 0], + }, + Term { + s: -4.577123796032755e-7, + c: -1.745390979809548e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4870, 0, 0, 0], + }, + Term { + s: -4.523738373418216e-7, + c: 4.346013156295355e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0], + }, + Term { + s: -4.500695041440014e-7, + c: -5.865945012746312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667, 0, 0, 0], + }, + Term { + s: -4.362882131616394e-7, + c: 1.213713798371271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0], + }, + Term { + s: 9.067193501190794e-8, + c: -4.428479538648101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: 3.101536991295609e-7, + c: 3.244321405725911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: -4.361549432212915e-7, + c: -9.934397284230256e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0], + }, + Term { + s: -2.840189967642533e-7, + c: 3.449944026413350e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1444, 0, 0, 0], + }, + Term { + s: 3.235035072468803e-7, + c: -3.062311258273074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17397, 0, 0, 0], + }, + Term { + s: -4.436106115725903e-7, + c: -3.346460547429939e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5184, 0, 0, 0], + }, + Term { + s: 1.394139939160944e-7, + c: -4.223068166815475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1670, 0, 0, 0], + }, + Term { + s: 4.387119402554985e-7, + c: 5.683820960839006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0], + }, + Term { + s: -1.574054920852452e-7, + c: -4.122948507452238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655, 0, 0, 0], + }, + Term { + s: -1.186986483029747e-7, + c: 4.236690645658825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16145, 0, 0, 0], + }, + Term { + s: 3.548511429458226e-7, + c: 2.558820519587931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27912, 0, 0, 0], + }, + Term { + s: 2.923981902979938e-7, + c: 3.181703957369262e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0], + }, + Term { + s: -4.156944013390941e-7, + c: -1.096225770807042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0], + }, + Term { + s: -5.890507719071335e-8, + c: 4.184328435410600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1595, 0, 0, 0], + }, + Term { + s: 4.199644929948560e-7, + c: 4.628614617660147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0], + }, + Term { + s: -2.144445276909333e-7, + c: -3.623790287874295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3900, 0, 0, 0], + }, + Term { + s: 3.538170001290887e-7, + c: -2.227419536264865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0], + }, + Term { + s: 6.143030399754128e-8, + c: -4.135132418384035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29739, 0, 0, 0], + }, + Term { + s: -8.185553184922107e-8, + c: 4.082410299807709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 0, 0, 0], + }, + Term { + s: -4.037209182428763e-7, + c: -9.838563403900951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, 0, 0], + }, + Term { + s: -2.089030723675845e-8, + c: 4.146993767709101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10622, 0, 0, 0], + }, + Term { + s: -2.644557545464804e-7, + c: -3.197021848309505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 0, 0, 0], + }, + Term { + s: -1.492039917636463e-7, + c: 3.869412738117223e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5608, 0, 0, 0], + }, + Term { + s: 4.958153483923330e-9, + c: 4.133210170564019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0], + }, + Term { + s: 4.013700519944980e-7, + c: 9.829678570539292e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, 0, 0], + }, + Term { + s: -1.192352686842603e-7, + c: 3.943822181554589e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17343, 0, 0, 0], + }, + Term { + s: 2.660383867796146e-7, + c: -3.142755840779640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992, 0, 0, 0], + }, + Term { + s: -2.792941768958461e-7, + c: 3.005390655986184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27814, 0, 0, 0], + }, + Term { + s: 2.525670365433760e-7, + c: -3.229866222904835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1080, 0, 0, 0], + }, + Term { + s: 4.067588311276772e-7, + c: 3.058415000102652e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0], + }, + Term { + s: 1.709888558391513e-7, + c: -3.694298404851110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0], + }, + Term { + s: 1.610725100405598e-7, + c: 3.733231076936635e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0], + }, + Term { + s: 2.065329730437144e-7, + c: -3.498052339152017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339, 0, 0, 0], + }, + Term { + s: -2.700760209175273e-7, + c: 3.016165624048967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0], + }, + Term { + s: 1.225188300763901e-7, + c: 3.848810151871229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, 0, 0], + }, + Term { + s: 1.636384811710346e-7, + c: -3.662548408925191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0], + }, + Term { + s: 3.803429274299019e-7, + c: -1.255429019426768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0], + }, + Term { + s: 3.565381885705870e-7, + c: 1.799934406334959e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0], + }, + Term { + s: 2.116735618684696e-7, + c: 3.378774848892066e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0], + }, + Term { + s: 3.967112733009016e-7, + c: -4.602144703648623e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0], + }, + Term { + s: -3.921644747923107e-7, + c: -3.165018868660535e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 0], + }, + Term { + s: -3.490448300316584e-7, + c: -1.792054618725564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0], + }, + Term { + s: 2.250387135281653e-7, + c: -3.124452577499681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4493, 0, 0, 0], + }, + Term { + s: 2.087665318664736e-7, + c: -3.232247957402079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0], + }, + Term { + s: -2.365930922720842e-7, + c: 3.029265855576439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0], + }, + Term { + s: 3.541185594289692e-7, + c: -1.440620298609664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0], + }, + Term { + s: -1.833846073572519e-7, + c: 3.345358326795276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0], + }, + Term { + s: -7.010930795091856e-8, + c: 3.746309676553660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4560, 0, 0, 0], + }, + Term { + s: 3.956622977706197e-8, + c: 3.780090678807354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0], + }, + Term { + s: 1.654739482966001e-9, + c: 3.758635273127822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 0, 0, 0], + }, + Term { + s: -3.715138616294578e-7, + c: 4.491771960417185e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 0, 0], + }, + Term { + s: 2.940633220403715e-7, + c: 2.305720553197135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3303, 0, 0, 0], + }, + Term { + s: 3.635752507530382e-7, + c: -8.601156953779267e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 0], + }, + Term { + s: -1.881360334336295e-7, + c: -3.216264497871054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573, 0, 0, 0], + }, + Term { + s: 1.679511505645046e-7, + c: -3.325784189212334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0], + }, + Term { + s: 1.710802439487400e-7, + c: 3.265778096249143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0], + }, + Term { + s: 1.045535429113010e-7, + c: 3.533718227109637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916, 0, 0, 0], + }, + Term { + s: 3.319486075286779e-7, + c: -1.536182020434390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3307, 0, 0, 0], + }, + Term { + s: 2.533279968167508e-7, + c: -2.630209696791406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 0], + }, + Term { + s: -2.016376001854006e-7, + c: 3.033940831796789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 840, 0, 0, 0], + }, + Term { + s: -5.330899150112311e-8, + c: -3.601107812195822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0], + }, + Term { + s: 3.305378777027239e-7, + c: -1.483938013524383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1151, 0, 0, 0], + }, + Term { + s: 9.899259883723683e-8, + c: -3.471446075666698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18370, 0, 0, 0], + }, + Term { + s: 1.773752588892401e-7, + c: 3.115784559180883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0], + }, + Term { + s: -3.135148025043281e-7, + c: -1.733967275413793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432, 0, 0, 0], + }, + Term { + s: -3.551543516777939e-7, + c: -4.112592710688614e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4296, 0, 0, 0], + }, + Term { + s: 3.018699463832874e-7, + c: 1.914708172877576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0], + }, + Term { + s: 1.148710577910461e-7, + c: 3.366280812254390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, 0, 0, 0], + }, + Term { + s: 1.961416279591344e-7, + c: -2.967081489093575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4273, 0, 0, 0], + }, + Term { + s: -2.054778296730051e-7, + c: -2.836922748509775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0], + }, + Term { + s: -2.980942394388947e-7, + c: 1.837802887027488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1515, 0, 0, 0], + }, + Term { + s: 3.484664723701078e-7, + c: 3.438143075483097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0], + }, + Term { + s: -2.540808363097075e-7, + c: 2.331436906068766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1366, 0, 0, 0], + }, + Term { + s: 2.348887380899981e-7, + c: 2.524311849919817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28619, 0, 0, 0], + }, + Term { + s: -3.320366224988692e-7, + c: -7.989627053896352e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0], + }, + Term { + s: 1.405172112858450e-7, + c: 3.097796069372019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0, 0], + }, + Term { + s: -7.876595200951445e-8, + c: 3.306652596907101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3228, 0, 0, 0], + }, + Term { + s: 2.125778369355907e-7, + c: 2.601364872480967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0], + }, + Term { + s: 2.986826457270805e-7, + c: 1.532589841945115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1481, 0, 0, 0], + }, + Term { + s: -3.338512259267800e-7, + c: -2.521346817249785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30796, 0, 0, 0], + }, + Term { + s: -5.435195835729629e-8, + c: -3.289095625952891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 959, 0, 0, 0], + }, + Term { + s: -3.321827143877281e-7, + c: -1.808193776908680e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27076, 0, 0, 0], + }, + Term { + s: 5.902396091317535e-8, + c: -3.270043106421257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0, 0], + }, + Term { + s: 6.716970362468478e-8, + c: -3.248679341670969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0], + }, + Term { + s: 3.205365078831700e-7, + c: -6.699625101115696e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17759, 0, 0, 0], + }, + Term { + s: 1.146433117532012e-7, + c: 3.054659660851263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0], + }, + Term { + s: 1.670138053439511e-7, + c: -2.770956892002076e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1009, 0, 0, 0], + }, + Term { + s: 4.977429633686362e-8, + c: -3.181343250176380e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0], + }, + Term { + s: 3.197336587065380e-7, + c: 1.124437729314246e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0], + }, + Term { + s: 9.125696844809385e-8, + c: -3.063112965908126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, 0], + }, + Term { + s: -3.112822074866507e-7, + c: -6.504704631970891e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28274, 0, 0, 0], + }, + Term { + s: 1.994470994641484e-7, + c: 2.459818555377684e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0], + }, + Term { + s: -1.017804489628711e-7, + c: 2.986582593004462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3990, 0, 0, 0], + }, + Term { + s: -2.081360059417651e-7, + c: -2.371063710973081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014, 0, 0, 0], + }, + Term { + s: -2.104758723219369e-7, + c: -2.339288252619364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0], + }, + Term { + s: -1.188400253148093e-7, + c: -2.901681712948973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 0], + }, + Term { + s: -3.090601718711004e-7, + c: 5.148005894370298e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5227, 0, 0, 0], + }, + Term { + s: -3.118204673492452e-7, + c: -2.813972239641561e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0, 0], + }, + Term { + s: 1.911734265372835e-7, + c: -2.478841996963277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17326, 0, 0, 0], + }, + Term { + s: 2.982249764279258e-7, + c: 9.120956910218332e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28191, 0, 0, 0], + }, + Term { + s: -1.214017265080960e-7, + c: 2.868490409377606e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17268, 0, 0, 0], + }, + Term { + s: 7.338895358750806e-8, + c: -3.022239597491555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0], + }, + Term { + s: -3.082183511406888e-7, + c: 4.058671508283755e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 0, 0], + }, + Term { + s: 3.000795452578609e-7, + c: 7.284696796417655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0], + }, + Term { + s: -2.013674021680197e-7, + c: 2.324227428632110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25462, 0, 0, 0], + }, + Term { + s: -2.919695637569880e-7, + c: 8.950153254794246e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0], + }, + Term { + s: 1.112364658873763e-8, + c: -3.040558302777999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0], + }, + Term { + s: 2.643954291954939e-7, + c: 1.455379279234010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0, 0], + }, + Term { + s: -2.708369051282239e-7, + c: 1.328223430327998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18595, 0, 0, 0], + }, + Term { + s: 1.927869679632573e-7, + c: -2.306295827032558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0, 0], + }, + Term { + s: 2.981266750440963e-7, + c: -3.054261514377057e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30485, 0, 0, 0], + }, + Term { + s: -1.797360389901390e-8, + c: -2.969139491064983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686, 0, 0, 0], + }, + Term { + s: -1.157821223293379e-7, + c: 2.703894075891498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0], + }, + Term { + s: -2.265870097315441e-7, + c: -1.875019491883297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0], + }, + Term { + s: -8.071747785238113e-8, + c: -2.814073953627877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, 0], + }, + Term { + s: -2.681785649406520e-7, + c: -1.132674572453977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0], + }, + Term { + s: -2.878394985816414e-7, + c: 4.093428205432261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4352, 0, 0, 0], + }, + Term { + s: 2.777646499350336e-7, + c: -8.335615522164290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: -1.777309695281801e-7, + c: 2.280690536589980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1338, 0, 0, 0], + }, + Term { + s: -8.828918988393203e-9, + c: 2.879615292227919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7095, 0, 0, 0], + }, + Term { + s: 2.845037955892731e-7, + c: 4.494209233431100e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0], + }, + Term { + s: -2.829596725486347e-7, + c: 3.828999408647929e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596, 0, 0, 0], + }, + Term { + s: -2.827866017441915e-7, + c: 3.350274482296610e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5113, 0, 0, 0], + }, + Term { + s: -2.809354479233954e-7, + c: -4.201758944063646e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0], + }, + Term { + s: -1.718800043619747e-7, + c: -2.259208265420336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0], + }, + Term { + s: 2.654823841189951e-7, + c: 9.936802735951637e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0], + }, + Term { + s: 3.324298575278566e-8, + c: -2.814520090357245e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0], + }, + Term { + s: 1.747998634674440e-8, + c: 2.828551173422008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 7.261488721162621e-8, + c: -2.735899978733621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187, 0, 0, 0], + }, + Term { + s: 1.983549777832349e-7, + c: -2.013836696533802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0], + }, + Term { + s: 1.920968356167013e-7, + c: -2.056289161706390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898, 0, 0, 0], + }, + Term { + s: -1.596536953608325e-7, + c: 2.310903437869607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0], + }, + Term { + s: 2.270952771587960e-8, + c: 2.790252050215583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 0], + }, + Term { + s: 2.746208816713172e-7, + c: 3.957198414190900e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1324, 0, 0, 0], + }, + Term { + s: -2.718133621211704e-7, + c: 4.226001284279725e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: 1.569839629175590e-7, + c: -2.253455606669688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8863, 0, 0, 0], + }, + Term { + s: -2.330267775643785e-7, + c: 1.442239406101031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 0, 0, 0], + }, + Term { + s: 2.538489793511925e-7, + c: -1.016246274055375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 0], + }, + Term { + s: 9.720900668808972e-8, + c: -2.550520627926856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0], + }, + Term { + s: -1.555494649054696e-7, + c: 2.201237885366820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1999, 0, 0, 0], + }, + Term { + s: 9.877193353152615e-8, + c: 2.493735429344397e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0, 0], + }, + Term { + s: 4.361845205796817e-8, + c: -2.642324667183186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0], + }, + Term { + s: -2.344853857395508e-7, + c: -1.275668617948444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0], + }, + Term { + s: 1.543656365284124e-7, + c: 2.177049447372058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904, 0, 0, 0], + }, + Term { + s: -1.756317463514768e-7, + c: 2.003662792552851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0], + }, + Term { + s: 2.609975703881234e-7, + c: -4.493027427818828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3570, 0, 0, 0], + }, + Term { + s: 9.064204671590766e-8, + c: -2.473494051079692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17260, 0, 0, 0], + }, + Term { + s: -1.056895572586047e-7, + c: 2.408869193644162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3114, 0, 0, 0], + }, + Term { + s: 2.155841979856391e-7, + c: -1.496518881219046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 946, 0, 0, 0], + }, + Term { + s: 1.497472318252904e-7, + c: -2.106046400050841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0], + }, + Term { + s: 1.721089557683866e-7, + c: -1.895929766495449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30513, 0, 0, 0], + }, + Term { + s: 5.496591288032567e-8, + c: 2.493110045721875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, 0], + }, + Term { + s: 7.459952908413895e-8, + c: -2.428823871159647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0], + }, + Term { + s: 1.255380301095274e-7, + c: -2.172057872888328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 797, 0, 0, 0], + }, + Term { + s: 1.312322767332845e-7, + c: -2.134274922790659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0], + }, + Term { + s: 1.024041599200457e-7, + c: 2.264693204457335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16954, 0, 0, 0], + }, + Term { + s: -2.242489896834755e-7, + c: -1.059408262198402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0, 0, 0], + }, + Term { + s: -5.055364036252509e-8, + c: -2.412177595720687e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0], + }, + Term { + s: -2.247292374216632e-7, + c: -1.009132855129622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5839, 0, 0, 0], + }, + Term { + s: -1.596742561078958e-7, + c: -1.875738989658316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2584, 0, 0, 0], + }, + Term { + s: 2.289458153333115e-7, + c: 8.863774567227004e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0], + }, + Term { + s: 2.215403875784612e-8, + c: 2.438634988631648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0], + }, + Term { + s: 7.808451636128522e-8, + c: 2.304711110166499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7222, 0, 0, 0], + }, + Term { + s: 2.398813156288903e-7, + c: -3.826579232297119e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20931, 0, 0, 0], + }, + Term { + s: 2.011541490482631e-8, + c: 2.415200673364429e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14601, 0, 0, 0], + }, + Term { + s: -2.166876397888540e-7, + c: -1.072155898908450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0], + }, + Term { + s: 3.539891979907864e-8, + c: 2.386764695982277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0], + }, + Term { + s: -2.383426586973667e-7, + c: 3.598773004395657e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30726, 0, 0, 0], + }, + Term { + s: 2.241886420478002e-7, + c: 8.835292714074298e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28329, 0, 0, 0], + }, + Term { + s: 2.068382104438163e-7, + c: -1.191947619134512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0], + }, + Term { + s: -6.004624016247854e-8, + c: -2.294989934856215e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0], + }, + Term { + s: 2.361132721847434e-7, + c: 2.132692354133675e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 0, 0, 0], + }, + Term { + s: 1.102793773197914e-7, + c: -2.080395931876788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0], + }, + Term { + s: -2.299292655905852e-7, + c: 4.965839662313302e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 1.839452672156584e-7, + c: 1.465777176847311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0], + }, + Term { + s: -2.291209784242256e-7, + c: 4.962337520516825e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0], + }, + Term { + s: 2.313665735377137e-7, + c: -3.256847526124890e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0], + }, + Term { + s: -1.761410312781449e-7, + c: -1.493018360680062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 931, 0, 0, 0], + }, + Term { + s: -2.301488722753532e-7, + c: 1.337543811463930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4799, 0, 0, 0], + }, + Term { + s: -1.481499703235504e-7, + c: 1.761279211155282e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1300, 0, 0, 0], + }, + Term { + s: 8.805261081486150e-8, + c: 2.111592114278430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1276, 0, 0, 0], + }, + Term { + s: -1.622236231140335e-7, + c: 1.600359014541314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0], + }, + Term { + s: 3.662148661715197e-8, + c: 2.246537309414021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 0], + }, + Term { + s: 1.258638842919234e-7, + c: 1.884654533297622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0], + }, + Term { + s: -1.334306037596715e-7, + c: 1.829707161451741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1077, 0, 0, 0], + }, + Term { + s: -1.357120368587349e-7, + c: 1.798625834596335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1374, 0, 0, 0], + }, + Term { + s: -3.288176184389933e-8, + c: 2.221674474529445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3302, 0, 0, 0], + }, + Term { + s: -1.849852575544461e-8, + c: -2.221736963101696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1939, 0, 0, 0], + }, + Term { + s: 1.701835437793164e-7, + c: -1.418244006213016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 938, 0, 0, 0], + }, + Term { + s: 2.210567043076889e-7, + c: 6.997408053600605e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0], + }, + Term { + s: -1.027978267341683e-7, + c: 1.956165984419889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0], + }, + Term { + s: 9.628899460336784e-8, + c: -1.982481547289516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0], + }, + Term { + s: 3.614514234346849e-8, + c: -2.120307512589355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28788, 0, 0, 0], + }, + Term { + s: -5.223603583167305e-8, + c: 2.077185687822347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3468, 0, 0, 0], + }, + Term { + s: -1.478458114704771e-8, + c: -2.114591811152049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0], + }, + Term { + s: 1.600227293762648e-7, + c: -1.384167832878835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0], + }, + Term { + s: -6.353767044498295e-8, + c: 1.992365344643036e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 0, 0, 0], + }, + Term { + s: -1.793308502561392e-7, + c: -1.068506045853641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -13179, 0, 0, 0], + }, + Term { + s: 1.960511944561175e-7, + c: -7.051822272394365e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0], + }, + Term { + s: 4.339744483517812e-8, + c: -2.033262075514901e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1896, 0, 0, 0], + }, + Term { + s: -1.999256109745404e-7, + c: 5.403360928352430e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27956, 0, 0, 0], + }, + Term { + s: 2.436004411197186e-8, + c: -2.034517923770313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 0, 0], + }, + Term { + s: 1.948861398379709e-7, + c: -6.324494959081118e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0], + }, + Term { + s: 1.114608838718319e-7, + c: -1.716220936279363e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4309, 0, 0, 0], + }, + Term { + s: 9.874098287671633e-9, + c: 2.043762202468335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3231, 0, 0, 0], + }, + Term { + s: -1.902623064634521e-7, + c: -7.453616323136723e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28199, 0, 0, 0], + }, + Term { + s: -1.911752217000685e-7, + c: -7.199236477780926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1661, 0, 0, 0], + }, + Term { + s: -7.012002916841303e-8, + c: 1.906082321801449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373, 0, 0, 0], + }, + Term { + s: -1.903762238369776e-7, + c: -7.061711164525340e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0], + }, + Term { + s: -3.086465521197883e-9, + c: -2.022174452887655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0], + }, + Term { + s: 2.006911341492377e-7, + c: 1.767205682512005e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3429, 0, 0, 0], + }, + Term { + s: 8.784636141408818e-8, + c: 1.809550155851012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0], + }, + Term { + s: -1.704892211961473e-7, + c: 1.062120463731115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0], + }, + Term { + s: -9.427936228370009e-8, + c: 1.762763964740223e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0], + }, + Term { + s: 1.235041159537509e-7, + c: -1.567928219730299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 0, 0], + }, + Term { + s: -1.901958483080821e-7, + c: 5.893179295046138e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25533, 0, 0, 0], + }, + Term { + s: 8.498751239015764e-8, + c: -1.795081752550351e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1370, 0, 0, 0], + }, + Term { + s: 1.492528645160787e-8, + c: -1.980114979584041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, 0], + }, + Term { + s: -3.053229808918968e-8, + c: -1.955680295078840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, 0, 0], + }, + Term { + s: -1.827537358211273e-7, + c: -7.594977004339158e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0], + }, + Term { + s: 1.827179925160000e-7, + c: 7.351006525690734e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28258, 0, 0, 0], + }, + Term { + s: -1.451308475468453e-8, + c: 1.944038681051078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3919, 0, 0, 0], + }, + Term { + s: -1.668979187437443e-7, + c: 9.974661587996679e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0], + }, + Term { + s: -1.416186192378625e-7, + c: 1.323768862414257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1061, 0, 0, 0], + }, + Term { + s: 1.838675748354418e-7, + c: -5.890860392681330e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4615, 0, 0, 0], + }, + Term { + s: -5.435394807085482e-8, + c: -1.849607638052889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0], + }, + Term { + s: -1.279981466592709e-7, + c: 1.426033252362857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3613, 0, 0, 0], + }, + Term { + s: 1.625894890765837e-7, + c: -1.005320117122095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2263, 0, 0, 0], + }, + Term { + s: -7.677698078891912e-8, + c: 1.745078063129538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1426, 0, 0, 0], + }, + Term { + s: 1.343215682790411e-7, + c: -1.350330189806201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0], + }, + Term { + s: 4.149898443178878e-8, + c: -1.853819422603949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5443, 0, 0, 0], + }, + Term { + s: -1.711216893549717e-7, + c: 8.163751641890447e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0], + }, + Term { + s: 1.884969220490677e-7, + c: 8.922042992845363e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1495, 0, 0, 0], + }, + Term { + s: -1.026401518417207e-7, + c: 1.580642370448607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5962, 0, 0, 0], + }, + Term { + s: 1.164704165589834e-7, + c: 1.480436679393771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14530, 0, 0, 0], + }, + Term { + s: -1.359681964286207e-7, + c: -1.285196607988877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1378, 0, 0, 0], + }, + Term { + s: -1.314159613964550e-7, + c: -1.330440456395796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9216, 0, 0, 0], + }, + Term { + s: 1.868190391630673e-7, + c: -5.561209564830899e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0], + }, + Term { + s: -1.125258274493188e-8, + c: -1.864399412171052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3538, 0, 0, 0], + }, + Term { + s: 1.402584240415949e-7, + c: 1.228167303948044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: 1.845964508584999e-7, + c: -2.308860158968049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, 0, 0, 0], + }, + Term { + s: 1.773045708809162e-7, + c: 5.330549125134379e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445, 0, 0, 0], + }, + Term { + s: 4.651638265132325e-8, + c: -1.790697294697647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0], + }, + Term { + s: -1.816575605734393e-7, + c: -3.489479351367983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0], + }, + Term { + s: -1.047750027653699e-7, + c: 1.522322795264111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4630, 0, 0, 0], + }, + Term { + s: -1.374766277574086e-7, + c: -1.229270258327792e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0], + }, + Term { + s: 1.641344038717268e-7, + c: -8.398269742052796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, 0], + }, + Term { + s: -1.578696723075041e-7, + c: 9.416780820650709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2525, 0, 0, 0], + }, + Term { + s: 1.804267522658845e-7, + c: -3.507240746623193e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5208, 0, 0, 0], + }, + Term { + s: -1.835186824070159e-7, + c: 6.053088005785868e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1316, 0, 0, 0], + }, + Term { + s: 1.650487258088661e-7, + c: -7.920164097301441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0], + }, + Term { + s: 1.557860244974406e-7, + c: 9.528926886008916e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816, 0, 0, 0], + }, + Term { + s: 1.821104058703090e-7, + c: -1.983674182180559e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0], + }, + Term { + s: 1.493310789816715e-8, + c: 1.806099569547142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 915, 0, 0, 0], + }, + Term { + s: 1.718139681636633e-7, + c: -5.522450460895425e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 774, 0, 0, 0], + }, + Term { + s: -1.683273850357635e-7, + c: 6.156475912232811e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2286, 0, 0, 0], + }, + Term { + s: -8.191259269372468e-9, + c: 1.787373301994247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0], + }, + Term { + s: -1.779925774248772e-7, + c: 1.208032720198634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0], + }, + Term { + s: 1.467877077406628e-7, + c: -9.887592295457171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0], + }, + Term { + s: -1.091093215005625e-7, + c: 1.387031977683785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0], + }, + Term { + s: 1.406464889156689e-7, + c: 1.061883567796637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2981, 0, 0, 0], + }, + Term { + s: -7.856954140390459e-8, + c: -1.570341961441697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497, 0, 0, 0], + }, + Term { + s: -1.477595721719425e-7, + c: 9.386850899730322e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27885, 0, 0, 0], + }, + Term { + s: 9.357830859251716e-8, + c: 1.479315714918922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28690, 0, 0, 0], + }, + Term { + s: 1.142084280746093e-7, + c: -1.319628157849025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8933, 0, 0, 0], + }, + Term { + s: 1.563388899839867e-7, + c: 7.538231495680009e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0], + }, + Term { + s: 1.441844106649959e-8, + c: 1.723449791861908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0], + }, + Term { + s: -3.913331700338492e-8, + c: -1.682392623073342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0, 0, 0], + }, + Term { + s: -1.112342010492276e-7, + c: 1.311754832399234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0], + }, + Term { + s: 9.875818371318463e-8, + c: 1.390799210081584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15932, 0, 0, 0], + }, + Term { + s: -1.546032584939600e-7, + c: -7.204031900441069e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0], + }, + Term { + s: 1.158821547621702e-8, + c: -1.701581231458825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1599, 0, 0, 0], + }, + Term { + s: -1.235205143322169e-7, + c: -1.170937610884504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0], + }, + Term { + s: 9.304284432975912e-9, + c: -1.696100033135161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3035, 0, 0, 0], + }, + Term { + s: -1.608719312391555e-7, + c: -5.183429846508419e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2479, 0, 0, 0], + }, + Term { + s: -8.661663442097474e-8, + c: 1.450755573605384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3443, 0, 0, 0], + }, + Term { + s: -1.055400366464399e-7, + c: -1.318741780544284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2502, 0, 0, 0], + }, + Term { + s: 4.539751796924135e-9, + c: -1.681983300743754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6958, 0, 0, 0], + }, + Term { + s: -4.035675031006867e-8, + c: 1.627687970652344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0], + }, + Term { + s: -1.268241310933785e-7, + c: 1.096781938536807e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3931, 0, 0, 0], + }, + Term { + s: -1.591703587645982e-7, + c: 5.106916018132167e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5042, 0, 0, 0], + }, + Term { + s: -1.034723859543206e-7, + c: 1.312095594247484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28301, 0, 0, 0], + }, + Term { + s: -4.244418080005836e-8, + c: 1.609551685230519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0], + }, + Term { + s: 3.381880849389711e-8, + c: 1.627494894397935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0], + }, + Term { + s: -6.386488819110956e-8, + c: -1.530480463167143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544, 0, 0, 0], + }, + Term { + s: -1.565929107898914e-7, + c: 5.359382059469813e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0], + }, + Term { + s: 8.305739466759864e-8, + c: -1.428647740397009e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16910, 0, 0, 0], + }, + Term { + s: -6.900315098926434e-8, + c: 1.492006962813078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1303, 0, 0, 0], + }, + Term { + s: 6.725588364078355e-8, + c: 1.496056837751997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1342, 0, 0, 0], + }, + Term { + s: 1.635599826825252e-7, + c: 1.021172558540625e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6727, 0, 0, 0], + }, + Term { + s: -1.128340969235624e-7, + c: -1.176516435589613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0], + }, + Term { + s: -3.744699735720253e-8, + c: 1.581653549910709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0], + }, + Term { + s: -5.591253813490705e-8, + c: -1.518390777308970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0], + }, + Term { + s: 7.047103731198460e-8, + c: -1.456369375917943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5730, 0, 0, 0], + }, + Term { + s: 6.907794270289325e-8, + c: -1.460525695000617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31211, 0, 0, 0], + }, + Term { + s: 1.599475758594928e-7, + c: 2.027168291319043e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28120, 0, 0, 0], + }, + Term { + s: -1.610363234854323e-7, + c: 6.720423015104133e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1885, 0, 0, 0], + }, + Term { + s: -2.026239196777562e-8, + c: -1.591512517576558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4022, 0, 0, 0], + }, + Term { + s: 4.747600058633998e-8, + c: 1.531306259334980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859, 0, 0, 0], + }, + Term { + s: 3.422745838112551e-8, + c: -1.565564991775867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2710, 0, 0, 0], + }, + Term { + s: -1.026719185797620e-7, + c: -1.227400264521046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 1.475363246976320e-7, + c: -6.176053567276214e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13836, 0, 0, 0], + }, + Term { + s: -4.122544831915482e-8, + c: -1.540941158529893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798, 0, 0, 0], + }, + Term { + s: -1.592922475758417e-7, + c: 3.581595269841180e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2026, 0, 0, 0], + }, + Term { + s: 1.016675256724678e-7, + c: 1.224240199518041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17370, 0, 0, 0], + }, + Term { + s: -1.453595895664325e-8, + c: -1.581461385601808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28717, 0, 0, 0], + }, + Term { + s: -1.204886912601977e-7, + c: 1.031420361475696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0], + }, + Term { + s: 1.100011807384910e-7, + c: -1.137126973682640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1485, 0, 0, 0], + }, + Term { + s: 4.727273479574022e-8, + c: -1.507653693793477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2611, 0, 0, 0], + }, + Term { + s: -1.042192837121098e-7, + c: -1.173871912357664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3829, 0, 0, 0], + }, + Term { + s: 1.456366233965531e-7, + c: -5.823050265011156e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0], + }, + Term { + s: 1.539910132668564e-7, + c: 2.862704974917111e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1069, 0, 0, 0], + }, + Term { + s: -9.048650901497200e-8, + c: -1.276159325110793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 0, 0, 0], + }, + Term { + s: 1.551761059465441e-7, + c: 1.627409311304850e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0], + }, + Term { + s: -1.410843799429407e-7, + c: -6.599483818346344e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0, 0], + }, + Term { + s: 7.744198773960551e-8, + c: -1.348034551397022e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1967, 0, 0, 0], + }, + Term { + s: 1.533108725613223e-7, + c: 2.461049890652652e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0], + }, + Term { + s: 1.514005318368582e-7, + c: 3.197538317545430e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0], + }, + Term { + s: 1.528825005183751e-7, + c: 2.332447379060662e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2933, 0, 0, 0], + }, + Term { + s: 9.771277679494691e-8, + c: 1.196343373560466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4383, 0, 0, 0], + }, + Term { + s: 1.150408452928826e-7, + c: -1.028272765662403e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4061, 0, 0, 0], + }, + Term { + s: 1.441216000985562e-7, + c: -5.360776932237094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6036, 0, 0, 0], + }, + Term { + s: 3.043647749228049e-8, + c: 1.505798584790050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10552, 0, 0, 0], + }, + Term { + s: 1.337289397232078e-7, + c: 7.479861447581386e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15862, 0, 0, 0], + }, + Term { + s: 1.498798741385277e-7, + c: 3.086738110590134e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6798, 0, 0, 0], + }, + Term { + s: 6.039264844481169e-8, + c: -1.403496887505450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4851, 0, 0, 0], + }, + Term { + s: 7.335420351982658e-9, + c: -1.525522392328963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0], + }, + Term { + s: 2.512051079620011e-8, + c: -1.504337403625458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0], + }, + Term { + s: -8.620230497060208e-8, + c: -1.254485630838724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29527, 0, 0, 0], + }, + Term { + s: -1.161579906297693e-7, + c: 9.822232382495141e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18524, 0, 0, 0], + }, + Term { + s: 1.390249853880882e-8, + c: -1.510218296184587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0], + }, + Term { + s: 4.713760132980417e-8, + c: -1.438502526559091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1957, 0, 0, 0], + }, + Term { + s: 1.444384851974414e-7, + c: 4.121064127756119e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864, 0, 0, 0], + }, + Term { + s: 5.193640258267843e-9, + c: -1.494396701414775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18299, 0, 0, 0], + }, + Term { + s: -2.618981262837802e-9, + c: 1.494636000634434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7166, 0, 0, 0], + }, + Term { + s: -7.076718433420533e-8, + c: 1.312463427836606e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27744, 0, 0, 0], + }, + Term { + s: -5.058238132327983e-8, + c: 1.402001601516623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1229, 0, 0, 0], + }, + Term { + s: -1.246321622003987e-7, + c: -8.002098486984464e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1586, 0, 0, 0], + }, + Term { + s: -1.240104036122579e-7, + c: -7.927595680006280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0, 0], + }, + Term { + s: -1.362281108816972e-7, + c: 5.571247399704126e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1281, 0, 0, 0], + }, + Term { + s: -1.116756179779929e-7, + c: 9.566325511193166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0], + }, + Term { + s: 1.448572634751770e-7, + c: 2.497976529023553e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0], + }, + Term { + s: -1.378236923074101e-7, + c: -5.090871627312139e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27147, 0, 0, 0], + }, + Term { + s: -5.907030933104122e-8, + c: 1.343527634136072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 926, 0, 0, 0], + }, + Term { + s: -1.354096841014602e-7, + c: -5.573393717921770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0], + }, + Term { + s: 9.602312379936352e-8, + c: 1.103955785322601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0], + }, + Term { + s: -1.107481570150507e-7, + c: 9.467921919666158e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28372, 0, 0, 0], + }, + Term { + s: -4.794604655074776e-8, + c: 1.370574753938499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 0, 0, 0], + }, + Term { + s: 1.022352485533679e-7, + c: 1.026777220789957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0], + }, + Term { + s: 1.413712295517886e-7, + c: -3.120158785802756e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, 0, 0, 0], + }, + Term { + s: -2.334021209337715e-8, + c: 1.421004013327359e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0], + }, + Term { + s: -1.342041385566032e-7, + c: -5.202614638613035e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 0, 0, 0], + }, + Term { + s: 3.177945582008488e-8, + c: -1.403077902210448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17189, 0, 0, 0], + }, + Term { + s: 3.858417502476095e-8, + c: -1.383242221782728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2081, 0, 0, 0], + }, + Term { + s: -5.034081340589896e-8, + c: 1.341699223005453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1436, 0, 0, 0], + }, + Term { + s: 3.054738701373311e-9, + c: -1.428488966493999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0], + }, + Term { + s: -1.250682191038829e-7, + c: -6.519463998980810e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1448, 0, 0, 0], + }, + Term { + s: 1.141724375309239e-7, + c: -8.186198263685556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3236, 0, 0, 0], + }, + Term { + s: 1.053378297309035e-7, + c: -9.295095004959801e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6394, 0, 0, 0], + }, + Term { + s: -1.136142747251585e-7, + c: -8.167422043123404e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4281, 0, 0, 0], + }, + Term { + s: -9.800852874943753e-8, + c: 9.978235907681642e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6671, 0, 0, 0], + }, + Term { + s: 2.837410789037518e-8, + c: 1.368083941067083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, 0, 0, 0], + }, + Term { + s: -1.050428330143525e-7, + c: -9.197511630666447e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0], + }, + Term { + s: 1.386307492870065e-7, + c: 1.001965403313010e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0], + }, + Term { + s: -1.368158276126835e-7, + c: 2.409870789979267e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0], + }, + Term { + s: -6.394605158978360e-8, + c: 1.230625172761324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6949, 0, 0, 0], + }, + Term { + s: 1.198162881528727e-7, + c: -6.917937561003997e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0], + }, + Term { + s: 3.796754512409396e-8, + c: -1.325882039132019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1570, 0, 0, 0], + }, + Term { + s: -9.641412758478222e-8, + c: -9.768648002517689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8867, 0, 0, 0], + }, + Term { + s: 1.290443136018366e-7, + c: 4.548524174438762e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2969, 0, 0, 0], + }, + Term { + s: -1.237579585509281e-7, + c: 5.725552159403149e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858, 0, 0, 0], + }, + Term { + s: -7.350941250462848e-8, + c: 1.148368922281957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0], + }, + Term { + s: 1.066643132041820e-7, + c: -8.428135482553504e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4202, 0, 0, 0], + }, + Term { + s: 1.609175855028280e-8, + c: 1.346692793700479e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0], + }, + Term { + s: 1.268307528851683e-7, + c: -4.689211106344015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3499, 0, 0, 0], + }, + Term { + s: -1.227469042950672e-7, + c: 5.606566179076542e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0], + }, + Term { + s: -8.418373846822038e-8, + c: -1.053755772371485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085, 0, 0, 0], + }, + Term { + s: 1.219493564019032e-7, + c: -5.462589431224337e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20861, 0, 0, 0], + }, + Term { + s: 1.241676676786368e-7, + c: -4.649451551451193e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0], + }, + Term { + s: -4.294062344165244e-8, + c: -1.252977824656051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1755, 0, 0, 0], + }, + Term { + s: 1.317208574715989e-7, + c: 1.300543821693067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698, 0, 0, 0], + }, + Term { + s: -1.167502859157186e-7, + c: 6.220204077089004e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, 0, 0, 0], + }, + Term { + s: -1.088946500669845e-7, + c: 7.504301365136451e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0], + }, + Term { + s: 7.789352288458141e-8, + c: 1.064992050535617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0], + }, + Term { + s: -8.548994144264351e-8, + c: 1.000921938551088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0], + }, + Term { + s: 6.526942621213449e-8, + c: -1.142737877495711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4422, 0, 0, 0], + }, + Term { + s: 8.858453163539678e-9, + c: 1.299463935943700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3161, 0, 0, 0], + }, + Term { + s: 5.960240861013638e-8, + c: 1.156060458477447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 994, 0, 0, 0], + }, + Term { + s: 2.754664886684700e-9, + c: 1.295697672124689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 844, 0, 0, 0], + }, + Term { + s: 1.295582422562287e-7, + c: 1.036106114906990e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636, 0, 0, 0], + }, + Term { + s: 8.729459250347438e-8, + c: 9.394404190734127e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0], + }, + Term { + s: 1.002185497131049e-7, + c: -7.870864374453854e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2037, 0, 0, 0], + }, + Term { + s: -1.076477438419998e-7, + c: -6.763654905889390e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20280, 0, 0, 0], + }, + Term { + s: 6.216723948149036e-8, + c: -1.108469897798667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4269, 0, 0, 0], + }, + Term { + s: 1.231038825690272e-7, + c: -2.986406747461096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, 0, 0], + }, + Term { + s: 1.200587372102232e-7, + c: -3.934416409586518e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0], + }, + Term { + s: 1.018825893176755e-7, + c: -7.434803550523396e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1830, 0, 0, 0], + }, + Term { + s: -2.682794568154127e-9, + c: -1.230678449986681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4210, 0, 0, 0], + }, + Term { + s: 4.117034520825545e-8, + c: 1.158125005456026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, 0], + }, + Term { + s: -1.180639219868625e-7, + c: 3.344167582133732e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2333, 0, 0, 0], + }, + Term { + s: 1.052140355967996e-7, + c: -6.292967177921875e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, 0, 0], + }, + Term { + s: 8.877718317525484e-8, + c: 8.448758081712155e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682, 0, 0, 0], + }, + Term { + s: -1.111220849357254e-7, + c: -4.987008766351114e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3083, 0, 0, 0], + }, + Term { + s: 1.013491388362684e-7, + c: 6.727092074644017e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12576, 0, 0, 0], + }, + Term { + s: 1.213519510898970e-7, + c: 6.901668246634121e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 998, 0, 0, 0], + }, + Term { + s: -1.898684789250006e-8, + c: 1.198128790268537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17272, 0, 0, 0], + }, + Term { + s: -6.511607618985599e-8, + c: 1.016084379009252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28349, 0, 0, 0], + }, + Term { + s: -1.077224504501480e-7, + c: 5.318245111985684e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0], + }, + Term { + s: -1.197169517919732e-7, + c: -5.655419191138860e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17786, 0, 0, 0], + }, + Term { + s: -8.533021068391775e-8, + c: 8.398390793699760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2671, 0, 0, 0], + }, + Term { + s: -7.922112602227784e-8, + c: -8.965094196072381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2852, 0, 0, 0], + }, + Term { + s: -1.136709929537822e-7, + c: -3.502941235720804e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17857, 0, 0, 0], + }, + Term { + s: -1.078721300530813e-7, + c: -4.948112634081021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0, 0, 0], + }, + Term { + s: 7.182611646176424e-8, + c: -9.429089349436188e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, 0, 0, 0], + }, + Term { + s: -2.973228211068118e-8, + c: 1.145646363058797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3279, 0, 0, 0], + }, + Term { + s: -1.181375580448004e-7, + c: -7.168607404034972e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 0, 0, 0], + }, + Term { + s: -1.178012018314970e-7, + c: 1.094637477050381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28129, 0, 0, 0], + }, + Term { + s: -9.863137841601838e-9, + c: 1.177157399767312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3208, 0, 0, 0], + }, + Term { + s: 1.141975442013359e-7, + c: 2.859893185517613e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28187, 0, 0, 0], + }, + Term { + s: 1.172859916311430e-7, + c: 3.155791488729852e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3004, 0, 0, 0], + }, + Term { + s: 3.761655198556287e-8, + c: 1.108829679052393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, 0], + }, + Term { + s: 3.009145607973909e-8, + c: 1.126776323065765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0], + }, + Term { + s: -2.756598392500893e-8, + c: 1.128468027668867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0], + }, + Term { + s: 1.153091820738221e-7, + c: -1.114111291234809e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0], + }, + Term { + s: 4.189512104447672e-8, + c: -1.076894401160190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3079, 0, 0, 0], + }, + Term { + s: -8.301294649643658e-8, + c: 8.018846845564345e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2529, 0, 0, 0], + }, + Term { + s: -6.195973407203135e-8, + c: 9.728889077462998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, 0], + }, + Term { + s: 6.879716949101003e-8, + c: -9.221594285773649e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2891, 0, 0, 0], + }, + Term { + s: 4.808281559576957e-8, + c: 1.039670721297037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0], + }, + Term { + s: 1.142627838018721e-7, + c: -2.350012862602080e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6657, 0, 0, 0], + }, + Term { + s: -2.297575731733365e-8, + c: -1.119198954877311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, 0], + }, + Term { + s: 1.008607382686965e-7, + c: 5.207256198085538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0], + }, + Term { + s: 8.514698608209526e-8, + c: 7.470987072681305e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17441, 0, 0, 0], + }, + Term { + s: 4.786541452261349e-8, + c: -1.023655772567528e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1932, 0, 0, 0], + }, + Term { + s: 3.012534255697808e-9, + c: 1.129569945738382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0], + }, + Term { + s: -1.008931606582284e-7, + c: 5.008118606769564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1889, 0, 0, 0], + }, + Term { + s: -3.666246649449117e-8, + c: -1.062712371203471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0], + }, + Term { + s: 3.111074914632312e-8, + c: -1.069714878480802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1075, 0, 0, 0], + }, + Term { + s: -6.205144783246584e-8, + c: -9.144902259768671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1684, 0, 0, 0], + }, + Term { + s: 1.005553564355198e-7, + c: -4.492719000880308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0], + }, + Term { + s: 2.062217720360477e-8, + c: 1.081591065566382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1488, 0, 0, 0], + }, + Term { + s: -7.177724680131228e-9, + c: 1.094894461688822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3043, 0, 0, 0], + }, + Term { + s: -4.045414135992337e-8, + c: -1.012584368645847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0], + }, + Term { + s: -6.195027462430916e-8, + c: 8.947082875974281e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16215, 0, 0, 0], + }, + Term { + s: -3.167642970720239e-8, + c: -1.033992555023417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2695, 0, 0, 0], + }, + Term { + s: -7.312396228341505e-8, + c: -7.862769171141907e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0], + }, + Term { + s: 5.181615378859777e-8, + c: 9.358214174485239e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32057, 0, 0, 0], + }, + Term { + s: -1.062742023061321e-7, + c: 1.652437162939576e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0], + }, + Term { + s: 4.310735330471677e-8, + c: -9.689920478875406e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1076, 0, 0, 0], + }, + Term { + s: -9.577628288917718e-8, + c: -4.312564595279948e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4225, 0, 0, 0], + }, + Term { + s: 1.047070220067696e-7, + c: -7.488501545461516e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2147, 0, 0, 0], + }, + Term { + s: 7.757469252573236e-8, + c: -7.006110911065569e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27732, 0, 0, 0], + }, + Term { + s: -1.038426710972792e-7, + c: 1.193986382054006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0], + }, + Term { + s: 4.729508203308960e-8, + c: -9.319703530542116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0], + }, + Term { + s: -1.032972331435176e-7, + c: 1.482332930677617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3204, 0, 0, 0], + }, + Term { + s: -5.246937749118191e-8, + c: 9.017042966377112e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 0, 0, 0], + }, + Term { + s: 6.331364077460741e-8, + c: -8.289438437661228e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0], + }, + Term { + s: 2.199309332970824e-8, + c: 1.018634252930970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0], + }, + Term { + s: 1.016384072340943e-7, + c: -2.295352749132208e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2038, 0, 0, 0], + }, + Term { + s: 1.028984091297484e-7, + c: 1.614203866462823e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 0, 0, 0], + }, + Term { + s: -6.679459545008354e-8, + c: 7.873477739310080e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0], + }, + Term { + s: 1.025112688149865e-7, + c: -5.202778943755581e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4131, 0, 0, 0], + }, + Term { + s: 2.299975580578416e-8, + c: -9.997701144339870e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0], + }, + Term { + s: 3.349650826657409e-8, + c: -9.622133092474407e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17256, 0, 0, 0], + }, + Term { + s: 8.395536648130328e-8, + c: 5.771160147004166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1507, 0, 0, 0], + }, + Term { + s: 4.172034898312166e-8, + c: 9.291517102813298e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8766, 0, 0, 0], + }, + Term { + s: 9.762616547811788e-8, + c: 2.575105787402342e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6869, 0, 0, 0], + }, + Term { + s: -1.009143412099994e-7, + c: -1.246853107133509e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 0, 0, 0], + }, + Term { + s: -9.671354650733554e-8, + c: 2.877941978572493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 6.972754439870636e-3, + c: 6.156473418398688e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 5.354745816274890e-3, + c: 3.447371868699193e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 0.0, + c: -6.019905974440888e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.225552708993320e-3, + c: 1.850601757180724e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.059746413549744e-3, + c: -9.079119695507988e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.100625387639233e-3, + c: -2.536070530215018e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 6.671297147121611e-4, + c: -1.094339999436567e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 3.234528251033615e-4, + c: 5.618210054504672e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 5.413241433547907e-4, + c: -3.229921347609286e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -5.555111696861939e-4, + c: -2.469126102005191e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 4.942778252692153e-4, + c: -1.070539575092713e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 9.302057483345010e-5, + c: -4.234285780276213e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 3.575862522628231e-4, + c: -9.228504527229912e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 1.670653905756442e-4, + c: 2.501228017908697e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 2.967015108222880e-4, + c: 6.353827861217430e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 2.285836786025274e-4, + c: 1.148502675583744e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -1.175864293975607e-4, + c: 1.722018492990359e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.687025278311190e-4, + c: -7.361958684493430e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 1.814195283148218e-4, + c: 5.785891594881629e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 8.225925638078444e-5, + c: -1.387046213981103e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 8.470598279483799e-5, + c: 1.038273094906717e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.147271524703292e-4, + c: -1.636778691357885e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.031915249739388e-4, + c: 3.573945233116215e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 1.011591595591473e-4, + c: -4.000034699687134e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 8.702249776404112e-5, + c: 5.067548847781047e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 9.814193922220544e-5, + c: -1.886603293869254e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 7.122875672009661e-5, + c: -4.747795783020506e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 7.871832116907921e-5, + c: 2.981164028533357e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 5.250995274982249e-5, + c: 4.875914697733963e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -3.399116168448464e-5, + c: -5.914591333955198e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 6.409165825625279e-5, + c: 6.849064532852655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -4.754497673136109e-5, + c: 3.945421838576302e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -5.934859222647172e-5, + c: -3.613579130972737e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -3.190714645462117e-5, + c: -4.016187283178310e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 3.829921783428788e-5, + c: -3.093551588968192e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 1.018645456149372e-5, + c: 4.715159300434551e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 1.223998201619062e-5, + c: 4.647322165239284e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.830888431026487e-5, + c: -4.127306163023834e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -4.358411052818079e-5, + c: 7.755653671532316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -3.090642954422022e-5, + c: -2.974976729461961e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 2.707455284076354e-5, + c: -3.144119840093576e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -2.857247671481708e-5, + c: -2.514462450336005e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 2.535046744260377e-5, + c: -2.735796896008203e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 3.464735914494061e-5, + c: 9.945771913947238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 3.286635974532760e-5, + c: 6.223366937681519e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 3.058900321440478e-5, + c: 8.250951606658241e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -1.754015007085588e-5, + c: -2.526882357142129e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 1.787729580502186e-7, + c: -2.759182109888212e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -2.744230721021078e-5, + c: 2.217458796607320e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -2.557081919147664e-5, + c: 1.012254707144089e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 1.478173294602126e-5, + c: 2.225471981431755e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.939647413170504e-5, + c: 1.786348402103361e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: 2.180866374642542e-5, + c: -1.453355116340000e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 2.572909437981418e-5, + c: -2.653518442630718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 2.403039278882513e-5, + c: 9.338754682225413e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 1.333315834108162e-5, + c: -2.196877249495849e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -7.368748599225033e-6, + c: -2.400716022501259e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 1.248046302564200e-5, + c: -2.132244391957428e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.740983220874612e-5, + c: -1.587563096019394e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.717666844085546e-5, + c: -1.565403001899842e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 2.258803451086209e-5, + c: -7.865875574696017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.671042258687029e-5, + c: -1.438563158657729e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 2.043274816521912e-5, + c: -6.664742409507896e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -2.722063311557410e-6, + c: -2.091608147126890e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -1.356311922607320e-6, + c: -2.047706941788215e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 1.128167517142122e-5, + c: -1.691901124725650e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -1.911055893256299e-6, + c: 2.000187271872269e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 1.095749141774860e-5, + c: -1.672183576280544e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.208242008452470e-5, + c: -1.532519844613925e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -9.807434393867112e-6, + c: -1.592391383290536e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 1.356633490432249e-5, + c: -1.131966376333726e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 7.753269658012715e-6, + c: -1.526983703630959e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 2.714657180622167e-7, + c: 1.671184259293327e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 1.511825476657894e-5, + c: 6.228063407989960e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 2.376304832108060e-6, + c: 1.604387447671847e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -5.319983344230160e-6, + c: -1.515708043367351e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 6.257755727917715e-6, + c: -1.468439359589044e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 1.327686285125399e-5, + c: 8.319087044071493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 1.532196183583873e-5, + c: 2.379277721519481e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 8.348762188481287e-6, + c: 1.265385424051661e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 1.475757540151792e-5, + c: -1.241795847980224e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -1.278152721221859e-5, + c: -7.195704381711251e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 9.574044680330614e-7, + c: 1.445236282656159e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 3.911796865149682e-6, + c: -1.381212320768141e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -2.503316136413114e-6, + c: 1.376845941423184e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 1.379938525385175e-5, + c: -1.325584755461561e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.318077682844927e-5, + c: 3.024763372044259e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 1.015920479818678e-5, + c: 8.800046979465766e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -1.319172338431961e-5, + c: -1.725230116092024e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: 1.172543901335860e-5, + c: 6.005387060074398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 3.928768296653253e-6, + c: -1.214687002792466e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -4.416336023347205e-6, + c: 1.150121510974088e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 1.166280946384732e-5, + c: -2.739261550780935e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 1.089970217718273e-5, + c: -4.657678877634966e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: -1.056113179370961e-5, + c: -4.813768485343131e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -2.543038280902200e-6, + c: 1.123951974715523e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -1.003139480539792e-5, + c: -5.597885473054003e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 7.119871068854946e-6, + c: 8.545755075041253e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -1.545811487758331e-6, + c: -1.101214382225899e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 1.096605505688019e-5, + c: -1.741261971611144e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -1.090659799177054e-5, + c: -7.151927539671895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: 7.601537693626363e-6, + c: -7.792268135334542e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 8.861770078955815e-6, + c: 5.758085265074798e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -1.510577054520186e-6, + c: -1.044927913248992e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -3.492725957294496e-6, + c: 9.883129883804578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: 9.926573006595649e-6, + c: -1.822237731808096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 9.387857924869333e-6, + c: 3.068028930759801e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -9.746001887686470e-6, + c: -3.247647753042057e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 8.836373559357319e-6, + c: 3.899506633931067e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 8.096695684453978e-6, + c: -4.902102504664392e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 3.785368382374519e-6, + c: -8.655844052421259e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 7.937778288580505e-6, + c: 5.087617896600805e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: 8.677893351178580e-6, + c: 3.609797614592066e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -1.952850003390235e-6, + c: -9.038118129771495e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -9.147285214810036e-6, + c: 8.101907467035522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -6.335573778678079e-6, + c: 6.587942563549935e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 8.844498801271197e-6, + c: 1.818552215820834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -8.606274900846700e-6, + c: -1.012764391628257e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 7.942109151581444e-6, + c: 1.460623459147585e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -6.212002151041334e-6, + c: -5.145508163347826e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 7.800626400165922e-6, + c: 1.646498119577227e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -6.988565291841409e-7, + c: 7.897883158015705e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -3.409492893025838e-6, + c: 7.063038442431586e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -4.402401934835687e-6, + c: -6.445276073885226e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -3.720618584034115e-6, + c: 6.615371355617379e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -7.408305536272458e-6, + c: -1.628519746260148e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -7.375937601257630e-6, + c: 1.675710567572816e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 5.422710771185758e-7, + c: 7.398701067493933e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 1.341509460800585e-6, + c: -7.104168322977456e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -2.585824519507030e-6, + c: 6.740276223698078e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -7.125707207061169e-6, + c: 7.494326825836857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: -6.205655534312207e-6, + c: -3.441428646562869e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -6.821213657350606e-6, + c: 2.715146727814177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 1.844877979553692e-6, + c: 6.539828118421909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 4.887451682002805e-6, + c: -4.681996064643834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: 6.130941685486015e-6, + c: 2.737323566973170e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 5.085945367686213e-6, + c: 4.241038627180165e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 6.136719710495051e-6, + c: 2.265184967372466e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 3.228797304104233e-6, + c: 5.573935831986201e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 1.999942060170565e-6, + c: 6.105342099684504e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 4.019706511026827e-6, + c: 4.891460821477842e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 6.082084645538870e-6, + c: 1.218736424450173e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: 5.790002860239889e-6, + c: 2.130209926494170e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -6.068768423861375e-6, + c: 4.043751646045394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 6.031351044730897e-6, + c: -4.141115347412093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: -4.321264433696195e-6, + c: 4.111328460353947e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -2.254903721467749e-6, + c: -5.274453903299658e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 5.029345444328504e-6, + c: 2.520013728818692e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 4.141025320802677e-6, + c: 3.807344477991171e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -1.298757548866532e-6, + c: 5.392739664180430e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: 5.262124581178825e-6, + c: 1.321123435282692e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -1.566815058001750e-6, + c: 5.083987803586408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 4.743392431391402e-7, + c: -5.147602588830386e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -5.056695101040717e-6, + c: 7.731591862706110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 9.838141286920344e-7, + c: 5.002984751932942e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 5.090426412564913e-6, + c: -4.846654026511385e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 2.623869931854061e-6, + c: -4.331015652263565e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: 4.895696233512982e-6, + c: -8.460290677629962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -9.442096025832189e-7, + c: -4.846356106026842e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 1.105026693001465e-6, + c: -4.690444512694353e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -1.494722783872752e-6, + c: 4.518113168076667e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -1.560991911024811e-6, + c: -4.452024765336451e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -3.988362377471195e-6, + c: 2.460336364624803e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -4.546526562744667e-6, + c: 6.058789589788570e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 4.554634940007971e-6, + c: 3.416193026802324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 2.873448530066135e-6, + c: 3.444846286939775e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 4.319746796284241e-6, + c: 1.149628930481697e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 4.426003006540793e-6, + c: 5.297383178973939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: 2.433533424179454e-6, + c: -3.733767601954503e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: -4.336494119811980e-6, + c: -8.756503575799114e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 2.478833175287081e-6, + c: -3.582901082328688e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 4.294471868524148e-6, + c: 6.363738507483763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -4.177421327881998e-6, + c: 1.083454639701007e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: -5.319654893790043e-7, + c: 4.272896572204138e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 3.697707950930306e-7, + c: 4.235973792772328e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 3.175062289988254e-6, + c: 2.738362812327055e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: 6.309564615362184e-7, + c: -4.107003504487417e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -3.806302334156862e-6, + c: 1.373180660552276e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: -3.810142662811312e-6, + c: 1.296458039500906e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 3.766124169201447e-6, + c: 9.735398990019317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -3.749679829347626e-6, + c: 8.167261941109977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -9.571906639397492e-7, + c: 3.597211732255480e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -1.622563280751765e-6, + c: -3.278277916280899e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: -1.456876377477948e-6, + c: -3.330079725612156e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 3.590241416735509e-6, + c: -5.489588298555560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -1.361610342206999e-6, + c: -3.272407608808611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 2.542912197347063e-6, + c: -2.353279422061456e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -3.448168174358991e-6, + c: 3.369134595769746e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -6.350665275269139e-7, + c: -3.393643337745526e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: -2.936868893406497e-6, + c: 1.791253196048101e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -2.545110953621892e-6, + c: 2.313411177781631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: -1.671935762396920e-6, + c: -2.960207291705603e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 1.929119575618702e-6, + c: -2.788153882220893e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -3.287738842815302e-6, + c: -2.601365756714243e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: -2.905994915206735e-6, + c: 1.558907123798119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 2.791362571547638e-6, + c: 1.705264612300008e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -3.169089760725411e-6, + c: 7.810355923644537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: 1.522127314336311e-6, + c: -2.870587060031261e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: -3.197786557146026e-6, + c: 5.040177952816236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -1.891445472850688e-6, + c: 2.589697658130989e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: -3.121755341554406e-6, + c: -6.826926204273881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 3.094577732805034e-6, + c: -6.401109942856256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 2.564992511230457e-6, + c: -1.832202012203011e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: -2.819823578269794e-6, + c: -1.169804176781050e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -2.490309895292421e-6, + c: 1.687843498161182e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 2.930963624484526e-6, + c: 4.958661772724131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -2.857087278754139e-6, + c: 7.649077962604770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 2.944412849295145e-6, + c: -4.038576864630402e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 5.230645499166918e-7, + c: -2.811307314570906e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: 2.111619288777618e-6, + c: 1.912593523987981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: 2.283855344691537e-6, + c: -1.638526288937393e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: 1.421536985370698e-6, + c: -2.393670110662021e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 1.040139015843036e-6, + c: 2.568187300004122e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -1.326177720581619e-6, + c: -2.427718568864578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 1.970524936314911e-6, + c: 1.844628989618490e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: -2.639293016414443e-6, + c: -5.281299865709932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: 1.388652359156287e-6, + c: 2.290136480192125e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 2.478703622811042e-6, + c: -8.595085515228861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: -1.253762302388096e-6, + c: 2.302971702957245e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: 2.004747880522981e-6, + c: 1.652761801815405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: 2.319711258192462e-6, + c: -1.126722523466993e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: 2.468016271154503e-6, + c: 7.236119404993829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: -2.434726139171725e-6, + c: 8.232999714073547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -2.195032077893660e-6, + c: 1.249254296519209e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -1.235041787532762e-6, + c: -2.185588101861909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, 0, 0], + }, + Term { + s: 1.406245648461384e-6, + c: -2.069265904442298e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -1.945917996066699e-6, + c: 1.569924568045578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: -2.053839899911512e-6, + c: 1.387358796190702e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -2.033235749831478e-6, + c: 1.366096004711883e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: -2.378479543729600e-6, + c: 8.224199938431534e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: 2.328286532079271e-6, + c: 1.274137020299724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -2.243702606853864e-6, + c: -5.956469397627023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: 1.707542334126703e-7, + c: -2.283339588932105e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: 2.138417175134673e-6, + c: -8.088645919596496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: -3.822064642124318e-8, + c: -2.274867452445966e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: 2.169143285270235e-6, + c: 6.792623005174833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: 2.087444252698835e-6, + c: -8.968341684598989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -9.775492784496737e-7, + c: 1.984201203516622e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: 1.405080150181003e-6, + c: -1.696210203811080e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: 1.724246842088695e-6, + c: -1.291153305582922e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: -2.131314290448869e-6, + c: -2.815102848252556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0], + }, + Term { + s: -1.190962719481594e-6, + c: -1.758772833180748e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 1.738322613889736e-6, + c: -1.162625987700556e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: 1.959699544504390e-6, + c: -7.233383651468448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: -1.913646131135236e-6, + c: -8.324062587886365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0], + }, + Term { + s: -1.897767994293737e-6, + c: -8.492425944384551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: 8.929758200602748e-7, + c: -1.874769452841153e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 1.871850658177945e-6, + c: -8.165156666730222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: 1.447399707458373e-6, + c: -1.420850319871635e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: 1.353190538792358e-6, + c: 1.480615736783083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: -1.965384623910898e-6, + c: -3.347972839479308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: -1.128276136946136e-6, + c: -1.629067482090291e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0], + }, + Term { + s: 1.258973960686464e-6, + c: -1.488322193787630e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0], + }, + Term { + s: 9.030330447039519e-7, + c: -1.725654844080829e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 1.870762245771090e-6, + c: -5.097779030705760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: -4.489091245744452e-7, + c: -1.858042066012630e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: -1.848105553218137e-6, + c: 4.595534067065472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0], + }, + Term { + s: -1.509514025001707e-6, + c: 1.131454329442272e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: -1.144409358342012e-6, + c: -1.495228522032667e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326, 0, 0, 0], + }, + Term { + s: -1.070438991319556e-6, + c: -1.532307250633802e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -1.824078913579399e-6, + c: -3.360823229529489e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0], + }, + Term { + s: -1.837517723095700e-6, + c: -2.519530184546976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0], + }, + Term { + s: 1.266716826511911e-6, + c: -1.280391611072026e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: -1.754983503840047e-6, + c: 4.443674366331021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: -1.324044833639263e-6, + c: 1.088481139960310e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: -7.644477428435699e-7, + c: -1.511930265105778e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0], + }, + Term { + s: 1.429015193350564e-6, + c: 9.097812361081848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: 6.306122038814186e-7, + c: -1.566450640140907e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -7.251989036839479e-7, + c: -1.485166463831416e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -1.614483709084642e-6, + c: 3.450282173783920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 1.068729416766388e-6, + c: 1.201964817106751e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: 1.378221030435367e-6, + c: 8.178901193595648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0], + }, + Term { + s: 1.316537456557533e-6, + c: 8.981395889332428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: -1.503116616468958e-6, + c: 5.088301850322886e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258, 0, 0, 0], + }, + Term { + s: 1.551491259534955e-6, + c: -2.973266897400924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: 1.462136847266474e-6, + c: -5.777071954573055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0], + }, + Term { + s: 1.359410434994063e-6, + c: -7.277085492701540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: 1.097191229966115e-6, + c: -1.062941845759811e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: 7.039183899177132e-7, + c: 1.352057655255878e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -1.098957888037798e-6, + c: -1.044976913400228e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 8.115020082320109e-7, + c: 1.278620889060834e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26935, 0, 0, 0], + }, + Term { + s: -1.359570630498845e-6, + c: 6.640958615414562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0], + }, + Term { + s: -4.406739118697412e-7, + c: 1.443279880316147e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: -4.104480417245009e-7, + c: 1.442341687172431e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853, 0, 0, 0], + }, + Term { + s: 1.167282898936531e-6, + c: -9.199904551344161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: 3.832897128975728e-7, + c: 1.410061126577097e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -1.268590080165578e-6, + c: 6.694166889533369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: -1.292218598917412e-7, + c: -1.424514933286897e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: 1.109551587749585e-6, + c: 8.973045056738967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0], + }, + Term { + s: 2.163053864024438e-7, + c: -1.396824182906946e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 8.684383349785412e-7, + c: 1.108660828412756e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -4.359940486681176e-7, + c: -1.328191950782105e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0], + }, + Term { + s: 9.188817053506837e-7, + c: 1.044112612170333e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: 1.050377437203336e-6, + c: -9.013002859076889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0], + }, + Term { + s: -1.340686321879136e-6, + c: 3.254130575834002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -5.425320235170339e-7, + c: 1.264762088978426e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: 1.352171905482849e-6, + c: 1.423866185729312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: 1.323451625053728e-6, + c: -2.990906168896045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: -1.019428429165504e-6, + c: 8.941092266270014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: -1.299801261812251e-6, + c: -3.839457762168982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: 4.315307136692056e-7, + c: -1.272455682735526e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: 1.173632278468737e-6, + c: 6.263583508656793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0], + }, + Term { + s: 5.675506810350565e-7, + c: 1.167234903653549e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -1.274262392131279e-6, + c: 1.465005101710469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0], + }, + Term { + s: 1.253910311708394e-6, + c: -2.600132152961276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: -1.062131686752793e-6, + c: 6.996406997195661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116, 0, 0, 0], + }, + Term { + s: 7.654249541945487e-7, + c: -9.968376962553070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: -4.948461822603236e-7, + c: 1.154692387843728e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0], + }, + Term { + s: -1.577979398155312e-7, + c: -1.211925690902633e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -7.342241646668836e-8, + c: 1.217884318648408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 1.131073090134191e-6, + c: -3.632781272699840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0], + }, + Term { + s: -5.392477869490935e-8, + c: -1.182972428070081e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: 2.587092957170257e-7, + c: -1.154281704269866e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0], + }, + Term { + s: 3.620318433553531e-7, + c: 1.108670148189985e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: 7.804958167763683e-7, + c: 8.623550370033135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0], + }, + Term { + s: -1.006565369922161e-7, + c: 1.157518237659800e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0], + }, + Term { + s: 8.145167336379461e-7, + c: -8.012410730539728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: 9.030055876845675e-7, + c: -6.978326446554167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0], + }, + Term { + s: 2.754655128282504e-7, + c: 1.094037393808655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: 1.383459596374593e-7, + c: -1.115883698351755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: -9.061766189910515e-7, + c: -6.500236950905296e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: 9.984492328911643e-7, + c: 4.945998344510070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -1.113431535064039e-6, + c: -2.466144143264875e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: 9.316754845910292e-7, + c: 5.835666618779836e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: -6.629453472410880e-7, + c: -8.750252284198108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -1.090599544903111e-6, + c: 1.218307448971927e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -2.289827739346825e-7, + c: -1.049370594113166e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: -6.665179389375206e-7, + c: 8.291591971627999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0], + }, + Term { + s: -1.007577393343528e-6, + c: -3.346728096756465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0], + }, + Term { + s: 2.004056155257051e-7, + c: -1.040660024840749e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0], + }, + Term { + s: -9.453989373266542e-7, + c: -4.706559648303325e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: 1.006037393401050e-6, + c: 3.129371111549474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -7.361193073927953e-7, + c: -7.492444931411642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0], + }, + Term { + s: 9.748386850711592e-7, + c: 2.374052254262134e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: 2.718341890062443e-7, + c: -9.629113948509574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0], + }, + Term { + s: 2.977299195618529e-7, + c: -9.389389665997881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0], + }, + Term { + s: -3.794888717078066e-7, + c: 9.084820107309752e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0], + }, + Term { + s: 8.449897280737365e-8, + c: -9.691732707307607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0], + }, + Term { + s: 6.140055108220825e-7, + c: -7.494488019206443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -7.305846838078961e-7, + c: 6.287768224488559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0], + }, + Term { + s: -2.704775282884001e-7, + c: 9.148202410420461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0], + }, + Term { + s: 8.673506723451976e-7, + c: 3.694500855759064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0], + }, + Term { + s: 6.885087198984064e-7, + c: -6.400435903169202e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, 0], + }, + Term { + s: 6.099156948194915e-7, + c: 7.101410764678469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0], + }, + Term { + s: 2.304791097887478e-7, + c: -8.959441428128358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0], + }, + Term { + s: -3.132466393645645e-7, + c: 8.673706548870615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: -1.624929770913036e-7, + c: 8.927854916495859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0], + }, + Term { + s: 2.504436407181294e-7, + c: -8.712052221998016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 3.802157987213528e-7, + c: -8.097528625193609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: 8.157598185933695e-7, + c: 3.426923060978522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: -4.404612034524538e-7, + c: -7.648108127577159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0], + }, + Term { + s: 6.625238485448832e-7, + c: 5.708275966947662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: 5.729760101665631e-7, + c: -6.486435606594689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0], + }, + Term { + s: -1.274795915464692e-7, + c: 8.519088761283152e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: -7.550446177068214e-7, + c: 3.988350563701986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: -1.043996638237121e-7, + c: 8.455199249786203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0], + }, + Term { + s: -8.395679755074320e-7, + c: 6.249520648647609e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2305, 0, 0, 0], + }, + Term { + s: -7.835171888208632e-7, + c: -2.732319177222360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: -3.248301305232641e-7, + c: -7.574473359965904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0], + }, + Term { + s: 4.376030513560564e-7, + c: 6.941365654875306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0], + }, + Term { + s: 7.290585806040924e-7, + c: -3.646147424734068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725, 0, 0, 0], + }, + Term { + s: -1.921464774027118e-7, + c: 7.915192373369730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0], + }, + Term { + s: -4.260784076425962e-7, + c: -6.940923024462900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: 8.789251852893170e-8, + c: 8.083274635938572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 0], + }, + Term { + s: -8.007486981166645e-7, + c: 1.099876520218678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, 0], + }, + Term { + s: 6.906415386465438e-7, + c: -4.137563275401812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: 8.044766844553274e-7, + c: 7.402708629890855e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0], + }, + Term { + s: 1.964005786292740e-7, + c: 7.764739611762384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0], + }, + Term { + s: 5.699854502910656e-7, + c: 5.592591503461438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: -7.919729137588519e-7, + c: 5.268581543563851e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 0, 0, 0], + }, + Term { + s: 1.778046225198084e-7, + c: -7.619872261753869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5325, 0, 0, 0], + }, + Term { + s: 5.173573894901870e-8, + c: 7.780923085282041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: 4.812752693899880e-7, + c: -6.103386912971951e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 0, 0], + }, + Term { + s: 5.859349758469093e-7, + c: -5.030605657999581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: 1.935889747082962e-7, + c: 7.472068646233592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: 6.688772021444483e-7, + c: 3.745770502149439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0], + }, + Term { + s: 5.188626227499565e-7, + c: -5.640856916278747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0], + }, + Term { + s: -7.547312940809260e-7, + c: -1.072112247708394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: -2.962673617612201e-7, + c: -6.997813017240561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 0, 0, 0], + }, + Term { + s: -1.958794873794789e-7, + c: -7.284361201136264e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, 0], + }, + Term { + s: -8.581964122202997e-8, + c: -7.489006363216192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: -5.681037367101160e-7, + c: 4.929217287688755e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: 7.464251506532708e-7, + c: -8.562401644389814e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: 6.840278193429524e-7, + c: 2.975489618134339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343, 0, 0, 0], + }, + Term { + s: -7.093586544087549e-7, + c: 2.269587610828982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0], + }, + Term { + s: -4.310060393155458e-7, + c: 5.951483244168180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0], + }, + Term { + s: -7.317714140351501e-7, + c: -3.091437356465475e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0], + }, + Term { + s: 7.259580277594545e-7, + c: 3.976378033283099e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0], + }, + Term { + s: 4.836825072942405e-7, + c: 5.420752223084046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0, 0], + }, + Term { + s: 2.958821689196190e-7, + c: -6.625227211971006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0], + }, + Term { + s: 2.660492324968639e-7, + c: -6.742927155391688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 3.379596265978564e-8, + c: -7.171308661254829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0], + }, + Term { + s: -1.210600824098603e-7, + c: -7.074783430111459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0], + }, + Term { + s: -4.269226736881799e-7, + c: 5.726070333457578e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7293, 0, 0, 0], + }, + Term { + s: -7.099102669750693e-7, + c: -1.831597970791504e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0], + }, + Term { + s: 2.665835549283472e-7, + c: -6.563960362378404e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], + }, + Term { + s: 6.687870875274435e-7, + c: -2.290812375523184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0], + }, + Term { + s: 6.274467205257817e-7, + c: -3.167849937654840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 0, 0], + }, + Term { + s: -6.969278720766428e-7, + c: -5.410246863567386e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 0, 0, 0], + }, + Term { + s: -6.674739408921211e-7, + c: -1.838771582651693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0], + }, + Term { + s: 6.176359312428322e-7, + c: 2.815850545104042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0], + }, + Term { + s: -6.369547037642460e-7, + c: -2.280897496725184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 5.648823929100477e-7, + c: -3.696889823236236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0], + }, + Term { + s: 5.295504900898041e-7, + c: -4.175187450538430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0], + }, + Term { + s: 6.106215434837799e-7, + c: 2.852137433198041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, 0, 0, 0], + }, + Term { + s: 2.692969474344338e-7, + c: 6.146201398207137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0], + }, + Term { + s: 4.417806899187985e-7, + c: -5.018022138408423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0], + }, + Term { + s: -6.671099649655495e-7, + c: -4.200239319583191e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0], + }, + Term { + s: -1.971184684149726e-7, + c: 6.359846337480046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0], + }, + Term { + s: -2.203595411493126e-7, + c: 6.281070917305328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: 6.615283700198539e-7, + c: -7.307479671051412e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0], + }, + Term { + s: -2.500852203872892e-7, + c: -6.111236196729478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0], + }, + Term { + s: -3.125949482985683e-8, + c: 6.504049535884983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, 0], + }, + Term { + s: -6.447985093023114e-7, + c: 6.089976721636414e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: -3.962557318758408e-7, + c: 5.111851410008610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: -3.214088342946507e-7, + c: 5.611646770056709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28341, 0, 0, 0], + }, + Term { + s: -4.530931827990943e-7, + c: -4.592246345117377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: -2.254317698085240e-7, + c: 6.041801486102633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0], + }, + Term { + s: -4.417133099004225e-7, + c: 4.696915852010999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0], + }, + Term { + s: 4.372904846018890e-7, + c: 4.680705209265711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0], + }, + Term { + s: -5.897622369681623e-7, + c: 2.454196776714918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: -6.380652318566840e-7, + c: -1.822575600299537e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0], + }, + Term { + s: 5.534437039190731e-7, + c: -3.041426900494005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2643, 0, 0, 0], + }, + Term { + s: -5.522720118629149e-7, + c: 3.018344981469991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: 6.165498186014309e-7, + c: 8.874517886765718e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921, 0, 0, 0], + }, + Term { + s: 6.198749795405368e-7, + c: -5.196265995718596e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0], + }, + Term { + s: -4.595959125154541e-7, + c: -4.143112659828754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0], + }, + Term { + s: 1.867797087717700e-7, + c: -5.890102141725870e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 5.322537963888992e-7, + c: -3.133971915753042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 5.040689189262374e-7, + c: -3.469098875860457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0], + }, + Term { + s: 5.808422632230882e-7, + c: 1.738491744824804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0], + }, + Term { + s: 1.970678626160956e-7, + c: -5.662640657282535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: 5.872162169784421e-7, + c: -1.137616537182838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0], + }, + Term { + s: -2.608075028476151e-7, + c: -5.362568374024836e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: 4.695841969175917e-7, + c: 3.478950377143636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0], + }, + Term { + s: -5.774053556847303e-7, + c: -1.941337544560165e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0], + }, + Term { + s: 4.560829027935312e-7, + c: -3.512604792311135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659, 0, 0, 0], + }, + Term { + s: 1.160531335181689e-7, + c: -5.633813772039458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: -5.336605216611543e-7, + c: -2.031092379855212e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: -5.346648115892288e-9, + c: -5.705848296705223e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: -3.538867396737355e-7, + c: 4.474733958053456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0], + }, + Term { + s: -5.656254191981013e-7, + c: -1.216812121821151e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0], + }, + Term { + s: -3.714064308017595e-7, + c: -4.128035329552696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: -5.202294020008751e-7, + c: 1.840780779836149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: -5.133557902701302e-7, + c: -1.976978254535866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: -2.892254019179353e-7, + c: 4.670128638783255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0], + }, + Term { + s: -4.947775425835326e-7, + c: 2.156091370901648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 0], + }, + Term { + s: -4.414991615777327e-7, + c: 3.077244492149991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -5.352056454786122e-7, + c: -3.401047323731000e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, 0], + }, + Term { + s: 4.609098305457059e-7, + c: -2.677789832043595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: -1.738910718506983e-7, + c: -5.029516338317871e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: -6.230632880882898e-8, + c: -5.236828623485470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0], + }, + Term { + s: -3.941039143240798e-7, + c: -3.501587866901801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8792, 0, 0, 0], + }, + Term { + s: 1.556738407175181e-7, + c: 4.996446870568740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640, 0, 0, 0], + }, + Term { + s: 4.149437921779676e-7, + c: 3.138976766584908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: -2.921220993432876e-7, + c: 4.278971632035998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0], + }, + Term { + s: 4.562321913800518e-7, + c: -2.414810086750527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0], + }, + Term { + s: -2.291823809278720e-7, + c: -4.609437457191462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -3.952937753991884e-7, + c: 3.227521557459041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0], + }, + Term { + s: -5.057076303102212e-7, + c: 1.174362675669579e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0], + }, + Term { + s: 2.617700419310771e-7, + c: -4.320722473518546e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: 2.734916241226113e-7, + c: -4.214718700854649e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5467, 0, 0, 0], + }, + Term { + s: -2.862422057991152e-7, + c: 4.060364473806435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0], + }, + Term { + s: 3.530214892596864e-7, + c: 3.481393859818923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0], + }, + Term { + s: -4.757250782210565e-7, + c: -1.358394844618123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -4.847315091810737e-7, + c: -2.290581798716063e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6812, 0, 0, 0], + }, + Term { + s: 4.296167508632279e-7, + c: 2.160108609061087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0], + }, + Term { + s: -2.872716524258224e-7, + c: 3.733789500897180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0], + }, + Term { + s: 1.198671543821663e-7, + c: -4.555051847283978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: -4.073300335969490e-7, + c: -2.362452381974933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256, 0, 0, 0], + }, + Term { + s: 3.188510065075462e-7, + c: 3.379243889389781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0], + }, + Term { + s: 4.542164518524584e-7, + c: 8.675439680069489e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905, 0, 0, 0], + }, + Term { + s: 3.839462191545873e-7, + c: -2.576479032562444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: 3.013909375354584e-7, + c: 3.495231243107079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0], + }, + Term { + s: -3.446935270998152e-7, + c: -3.013380912568500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: 4.566502101404973e-7, + c: -9.654585899327978e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0], + }, + Term { + s: 4.092439524457239e-7, + c: -2.026049899012047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16003, 0, 0, 0], + }, + Term { + s: -3.959373957486947e-8, + c: -4.539319117792267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5255, 0, 0, 0], + }, + Term { + s: -2.074805806663119e-7, + c: 4.047933612867056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0], + }, + Term { + s: -3.322803870283244e-7, + c: 3.084207017836468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0], + }, + Term { + s: 1.131324120557277e-7, + c: -4.339167552080536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0], + }, + Term { + s: 3.263376853592004e-7, + c: -3.044582277005026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1375, 0, 0, 0], + }, + Term { + s: 3.311145338374530e-7, + c: -2.964527447465953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9008, 0, 0, 0], + }, + Term { + s: -6.646132935174224e-8, + c: -4.318772994461350e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: -1.604838338088777e-7, + c: -4.046071728591346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18807, 0, 0, 0], + }, + Term { + s: -2.216974226300491e-7, + c: -3.702609334259854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -5.347602964898185e-8, + c: -4.269606621424946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0], + }, + Term { + s: 4.203752983494341e-7, + c: -8.482615536560612e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1379, 0, 0, 0], + }, + Term { + s: 4.244564262446299e-7, + c: 3.066423974653602e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0], + }, + Term { + s: -4.213937477548500e-7, + c: 4.779728651234905e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0], + }, + Term { + s: -4.036508714489568e-7, + c: -1.041424536580084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0, 0], + }, + Term { + s: 2.618974621233846e-7, + c: -3.219126563670287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 966, 0, 0, 0], + }, + Term { + s: 8.182080789857465e-8, + c: 4.063564747041613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0], + }, + Term { + s: -2.073772692396109e-7, + c: 3.582577337506884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0], + }, + Term { + s: 4.071558318693006e-7, + c: -5.980440608308328e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0], + }, + Term { + s: -1.499443053538877e-7, + c: -3.794163204671672e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0], + }, + Term { + s: 1.021524590352951e-7, + c: 3.927314978777854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0], + }, + Term { + s: 1.540403978164710e-7, + c: 3.707967269999707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 0, 0], + }, + Term { + s: -2.019244048759502e-7, + c: -3.462726050186220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0], + }, + Term { + s: -1.944932685601979e-7, + c: 3.487490778424516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0], + }, + Term { + s: 2.596615572940350e-7, + c: 3.012388163204244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0], + }, + Term { + s: -3.658562693014267e-7, + c: 1.487108512553277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5679, 0, 0, 0], + }, + Term { + s: -1.284276425588256e-7, + c: -3.725281537980224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0], + }, + Term { + s: 3.736048972639653e-7, + c: -1.162928498401472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0], + }, + Term { + s: 3.660460962450966e-7, + c: 1.350304743550458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0], + }, + Term { + s: -3.843985988592782e-7, + c: -6.562164990283286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 707, 0, 0, 0], + }, + Term { + s: -6.000137362484076e-8, + c: 3.850585026609057e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0], + }, + Term { + s: -2.275119748178150e-7, + c: 3.124656413658424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0], + }, + Term { + s: 1.044914254440869e-7, + c: -3.713581949245660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, 0], + }, + Term { + s: -7.322575270514679e-8, + c: -3.780072142932461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21002, 0, 0, 0], + }, + Term { + s: -4.608764600691329e-8, + c: -3.779214721263447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2168, 0, 0, 0], + }, + Term { + s: 1.202871309342015e-7, + c: 3.561325932314733e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 2.289608976493776e-7, + c: 2.973899710841582e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: 2.556285206642238e-7, + c: 2.745297647920575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0], + }, + Term { + s: -3.064182298482731e-7, + c: -2.160840959170499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0], + }, + Term { + s: -1.000293781976637e-7, + c: -3.613451792179715e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5184, 0, 0, 0], + }, + Term { + s: 2.072203207872703e-7, + c: 3.120261854643876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0], + }, + Term { + s: 3.593140918031418e-7, + c: -9.603336985414816e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0], + }, + Term { + s: 2.417606310114404e-7, + c: -2.807393958346584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, 0], + }, + Term { + s: 3.574803125471173e-7, + c: -9.438064860319262e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0], + }, + Term { + s: -3.047064789003888e-7, + c: 2.090810518483723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0], + }, + Term { + s: -2.570280515275313e-7, + c: 2.648082536241204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0], + }, + Term { + s: -3.415215082209776e-7, + c: 1.387269346683253e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, 0], + }, + Term { + s: -1.374152624239232e-7, + c: 3.390384844207084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 0, 0, 0], + }, + Term { + s: -3.532346922245436e-7, + c: 2.082776402466051e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1277, 0, 0, 0], + }, + Term { + s: 4.844690792301124e-8, + c: -3.486600273484827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: 1.428344015772535e-7, + c: -3.209434427999399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0], + }, + Term { + s: 1.987407490274062e-7, + c: -2.896199161347603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5537, 0, 0, 0], + }, + Term { + s: 2.760681508476354e-7, + c: -2.137857833273180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: -3.050883088747214e-7, + c: -1.689828807489420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0], + }, + Term { + s: -2.313056330860920e-7, + c: -2.586714101968486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, 0], + }, + Term { + s: -2.801740252395710e-7, + c: 2.018772693265129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1810, 0, 0, 0], + }, + Term { + s: -2.331501669126226e-7, + c: 2.513403720024312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0], + }, + Term { + s: -9.992125610102111e-8, + c: -3.270725801079747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0], + }, + Term { + s: 2.968836583666489e-7, + c: -1.671193463395670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0], + }, + Term { + s: 4.734672556147208e-8, + c: -3.365841724610517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943, 0, 0, 0], + }, + Term { + s: 3.179232428728577e-7, + c: -1.088556265080986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 0, 0, 0], + }, + Term { + s: 2.906075006393965e-7, + c: 1.658073729986768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0], + }, + Term { + s: 3.065673784257045e-7, + c: 1.324333907958019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4564, 0, 0, 0], + }, + Term { + s: -3.311023242107337e-7, + c: 1.364911234991588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0], + }, + Term { + s: -1.591693085556196e-7, + c: 2.902068881496388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904, 0, 0, 0], + }, + Term { + s: 4.512823634700801e-8, + c: 3.276839212557009e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27983, 0, 0, 0], + }, + Term { + s: 2.834361322277407e-7, + c: 1.676072416989322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17401, 0, 0, 0], + }, + Term { + s: -1.607016606150007e-7, + c: 2.872321702752948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0], + }, + Term { + s: -2.467152560840379e-7, + c: 2.173512832393861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0], + }, + Term { + s: 3.222653868182840e-7, + c: -6.455616963731491e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0], + }, + Term { + s: 2.507594346562216e-7, + c: 2.114951880367607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4921, 0, 0, 0], + }, + Term { + s: 2.871741795637471e-7, + c: -1.566646919031877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 0, 0], + }, + Term { + s: 3.000233990007103e-7, + c: 1.199529546557042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4258, 0, 0, 0], + }, + Term { + s: 3.161811769837707e-7, + c: 4.358833776971101e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: -2.829267690125770e-7, + c: 1.468732264840907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0], + }, + Term { + s: -2.874167335427341e-7, + c: 1.345408071739983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: 2.312560849085136e-7, + c: 2.106992191979656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5801, 0, 0, 0], + }, + Term { + s: 2.990616834571025e-7, + c: 9.124061557251526e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0], + }, + Term { + s: 3.088782877827870e-7, + c: 4.079688483690116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 0, 0], + }, + Term { + s: 2.691275129017972e-7, + c: -1.553337180138633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0], + }, + Term { + s: 2.982647638896332e-7, + c: -8.123199546710268e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17052, 0, 0, 0], + }, + Term { + s: 2.907705286224185e-7, + c: 1.035927191520528e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0], + }, + Term { + s: -1.783224274452795e-7, + c: 2.516613788296883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0], + }, + Term { + s: 1.095510067670505e-8, + c: -3.081186364544988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0, 0], + }, + Term { + s: -2.065480739589011e-7, + c: 2.244948940304469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: 7.336926932448870e-8, + c: -2.957417853612557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0], + }, + Term { + s: -2.237964291400923e-7, + c: -2.061712078001432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3755, 0, 0, 0], + }, + Term { + s: -2.135342252619683e-7, + c: 2.162608008079122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28345, 0, 0, 0], + }, + Term { + s: -2.643952111361719e-7, + c: -1.451947923651565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0], + }, + Term { + s: 2.145085255119038e-8, + c: 2.996205773509453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0], + }, + Term { + s: 2.644506897101008e-7, + c: -1.404511761893151e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0], + }, + Term { + s: 2.280831174597817e-7, + c: -1.938096062725766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3971, 0, 0, 0], + }, + Term { + s: 2.241376313798563e-7, + c: -1.980966107194401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0], + }, + Term { + s: 2.780391182160227e-7, + c: 1.065897588917411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17330, 0, 0, 0], + }, + Term { + s: 2.632371858515196e-7, + c: -1.371008701333587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0], + }, + Term { + s: 8.889734848918382e-8, + c: -2.801575806051455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0], + }, + Term { + s: -4.471406910749756e-8, + c: -2.896981783630048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, 0], + }, + Term { + s: 2.743232743977616e-7, + c: -9.772494412871135e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0], + }, + Term { + s: 2.798851000839377e-7, + c: -7.262592120814124e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0, 0], + }, + Term { + s: 2.666828933871643e-7, + c: 1.108236275445070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992, 0, 0, 0], + }, + Term { + s: 2.019684553402792e-7, + c: 2.062232428043091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17409, 0, 0, 0], + }, + Term { + s: 8.269278438267817e-8, + c: 2.754855396136682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0], + }, + Term { + s: -7.808631843425107e-8, + c: 2.759365355766161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0], + }, + Term { + s: 1.657183595728016e-7, + c: 2.310116163915026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0], + }, + Term { + s: -2.313893319008947e-7, + c: 1.630694927846822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, 0], + }, + Term { + s: -1.706087482389624e-7, + c: -2.238598909731173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0], + }, + Term { + s: 1.183262670910864e-7, + c: 2.521713661755009e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0], + }, + Term { + s: 2.777469440365229e-7, + c: -7.138680146008922e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0], + }, + Term { + s: 1.835799340270632e-8, + c: -2.772210039009124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0], + }, + Term { + s: 2.691166087189114e-7, + c: 6.160176848318905e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339, 0, 0, 0], + }, + Term { + s: -1.206424505993052e-7, + c: -2.468902665361050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5113, 0, 0, 0], + }, + Term { + s: 2.624738431796149e-7, + c: -8.132384739703760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 1.371240114667911e-7, + c: 2.380742805651316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6107, 0, 0, 0], + }, + Term { + s: 1.381593168907502e-7, + c: -2.367326631869512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: 6.569389347419407e-9, + c: -2.734735330681202e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0], + }, + Term { + s: 1.002644778720661e-7, + c: 2.538881386612239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0], + }, + Term { + s: 2.725738779166781e-7, + c: -8.730801974202408e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0], + }, + Term { + s: -2.429380921766108e-7, + c: 1.228297147286818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3231, 0, 0, 0], + }, + Term { + s: 1.253737669069938e-7, + c: 2.407414275575164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0], + }, + Term { + s: 1.794530270225280e-7, + c: 2.033198960702138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0], + }, + Term { + s: -1.369909970854261e-7, + c: -2.338814801725401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0], + }, + Term { + s: -7.138469079894681e-8, + c: -2.614176178132770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, 0, 0], + }, + Term { + s: 1.046589443085880e-7, + c: -2.493290844385563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0], + }, + Term { + s: -6.079764396193166e-9, + c: 2.701625535713344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: 2.695095788615895e-7, + c: 9.237390734486752e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 778, 0, 0, 0], + }, + Term { + s: -2.502791562050775e-7, + c: -1.000507661886097e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0], + }, + Term { + s: 1.476115701556659e-7, + c: -2.230432922025973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2497, 0, 0, 0], + }, + Term { + s: 2.322250606729209e-7, + c: -1.272592681945140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358, 0, 0, 0], + }, + Term { + s: 2.627719404438595e-7, + c: 2.566817330840468e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5514, 0, 0, 0], + }, + Term { + s: 2.323266126234005e-7, + c: -1.216920315664413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1145, 0, 0, 0], + }, + Term { + s: 5.611535424228882e-8, + c: -2.550319322075454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29739, 0, 0, 0], + }, + Term { + s: 1.684423721042748e-7, + c: -1.976499848255942e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655, 0, 0, 0], + }, + Term { + s: -2.466158319553785e-7, + c: 7.874289522185300e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3302, 0, 0, 0], + }, + Term { + s: 2.290834197015459e-7, + c: 1.156145554100713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17339, 0, 0, 0], + }, + Term { + s: -1.553527561214701e-7, + c: -2.024325605965392e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: 2.325296122553098e-8, + c: -2.521632685798599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432, 0, 0, 0], + }, + Term { + s: 1.163689005896505e-7, + c: 2.204197000714549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3378, 0, 0, 0], + }, + Term { + s: 7.498122613035395e-8, + c: -2.358454304470045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0], + }, + Term { + s: 1.889346781750855e-7, + c: 1.597836220764703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 0], + }, + Term { + s: 2.061557687857851e-7, + c: -1.349837108444101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0], + }, + Term { + s: -1.252900728027585e-7, + c: 2.104190728882681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: -2.389565570613723e-7, + c: -4.965422396982046e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6741, 0, 0, 0], + }, + Term { + s: 1.712603847799832e-7, + c: -1.732843183639603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: 2.029819163943163e-7, + c: 1.327540294575190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, 0, 0], + }, + Term { + s: -2.414934808615068e-7, + c: -8.297419900404251e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0], + }, + Term { + s: -2.009557866112975e-7, + c: 1.287513974478330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0, 0], + }, + Term { + s: -1.574434287632453e-7, + c: 1.767912160315025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0], + }, + Term { + s: -1.432597014801787e-7, + c: -1.884086934029193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0], + }, + Term { + s: 2.290777697774249e-7, + c: 5.354942708355151e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0], + }, + Term { + s: -2.268757148920146e-7, + c: 5.705971097348825e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0], + }, + Term { + s: -6.450016257345725e-8, + c: -2.245743178942774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367, 0, 0, 0], + }, + Term { + s: -1.021117916603471e-7, + c: 2.092523232809615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0], + }, + Term { + s: -6.166255395735841e-8, + c: -2.239428822195381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 0], + }, + Term { + s: 2.295549161146406e-7, + c: -4.719314542026930e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16074, 0, 0, 0], + }, + Term { + s: -1.189925088775074e-7, + c: 1.957861039998054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: 9.492434070749523e-8, + c: -2.080895445083944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29668, 0, 0, 0], + }, + Term { + s: 1.492003638473925e-7, + c: -1.731394758140014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8937, 0, 0, 0], + }, + Term { + s: 3.808127878601695e-8, + c: -2.249109980333689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1968, 0, 0, 0], + }, + Term { + s: 2.061668176060820e-8, + c: -2.271149575114954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873, 0, 0, 0], + }, + Term { + s: 2.266057289012432e-7, + c: 9.623827513678348e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13907, 0, 0, 0], + }, + Term { + s: 1.312734401536131e-7, + c: -1.838278230317665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0], + }, + Term { + s: 1.831963157362202e-7, + c: 1.300888311155604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812, 0, 0, 0], + }, + Term { + s: -1.727954330275678e-7, + c: 1.431661320052633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0], + }, + Term { + s: -5.071658749968074e-8, + c: -2.175702773640661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0, 0], + }, + Term { + s: -1.482971497992679e-7, + c: 1.626531699763709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0], + }, + Term { + s: -1.722066900139631e-7, + c: 1.329102491618216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916, 0, 0, 0], + }, + Term { + s: 1.277172387391201e-7, + c: -1.751356714554887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 0], + }, + Term { + s: 1.344960659026946e-7, + c: -1.696699019234293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0], + }, + Term { + s: 8.122345985068904e-8, + c: 1.979539594682256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769, 0, 0, 0], + }, + Term { + s: 1.261439326757071e-7, + c: 1.725920997070864e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3570, 0, 0, 0], + }, + Term { + s: -9.851460987237013e-8, + c: 1.896491209260781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, 0, 0, 0], + }, + Term { + s: -2.070626312492259e-7, + c: -4.874376564515576e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5608, 0, 0, 0], + }, + Term { + s: 1.937016124882777e-7, + c: 8.661421187263621e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30726, 0, 0, 0], + }, + Term { + s: 1.052026511526642e-7, + c: -1.837581141094567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0], + }, + Term { + s: 1.886974615144825e-7, + c: -9.400162254242852e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, 0], + }, + Term { + s: -7.252616613898652e-8, + c: -1.977075992329286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, 0, 0, 0], + }, + Term { + s: -2.054041066359924e-7, + c: -4.425087748114226e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18737, 0, 0, 0], + }, + Term { + s: -2.093274206265709e-7, + c: -1.683768052595485e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0], + }, + Term { + s: 2.068069038744417e-7, + c: 3.618509851878097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17397, 0, 0, 0], + }, + Term { + s: -1.386740174253136e-7, + c: -1.560384241618435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0], + }, + Term { + s: 1.191388980755511e-7, + c: 1.701896353705161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1424, 0, 0, 0], + }, + Term { + s: 9.140165637078945e-8, + c: -1.858028016731301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3228, 0, 0, 0], + }, + Term { + s: -1.470213452591810e-7, + c: 1.457531790323846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1099, 0, 0, 0], + }, + Term { + s: -7.717201722259337e-8, + c: 1.909772286675572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0], + }, + Term { + s: 1.342307064711813e-7, + c: -1.558837600194099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0], + }, + Term { + s: 2.047020752001747e-7, + c: 1.574710966040655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0], + }, + Term { + s: 5.772851385668634e-8, + c: -1.947401737032187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1579, 0, 0, 0], + }, + Term { + s: -1.623725059040655e-7, + c: 1.201758519974307e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881, 0, 0, 0], + }, + Term { + s: -8.090753779538309e-8, + c: 1.846240272657652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 0, 0, 0], + }, + Term { + s: -1.995874730195552e-7, + c: 2.809932367853224e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3373, 0, 0, 0], + }, + Term { + s: -1.484749953061281e-7, + c: 1.359181635421536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3161, 0, 0, 0], + }, + Term { + s: 1.882161744397065e-7, + c: 7.123336497108226e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0], + }, + Term { + s: 1.766247440420911e-7, + c: -9.549614275117133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2887, 0, 0, 0], + }, + Term { + s: 1.115613470186273e-7, + c: 1.612433178589860e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 0, 0, 0], + }, + Term { + s: 7.217895674249058e-8, + c: 1.808536246084013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 660, 0, 0, 0], + }, + Term { + s: 7.269790037512812e-8, + c: 1.798339500524205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17413, 0, 0, 0], + }, + Term { + s: -1.919536266042527e-7, + c: 2.169901544002428e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0], + }, + Term { + s: 1.048999191774476e-7, + c: -1.614906928905976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 852, 0, 0, 0], + }, + Term { + s: -9.526781568455204e-8, + c: -1.650363252937614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1028, 0, 0, 0], + }, + Term { + s: -6.774665330425703e-8, + c: 1.779029081904745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1276, 0, 0, 0], + }, + Term { + s: 1.590713626150320e-7, + c: -1.034697745916000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0], + }, + Term { + s: 9.942511753931161e-8, + c: 1.607761812586914e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0], + }, + Term { + s: -1.838086505438033e-7, + c: -2.726554331974199e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1366, 0, 0, 0], + }, + Term { + s: 1.754906435756236e-7, + c: 5.629662548620192e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0], + }, + Term { + s: -1.092511934768034e-7, + c: -1.469582503096575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5042, 0, 0, 0], + }, + Term { + s: -1.337909064157420e-7, + c: -1.239839322025396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0], + }, + Term { + s: 1.742959522152493e-7, + c: -5.105554819870695e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0], + }, + Term { + s: 1.123090544925588e-7, + c: 1.421225060772516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0], + }, + Term { + s: 9.807544320574654e-8, + c: -1.511265395205088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29597, 0, 0, 0], + }, + Term { + s: -1.076877140222916e-7, + c: 1.444107503002545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2941, 0, 0, 0], + }, + Term { + s: 1.710455425957922e-7, + c: -5.475021986703325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686, 0, 0, 0], + }, + Term { + s: 1.709150457050351e-7, + c: 5.508727107589784e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4273, 0, 0, 0], + }, + Term { + s: 1.571373059680541e-7, + c: -8.372207931971143e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0], + }, + Term { + s: 1.417750788085221e-7, + c: -1.076778796237524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1075, 0, 0, 0], + }, + Term { + s: 1.080611616562499e-7, + c: -1.404865408558220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0], + }, + Term { + s: -1.449192645543935e-7, + c: 1.019762901163521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3735, 0, 0, 0], + }, + Term { + s: -1.568987855300799e-7, + c: 8.167054558459592e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 1.760890701293067e-7, + c: -7.606377271119384e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1146, 0, 0, 0], + }, + Term { + s: 1.050816090787917e-7, + c: 1.408087259926817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1495, 0, 0, 0], + }, + Term { + s: 1.812023658041645e-8, + c: -1.746775355745627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1378, 0, 0, 0], + }, + Term { + s: -1.217230604582911e-7, + c: 1.258686294938691e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0], + }, + Term { + s: -1.708072064495704e-7, + c: 3.008781045157959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3110, 0, 0, 0], + }, + Term { + s: 4.122031446943626e-8, + c: -1.681278944317830e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17688, 0, 0, 0], + }, + Term { + s: -4.933505892855621e-9, + c: 1.715832506979218e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0], + }, + Term { + s: 7.024604069033069e-8, + c: 1.563740668315285e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0], + }, + Term { + s: 6.831700445772396e-8, + c: -1.561914273881936e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2426, 0, 0, 0], + }, + Term { + s: 1.252223771514313e-7, + c: 1.154896985050660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1354, 0, 0, 0], + }, + Term { + s: 1.222783003962237e-7, + c: -1.182208953557768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 699, 0, 0, 0], + }, + Term { + s: -6.531935375198382e-8, + c: -1.568236128643797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, 0], + }, + Term { + s: 1.482793666932382e-7, + c: 8.290030227342224e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, 0], + }, + Term { + s: 1.272146531793379e-7, + c: 1.076068855237394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17343, 0, 0, 0], + }, + Term { + s: -1.062750357100742e-7, + c: 1.279571481892490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3090, 0, 0, 0], + }, + Term { + s: 1.475615246327642e-7, + c: -7.671816169483509e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615, 0, 0, 0], + }, + Term { + s: -1.566137137200596e-7, + c: -5.567846658705867e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 0, 0, 0], + }, + Term { + s: -1.618024226653761e-7, + c: -3.687870371745520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3443, 0, 0, 0], + }, + Term { + s: 1.174405019831896e-7, + c: 1.157811684300799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, 0], + }, + Term { + s: -3.641179930549432e-8, + c: -1.604136343087173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4870, 0, 0, 0], + }, + Term { + s: -1.321333932223597e-7, + c: -9.704815205675921e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1444, 0, 0, 0], + }, + Term { + s: 1.622461026072996e-7, + c: -2.190779284397962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0], + }, + Term { + s: -6.776349624491575e-8, + c: 1.488258685716958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0], + }, + Term { + s: 2.848704182450477e-8, + c: 1.601713790798540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6727, 0, 0, 0], + }, + Term { + s: 9.740273353227717e-8, + c: 1.274618040277159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27802, 0, 0, 0], + }, + Term { + s: 1.005166154845473e-8, + c: 1.600860831209767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27912, 0, 0, 0], + }, + Term { + s: 6.655252066391661e-8, + c: -1.456064662546892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2584, 0, 0, 0], + }, + Term { + s: 1.186580691408094e-7, + c: 1.072763537129695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1283, 0, 0, 0], + }, + Term { + s: 1.418070701597035e-7, + c: -7.364258552432109e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1939, 0, 0, 0], + }, + Term { + s: 7.893158605451500e-8, + c: -1.374458185468675e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2014, 0, 0, 0], + }, + Term { + s: 1.562429756501660e-7, + c: 1.515005994108630e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17326, 0, 0, 0], + }, + Term { + s: -2.539562877375977e-8, + c: -1.548001339829679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1661, 0, 0, 0], + }, + Term { + s: -1.270220363113780e-7, + c: -9.080110569011159e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3684, 0, 0, 0], + }, + Term { + s: -6.905723541186294e-8, + c: -1.398678153962356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -1.362722531981177e-7, + c: 7.366690505395012e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, 0, 0], + }, + Term { + s: 1.044069752729309e-7, + c: -1.128324416566312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 0], + }, + Term { + s: -1.461729405809923e-7, + c: 4.584056847183264e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0], + }, + Term { + s: -1.484642950611325e-7, + c: 3.025557716096942e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3012, 0, 0, 0], + }, + Term { + s: 1.064866359184558e-7, + c: -1.071032220249250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3900, 0, 0, 0], + }, + Term { + s: -1.403169322420025e-7, + c: 5.427670916272617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, 0, 0], + }, + Term { + s: 1.383412070665739e-7, + c: -5.907023454778194e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 959, 0, 0, 0], + }, + Term { + s: -4.370562477890813e-8, + c: -1.437851780563745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1307, 0, 0, 0], + }, + Term { + s: -5.328260768875069e-8, + c: 1.400472347632880e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28270, 0, 0, 0], + }, + Term { + s: 1.410582509773446e-7, + c: -4.835319944918154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18441, 0, 0, 0], + }, + Term { + s: -7.839027758481789e-9, + c: -1.460788318187668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0], + }, + Term { + s: 1.050897944325658e-7, + c: -1.008981293214608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573, 0, 0, 0], + }, + Term { + s: 1.321367871869213e-7, + c: 5.962224854651196e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16145, 0, 0, 0], + }, + Term { + s: -1.434618451501815e-7, + c: 7.544432095495014e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 659, 0, 0, 0], + }, + Term { + s: 1.326607201231119e-7, + c: -5.485969276124673e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0], + }, + Term { + s: 1.600910788936487e-8, + c: -1.422582031463420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1448, 0, 0, 0], + }, + Term { + s: 1.339357163603501e-7, + c: 4.955829581641788e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4493, 0, 0, 0], + }, + Term { + s: -3.457359823726929e-8, + c: 1.363433384443120e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: 9.827838957343466e-8, + c: 1.000889153973627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0], + }, + Term { + s: -8.550118322735935e-8, + c: -1.111063551000556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667, 0, 0, 0], + }, + Term { + s: -1.279030434322052e-7, + c: -5.583558918984278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18666, 0, 0, 0], + }, + Term { + s: 1.389119805905403e-7, + c: 2.093938857782833e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: 3.596665523281481e-8, + c: 1.328734704764003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28329, 0, 0, 0], + }, + Term { + s: 1.451903699526830e-8, + c: 1.365058632536123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28262, 0, 0, 0], + }, + Term { + s: -1.356830567063945e-7, + c: -1.763245699697545e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3114, 0, 0, 0], + }, + Term { + s: -8.884711710122249e-8, + c: -1.031287455507554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357, 0, 0, 0], + }, + Term { + s: 1.105959613622529e-7, + c: -7.860881592246493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1004, 0, 0, 0], + }, + Term { + s: 1.338857675411255e-7, + c: -2.088854757567460e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 0], + }, + Term { + s: 1.111017647799404e-7, + c: -7.720920737288432e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544, 0, 0, 0], + }, + Term { + s: 1.010440093192979e-7, + c: 8.956776058089698e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0], + }, + Term { + s: -1.337573756158225e-7, + c: 1.685379092563119e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10622, 0, 0, 0], + }, + Term { + s: 1.340583542886966e-7, + c: -3.468227602144532e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1481, 0, 0, 0], + }, + Term { + s: 3.352966777626330e-9, + c: 1.336941314361713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6798, 0, 0, 0], + }, + Term { + s: -1.018673922432335e-7, + c: 8.639955268151561e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1952, 0, 0, 0], + }, + Term { + s: -1.079634126741928e-7, + c: -7.700686352310169e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0], + }, + Term { + s: 7.644296830183980e-8, + c: 1.074030605167735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3307, 0, 0, 0], + }, + Term { + s: -8.260403036630188e-8, + c: 1.027183512546377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5552, 0, 0, 0], + }, + Term { + s: 2.581521654463782e-8, + c: 1.291770370674314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28026, 0, 0, 0], + }, + Term { + s: -1.284043349957083e-7, + c: -2.593526500859401e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 0, 0, 0], + }, + Term { + s: -2.211466993253707e-8, + c: -1.285623843083226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1590, 0, 0, 0], + }, + Term { + s: -5.784713657587662e-8, + c: 1.164849262073262e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0], + }, + Term { + s: -1.276715164050045e-7, + c: 2.439279672635055e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0], + }, + Term { + s: 5.055683287271316e-8, + c: 1.195356284551320e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0], + }, + Term { + s: 1.176335467906273e-7, + c: -5.426438300517496e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0], + }, + Term { + s: -1.891831813665010e-8, + c: -1.281249657411172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30485, 0, 0, 0], + }, + Term { + s: -9.755551638057435e-8, + c: -8.511369497688460e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 0, 0, 0], + }, + Term { + s: 1.081911428128155e-7, + c: 7.058203727205013e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898, 0, 0, 0], + }, + Term { + s: 1.120961715300261e-7, + c: 6.289574258966588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0], + }, + Term { + s: 2.980652573579507e-9, + c: -1.277800071293382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 0], + }, + Term { + s: 5.128785330663385e-8, + c: -1.170340730121772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: 4.192329692325364e-8, + c: 1.201528715255902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0], + }, + Term { + s: -3.881171034800595e-8, + c: -1.204861591390789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2026, 0, 0, 0], + }, + Term { + s: -1.194006428310796e-7, + c: -4.138527609945332e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1787, 0, 0, 0], + }, + Term { + s: -1.107206388504508e-7, + c: 5.990522372817339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7222, 0, 0, 0], + }, + Term { + s: -6.902524038603717e-8, + c: -1.048278268508180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 0, 0], + }, + Term { + s: 8.966461823020567e-8, + c: 8.781515957442764e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3499, 0, 0, 0], + }, + Term { + s: 7.792568330260847e-8, + c: 9.814918388658043e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, 0, 0], + }, + Term { + s: -6.474266046909039e-8, + c: 1.064331952717422e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3019, 0, 0, 0], + }, + Term { + s: 4.253530444830165e-9, + c: 1.239022576217170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27005, 0, 0, 0], + }, + Term { + s: 7.019608756256217e-8, + c: -1.016524256533099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 0], + }, + Term { + s: 9.499819167195814e-8, + c: 7.809040589579439e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 938, 0, 0, 0], + }, + Term { + s: 7.957476860756681e-8, + c: -9.203369957990914e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1798, 0, 0, 0], + }, + Term { + s: -3.464005952828389e-8, + c: -1.160585463965613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5227, 0, 0, 0], + }, + Term { + s: -7.489870634088298e-8, + c: 9.448496950949037e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 997, 0, 0, 0], + }, + Term { + s: 1.045756563845703e-7, + c: -5.945872916019622e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0], + }, + Term { + s: -7.640925246961191e-8, + c: 9.236723920437608e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28274, 0, 0, 0], + }, + Term { + s: -1.129731266433786e-7, + c: 3.907325424627220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0], + }, + Term { + s: -3.827187889352393e-8, + c: -1.130530941854215e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0], + }, + Term { + s: -8.266592129640368e-8, + c: -8.568410210797656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0], + }, + Term { + s: 8.248293425036921e-8, + c: -8.557300944783556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1869, 0, 0, 0], + }, + Term { + s: 1.109076971287062e-7, + c: -4.244200560209744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2010, 0, 0, 0], + }, + Term { + s: 3.092475725182121e-8, + c: -1.145501073191008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0], + }, + Term { + s: 1.109101027898593e-7, + c: 4.158209931538508e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0], + }, + Term { + s: -9.707498433071880e-8, + c: 6.745699715014226e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1413, 0, 0, 0], + }, + Term { + s: -1.049374163672136e-8, + c: -1.174841711977807e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0, 0, 0], + }, + Term { + s: 6.611202455313020e-10, + c: 1.177306989930498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682, 0, 0, 0], + }, + Term { + s: 1.041042262998506e-7, + c: -5.487074464578996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0], + }, + Term { + s: 1.023725623772815e-7, + c: 5.797982779981547e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1009, 0, 0, 0], + }, + Term { + s: 1.101719794287872e-7, + c: -3.858939978259777e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: -1.072709260124238e-7, + c: -4.552568686777197e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0, 0], + }, + Term { + s: -6.205022504285668e-8, + c: 9.794043796282083e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1491, 0, 0, 0], + }, + Term { + s: 2.004732365039900e-8, + c: -1.140626255263821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3825, 0, 0, 0], + }, + Term { + s: 1.108322633792573e-7, + c: -3.330966974610872e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0], + }, + Term { + s: 1.131117394209725e-7, + c: 2.385339639665501e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0], + }, + Term { + s: -1.154142530293680e-7, + c: 4.752255302438852e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, 0, 0, 0], + }, + Term { + s: 3.357217183952893e-9, + c: 1.154539963564630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1135, 0, 0, 0], + }, + Term { + s: -9.061131799311102e-8, + c: 7.157287983905861e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0], + }, + Term { + s: 5.110654788429718e-8, + c: 1.032238098585017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6657, 0, 0, 0], + }, + Term { + s: -1.085625478811606e-7, + c: 3.818384510464307e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070, 0, 0, 0], + }, + Term { + s: -9.765199703577275e-8, + c: -6.054255794485654e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0], + }, + Term { + s: -1.135714011519022e-7, + c: -7.089778876310747e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 0, 0, 0], + }, + Term { + s: 9.678861028550955e-8, + c: -5.792563662892032e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0], + }, + Term { + s: -7.623382066937058e-8, + c: 8.274881041774006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0], + }, + Term { + s: 8.094991367895868e-8, + c: -7.791023730998378e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 0, 0], + }, + Term { + s: -2.536177508432004e-8, + c: 1.091905234820557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0], + }, + Term { + s: 3.461124717975602e-8, + c: -1.066185066692944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 0, 0, 0], + }, + Term { + s: -8.543039516718453e-8, + c: -7.255498754697785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, 0], + }, + Term { + s: -3.928857601443361e-8, + c: 1.047144210929377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 0], + }, + Term { + s: -5.754184225281661e-8, + c: 9.517713309800033e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1420, 0, 0, 0], + }, + Term { + s: 1.106072786621635e-7, + c: -6.121644325620337e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3008, 0, 0, 0], + }, + Term { + s: -9.477181634353829e-8, + c: -5.649605761403062e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1999, 0, 0, 0], + }, + Term { + s: -6.886609737962632e-8, + c: -8.610399432790351e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1515, 0, 0, 0], + }, + Term { + s: -7.819531631338983e-8, + c: 7.644375240350035e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0], + }, + Term { + s: -5.827834194935736e-8, + c: 9.251588490021502e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0], + }, + Term { + s: -3.602104338494220e-8, + c: -1.030629348498678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1409, 0, 0, 0], + }, + Term { + s: -7.656762223785520e-8, + c: 7.760615245491610e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, 0], + }, + Term { + s: -1.825591860776804e-8, + c: 1.073671266427321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 8.567014369319844e-8, + c: -6.722794524324101e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16883, 0, 0, 0], + }, + Term { + s: 9.985388699559252e-8, + c: 4.222159878034805e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26864, 0, 0, 0], + }, + Term { + s: 4.110715015672716e-8, + c: 1.001808402758102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, 0], + }, + Term { + s: -8.943508553376906e-8, + c: -6.033495578641358e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858, 0, 0, 0], + }, + Term { + s: 1.812177820252561e-8, + c: 1.062902170628605e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28191, 0, 0, 0], + }, + Term { + s: -7.877612095663540e-8, + c: 7.317858596606608e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2859, 0, 0, 0], + }, + Term { + s: -3.794196400148316e-9, + c: 1.070808080287205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1281, 0, 0, 0], + }, + Term { + s: 1.066521689449662e-7, + c: 9.737834825103479e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4187, 0, 0, 0], + }, + Term { + s: -1.063036227734879e-7, + c: 1.266325190807724e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0], + }, + Term { + s: 8.906083953133684e-8, + c: -5.912959251138744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 946, 0, 0, 0], + }, + Term { + s: -5.655518908904254e-8, + c: 9.004579545088473e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0], + }, + Term { + s: -3.650790438437468e-8, + c: 9.930480551159539e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0], + }, + Term { + s: -8.853519522101923e-8, + c: -5.747345544738261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0], + }, + Term { + s: -7.989193920309009e-8, + c: -6.844548486975647e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2596, 0, 0, 0], + }, + Term { + s: 7.906013157945370e-8, + c: 6.861092819299353e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 0, 0], + }, + Term { + s: 6.673007564317894e-8, + c: 8.003394010757162e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065, 0, 0, 0], + }, + Term { + s: 4.704333738719744e-8, + c: 9.268098240418232e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1636, 0, 0, 0], + }, + Term { + s: 4.505180341737555e-8, + c: -9.345929194169077e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0], + }, + Term { + s: 4.710303516295591e-8, + c: 9.186049833487156e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2698, 0, 0, 0], + }, + Term { + s: 5.538038884903023e-8, + c: -8.686256792752067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2550, 0, 0, 0], + }, + Term { + s: -2.793369450544462e-8, + c: -9.910471237953222e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4799, 0, 0, 0], + }, + Term { + s: -3.922971149803086e-9, + c: 1.024795350041763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28333, 0, 0, 0], + }, + Term { + s: 7.058590940039304e-8, + c: 7.431337951255243e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0], + }, + Term { + s: -1.084409613359652e-8, + c: -1.018851203990932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17927, 0, 0, 0], + }, + Term { + s: 2.298285830850106e-8, + c: -9.928016636326433e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17759, 0, 0, 0], + }, + Term { + s: -5.557958877732623e-8, + c: -8.529628126212029e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 0, 0, 0], + }, + Term { + s: -9.882835752760383e-8, + c: 2.390117395742772e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1061, 0, 0, 0], + }, + Term { + s: 3.320185420219311e-8, + c: 9.596664656533745e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28258, 0, 0, 0], + }, + Term { + s: 1.013369763207345e-7, + c: 5.892408813212594e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0], + }, + Term { + s: 1.004992106331065e-7, + c: 1.957060021295459e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2136, 0, 0, 0], + }, + Term { + s: -9.461308172583560e-8, + c: 3.364460636454362e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2997, 0, 0, 0], + }, + Term { + s: 8.718777892842501e-8, + c: 4.902263776519642e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30796, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -6.606584488700741e-4, + c: 1.478993724107789e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -3.175292881974644e-4, + c: 1.451316209310307e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.441574085721237e-4, + c: 3.030884768325527e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 0.0, + c: -3.609946076072884e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.491994754619920e-4, + c: 9.842646635285531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.157738117171494e-4, + c: 2.795426380725476e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 1.117528376564912e-4, + c: 1.866209489907796e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -1.130312065789272e-4, + c: 1.732308135728632e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 1.943020469430781e-4, + c: 4.214244099835176e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 8.021330494262490e-5, + c: 1.070802525341893e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -7.545375705065557e-5, + c: 8.241432581512783e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 6.946218307149868e-5, + c: 6.568843900208875e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -2.498121402534999e-5, + c: -8.096053218262263e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.225284999867155e-5, + c: 7.924490389823869e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.458782834480123e-5, + c: 7.230050571307216e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 5.148474425847570e-5, + c: 5.433437689785933e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -4.343249501884204e-5, + c: 5.783371274275823e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 2.004825464820629e-5, + c: 5.552164770376958e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -2.126433490903353e-5, + c: 3.405756093340329e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 2.012250647861022e-5, + c: 3.056404396678539e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 2.561683436687852e-5, + c: -2.202766898475409e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 1.591916204022898e-5, + c: 2.469166166090633e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 2.620558663055073e-5, + c: 1.294220132652145e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.028208774111749e-5, + c: -2.688998965582811e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 2.099936619060044e-5, + c: 1.851967631036593e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.479422857489809e-5, + c: 1.495587224512974e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -1.656684562983144e-5, + c: -1.184810825414484e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 1.189620887145727e-5, + c: -1.639690621081301e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -4.985145803281649e-6, + c: -1.901745857231840e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 1.634209585703327e-5, + c: 1.090944644617310e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 5.665770005775433e-7, + c: 1.956876220113273e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 9.135550561155991e-6, + c: -1.629306466559781e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -1.669273249072187e-6, + c: 1.860212996625384e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.355277881808688e-5, + c: -1.256571247311239e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -4.740314149876223e-6, + c: -1.760823454848719e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 1.631558751592615e-5, + c: 7.354627869290264e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 1.095049849898472e-5, + c: -1.325341613406122e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 1.539239881494695e-5, + c: 7.441096560579475e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 1.155114934117896e-5, + c: -8.361987232821390e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.154204641227899e-6, + c: 1.290729122395925e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 5.333864490346895e-6, + c: -1.153256796608434e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -8.054700410646473e-6, + c: -9.185184092511303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 8.987189177076441e-6, + c: -7.311409756478084e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -3.236114571669854e-6, + c: 1.082562014105430e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 8.623497214706760e-6, + c: 7.048082992174714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 9.190881327384141e-6, + c: 6.260191692230145e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 4.547412283154587e-6, + c: -9.400685248889791e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 1.622283982144175e-6, + c: 1.010628806520045e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 9.493798196314643e-6, + c: 2.268575243022591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 8.898883669928699e-6, + c: 2.984066743733068e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 8.156860599508308e-6, + c: 4.490734565607731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 8.633688170551467e-6, + c: -2.555210699434428e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 7.605014043009059e-6, + c: 4.309776655052462e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -7.589071066519643e-6, + c: 4.312999937491152e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 5.106491107848619e-6, + c: 6.566845656511765e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -7.232481962396102e-6, + c: 3.877058477004714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 7.952224595878145e-6, + c: 1.823429525304699e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.419130154457631e-7, + c: 8.129230461973384e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 8.178682495037813e-8, + c: 7.980614683374286e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -1.849410788139393e-6, + c: 7.453872273031386e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -6.384897056061684e-6, + c: 3.878351131136469e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 2.383828171746802e-6, + c: 6.738624495078166e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 6.318435257692033e-6, + c: 3.160060394414901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 4.988966856474102e-6, + c: 4.992552408820786e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 6.535146749131505e-6, + c: -2.662660492824750e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 2.079541667584818e-6, + c: 6.703071610613291e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 3.841603605674789e-6, + c: 5.855007316731653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 6.667141911097273e-6, + c: 5.580071232132102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -6.557458005609499e-6, + c: 9.910114356306050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 5.980104726621283e-6, + c: 2.726387178177035e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -9.765881510630455e-7, + c: -6.456761046975739e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -4.295326780471010e-6, + c: 4.766649049976369e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 6.165841878062787e-6, + c: 1.528349683452414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 5.374937724591885e-6, + c: -3.112959668086223e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -1.425400253982506e-6, + c: 5.983255684581689e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 6.101448008639613e-6, + c: 7.289216967692913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 2.315615230816002e-6, + c: 5.430578405912038e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: 2.362290635416065e-6, + c: 5.389185746609612e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 4.675868354134506e-6, + c: 3.372101746350864e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 4.300506398999058e-6, + c: -3.824509353243012e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 1.077669993027617e-6, + c: 5.547265767894525e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 1.199282853547753e-6, + c: -5.473087776438721e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -2.458992731936622e-6, + c: 4.974090266004528e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -5.208758704748261e-6, + c: 1.694308615479953e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 5.394332638700352e-6, + c: 5.837427313009046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 2.259659336633004e-6, + c: 4.886970386575348e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -1.460847306096822e-6, + c: 5.089491081566177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -4.318093086979193e-6, + c: 2.986296400873804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 2.071534875787298e-6, + c: 4.733106151425325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 4.833297622768821e-6, + c: -1.095084635857883e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -1.223830334725527e-6, + c: 4.730018332901858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -1.230879569640835e-6, + c: 4.598286948484478e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 3.034552983220445e-6, + c: 3.649323585413974e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 4.606611555239584e-6, + c: 9.231026149067334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -2.278205105642939e-6, + c: 4.057676511636185e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -5.667772662072524e-7, + c: 4.304677943191433e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -2.891821982487128e-6, + c: 3.160040094798585e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -4.262375096130681e-6, + c: 3.679176116424075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -1.132019730357487e-6, + c: -4.069894880752268e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 3.174366198377530e-6, + c: 2.776935544211952e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 1.917291826662211e-6, + c: 3.730126991979311e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -4.082264943382859e-6, + c: 8.140516493888256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -8.264814386099431e-7, + c: -3.992679099216001e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -3.609259096584906e-6, + c: 1.852183170796968e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -2.341295709371312e-6, + c: 3.310396050891755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -1.867925516565501e-6, + c: 3.593635014028849e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -1.093210209631658e-6, + c: 3.892984377323884e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -3.967588821190954e-6, + c: 7.554682144975545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 3.526778386500103e-6, + c: -1.929660230071045e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -3.153424317102104e-6, + c: -2.486491873248181e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 9.625405839915525e-7, + c: -3.897234645399143e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.313904785913080e-6, + c: -3.600074570564412e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -1.075363497875172e-6, + c: -3.622271582103669e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 2.140969760057763e-6, + c: 3.090350456151759e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -6.776620125562780e-7, + c: -3.634126322239699e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: 3.362766735279005e-6, + c: -1.210502259506048e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 3.493446715245185e-6, + c: -9.157503055682710e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -1.078229178988484e-6, + c: -3.319498592634706e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -4.539536440887195e-7, + c: -3.299488753665192e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -3.307198972789891e-6, + c: -2.613346658386228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 2.371769255956331e-6, + c: 2.274681137398143e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -9.884274360328525e-7, + c: -3.041452824265635e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -2.844677937154302e-6, + c: 1.428390996847301e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -3.094156870525703e-6, + c: 6.523945817594419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -3.019517686630796e-6, + c: -4.805643439667802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: -1.682588156108229e-6, + c: 2.486512442157367e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -9.193005772138217e-7, + c: 2.854466230732979e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: 1.343302995277947e-6, + c: -2.677069119835530e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -1.839051332746406e-6, + c: 2.207343346919497e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.445338219706052e-6, + c: -1.268844869955862e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -2.156340960780527e-6, + c: -1.612420554566978e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -1.153405364128523e-6, + c: -2.352431641457728e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: 8.595520340506065e-7, + c: -2.467448143977552e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 5.398303782442665e-7, + c: 2.477802248291785e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -6.648434183806434e-7, + c: 2.420990981517188e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 2.515189165688430e-7, + c: 2.351608043681054e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -2.103364426206643e-6, + c: -1.063845577478153e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -2.931506908698370e-7, + c: 2.337276967687923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 2.324316199527408e-6, + c: -9.843442953477237e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -9.530934027444187e-7, + c: 2.111038225965874e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -6.985668583439945e-7, + c: -2.185217167434515e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: -2.213815692741207e-6, + c: -1.156164513726241e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 1.988881165220882e-6, + c: 9.412312418846966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -2.113939741793041e-6, + c: -6.079130590746319e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: -6.183846450048943e-7, + c: -2.018355003384202e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 2.081887901818509e-6, + c: 2.482670511358265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 1.620967200322368e-6, + c: -1.303925686460365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -3.559607346169702e-7, + c: -1.998014192957890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 8.963108263559674e-8, + c: 2.013090556266181e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: 1.758212648727829e-6, + c: -9.736925427597965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 1.799406104889143e-6, + c: -8.177247561079713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 2.481770212888791e-7, + c: -1.853371409351254e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 1.641213757618499e-6, + c: -8.510131770716365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: -1.173670718087723e-7, + c: -1.840726512560394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: 1.551976763617275e-6, + c: -9.909385805430884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 1.172492797119752e-6, + c: 1.399043942120153e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: 1.898507962287614e-8, + c: 1.814678741709891e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 5.572337487882112e-7, + c: 1.694453437661831e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: 1.595058526808764e-6, + c: 7.694866477432778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -7.020003199429736e-7, + c: 1.613845462392799e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 4.859869008766545e-7, + c: 1.683593617773460e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: -1.165194040937249e-6, + c: -1.271183333061417e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -1.183078442774290e-6, + c: 1.232853015735774e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 1.567813557963167e-6, + c: 6.654520322191094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -1.012341812737115e-6, + c: -1.354798711128522e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: 1.321168557768761e-6, + c: -1.030620078884911e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -1.662922735974291e-6, + c: 1.033891091862716e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: 1.068499331589245e-6, + c: 1.182436177599238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: -8.099387563180777e-7, + c: 1.356595064645508e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -1.138437346273555e-6, + c: 1.093756328675843e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -6.892671798723527e-7, + c: -1.383032651734409e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -3.558629780476530e-7, + c: 1.499228849796672e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -1.422340751883611e-6, + c: -5.655164031130983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 1.458140545716837e-6, + c: 4.068227763768165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -1.310494993070917e-6, + c: -7.488068528398059e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: 1.473066375656848e-6, + c: -1.208010454417889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -1.457721579943617e-6, + c: -2.250991942649058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -1.216991572917803e-6, + c: 8.217489187670774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: 1.164699311208457e-6, + c: 8.442694266221480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -1.420992892204764e-6, + c: -2.233993444962415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: -1.113575534465721e-6, + c: -8.888602908048143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: 1.397376635988459e-6, + c: -2.419535958426052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -1.330587976220549e-6, + c: 4.526902592693136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 1.857587224992022e-7, + c: 1.379169672059251e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 9.296385222967379e-7, + c: -1.026230123088125e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 9.182593394542639e-7, + c: -1.015901322948814e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -8.584441052179140e-7, + c: 1.058393783881954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 8.441950038832994e-7, + c: 1.068643634111950e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -1.349861859108592e-6, + c: -1.561015801319564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: -1.266514797688462e-6, + c: 4.701739753522955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -1.200296688042871e-6, + c: -5.271604513127523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -3.292277092746745e-7, + c: -1.224891784517684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 2.290504576214284e-9, + c: -1.236482262109769e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: 4.935826585728752e-7, + c: 1.125448901975874e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -6.082258751900710e-7, + c: -1.061761888241696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: -1.200283821599383e-6, + c: 1.340695970364736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: 8.242201734641805e-7, + c: 8.665738020059583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: 8.091296597723705e-7, + c: -8.797672839978466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: -6.772071921209167e-7, + c: 9.693139709674053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: 3.105789076943431e-7, + c: -1.122234129606303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: 3.251345102239981e-7, + c: 1.097123673827490e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: -6.323807509431362e-7, + c: -9.486800222407668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 1.132265739489109e-6, + c: -3.257813108315874e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: 1.023244179475493e-6, + c: 4.808044040041564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: 1.041629534318124e-8, + c: 1.120460538741938e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -1.065368410380590e-6, + c: -3.350617837639196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 8.361606724766751e-7, + c: -7.344834755182810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -5.670302015694359e-7, + c: 9.552150137127506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: -5.022144532156757e-8, + c: -1.108072416738913e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -7.758914714003728e-8, + c: -1.082152437495751e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: -7.810930522169704e-7, + c: -7.461395441103531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 6.455166509382546e-7, + c: 8.611717942300343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: -3.476409060744073e-7, + c: 9.811910463401548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: -1.795139781211958e-7, + c: -1.015499502418394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -4.333380394342041e-7, + c: 9.266973766027108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: 5.830652438918757e-7, + c: -8.374535938529024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 1.835071188506755e-7, + c: 1.003058162351264e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: -5.784591838821378e-8, + c: -1.015975202854217e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 9.544795607886517e-7, + c: 3.132083961170688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: -9.802411557333942e-7, + c: 2.120143822381745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: 3.912305523055158e-7, + c: 9.173398426369628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: -9.083474318735067e-7, + c: -3.704732463120950e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: -4.957322862554042e-7, + c: 8.428929505464377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: 8.661149605717233e-7, + c: -4.433015806215627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: -6.886015784325775e-7, + c: -6.806955673001893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 5.352684469834769e-7, + c: 7.989081415319316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0], + }, + Term { + s: -9.475644179380251e-7, + c: -2.864391804683453e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: -8.345817015251072e-7, + c: 4.443260646043479e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: -5.866740730534096e-7, + c: 7.309522254066578e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: 6.761432544684060e-7, + c: 6.353283454094228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0], + }, + Term { + s: 9.010450663653667e-7, + c: -2.142266090775601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0], + }, + Term { + s: 6.648549928989612e-7, + c: -6.406387370718385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -5.097203051479735e-7, + c: -7.473264917972245e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: 4.415441528814357e-7, + c: 7.790657433416425e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: 2.170115139016755e-7, + c: -8.663328685474207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0], + }, + Term { + s: 4.780757935067261e-7, + c: -7.532603030343425e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: -7.793413445652423e-7, + c: 4.330783764477187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -5.313468946065168e-7, + c: 7.153897713163676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0], + }, + Term { + s: 5.238758529133086e-7, + c: -7.200109694716092e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -6.058340834952397e-7, + c: 6.480367939462157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: 1.152140350703537e-7, + c: -8.765455080051194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0], + }, + Term { + s: -6.131615477008928e-7, + c: 5.908320363908065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: 8.412302226272717e-7, + c: 1.141389602668459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -5.535866189189062e-7, + c: 6.244914493935378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0], + }, + Term { + s: 8.005235323168658e-7, + c: 2.247765756748861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -4.469950132658195e-7, + c: 6.862778863642060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0], + }, + Term { + s: 8.160526479232443e-7, + c: -6.638419437344196e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0], + }, + Term { + s: 5.921932865852219e-8, + c: 8.041612929193478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: 5.941820584378710e-7, + c: -5.429363341423297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0], + }, + Term { + s: 6.745284392393999e-7, + c: 4.344847022686016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -7.316411034221580e-7, + c: -3.031158853876193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: -5.122273730962894e-7, + c: 6.011921516479031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: 3.951550141072797e-7, + c: 6.827559304062119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: -3.573528639557108e-7, + c: -6.916919691963055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 7.692109824491411e-7, + c: 1.090010416419825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0], + }, + Term { + s: 4.157607029110764e-7, + c: 6.544344680840094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: -7.618831593620316e-7, + c: -1.283304074428944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: 5.540806560857890e-7, + c: 5.374924135914764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -6.605134367607154e-7, + c: -3.994597828306756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: 2.949306226233172e-7, + c: 7.109891549798273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: 2.538293849409229e-7, + c: 7.245421282682620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: 1.352141919278168e-7, + c: 7.507988265243035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: -4.145346742953474e-7, + c: -6.376571664945133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: -2.943383285616364e-7, + c: -6.943527666302219e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: -7.479650757442954e-7, + c: 5.248340406917789e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: 7.435677031551167e-7, + c: 4.906745314536814e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: 4.576988710003808e-7, + c: 5.870708673188944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0], + }, + Term { + s: 5.105121201634622e-7, + c: 5.268475616957344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0], + }, + Term { + s: -3.087962050012134e-7, + c: -6.571446365717858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 1.942633393994051e-7, + c: 6.969619597957945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: -3.357031013202868e-7, + c: 6.338375995354748e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: 6.462759351270884e-7, + c: -2.941875135398424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: -5.454127407635629e-7, + c: 4.535751846845772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 3.541142685815922e-7, + c: -6.125249359420362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: -4.503107105546410e-7, + c: 5.361078891621488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0], + }, + Term { + s: -9.230350610024733e-8, + c: -6.898275697371466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0], + }, + Term { + s: -5.015020981669022e-7, + c: 4.820727468677728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: -6.029312499853905e-7, + c: -3.376160397222249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0], + }, + Term { + s: 2.919753270328183e-8, + c: 6.885399065947604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -1.277283342189306e-9, + c: -6.849827859308775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258, 0, 0, 0], + }, + Term { + s: 2.393832602238023e-7, + c: 6.395906547203705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: -3.752349868903489e-7, + c: 5.644819195940373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: 6.646279976234842e-7, + c: 5.702908010053550e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0], + }, + Term { + s: -3.463505123820639e-7, + c: 5.512737991280911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0], + }, + Term { + s: 4.341965997644819e-7, + c: 4.837516723410688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: 3.890939894752362e-7, + c: 5.181190116618817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0], + }, + Term { + s: 4.473892554692647e-7, + c: -4.675978740235124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, 0, 0], + }, + Term { + s: -3.882318204800451e-7, + c: 5.162286795077220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -1.205434951952751e-8, + c: -6.414379969524389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0], + }, + Term { + s: -6.042328188069535e-7, + c: -2.049177703070327e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853, 0, 0, 0], + }, + Term { + s: -1.660699751156459e-7, + c: -5.984047267457806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116, 0, 0, 0], + }, + Term { + s: 5.032116411033385e-7, + c: -3.376919627432828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0], + }, + Term { + s: -6.047770103415756e-7, + c: -3.813959300874567e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: 3.615747473118832e-7, + c: -4.839656544264094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326, 0, 0, 0], + }, + Term { + s: -9.695006602807585e-8, + c: 5.912496728217502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1277, 0, 0, 0], + }, + Term { + s: -5.445486760699688e-7, + c: -2.351680258824714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -3.827008455931914e-7, + c: -4.438476736903878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: 3.926422233956869e-7, + c: -4.336196702445266e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 2.894858295475968e-7, + c: -5.041300215238956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0], + }, + Term { + s: 5.624375199239000e-7, + c: 7.312322067463320e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0], + }, + Term { + s: -1.924210454838611e-7, + c: 5.227945532375250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0], + }, + Term { + s: -5.378358966168044e-7, + c: -9.554602495538840e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0], + }, + Term { + s: -5.458451198310396e-7, + c: -1.868654589769708e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 0, 0, 0], + }, + Term { + s: 5.342683990297818e-7, + c: -9.332029296649585e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: 1.429563670360033e-7, + c: 5.219780159536557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0], + }, + Term { + s: -2.913294764248230e-7, + c: 4.557688870140111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: -3.667969069333480e-7, + c: 3.931301568514800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 9.445214012430812e-8, + c: 5.287411485936280e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -4.719085889417915e-7, + c: -2.541312898236855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0], + }, + Term { + s: 1.520617810810800e-7, + c: 5.096552374275028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0], + }, + Term { + s: -2.549365763704490e-7, + c: 4.643159401549251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0], + }, + Term { + s: -3.291896965243606e-7, + c: 4.119636586389355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0], + }, + Term { + s: 7.634733143526912e-8, + c: 5.157961802083388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -5.181626577257147e-7, + c: 4.543691278319120e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: 2.635999942914462e-7, + c: 4.415475788705091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: 5.082980865412863e-7, + c: -4.608564395207133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0], + }, + Term { + s: -5.094356916453454e-7, + c: -2.172238935272712e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0], + }, + Term { + s: 5.079021943840274e-7, + c: 1.214085465616441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 1.491469885382020e-7, + c: -4.781228842437188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0], + }, + Term { + s: -2.013581186196066e-7, + c: -4.554475713772664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0], + }, + Term { + s: -2.568209951449976e-7, + c: -4.264526605277982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: -4.428706868916221e-8, + c: -4.899222835251853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: 9.426723381390208e-8, + c: 4.811143173374221e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: -9.849139394757986e-8, + c: 4.789235321007463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 4.269102237254162e-7, + c: 2.147451969537823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, 0], + }, + Term { + s: 1.921651176074135e-7, + c: 4.356803813664272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0], + }, + Term { + s: -2.374514579379394e-7, + c: 4.125655328214003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0], + }, + Term { + s: -4.242019600826065e-7, + c: 2.082281314689322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -2.411814578785535e-7, + c: 4.060494625790306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0], + }, + Term { + s: 4.592135068462338e-7, + c: 1.012107519699348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: -1.982721512512632e-8, + c: 4.647286077439094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0], + }, + Term { + s: 1.207085400945880e-7, + c: -4.442967990912268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0], + }, + Term { + s: -4.158817026735830e-7, + c: -1.954636566384969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0], + }, + Term { + s: 2.232906164258030e-7, + c: 3.982007349942869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -2.428420580321079e-7, + c: 3.807183010478018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: -4.066603526400424e-7, + c: -1.897565731560695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0], + }, + Term { + s: -4.394583686804452e-7, + c: -1.965702420134811e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: -1.855537030000015e-7, + c: -3.933779537348922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: 3.520367336181542e-7, + c: 2.528497528659791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0], + }, + Term { + s: 2.807465388294427e-7, + c: 3.302048001250208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725, 0, 0, 0], + }, + Term { + s: 4.269181780932049e-7, + c: 6.853552245409861e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: 4.040815005061835e-7, + c: 1.498949173989011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: -1.849512006923048e-7, + c: -3.857731750098808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0], + }, + Term { + s: -4.249656224146012e-7, + c: -2.203272756303671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0], + }, + Term { + s: 6.540709510491451e-8, + c: 4.176997651668364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: 3.493711292077610e-7, + c: -2.307062468952780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 1.541111138097362e-7, + c: 3.889553447601465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -4.163141254361052e-7, + c: -4.671775780316237e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 0], + }, + Term { + s: -2.717418714544629e-7, + c: -3.151823296543231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0], + }, + Term { + s: 4.114094287988735e-7, + c: 4.562256836835861e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 2.363888975397603e-7, + c: 3.397580420580965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: -4.103893495034657e-7, + c: 1.540930435550527e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0], + }, + Term { + s: -1.023011721152930e-8, + c: -4.041986848180224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0], + }, + Term { + s: 1.290191502147791e-7, + c: -3.826530259136177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0], + }, + Term { + s: 3.846797646600936e-7, + c: 1.189880855101241e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5325, 0, 0, 0], + }, + Term { + s: -2.223454639940485e-7, + c: -3.353872652367108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0], + }, + Term { + s: -3.288930819637174e-7, + c: -2.302655828809730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: 2.355816089610538e-7, + c: -3.207513048066398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0], + }, + Term { + s: -2.946062355305672e-7, + c: -2.666752245283685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: 6.800368465800778e-9, + c: 3.966335364134775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0], + }, + Term { + s: -3.647739103899912e-8, + c: -3.936486165914087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0], + }, + Term { + s: 1.628751736400831e-7, + c: 3.580858324818238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: 3.796705274851745e-7, + c: -9.225796904543363e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -1.116053573852052e-7, + c: 3.622499119950082e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -2.511772996712942e-7, + c: -2.804411352705811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0], + }, + Term { + s: 9.040732806043519e-8, + c: -3.595806125734610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, 0], + }, + Term { + s: -3.164679345491649e-7, + c: -1.916639914600422e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0], + }, + Term { + s: -1.512857964502140e-7, + c: -3.359657853361395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 0, 0], + }, + Term { + s: 3.102219502149638e-7, + c: -1.979563546621031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0], + }, + Term { + s: 2.665065578624353e-7, + c: -2.512935328020940e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -9.495809654952267e-8, + c: 3.537025693722135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: -2.349254702403805e-7, + c: -2.766770636603664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: -3.410671448569161e-7, + c: 1.228456211629072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0], + }, + Term { + s: -3.100469631604829e-7, + c: -1.829890703560876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0], + }, + Term { + s: 4.672132260026291e-8, + c: -3.564675069458926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: -3.166480259810782e-7, + c: -1.604990149168288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0], + }, + Term { + s: 2.367429299784962e-7, + c: -2.578986893458548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0], + }, + Term { + s: -2.970193774045719e-7, + c: 1.738713548636222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: 1.807361419411239e-7, + c: -2.926030894126361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 0, 0, 0], + }, + Term { + s: -7.203769061950236e-8, + c: 3.335300292123448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 3.031735582326969e-7, + c: 1.492658848721816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0], + }, + Term { + s: -3.013581195882043e-7, + c: -1.479298849086594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0], + }, + Term { + s: 3.332586819350896e-7, + c: -1.177917694390259e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0], + }, + Term { + s: -1.059226957262531e-7, + c: -3.156039746365597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, 0], + }, + Term { + s: -3.096323836974324e-7, + c: 1.181059314632935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0], + }, + Term { + s: 3.033511030128927e-7, + c: -1.331508293789523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -8.945051980660953e-8, + c: 3.162767447256543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921, 0, 0, 0], + }, + Term { + s: -2.271148654403671e-7, + c: -2.357703979807168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0], + }, + Term { + s: -1.155405447200154e-7, + c: -3.033296234329910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0], + }, + Term { + s: 1.554919964878717e-7, + c: -2.841648669017078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0], + }, + Term { + s: -1.624343880249997e-7, + c: -2.795794506448989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0], + }, + Term { + s: 1.067021716603032e-8, + c: 3.213263640860711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 0, 0], + }, + Term { + s: 3.175192238977464e-7, + c: 4.962686662908473e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: 2.830076894963590e-7, + c: -1.506651561096736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 958, 0, 0, 0], + }, + Term { + s: 3.065152600771256e-7, + c: -9.021191839259361e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0], + }, + Term { + s: -1.820950240001046e-8, + c: -3.154744418226268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: -4.768748657337629e-8, + c: 3.114718189046058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0], + }, + Term { + s: -3.138248681260484e-7, + c: 8.559619476869993e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2910, 0, 0, 0], + }, + Term { + s: 1.582189894508045e-7, + c: -2.699822045748274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0], + }, + Term { + s: -6.947841152919101e-8, + c: 3.047116138198181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4343, 0, 0, 0], + }, + Term { + s: 2.783463709609399e-7, + c: 1.345597398395531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: 2.363175570302670e-7, + c: 1.989668211891283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0], + }, + Term { + s: -5.391516331419737e-8, + c: 3.037751222727500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0], + }, + Term { + s: -3.068372187441004e-7, + c: 2.693690558231627e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, 0], + }, + Term { + s: -4.537378288107270e-8, + c: 3.033932378744100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0], + }, + Term { + s: -2.059218903587739e-7, + c: 2.255164655554412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0], + }, + Term { + s: 1.443239264132835e-7, + c: -2.676695274237492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0], + }, + Term { + s: -2.808924548349415e-7, + c: -1.011463877345609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 1.499608848290751e-7, + c: 2.580038995713217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0], + }, + Term { + s: 2.646603280579285e-7, + c: 1.332236437841172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0], + }, + Term { + s: 6.268506269034897e-8, + c: 2.892690649305014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0], + }, + Term { + s: 1.583923577040389e-7, + c: -2.497716915402492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0], + }, + Term { + s: -8.646719256889116e-8, + c: -2.817049221951218e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2305, 0, 0, 0], + }, + Term { + s: 5.102798419352620e-8, + c: 2.896916380398523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0], + }, + Term { + s: 1.948533644380037e-8, + c: -2.924954614341848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0], + }, + Term { + s: -2.769497589988515e-7, + c: 9.392593441780632e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 2.049283354319358e-7, + c: 2.081285954365468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0], + }, + Term { + s: -2.747900662135481e-7, + c: -9.490280557071629e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0], + }, + Term { + s: 2.869777449105384e-7, + c: 4.548828777101695e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0], + }, + Term { + s: 1.882803346594400e-8, + c: -2.888913900190662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: -2.856962856774124e-7, + c: 4.631577795042624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640, 0, 0, 0], + }, + Term { + s: -2.008390104860367e-7, + c: -2.083447742914417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0], + }, + Term { + s: -1.401768466511756e-7, + c: 2.530849113754868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 0, 0, 0], + }, + Term { + s: -1.995680110152429e-7, + c: -2.060045890646182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0], + }, + Term { + s: -2.822247017915602e-7, + c: 3.640463002333039e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -1.961327802836327e-7, + c: 2.019116640445734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0], + }, + Term { + s: -2.620967771605440e-7, + c: 1.010466539904973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0], + }, + Term { + s: -2.569332132816796e-7, + c: -1.103537762549970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0], + }, + Term { + s: -2.616359187031153e-7, + c: 9.690984684606590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: 1.551312967618061e-7, + c: 2.288671235144459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], + }, + Term { + s: 1.354969518698720e-7, + c: -2.408342560062741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0], + }, + Term { + s: 1.744939384738654e-7, + c: 2.108746178369494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0], + }, + Term { + s: 9.739582752987569e-8, + c: 2.526438230225287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1029, 0, 0, 0], + }, + Term { + s: -2.690698645049539e-7, + c: -1.726180432758730e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: -1.277659712768528e-7, + c: 2.367280165174150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1602, 0, 0, 0], + }, + Term { + s: -1.835424152438789e-7, + c: 1.937481386250707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0], + }, + Term { + s: 1.513855885494369e-7, + c: -2.145262880322727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -3.165547249407899e-8, + c: 2.585562858091306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0], + }, + Term { + s: 2.178071124347715e-7, + c: -1.416242485232945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26935, 0, 0, 0], + }, + Term { + s: -2.461516477311649e-7, + c: 7.778970846152538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: 5.493812418582993e-8, + c: 2.495645370110549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0], + }, + Term { + s: 2.453400156758096e-7, + c: 6.743038829068606e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0], + }, + Term { + s: -1.621654446087064e-7, + c: 1.956466317889210e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0], + }, + Term { + s: 2.499536363832640e-7, + c: -2.700409659146681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0], + }, + Term { + s: -8.046145817619414e-8, + c: 2.353527134428339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0], + }, + Term { + s: -2.116759812473388e-7, + c: 1.295694409977677e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0], + }, + Term { + s: -2.313334927894020e-8, + c: -2.452334463312345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: -1.883433791798705e-7, + c: -1.585556976534985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0], + }, + Term { + s: 6.902341293169623e-8, + c: -2.360914981912576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0, 0], + }, + Term { + s: -2.297053820321879e-7, + c: 8.096803857377508e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0], + }, + Term { + s: 6.585474495993204e-8, + c: 2.330798812772525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: 1.091536655972465e-7, + c: -2.155174013532780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 707, 0, 0, 0], + }, + Term { + s: 9.537042940721299e-8, + c: -2.214342366382994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0], + }, + Term { + s: -1.468381093832990e-7, + c: -1.907894782348912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: 1.616853381958472e-7, + c: 1.781538895705740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0], + }, + Term { + s: 1.493322454480426e-7, + c: 1.866350529059170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: -1.402870479555448e-7, + c: -1.934496387468601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0], + }, + Term { + s: -2.383923808287447e-7, + c: -8.607454750198246e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: 2.169120712029874e-7, + c: 9.503346450729079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 0, 0], + }, + Term { + s: -7.570124903832349e-8, + c: -2.241245794807358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2376, 0, 0, 0], + }, + Term { + s: -1.100490496846134e-7, + c: 2.074611894615005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0], + }, + Term { + s: 2.040198125929005e-7, + c: -1.135306003187387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -3.089662208293116e-8, + c: 2.297019214376778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0], + }, + Term { + s: -5.694140677763295e-8, + c: -2.243088790081572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0], + }, + Term { + s: 1.472962849982498e-7, + c: 1.774049326782599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1352, 0, 0, 0], + }, + Term { + s: -1.882623308833622e-7, + c: -1.330774689236354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0], + }, + Term { + s: 1.796406004791872e-7, + c: 1.414406865982450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0], + }, + Term { + s: -4.916247338528278e-8, + c: 2.224244784661616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0], + }, + Term { + s: -2.208171712892690e-7, + c: -5.002909072591328e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: 1.774660893043936e-7, + c: 1.365946363465567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659, 0, 0, 0], + }, + Term { + s: -1.794082868121921e-7, + c: -1.338994194608398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0], + }, + Term { + s: -2.224828486469558e-7, + c: -9.416834822324436e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0], + }, + Term { + s: -2.000711686561866e-7, + c: -9.755287281997600e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7293, 0, 0, 0], + }, + Term { + s: 1.405750601068287e-7, + c: 1.709542595107138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2643, 0, 0, 0], + }, + Term { + s: -1.090139765083484e-7, + c: -1.893505763967907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: 1.846379795933211e-7, + c: -1.145649111332860e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2427, 0, 0, 0], + }, + Term { + s: -1.014580655686805e-7, + c: -1.917667728139093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: -1.653540370341477e-7, + c: 1.401370314167345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0], + }, + Term { + s: -4.034545637333034e-8, + c: -2.120892204315104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0], + }, + Term { + s: 1.987616545929983e-8, + c: 2.135528973823225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0], + }, + Term { + s: 3.948020571838561e-8, + c: -2.083638068721573e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0], + }, + Term { + s: 1.658941879374812e-7, + c: 1.292229130116486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0], + }, + Term { + s: 1.053792514018293e-7, + c: 1.816656893545813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0], + }, + Term { + s: -7.355671985320152e-9, + c: 2.098326805802987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0], + }, + Term { + s: 2.012254204073795e-7, + c: 5.989133400069263e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0], + }, + Term { + s: -1.413867708852405e-7, + c: 1.549463799045315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0], + }, + Term { + s: -2.048810789461335e-7, + c: -2.796268458199672e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: 1.735536694112745e-7, + c: 1.122884152015168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5467, 0, 0, 0], + }, + Term { + s: -1.435814618840714e-7, + c: -1.485034852521341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 0, 0, 0], + }, + Term { + s: 1.989546147856245e-7, + c: 5.508093063547528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 1.267403988288515e-7, + c: 1.613745551459475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1422, 0, 0, 0], + }, + Term { + s: 1.640396701216067e-7, + c: 1.223004259240383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: 1.740244277035511e-7, + c: -1.062238414084109e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, 0], + }, + Term { + s: -5.571176419992104e-8, + c: -1.954391202853398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2140, 0, 0, 0], + }, + Term { + s: -1.680051639742599e-7, + c: -1.136252951527024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 0, 0, 0], + }, + Term { + s: 1.671673005008020e-7, + c: 1.096909640805516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -1.448929597194289e-7, + c: 1.354677939356424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0], + }, + Term { + s: -1.053768581476497e-7, + c: 1.672611762768732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0], + }, + Term { + s: 3.465988428880310e-8, + c: -1.942266757128803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: 4.823176874970994e-8, + c: 1.905657791188957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, 0, 0], + }, + Term { + s: 1.824088205140304e-7, + c: 7.118433018378429e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0], + }, + Term { + s: -1.324134870744623e-7, + c: 1.440574709548323e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0], + }, + Term { + s: -9.337495625555949e-8, + c: 1.715991309444204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836, 0, 0, 0], + }, + Term { + s: 1.090655635148765e-7, + c: 1.615147045132545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0], + }, + Term { + s: -4.559203703496985e-8, + c: 1.887141591263973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: 1.845745018611743e-7, + c: 5.253456848397526e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5255, 0, 0, 0], + }, + Term { + s: -1.816879990489787e-7, + c: 6.027044858630441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0], + }, + Term { + s: -1.131460209873920e-7, + c: -1.541529728976769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, 0], + }, + Term { + s: -1.911131498631568e-7, + c: -1.632397902049431e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 0, 0, 0], + }, + Term { + s: -1.788987062057045e-7, + c: -6.576954750010686e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1598, 0, 0, 0], + }, + Term { + s: -9.458939576203372e-8, + c: 1.628222026417906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: -1.430102981243078e-7, + c: -1.215798637976179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 0, 0, 0], + }, + Term { + s: 7.871763429251706e-8, + c: -1.668083952575220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0], + }, + Term { + s: 1.763610136418998e-7, + c: -4.516374523181426e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0], + }, + Term { + s: -1.273879283975624e-7, + c: -1.299697049599986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0], + }, + Term { + s: 1.814386765551072e-7, + c: 6.911912791635036e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2168, 0, 0, 0], + }, + Term { + s: -1.806215911954488e-7, + c: 1.522075030703557e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0], + }, + Term { + s: 1.722335903068109e-7, + c: -5.468410155442029e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0], + }, + Term { + s: -3.596826495733546e-8, + c: -1.767927786675884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0], + }, + Term { + s: 1.254305513889065e-7, + c: -1.268708895142406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0], + }, + Term { + s: 1.243369777955226e-7, + c: 1.277743051766399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0], + }, + Term { + s: -1.576564893890007e-7, + c: -7.792406909309423e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0], + }, + Term { + s: 1.359439807637191e-7, + c: 1.100674841202310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: -1.743428775235530e-7, + c: -8.644681407084446e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0], + }, + Term { + s: 6.258016934845419e-8, + c: -1.610978651042535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: -3.895730561370122e-8, + c: -1.675647196903985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, 0], + }, + Term { + s: 1.700543027125103e-7, + c: 1.565441697373574e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5184, 0, 0, 0], + }, + Term { + s: -1.628416504612837e-7, + c: -4.327634919035297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0], + }, + Term { + s: 1.172153331010742e-7, + c: 1.195035215704623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0], + }, + Term { + s: -1.164596967817795e-7, + c: -1.202091873358138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 4.002131197747729e-8, + c: -1.622693742485382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0], + }, + Term { + s: -1.541535141964501e-7, + c: -6.104183652988248e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: -1.627737114834192e-7, + c: 1.540067168082554e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 0, 0, 0], + }, + Term { + s: -1.620332685388298e-7, + c: -1.739966476175593e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: 1.227883544977205e-7, + c: -1.045413592819866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0], + }, + Term { + s: -1.600849633955740e-7, + c: -1.930222446335341e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0], + }, + Term { + s: -9.757982592551227e-9, + c: 1.608604570610562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0], + }, + Term { + s: 1.377964302549870e-7, + c: 8.301920280686689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5537, 0, 0, 0], + }, + Term { + s: 5.453046807757426e-8, + c: 1.510377004669739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1013, 0, 0, 0], + }, + Term { + s: -1.566469970716699e-7, + c: -3.478765292946988e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: -1.029033276384399e-8, + c: 1.583150011726447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0], + }, + Term { + s: -5.572353438359762e-8, + c: -1.483094649697843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0], + }, + Term { + s: 1.553767925964791e-7, + c: 2.973558769030174e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1943, 0, 0, 0], + }, + Term { + s: -1.495466076599185e-7, + c: -4.714183778852901e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: 6.134675241402656e-8, + c: 1.429388360631276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 0, 0, 0], + }, + Term { + s: -1.132415276227420e-7, + c: 1.059911635943994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0], + }, + Term { + s: -8.567470897314388e-8, + c: 1.267479588242847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1673, 0, 0, 0], + }, + Term { + s: 1.363364168937681e-7, + c: 6.931024845626092e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28341, 0, 0, 0], + }, + Term { + s: -1.191651717194241e-7, + c: -9.476016691896217e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0], + }, + Term { + s: -1.143942530035395e-7, + c: -9.988524034503617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1810, 0, 0, 0], + }, + Term { + s: 3.014641831257527e-8, + c: -1.480857784233761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3256, 0, 0, 0], + }, + Term { + s: -1.213324314997603e-7, + c: 8.955026151948255e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0], + }, + Term { + s: 1.466136043759419e-7, + c: 3.250762746391214e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0], + }, + Term { + s: -8.876006811969301e-8, + c: 1.208155327311603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1433, 0, 0, 0], + }, + Term { + s: -1.278847928530894e-7, + c: -7.702866808454390e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: -1.392693870347939e-7, + c: -5.354725079075635e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1669, 0, 0, 0], + }, + Term { + s: 9.788219440258722e-8, + c: 1.110733925480564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0], + }, + Term { + s: 2.102508223050588e-8, + c: -1.454692329948679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0], + }, + Term { + s: 1.462655759394332e-7, + c: 6.016293515553895e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1432, 0, 0, 0], + }, + Term { + s: 1.404356722721119e-7, + c: 3.758525387032946e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, 0], + }, + Term { + s: -6.807757629264546e-8, + c: 1.278378516058697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2992, 0, 0, 0], + }, + Term { + s: 7.489213722124209e-8, + c: -1.224662235372688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: -9.206431349999007e-8, + c: -1.097246626526854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0], + }, + Term { + s: 5.002782544671086e-8, + c: 1.341185584924198e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0], + }, + Term { + s: -7.260650106222481e-8, + c: -1.232194067198780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2164, 0, 0, 0], + }, + Term { + s: -2.235544978666888e-9, + c: 1.427236181916486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0], + }, + Term { + s: 1.065302128793587e-7, + c: 9.435647274396994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, 0, 0], + }, + Term { + s: 1.389594116399584e-7, + c: -2.604462648551336e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0], + }, + Term { + s: 7.582886314925410e-9, + c: 1.406598123367521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4339, 0, 0, 0], + }, + Term { + s: -2.295877626436381e-8, + c: -1.388229649868033e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0], + }, + Term { + s: -1.083738596831634e-7, + c: -8.926314672854165e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: 1.357503796819423e-7, + c: 3.572840656633900e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0], + }, + Term { + s: -2.077521009170777e-8, + c: -1.387560020289047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0], + }, + Term { + s: -7.702145494558426e-8, + c: -1.156799200963841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 0, 0], + }, + Term { + s: -1.006250420897974e-7, + c: -9.569110029726489e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0], + }, + Term { + s: -1.170498081797570e-7, + c: 7.380785125529234e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0], + }, + Term { + s: -8.756817942514889e-8, + c: -1.069575555215334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0], + }, + Term { + s: 7.132309360757723e-8, + c: -1.183419115242388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0], + }, + Term { + s: 1.271661576765595e-7, + c: -5.083184458213172e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0], + }, + Term { + s: 6.472184596683797e-9, + c: 1.360158431428239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0, 0], + }, + Term { + s: 1.169318633096216e-7, + c: 6.792040829284872e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9008, 0, 0, 0], + }, + Term { + s: 8.662854985401663e-8, + c: -1.036584645018484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0], + }, + Term { + s: -1.126919494795892e-7, + c: -7.276983705044142e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1068, 0, 0, 0], + }, + Term { + s: 1.329069900055726e-7, + c: -1.394338806067910e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5113, 0, 0, 0], + }, + Term { + s: 1.060469265733198e-7, + c: 7.719339799497742e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2655, 0, 0, 0], + }, + Term { + s: -8.671579231622848e-8, + c: 9.756609548563983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0], + }, + Term { + s: 1.906498061217862e-8, + c: -1.287327179883274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0], + }, + Term { + s: -8.944413405503143e-8, + c: -9.377783910745958e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0], + }, + Term { + s: 1.191624032828244e-7, + c: -4.978379164830760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0], + }, + Term { + s: -8.058698703379450e-8, + c: 1.002879173264722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0], + }, + Term { + s: -1.049124748269377e-7, + c: -7.428330025265567e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, 0], + }, + Term { + s: 6.755972459195760e-8, + c: 1.092930742531872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 922, 0, 0, 0], + }, + Term { + s: -1.194682930555513e-7, + c: 4.053409467524520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0], + }, + Term { + s: -7.245272186900424e-8, + c: -1.032749893943782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103, 0, 0, 0], + }, + Term { + s: 8.655252930006909e-8, + c: 9.049538639274951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0], + }, + Term { + s: -5.228878007385001e-8, + c: -1.130379366252795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1904, 0, 0, 0], + }, + Term { + s: -6.909593718409264e-8, + c: -1.018294639928760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5679, 0, 0, 0], + }, + Term { + s: -1.064458350801647e-7, + c: -6.095066063030370e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0], + }, + Term { + s: 2.240200068677159e-9, + c: -1.224752393483227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 0], + }, + Term { + s: 1.094601003324629e-7, + c: -5.405662520932540e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, 0], + }, + Term { + s: -7.625283870437466e-8, + c: -9.388402144402116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0], + }, + Term { + s: 1.161702986798842e-7, + c: 3.232052254934562e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: -5.532234969205388e-8, + c: 1.066931916770035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0], + }, + Term { + s: -1.352343324362164e-8, + c: 1.189859008339173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, 0], + }, + Term { + s: 4.253396902572999e-9, + c: -1.191943602371156e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3231, 0, 0, 0], + }, + Term { + s: -1.182200497106526e-7, + c: 1.300414487969787e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0], + }, + Term { + s: -5.245474536823956e-8, + c: -1.058380286134521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0], + }, + Term { + s: -6.889217797504476e-8, + c: -9.592601588930844e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0, 0], + }, + Term { + s: 5.587830391689996e-8, + c: 1.038906705826239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, 0], + }, + Term { + s: -8.631170917581694e-8, + c: -7.959647362330375e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: -9.483523219496005e-8, + c: 6.664485750650593e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721, 0, 0, 0], + }, + Term { + s: -1.085872390495644e-7, + c: -3.652591602568656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0], + }, + Term { + s: 1.040022807675847e-7, + c: -4.695906926183778e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0], + }, + Term { + s: 1.040585337265348e-7, + c: 4.456141918099503e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0], + }, + Term { + s: -8.476276093369176e-9, + c: 1.127175438289482e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 0, 0, 0], + }, + Term { + s: 1.092638789050098e-7, + c: 2.864801036426080e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1873, 0, 0, 0], + }, + Term { + s: 1.124298398580117e-7, + c: -6.851187014469051e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2097, 0, 0, 0], + }, + Term { + s: 8.983624956609116e-8, + c: -6.664120343706593e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: -1.110248450093454e-7, + c: 1.079399188665866e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27983, 0, 0, 0], + }, + Term { + s: -5.170477211088775e-8, + c: 9.826562286592887e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0], + }, + Term { + s: 1.641569823301517e-8, + c: -1.097674718983655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1366, 0, 0, 0], + }, + Term { + s: 9.259146254454927e-8, + c: 6.051171413595951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 0, 0, 0], + }, + Term { + s: 4.059979573872992e-8, + c: 1.025139709154113e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1308, 0, 0, 0], + }, + Term { + s: 5.911607032698341e-8, + c: -9.262306939456258e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: 2.983957874249684e-8, + c: -1.051997261882123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3302, 0, 0, 0], + }, + Term { + s: 5.042363633074062e-8, + c: 9.566348217689342e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28345, 0, 0, 0], + }, + Term { + s: 3.901692859791301e-8, + c: 1.005857390770741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0], + }, + Term { + s: -1.015227637491947e-7, + c: 3.517073079574634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0], + }, + Term { + s: -2.647280434789610e-8, + c: -1.034563699579634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: -5.947221604329285e-8, + c: -8.854795154880514e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1417, 0, 0, 0], + }, + Term { + s: -9.991908605708341e-8, + c: -3.661844832121450e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1299, 0, 0, 0], + }, + Term { + s: -1.003079226559182e-7, + c: 3.381487091893951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0], + }, + Term { + s: 1.051893958532860e-7, + c: -1.156320357500477e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, 0, 0], + }, + Term { + s: -2.264648394331417e-8, + c: 1.031787220384188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, 0], + }, + Term { + s: -4.750947189814139e-8, + c: 9.394919931351860e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0], + }, + Term { + s: 9.518263170979012e-8, + c: -4.349296875139255e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1356, 0, 0, 0], + }, + Term { + s: -2.417616191720818e-8, + c: -1.014023910831142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -4.009783034127473e-8, + c: 9.605337340553497e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0], + }, + Term { + s: 1.038607892682154e-7, + c: -5.105965439645203e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0], + }, + Term { + s: -1.021927433487608e-7, + c: -1.890891710519038e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 0, 0, 0], + }, + Term { + s: 6.568796176942035e-8, + c: -8.023978624988654e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0], + }, + Term { + s: 5.312963042342736e-8, + c: 8.861910239773824e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1379, 0, 0, 0], + }, + Term { + s: -8.141548279605454e-8, + c: -6.301564298116153e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916, 0, 0, 0], + }, + Term { + s: -2.630433480755473e-8, + c: 9.929427561223844e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0], + }, + Term { + s: 9.736534562436370e-8, + c: -3.272361036493420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0], + }, + Term { + s: 9.099843420600743e-8, + c: 4.707123486385190e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0], + }, + Term { + s: 4.522023818450313e-10, + c: 1.024151630055970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1905, 0, 0, 0], + }, + Term { + s: -8.166898123220336e-8, + c: 6.179851656836786e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0], + }, + Term { + s: 2.791537975989204e-9, + c: 1.018948851566214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0], + }, + Term { + s: 5.217801896094147e-8, + c: -8.746830619699191e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2160, 0, 0, 0], + }, + Term { + s: 3.758755970291674e-8, + c: 9.427843221916665e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0], + }, + Term { + s: 8.373740789492461e-8, + c: -5.699116647857166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18807, 0, 0, 0], + }, + Term { + s: -3.293126794749543e-9, + c: 1.009162461696525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0], + }, + Term { + s: 8.292473538064798e-9, + c: -1.005718177292187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0], + }, + Term { + s: -9.182616444562532e-8, + c: 4.161018520743600e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 8.232513019727531e-8, + c: 5.798927418173490e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0], + }, + Term { + s: 7.879440078885311e-8, + c: -6.162765461050914e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -2.910479554689720e-4, + c: 9.113804749281325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.147942316477144e-4, + c: -5.477594368104335e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -1.796005369265730e-4, + c: 1.130087867900628e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 0.0, + c: 1.705980111551245e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.666645873594338e-5, + c: -2.561443173359323e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -3.324646713768293e-5, + c: 3.453687718655006e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -3.584330155900168e-5, + c: 2.970304870188394e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -2.197663816786554e-5, + c: 2.981998478244773e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 4.721184756652749e-6, + c: 3.661014741921733e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 2.632273749438220e-5, + c: -7.399875951420843e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.183740456541067e-5, + c: 2.130817973166901e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -1.662470239481514e-5, + c: 1.474955878089548e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.436127774905306e-5, + c: -8.133618373451757e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -1.552598731342216e-5, + c: -3.121356091099656e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.369230414314748e-5, + c: -5.274232975611995e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.047331225691980e-5, + c: 7.530483113186397e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -2.875811144568768e-6, + c: -1.242667126448200e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -1.087548229698995e-5, + c: 5.356862334341689e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -6.385492671548585e-6, + c: 7.993443337957858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -9.825668668622212e-6, + c: -2.636412839545537e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 7.920143809281056e-6, + c: 2.519083244166963e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -4.961054826069671e-6, + c: 4.815198875480111e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -3.116358106618696e-6, + c: 6.119046875049631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -5.685817944358882e-6, + c: 1.579157957557906e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -6.861221251343992e-7, + c: 5.603416264251706e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -3.774309833251540e-6, + c: 3.827681254601724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -1.409135791077900e-6, + c: 5.012724078460361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -7.461727856354816e-8, + c: 5.199562030450826e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -1.054389283495343e-6, + c: -5.083853672097594e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 4.535426598615150e-6, + c: 2.210363537727724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -3.275770450540711e-6, + c: -2.993689196814444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -6.072083000063155e-7, + c: 4.171211873055377e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -3.661396969384560e-6, + c: 1.202966233728860e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -3.592608008756585e-6, + c: 1.389106241761547e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -2.088387024987551e-6, + c: -3.133770750386697e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -2.931918024634532e-6, + c: -2.259830679725166e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 5.767629807530514e-9, + c: 3.695382812645438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 2.966706965301764e-6, + c: -1.788143099917463e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 1.997885089062559e-7, + c: 3.214361108900548e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -2.267214272188612e-6, + c: -2.184855994778748e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -1.005459295465592e-6, + c: 2.979183627270501e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 2.554319500222869e-6, + c: 1.832468168548919e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -8.438940623947430e-7, + c: 3.010040018626527e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 3.012030709549234e-6, + c: 1.559020493394182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -2.774807734101433e-6, + c: 3.779934000138374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 1.946561349098094e-8, + c: 2.731252119881587e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -2.686769758940083e-6, + c: 3.593944913646846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 1.820678027899123e-6, + c: 1.960859143972768e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -2.596785445746111e-6, + c: 6.953009346914825e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -2.292165736780225e-6, + c: 9.602008025832344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -4.799896572832116e-7, + c: 2.406100168383392e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 4.010412733157463e-7, + c: -2.364394154270813e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -2.295812998477421e-6, + c: 5.675621471173409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 4.322105612708280e-7, + c: 2.317379568118709e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.757865085580943e-6, + c: -1.457801605570558e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 2.164018243007152e-6, + c: 4.076490781266200e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 5.569033598175050e-7, + c: 2.114262308739171e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 2.059282688328196e-6, + c: 6.303285983193508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -6.961279094572803e-7, + c: -1.976610264413888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -1.929958394729958e-6, + c: 4.749052541498628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.947882288029724e-6, + c: 2.747013188341370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -1.441469936443941e-6, + c: 1.329731318863503e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -8.196243466369927e-7, + c: -1.780949132957647e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -5.493054134915797e-7, + c: -1.870986957415491e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -1.399037132634364e-6, + c: 1.296636114337492e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -1.801891883314429e-6, + c: 6.120859966164827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -1.388072796924989e-6, + c: 1.258630888456284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.852648878198064e-6, + c: -3.208037746664357e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -1.772207596677399e-6, + c: 3.991307037898455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 2.830714963728106e-7, + c: 1.794324434886411e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 7.370847108022653e-7, + c: 1.573586722723142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -1.154263890661266e-6, + c: 1.288391946675376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 1.372275037142684e-6, + c: -1.035252628651598e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 1.684295388084461e-6, + c: -1.747238031137582e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -8.630119974819141e-7, + c: -1.418519079874403e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 3.246148898387177e-7, + c: 1.620625304293139e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 3.243160481841098e-7, + c: 1.615489485207684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -1.392858219831316e-6, + c: 8.417909319773365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 1.306871301857953e-6, + c: -9.631755338137084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 4.756880995833729e-7, + c: 1.549210736051648e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -1.606871832096985e-6, + c: 1.488207327648451e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.258596624831861e-6, + c: -1.001859315626387e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -5.087241722122452e-7, + c: 1.512321893739909e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -1.401194508570349e-6, + c: 6.476678842040960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -1.141042137045583e-6, + c: 1.036857922801019e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -9.175871981776563e-7, + c: -1.167119566220461e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -5.385800249039232e-7, + c: 1.321912421592879e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 1.366217786274869e-6, + c: -3.726391578064372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -9.663945442913961e-7, + c: 1.030046311303283e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 1.159889366821027e-6, + c: -8.009989646697989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -1.779998861783213e-7, + c: -1.376423914580948e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -9.508262813761826e-7, + c: -9.881045699708051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.190100467610516e-6, + c: -6.639103878773167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -4.041697500118368e-7, + c: -1.274839919039624e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 6.245294614345057e-7, + c: 1.159605687677137e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 1.295654505566483e-6, + c: 2.256937895230252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -7.949701578588193e-7, + c: -1.018294826709438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.106389237820232e-6, + c: 6.439944974825208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 9.750073489335160e-7, + c: -8.239052031302533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 7.986592857363866e-7, + c: 9.855463111821886e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -1.239562707900329e-6, + c: -1.685312357791384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -6.574997753768691e-7, + c: 1.064129185242027e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 8.869977548552004e-7, + c: 8.528084842578920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -3.478738980615178e-7, + c: -1.152743902644347e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -4.403767500491844e-7, + c: -1.086487019443227e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 5.134063627161574e-7, + c: 1.031025459752195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 1.048633361471412e-6, + c: -4.734133859992279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -6.914472724481980e-7, + c: -9.091988774739459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -9.651969311820067e-7, + c: 5.950865406745228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.107190977959352e-6, + c: 1.684881139860310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -9.465158227471945e-7, + c: 5.877329727603681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -1.030394126655497e-6, + c: 3.997696983615853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.068722390540337e-6, + c: 1.714646460086921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -6.114915693258174e-7, + c: -8.885121781752734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 8.149095863149519e-7, + c: 6.920046901882547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 7.877272504598643e-7, + c: -7.168162716816246e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -1.032800465915965e-6, + c: -2.452129998826339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 5.156322699787375e-7, + c: -9.263982395826356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 8.864321676224683e-7, + c: -5.511370119917461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -9.009161123683988e-8, + c: -1.034691926706541e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 8.342819679969708e-7, + c: 5.624930569968302e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 6.321639752021821e-7, + c: -7.706985744431808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 8.162675472140502e-7, + c: -5.542798681498007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -3.182343107101453e-7, + c: -9.162113510546404e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -8.425787923648121e-7, + c: 4.620468229082615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -4.496239052755610e-7, + c: 8.488569954658340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: -1.371986513976278e-7, + c: 9.307561107660482e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -9.325854056290755e-7, + c: 2.906360490845756e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 4.369371475796558e-7, + c: 7.905263212667371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -8.230552241603252e-7, + c: 3.498814498747388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 7.149439630353406e-7, + c: -5.018046404797339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -2.536804868920995e-7, + c: 8.294745144579629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 6.586857894675439e-7, + c: 5.456641029189370e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -5.933482160609312e-7, + c: -6.116796368483093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 7.173140905468205e-7, + c: 3.988463984560049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 7.015459308764709e-7, + c: -4.212335499158648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -6.624298552169028e-7, + c: 4.523977742661054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 5.620462191755107e-7, + c: -5.473005911898995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: -3.204209206510206e-7, + c: 7.026463174912499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: 5.465525777067893e-7, + c: -5.237925344983386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 3.319261814374903e-7, + c: 6.677372903936441e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 5.317151564430824e-7, + c: 4.924950079371023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: 6.831411363114100e-7, + c: -2.041498630102607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 6.597376301509469e-7, + c: -2.545012637063334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -2.699357852623805e-8, + c: -7.043881689943797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: 6.298183060054963e-7, + c: -3.159040880246576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -6.242831841338393e-7, + c: 3.221500166664030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 6.893157439989614e-7, + c: 7.134437993598092e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -6.120627568229039e-7, + c: 2.985096973926346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 4.303979791723977e-7, + c: -5.172049292695583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 3.436285073557364e-7, + c: -5.743653120550813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -1.613998346633779e-7, + c: -5.954603988707216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -5.516771220798414e-7, + c: -2.761325965459924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: 5.355039773133980e-7, + c: 3.062774295629273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0], + }, + Term { + s: 6.013815100600091e-7, + c: -1.011751895762289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0], + }, + Term { + s: 4.738096004690508e-7, + c: -3.762511809587221e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0], + }, + Term { + s: 1.076604869395284e-7, + c: -5.923312244263165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: -1.573606221405726e-7, + c: 5.780835387715287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0], + }, + Term { + s: 2.904502758617811e-7, + c: 5.203104497340846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: 3.328795670053612e-7, + c: -4.762915124071189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: -4.747916370253111e-7, + c: -3.344730107813343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -2.259209225920912e-7, + c: 5.340996709566029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: 5.283893758375743e-7, + c: -2.076766699352612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: -1.609842898858361e-7, + c: -5.360629192307518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 5.078083563014827e-7, + c: -2.350378949704549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: 2.954766969028404e-7, + c: -4.748793129094996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: -3.284089580925458e-7, + c: 4.503178248227321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: 5.067163239928009e-7, + c: -2.265466101959087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -5.350236832226864e-7, + c: -1.017274040277790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: 4.109560723207427e-7, + c: 3.541473735732802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, 0], + }, + Term { + s: -4.053329250432223e-7, + c: -3.580944277498111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 4.871758584372593e-7, + c: 2.287128196801897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: 2.927400705554199e-7, + c: -4.503238355258392e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -5.138814213540696e-7, + c: -1.542833449281232e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: -5.256738288401940e-7, + c: -5.937590888945790e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 1.499353834467648e-7, + c: -4.926009064265788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: -1.903149156255223e-7, + c: 4.768753176874555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: -1.061207925343123e-9, + c: -5.134238375550649e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: 4.870167088000978e-7, + c: -1.605167632483356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: -2.531618194358081e-7, + c: -4.404191220604832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: -2.707122167880524e-7, + c: 4.294168584709222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: -2.924150920225889e-7, + c: 4.058224480982036e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: -4.823490290631535e-7, + c: -4.718241864717286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, 0], + }, + Term { + s: -4.877609037376451e-8, + c: 4.739087938868947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 4.391773255277090e-8, + c: -4.671600708848592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: -4.404702537016305e-7, + c: -1.566378627077453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: -4.667191048276000e-7, + c: -1.071986381018971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: 2.723595827239361e-7, + c: 3.693517096596192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 0, 0, 0], + }, + Term { + s: 4.314797466832270e-8, + c: 4.552043563288365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: 5.361230509046529e-8, + c: -4.477862035608943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: 4.291026770449036e-7, + c: -1.124320082209824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -4.192357580292553e-7, + c: -1.358998644513194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: 2.332424177385226e-7, + c: -3.692947021981666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: -4.245778083790495e-7, + c: -9.864869095731738e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: 5.656749393019986e-8, + c: 4.308756612909766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -2.722736493730745e-8, + c: 4.316085696756703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -1.466280956990869e-7, + c: -3.975251182300511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: 2.574534623384914e-7, + c: 3.360420785199105e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: 1.393029210960918e-8, + c: 4.217283924428725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: 3.915958971154268e-7, + c: -1.547017536114819e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -3.528188322459667e-8, + c: -4.109218197053124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: 4.062805325951903e-7, + c: -6.623056177782255e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: 3.230612810413718e-7, + c: -2.520995107609438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 3.908769650003431e-7, + c: -1.075532316221025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: 8.477202274373748e-9, + c: -4.049764169973326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0], + }, + Term { + s: -2.159648610709403e-7, + c: 3.397993640547494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: 2.754663583466635e-7, + c: -2.683009983189456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2187, 0, 0, 0], + }, + Term { + s: -6.285444462271530e-8, + c: 3.779914142257084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0], + }, + Term { + s: 3.641428435631329e-7, + c: 1.062871005509523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -2.526938812609893e-7, + c: 2.802641579556690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: 3.579644674211721e-7, + c: -1.170315168668688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2399, 0, 0, 0], + }, + Term { + s: -2.755915943483640e-7, + c: -2.550985107433979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: 2.635508654641726e-7, + c: -2.595010832048207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2258, 0, 0, 0], + }, + Term { + s: -3.650264745085483e-7, + c: -5.090833630837547e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0], + }, + Term { + s: 2.514534598226774e-7, + c: -2.500145302289869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2116, 0, 0, 0], + }, + Term { + s: -3.076919168267317e-7, + c: 1.757821279352372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: 1.229915099127476e-7, + c: -3.261789385103266e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 7.392183101059351e-8, + c: 3.403582961951430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 4.801928683402832e-8, + c: 3.361828495691879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -2.692889675636231e-7, + c: -2.067971993798326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -3.353604661037337e-7, + c: -3.440037937372553e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: 3.183300096710472e-7, + c: -1.101522981552029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: 1.465269850757322e-7, + c: 3.011457413309985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: -3.315450052106564e-7, + c: -3.089980680371148e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0], + }, + Term { + s: 2.012135791701835e-7, + c: -2.612640439036505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 1.373672467114371e-7, + c: 2.953844759787291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0], + }, + Term { + s: 2.843928330801450e-7, + c: -1.382945881230039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: -4.040583081746147e-8, + c: -3.118607199323510e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, 0], + }, + Term { + s: 2.370958128374152e-7, + c: 2.059441985202916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: 2.911316020037508e-7, + c: 1.160657715053071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -2.416947500888603e-7, + c: 1.985763117928593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -1.240531951897492e-7, + c: 2.857519200951796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0], + }, + Term { + s: -1.864410144389534e-7, + c: 2.470684698414918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0], + }, + Term { + s: -1.716045937796105e-7, + c: 2.573231278109590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: 2.011077370701467e-7, + c: 2.302372296997811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 0, 0, 0], + }, + Term { + s: -3.003938893679367e-7, + c: 3.651961765213751e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -1.402994776329951e-7, + c: -2.672002090728243e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: 5.969093627662507e-8, + c: -2.939413574994064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: 2.032812623312149e-7, + c: -2.144315548419338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2045, 0, 0, 0], + }, + Term { + s: -1.333012177214637e-8, + c: -2.938346499470034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0], + }, + Term { + s: -2.323240036032082e-7, + c: -1.751916379694163e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -2.829061970865859e-7, + c: -5.578383661092847e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429, 0, 0, 0], + }, + Term { + s: -1.620647114754216e-8, + c: -2.850324961512717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: -1.387243323624933e-9, + c: -2.823673546371322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0], + }, + Term { + s: 2.768829508171958e-7, + c: -4.876875562434124e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -8.394578078788994e-8, + c: -2.650687605762848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3853, 0, 0, 0], + }, + Term { + s: 2.368529921805457e-7, + c: 1.425785462164673e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0], + }, + Term { + s: -2.578344395895996e-7, + c: -7.021872515527175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0], + }, + Term { + s: -8.353211066836974e-8, + c: 2.505886058486638e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 0, 0, 0], + }, + Term { + s: -2.539357511632949e-7, + c: 5.140839531490243e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -1.334632030045072e-7, + c: 2.167067194430613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, 0], + }, + Term { + s: 2.484803113307978e-7, + c: -5.195547889464544e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1012, 0, 0, 0], + }, + Term { + s: -1.451745013618418e-7, + c: 2.048590030741591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0], + }, + Term { + s: 1.037511027060170e-7, + c: 2.284640514469388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 0, 0, 0], + }, + Term { + s: 5.665284734177591e-8, + c: 2.437521322858369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 0], + }, + Term { + s: -9.158890912304685e-8, + c: -2.318762729391411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 0], + }, + Term { + s: -1.583691557082146e-7, + c: 1.862007870020558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0], + }, + Term { + s: 2.331913304208371e-7, + c: -7.126287049426268e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0], + }, + Term { + s: -1.675919094875939e-7, + c: 1.741736073954421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: 1.142670972569834e-7, + c: 2.108870725701608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0], + }, + Term { + s: 3.260672339097299e-8, + c: 2.376255219641867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0], + }, + Term { + s: -1.423081412679928e-7, + c: 1.871444126546573e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0], + }, + Term { + s: 2.332640279542256e-7, + c: -2.630021806942282e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0], + }, + Term { + s: -2.116575897281315e-7, + c: -1.003538118108580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0], + }, + Term { + s: 1.238441337052319e-7, + c: -1.966554442618131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 3.064965514975251e-8, + c: -2.289548141297296e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0], + }, + Term { + s: -2.191752771027140e-7, + c: 6.309394098573167e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 2.114767594257875e-7, + c: 8.185595414300949e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 1.489433761896602e-7, + c: 1.673773743467717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: 2.215331299834688e-7, + c: -2.559214855272175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0], + }, + Term { + s: 2.149764010934773e-7, + c: -5.853515385992738e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 1.536196570464387e-7, + c: 1.613494080972541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -2.094010059294706e-7, + c: -6.410790615629601e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0], + }, + Term { + s: -1.443925587797106e-7, + c: -1.644674002874740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: -1.121319599576195e-7, + c: 1.874284707321469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -1.219925513535587e-7, + c: -1.724613840929379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: -1.959261196680650e-7, + c: 7.054205523823101e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -1.470264604124368e-7, + c: -1.465954613247133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: -1.956956625459517e-7, + c: 6.643033128751556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: -1.653329595470628e-7, + c: 1.177519161389676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 0, 0], + }, + Term { + s: 1.874736890793376e-7, + c: -7.552272271739694e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 0, 0, 0], + }, + Term { + s: 1.988558382182198e-7, + c: 3.195395751061199e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: -8.843514833159869e-8, + c: -1.805737903831740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3711, 0, 0, 0], + }, + Term { + s: -2.738948633140589e-8, + c: -1.991407940427785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0], + }, + Term { + s: -1.791920661122080e-7, + c: -9.087743603560745e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 0, 0, 0], + }, + Term { + s: 1.878891606372447e-7, + c: 3.894103604752846e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: -1.513261451130687e-7, + c: 1.176221390644351e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0], + }, + Term { + s: -1.907761051654660e-7, + c: -1.295522814803967e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -1.571170378987542e-7, + c: 1.066813955960158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2780, 0, 0, 0], + }, + Term { + s: -3.710584105221643e-8, + c: 1.855102802371148e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -1.847167651135384e-7, + c: -3.048205180725864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1531, 0, 0, 0], + }, + Term { + s: 9.662645924121984e-9, + c: 1.859310592228319e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5325, 0, 0, 0], + }, + Term { + s: -9.421400864972246e-8, + c: 1.591722962679554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 1.753465808625542e-7, + c: 5.868293828285503e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, 0], + }, + Term { + s: 1.193470430357371e-7, + c: -1.390373475841034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -1.670273947687883e-7, + c: -7.288105612438555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 6.448544919120351e-8, + c: 1.702157085839564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 0, 0, 0], + }, + Term { + s: 1.756152345782656e-7, + c: -4.562456318942366e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0], + }, + Term { + s: -3.304739965630155e-9, + c: 1.813151344084282e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], + }, + Term { + s: -1.118840453424769e-8, + c: -1.803651413326602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0], + }, + Term { + s: 3.679849042552679e-8, + c: -1.759294375710858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 0, 0], + }, + Term { + s: -1.458995418275538e-7, + c: 1.041241976508703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 1.765857839388463e-7, + c: 2.868229590696080e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: 1.758713511378605e-7, + c: -2.926617392093920e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0], + }, + Term { + s: 1.337245186025543e-7, + c: 1.164412956117580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0], + }, + Term { + s: 1.701410470879180e-7, + c: 4.649654892032342e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -1.247953208808137e-7, + c: -1.236361872455520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: -1.392801710567649e-7, + c: -1.047452492339519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: -1.377221605489402e-7, + c: 1.062937570856536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 0], + }, + Term { + s: 1.129275062565608e-7, + c: 1.322866426828048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1382, 0, 0, 0], + }, + Term { + s: -9.242199526933563e-8, + c: -1.464498716919435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -1.855903675676874e-8, + c: -1.690401797446400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1158, 0, 0, 0], + }, + Term { + s: -8.213587782537542e-8, + c: 1.479943754707939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725, 0, 0, 0], + }, + Term { + s: 3.941640068167674e-9, + c: 1.671553082910580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: 1.031726759364243e-7, + c: 1.265878979282476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 1.524678996565197e-7, + c: 5.612732947906998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3326, 0, 0, 0], + }, + Term { + s: -1.576144701069128e-7, + c: 2.415796493246362e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2921, 0, 0, 0], + }, + Term { + s: 1.316223922547407e-7, + c: 8.890470618576818e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 6.502562721834875e-10, + c: 1.579616952520591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, 0], + }, + Term { + s: 3.889837558351841e-8, + c: -1.509237390226356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0], + }, + Term { + s: 1.484676122681524e-7, + c: -4.618173065344581e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871, 0, 0, 0], + }, + Term { + s: 2.355798527117330e-8, + c: -1.536704179110738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0], + }, + Term { + s: 7.517425802090248e-8, + c: -1.347384731235644e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: -1.048437393193873e-7, + c: -1.128282725827432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: 8.912992295526432e-8, + c: 1.244263835202900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0], + }, + Term { + s: -1.255793485101798e-7, + c: 8.505465320979584e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, 0], + }, + Term { + s: -1.347204454725663e-7, + c: 6.597159262733544e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0], + }, + Term { + s: -2.228172176267530e-9, + c: -1.497188622402313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0], + }, + Term { + s: -7.683153553524321e-8, + c: -1.267154930170913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3640, 0, 0, 0], + }, + Term { + s: -1.224717759488248e-7, + c: 8.063006584021063e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: -1.421447522586723e-7, + c: 3.346794787910073e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: 6.064602459249609e-8, + c: 1.319325144610566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0], + }, + Term { + s: -5.665421942669753e-9, + c: -1.449901263724750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 0, 0], + }, + Term { + s: -6.904597629906734e-8, + c: 1.267329208353799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 0, 0], + }, + Term { + s: 6.123902047536217e-8, + c: -1.305056238748673e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, 0, 0, 0], + }, + Term { + s: -1.266293958660377e-7, + c: 6.882773609335650e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: -6.824162328172208e-9, + c: 1.436810467534073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, 0], + }, + Term { + s: 6.020698985920230e-8, + c: 1.295203046119028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: 7.135620256034726e-8, + c: 1.235457903095268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1079, 0, 0, 0], + }, + Term { + s: -1.568012886830034e-8, + c: 1.408038773511628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 1.250724027664170e-7, + c: 6.634642579583482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3397, 0, 0, 0], + }, + Term { + s: -1.334547132443316e-7, + c: 4.536225051748383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: -6.736070978509269e-8, + c: 1.229164522297465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -1.268081544241767e-7, + c: -5.357126734258696e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: 1.310236048767946e-7, + c: -3.877904814081584e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: 1.232156088843531e-7, + c: 5.853465617180617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 8.251367061348102e-8, + c: 1.070562206303159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, 0], + }, + Term { + s: 8.519263808163949e-8, + c: -1.047519564042657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: 3.048230572085479e-8, + c: -1.315152947757144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0], + }, + Term { + s: -1.099724434151314e-7, + c: 7.618184680738995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 5.765249247451936e-8, + c: -1.202755783852442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: 7.472737214560748e-8, + c: -1.083691666421139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0], + }, + Term { + s: -3.750529329328550e-8, + c: -1.255111632204744e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -1.295232251123398e-7, + c: 2.503934186488220e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: 3.238295861786705e-8, + c: -1.248886086973407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0], + }, + Term { + s: -5.266237281673472e-8, + c: 1.176455321871523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: -6.184544421144045e-8, + c: -1.127915619800171e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -1.215820792696506e-7, + c: -3.853729494175974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0], + }, + Term { + s: -2.919666457406317e-9, + c: -1.260737770693788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: 4.500192371457644e-8, + c: -1.163858591574821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: 1.195255561173748e-7, + c: 3.472124368978490e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: 1.212743630085600e-7, + c: -2.202103764345937e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1295, 0, 0, 0], + }, + Term { + s: 1.195370400414408e-7, + c: 2.982918899519445e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517, 0, 0, 0], + }, + Term { + s: -1.148063878262870e-7, + c: 4.442688724997368e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0], + }, + Term { + s: -9.609691708131070e-10, + c: -1.223218674154923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0], + }, + Term { + s: 9.945906049839498e-8, + c: -6.928055378501522e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234, 0, 0, 0], + }, + Term { + s: -1.166053470937821e-7, + c: 3.176252704408476e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1359, 0, 0, 0], + }, + Term { + s: -7.687026185991621e-8, + c: -9.169283997057349e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: 4.937906049900485e-8, + c: 1.087810400938918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1008, 0, 0, 0], + }, + Term { + s: -1.024608089448210e-7, + c: 5.626915510974233e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0], + }, + Term { + s: 9.031135756320391e-8, + c: 7.392958701744783e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: 1.143186529743266e-7, + c: -2.016595244143667e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0], + }, + Term { + s: 1.902109544060742e-8, + c: 1.126840396224595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 1.104300951862944e-7, + c: 2.879356354725000e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2540, 0, 0, 0], + }, + Term { + s: -1.135634124323021e-7, + c: -2.665220014255260e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0], + }, + Term { + s: -5.617664510892752e-8, + c: -9.844218483947863e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, 0, 0], + }, + Term { + s: -7.937963541011256e-8, + c: 8.041265086650165e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -1.036102441546305e-7, + c: 4.432519724763544e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0], + }, + Term { + s: 9.291617083797497e-8, + c: 6.319846488163895e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0], + }, + Term { + s: -6.129617529306593e-8, + c: 9.347970849347355e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568, 0, 0, 0], + }, + Term { + s: -2.815688744057065e-8, + c: -1.071839709408697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0], + }, + Term { + s: 7.403418457532321e-8, + c: 8.128555032213694e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0, 0, 0], + }, + Term { + s: -8.369619536999944e-8, + c: 6.709309765279960e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0], + }, + Term { + s: -1.068449474038568e-7, + c: -2.163619667232681e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0], + }, + Term { + s: -9.155652306926516e-8, + c: 5.349584960811514e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0], + }, + Term { + s: 5.017382492865827e-8, + c: 9.287786118356864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5255, 0, 0, 0], + }, + Term { + s: -5.077402846019587e-8, + c: -9.236077253009643e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: -4.049564502008261e-8, + c: -9.716399242169148e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2839, 0, 0, 0], + }, + Term { + s: -9.901311770876423e-8, + c: 3.552575375006872e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: -9.968120323106036e-8, + c: -3.036373570590516e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863, 0, 0, 0], + }, + Term { + s: -1.748059498029964e-8, + c: -1.025989474278933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1457, 0, 0, 0], + }, + Term { + s: -8.569502822075244e-8, + c: 5.881854432109696e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0], + }, + Term { + s: -1.029561898031842e-7, + c: -1.403728693782801e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: -5.610628283309144e-8, + c: 8.721036589827303e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 0, 0, 0], + }, + Term { + s: -7.646621176704413e-8, + c: 6.957728594803283e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: -9.160840013437936e-8, + c: -4.513064079293972e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0], + }, + Term { + s: 1.383543907422984e-8, + c: -1.011013076739568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0], + }, + Term { + s: -8.006279052610627e-8, + c: 6.179785386974851e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: -8.799552509877284e-8, + c: 4.965769286607295e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1428, 0, 0, 0], + }, + Term { + s: 1.711245936691170e-9, + c: -1.003490495319850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0], + }, + Term { + s: 2.873881530414532e-8, + c: -9.608942694195280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: -1.421676697802081e-6, + c: 8.045158633615661e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.423873022031200e-5, + c: -4.675718874006545e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 4.617262464189690e-6, + c: -2.976869680488803e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 0.0, + c: -2.169979157948140e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.027007512725054e-5, + c: -4.178731349775889e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -9.789252803917933e-6, + c: -3.602659343169229e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -8.876223563800039e-6, + c: -3.386124804134984e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.650638642198883e-6, + c: -6.664133633935185e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.098641508160418e-6, + c: -6.987659458743992e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -6.693431061197646e-6, + c: -1.976463442306421e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -5.749942832603501e-6, + c: -2.721520706036147e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.113489612450164e-6, + c: -5.287063835124466e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -2.614158911093490e-6, + c: -1.748832971008249e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -2.455711217515266e-6, + c: -1.774302739676307e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.732328550330935e-6, + c: 8.936967018619551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -2.453372833902911e-6, + c: -1.019778021915154e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 3.249889704264858e-7, + c: -2.587909229367038e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 7.995903170000674e-7, + c: -2.206850882172525e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -5.794708059540811e-9, + c: -2.219450352942120e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.348695056137865e-6, + c: -1.573001956914059e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -1.307787982130453e-6, + c: 1.555573549348195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.182116103417120e-7, + c: 1.815524693452350e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.478319849075531e-6, + c: -1.719272594638513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.447282370697634e-6, + c: 3.532678396018906e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 1.198870051774637e-6, + c: -6.904703950466700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -1.323484691181824e-6, + c: -2.995789500071520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -1.149921398975464e-6, + c: 5.991470423133320e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 5.493830021380581e-7, + c: 1.163073900465493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -5.597004409610303e-8, + c: 1.247184299079259e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -7.473831873175198e-8, + c: 1.217737114961508e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -9.655053537697621e-7, + c: 5.114611558335693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -1.047686837087659e-6, + c: -1.904912793260724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 6.354567341926411e-7, + c: 8.349117423850949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -5.831163149023880e-7, + c: -7.999319848152034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -6.163487052468176e-7, + c: 7.595513014471393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 7.511182889760686e-7, + c: 6.200185415945371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -9.266494441727680e-7, + c: -5.820880554508793e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.967265647759920e-7, + c: -8.856161487793717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -8.970805392267490e-7, + c: 7.626350718927502e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 7.679959706223193e-7, + c: -3.733986599911185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -5.472744062681041e-7, + c: -6.129857285375723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -7.959274127532984e-7, + c: -6.336625422451930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -7.070048742627613e-7, + c: -2.941287191068821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 4.852236695242799e-7, + c: -5.846840698305354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -6.292087865159349e-7, + c: 4.221036940139599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -2.874769433822350e-7, + c: -6.984332350486035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -3.655841925114553e-8, + c: -7.497298560550347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: -6.167028463321037e-7, + c: 3.854688224877555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -3.830982704360217e-7, + c: 5.905978627330542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -1.507139583806667e-7, + c: -6.804696766718661e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -6.766655192748118e-7, + c: -8.105583254577672e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -5.062243433462820e-7, + c: 4.487706268970213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -4.552225522101107e-7, + c: -4.993948828765632e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -6.340103703805317e-7, + c: 1.979117927356365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 6.147470693999740e-7, + c: 2.403724126867862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -6.389299099657225e-7, + c: 1.011637410270658e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 7.634587853638571e-9, + c: -6.112417493556985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -4.517784401718215e-7, + c: -4.060708371748518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 4.645567027338244e-7, + c: -3.479575121381677e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -5.529039153933679e-7, + c: 1.165147355288356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -3.957957995416037e-7, + c: -3.972399103924251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -3.890030130823066e-7, + c: -3.843328957689893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -4.404622818498381e-8, + c: -5.403652843369779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: 4.591443522357300e-7, + c: -2.704138099294605e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 3.326537543410758e-7, + c: 3.928088829076692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 4.893183185532114e-8, + c: -5.113711131488769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -1.480640819333392e-7, + c: 4.892828182568797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 3.623234564849229e-7, + c: 3.482262459467360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 2.290936103683537e-7, + c: -4.323939205287044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -3.514415053780663e-7, + c: -3.371577267797670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -4.444454468444737e-7, + c: 1.579697304031364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -3.661939444801807e-7, + c: -2.922443604643093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -1.274235504420352e-7, + c: 4.496912780789248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 1.174012531043960e-7, + c: 4.470232936730727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 2.737184576201314e-7, + c: 3.668218474291604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 3.022118935216426e-7, + c: -3.426342092884710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -2.052884111796524e-7, + c: -4.032348147762318e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -4.223106509618019e-7, + c: 1.507338038316034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -4.086052725022286e-7, + c: -1.380380347727329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -9.983026450586091e-8, + c: -4.048864125868903e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -3.966611241877952e-7, + c: 8.873269580086752e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -3.408108919075720e-7, + c: 2.195826677635763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 3.783577689828227e-7, + c: 1.335461454539808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 1.676529167799943e-8, + c: 3.992516675480323e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -2.258624353894132e-7, + c: -3.278579953198692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -2.029368554650711e-7, + c: -3.367551025707830e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -2.549461693407651e-7, + c: -2.978568515316610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -3.205165865978954e-7, + c: -2.231663538025033e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -2.053302978175625e-7, + c: 3.248689984729464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 2.845348392784782e-7, + c: -2.496186442333133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -2.876291372959887e-7, + c: -2.360715994199734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -3.468318680894723e-7, + c: -1.346809429989548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -2.717197317875444e-7, + c: -2.312113000757396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -1.799946961343038e-7, + c: 2.998944226501496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -3.146684845975680e-7, + c: -1.524277709283457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 2.441132540663875e-7, + c: -2.465463183361229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: -1.736629842198973e-7, + c: -3.003359464859656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -3.411991469925737e-7, + c: -5.874608917415167e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -9.480327833819770e-8, + c: -3.290385149852639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -1.831386079753752e-7, + c: 2.874582109508379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 1.821230234102433e-7, + c: 2.851728000004481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 2.590359869815476e-7, + c: 1.977528488767180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 2.814628145496036e-7, + c: 1.487717511255808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -2.837372756353137e-7, + c: -1.095747960550974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -2.650693279597571e-7, + c: 1.485214891174495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 2.808510525320725e-7, + c: 8.641961648130406e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -2.805008858052660e-7, + c: 8.381381616518162e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -1.992433417868821e-7, + c: 2.083265424151506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: -2.512965927955373e-7, + c: -1.335030528331893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: 2.759193590516242e-7, + c: 5.763075760885373e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: 2.530210142954409e-7, + c: 1.175140665871117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 2.785829148001514e-7, + c: -1.269955600080454e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0], + }, + Term { + s: -4.642917255203516e-8, + c: -2.744142262914314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: -2.236275155794130e-7, + c: -1.509505536438652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -2.518826673920239e-7, + c: -8.904059208767126e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 2.371550585368705e-7, + c: -1.123686043747049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -1.085874357062926e-7, + c: -2.388013329037468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -2.147899221630291e-7, + c: 1.483506832405616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 1.949408341181600e-7, + c: -1.703481012895987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -2.232895208839024e-7, + c: -1.243362784484971e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 8.582341871160471e-8, + c: -2.395215167905735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -1.307550193304627e-7, + c: -2.167060234373366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 1.506936445704392e-7, + c: -2.024899078412318e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -9.746356875290237e-8, + c: 2.317975675517898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: 1.017760349520949e-7, + c: 2.281176341390820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: 1.792131072295080e-7, + c: -1.736222733628096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -1.281142569354175e-7, + c: -2.113566955790786e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -8.723183123841601e-8, + c: -2.298238787975940e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -2.319315334454584e-7, + c: 6.408211221906431e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 1.886030122346674e-7, + c: 1.425287107118448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 9.326672395022981e-9, + c: -2.359429390775763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -1.258844466920959e-7, + c: -1.996845458024039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 2.295202123463288e-7, + c: -4.053512629685803e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: 2.323729849895637e-7, + c: 5.001604534959470e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: -1.648031662382065e-7, + c: -1.614777653686731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0], + }, + Term { + s: -1.434412813718246e-7, + c: 1.765143356808699e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 1.368719317241311e-7, + c: -1.771406379054770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0], + }, + Term { + s: 1.835689390802866e-8, + c: 2.222300715049379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 2.094604504531346e-7, + c: -6.990360785316980e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 0, 0, 0], + }, + Term { + s: -1.102815121823486e-7, + c: -1.738765006635336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -2.039860865057583e-7, + c: -2.394910809533667e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -9.298768038061755e-8, + c: 1.827689767150891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: 1.164046884793699e-7, + c: -1.685692629104602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0], + }, + Term { + s: 1.942901398653282e-7, + c: 6.000681260315105e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0], + }, + Term { + s: 2.016674966184703e-7, + c: 1.558767857731721e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 9.422231838781336e-8, + c: 1.787577055095157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -1.624128580916575e-7, + c: 1.173803115384581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -1.812320664227287e-7, + c: -7.924812111939017e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 812, 0, 0, 0], + }, + Term { + s: 1.068693933389181e-7, + c: -1.662369311301300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 8.104380639048051e-8, + c: 1.801388753389996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 1.638704138329174e-7, + c: 1.098777372427304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1712, 0, 0, 0], + }, + Term { + s: -1.939638979330612e-7, + c: -3.419549581609010e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0], + }, + Term { + s: 1.327251659772822e-7, + c: -1.449442544963088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 1.931160603469294e-7, + c: 3.446554720062744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.650284220537848e-7, + c: 1.040017853145484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 1.180539175837258e-7, + c: 1.541865133319608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -9.754604163950959e-9, + c: -1.898888482723914e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: 1.029319626993840e-7, + c: -1.560791737869252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -1.432572988852934e-7, + c: -1.191044851705890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 1.411025385908299e-7, + c: 1.166841910043133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -1.371460796111296e-7, + c: -1.197065468488666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: 1.575244899250551e-7, + c: 9.071681537544482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 1.727526240354710e-7, + c: 2.918007433244624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: 1.205959876354478e-7, + c: -1.215519427738511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0], + }, + Term { + s: 4.506673698787079e-8, + c: 1.648014904251016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0], + }, + Term { + s: -7.913213616096232e-8, + c: -1.476169248714428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0], + }, + Term { + s: 3.356553709891250e-8, + c: -1.636649575273991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0, 0], + }, + Term { + s: 1.516041145370130e-7, + c: 7.019318775030201e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 0, 0], + }, + Term { + s: 2.849955920771642e-8, + c: -1.623330740818933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 1.456241045679726e-7, + c: 7.512892126163141e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: 1.083976819801156e-7, + c: -1.174148850790139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1178, 0, 0, 0], + }, + Term { + s: 8.552921719183621e-8, + c: -1.317822195504346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 6.465488790813320e-8, + c: -1.409328045954154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -4.791501264301758e-8, + c: -1.467954283586811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -8.111437800874120e-8, + c: 1.307773348388789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 3.197407886439509e-8, + c: 1.488542880985439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 8.226353210114211e-8, + c: 1.258803777489483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -1.253196760190978e-7, + c: 8.301533294284572e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 9.834136889451209e-8, + c: 1.125052320402767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: 1.228970479309780e-7, + c: 7.944546285500242e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 8.450009660060551e-8, + c: 1.187730627790000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 1.158558862120085e-7, + c: 8.808784750532995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -1.116927508621733e-7, + c: 9.303807635902552e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 5.606219915644960e-8, + c: -1.329741661337884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0], + }, + Term { + s: 1.282813204781513e-8, + c: -1.417655305722913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -7.312380974948442e-9, + c: -1.418131358450367e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -1.407647000079165e-7, + c: 1.317500879336709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -3.179638155514952e-8, + c: 1.373611430102466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: -1.249783812416714e-7, + c: 6.385457167644597e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 1.338805790519636e-7, + c: 3.853273599402926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 1.264766505236642e-7, + c: 5.758476150022123e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -3.409046402995412e-8, + c: -1.347119984788740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0], + }, + Term { + s: 7.031014654525598e-8, + c: -1.198022467953448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0], + }, + Term { + s: 1.332064941072738e-7, + c: -3.129113042306857e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: 1.294845463554173e-7, + c: 3.340772895338515e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, 0, 0], + }, + Term { + s: 6.918237247616871e-8, + c: -1.132508402505001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 9.776516135241039e-8, + c: 8.919083457694727e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0], + }, + Term { + s: -4.044534053152934e-8, + c: 1.250308753297386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0], + }, + Term { + s: 1.294205077326395e-7, + c: 2.305480406363461e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -3.797313848067354e-8, + c: -1.232964070244226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: 1.215007171164433e-7, + c: 4.062638495721203e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: 1.768401565973519e-8, + c: -1.247391474589261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1277, 0, 0, 0], + }, + Term { + s: 2.892134304757793e-8, + c: -1.216215359738460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, 0], + }, + Term { + s: -6.222708012948510e-8, + c: -1.031747346418224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 0, 0, 0], + }, + Term { + s: 8.584748221165624e-8, + c: 8.350031349828709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -1.163202836639509e-7, + c: -1.757994063828691e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1418, 0, 0, 0], + }, + Term { + s: -7.377040866598938e-9, + c: -1.168905190924613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -4.795463955970323e-8, + c: -1.064499008274312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0], + }, + Term { + s: -6.992444120841187e-8, + c: -9.231803333309831e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0], + }, + Term { + s: -7.788571530553020e-8, + c: -8.425514870780296e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1523, 0, 0, 0], + }, + Term { + s: -1.081581362268171e-7, + c: -3.362345049337206e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, 0], + }, + Term { + s: -1.059333507724085e-7, + c: 3.898382878951194e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: 5.503277086673757e-8, + c: -9.815854498120070e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 808, 0, 0, 0], + }, + Term { + s: -8.621452015517216e-8, + c: -7.068546505126281e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -8.621500675398841e-8, + c: -6.951092009844555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0], + }, + Term { + s: 9.806081201181434e-8, + c: 4.941428704938206e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 0, 0], + }, + Term { + s: -1.082108365979271e-7, + c: -1.793355445356495e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -3.098406323266307e-8, + c: -1.042519031820811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: -7.651472607574414e-8, + c: 7.543952699770607e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0, 0], + }, + Term { + s: 1.071013535612370e-7, + c: -2.372447948698877e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0], + }, + Term { + s: 8.356735628577396e-9, + c: 1.061578254766170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: -4.216589722137895e-8, + c: 9.570681045358565e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 1.503227308627318e-8, + c: 1.032258198799330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0], + }, + Term { + s: 1.758272965559765e-8, + c: -1.028008215088974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: -5.633811729561135e-8, + c: 8.753639815804842e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0], + }, + Term { + s: 6.156815903499295e-8, + c: 8.324872056204248e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0], + }, + Term { + s: -6.398595776149041e-8, + c: -8.047172873614375e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 0, 0, 0], + }, + Term { + s: -1.015140488225280e-7, + c: -1.361092047969754e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[ + Term { + s: 7.276240553380732e-6, + c: -3.644136145765238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 0.0, + c: -4.100010891962110e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.472494879098000e-6, + c: 6.569047503091048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 2.558416077155968e-7, + c: -2.068419014232733e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 5.867540457873462e-7, + c: -1.964752952813591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -1.879227291960609e-6, + c: -3.099556232113727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 4.801389535944567e-8, + c: -1.734758719639795e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 1.062801644912017e-6, + c: -1.167939614298197e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 1.394438370143242e-6, + c: -1.244497849906728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.189316484722808e-6, + c: -8.149049688368830e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -2.975907296781465e-7, + c: 1.099208805095108e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 7.712258286832691e-7, + c: 3.388581793502716e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -6.891590533976181e-7, + c: 1.143461444966754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 6.318209752794710e-7, + c: 1.688527100258238e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 5.085280685642703e-7, + c: 3.406806564841507e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 7.422759684359847e-8, + c: -5.854486672489023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 2.409139597661127e-7, + c: -4.898905760168435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.564811764251606e-7, + c: -5.164154861219780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 4.335256177329713e-7, + c: -1.114487554584397e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 4.315543672825231e-7, + c: -3.277086469799449e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.074494666725145e-7, + c: -4.051706178215413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -1.489573598814414e-7, + c: -3.533626896447326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 3.152942189975597e-7, + c: -2.125732176778130e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 3.371075273501327e-7, + c: -1.409162075114272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -1.748265016074552e-7, + c: -3.009245822209628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -3.357920467565035e-7, + c: 5.914660602190834e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -1.070099962431016e-7, + c: -2.952055602411788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 2.101266440744558e-7, + c: 2.273115335177824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 1.343126886841235e-8, + c: 3.029443573166759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 2.665107373687684e-7, + c: 9.810980557878282e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 2.552807368871687e-7, + c: -1.216737064853490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -2.297128842060417e-8, + c: -2.658503866799820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 2.025870983591265e-7, + c: -1.598128235714779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -2.355935866412999e-7, + c: 8.728178545663094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -1.240984578928977e-7, + c: -2.155867611570771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 4.411914528005206e-9, + c: -2.418486915031333e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 2.081791047573840e-7, + c: 1.053403692910284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 1.492282853809507e-7, + c: -1.760879090258168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -1.138761670550986e-7, + c: -1.978347733828845e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -6.675181544090417e-8, + c: -2.155691113353013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -4.708695893245865e-8, + c: -2.097535585149529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 1.567358115910116e-7, + c: 1.465894339395407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 1.618784892252266e-7, + c: -1.282563882598753e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.136275347943404e-7, + c: 1.665572147019537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -1.941743748856913e-7, + c: 9.399237083312516e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -9.419071142434712e-8, + c: 1.670648595939426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 1.375102566848468e-7, + c: 1.218389974141300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 8.024514593917466e-8, + c: -1.564156363727739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -1.638643964724094e-7, + c: 5.737912993404556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 1.409663583389346e-7, + c: 9.935946987229188e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -1.672121209502822e-7, + c: -3.983567149412060e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -2.308036439085482e-8, + c: -1.677544838391524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -8.526773661278335e-8, + c: -1.402168392913539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 6.854477729150060e-8, + c: 1.486642199628306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: 1.432636834598559e-7, + c: -7.344932146264872e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.137964714418699e-7, + c: -1.132264880929509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -8.819339955182864e-8, + c: 1.310121493116804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 4.111980905810857e-8, + c: 1.503112272902981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 1.416061732695676e-7, + c: -5.835128908522096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: 6.230806629894948e-8, + c: -1.399092751201409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 1.118411701184028e-7, + c: -1.030117502917384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 1.414634650172549e-7, + c: 4.908616853131402e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -1.456249314003986e-7, + c: -1.518508138252364e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: 5.746702688698016e-8, + c: -1.306701946837423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -9.515026648624137e-8, + c: 1.050329312757433e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 3.287022952427918e-8, + c: 1.375361238061417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.312749471724653e-7, + c: -4.780056876912435e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -7.302240211620164e-8, + c: 1.156558364310983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 9.016454821878660e-8, + c: 1.008469765069224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: -5.641594761322633e-8, + c: 1.185040489021179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 1.200145483398937e-7, + c: -5.276993687830077e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: 1.807645247773615e-8, + c: 1.293651994756472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -6.889648591850632e-8, + c: -1.100670847247173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 1.031559748555129e-7, + c: 7.832861365394121e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -8.419706917287102e-8, + c: -9.838002975634367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -1.183141282306450e-7, + c: -5.098468574624536e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 4.611820005988637e-8, + c: -1.192187084846504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -8.203938959548790e-8, + c: 9.338989480841657e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -5.921206523245483e-8, + c: 1.078523044191495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 1.008090518090231e-7, + c: 6.712830708316989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -1.091336610626233e-7, + c: 4.803298815334457e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: 2.250675740305513e-8, + c: -1.156591404337627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: -1.086849562464019e-7, + c: 4.205358053665930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -4.189955523729318e-8, + c: 1.081634163054177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 1.158796184521558e-7, + c: -3.884218913166137e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -1.112923903631231e-7, + c: -3.075077871441617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: -1.022642801637406e-7, + c: 5.225328865725974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 6.803137772616423e-8, + c: -9.144058457386522e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 2.908782111736627e-8, + c: -1.092889372209257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 4.464511632953515e-8, + c: -1.037247959714796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 7.601811648836498e-8, + c: -8.243864010985499e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -9.734340590113671e-8, + c: -5.562743698151956e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -8.856693809964238e-8, + c: 5.669811387066433e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -5.068819137986162e-8, + c: 9.007193750010890e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 2.922091644134633e-8, + c: -9.795075700656789e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -4.837702286273920e-8, + c: 8.900378238550562e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -8.594965677393078e-8, + c: -5.350824800746923e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 2.810752387516731e-8, + c: -9.685566847757528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + ], + }, + // T^7 terms + TimeBlock { + power: 7, + terms: &[ + Term { + s: 0.0, + c: 1.200000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.971635751283039e-7, + c: 7.022635649848954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 4.114961610119027e-7, + c: 7.072032488725975e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 3.881357087985119e-7, + c: -9.941660230902784e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 3.712296148868379e-7, + c: -2.630354987972376e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 2.946992155752130e-7, + c: -1.645507343857801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -1.973488354668227e-7, + c: 2.298467538824020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -2.263819896086793e-8, + c: 2.120079382265928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.113188473807666e-7, + c: 1.528077089750731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.167779267227963e-7, + c: 5.793256860669014e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 1.179630921901860e-7, + c: 4.737786651777600e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 1.125637489569981e-7, + c: 2.805681756090272e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.043844063220295e-7, + c: 1.747192256409126e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -5.374979380663319e-8, + c: -8.770418420254864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + ], + }, + // T^8 terms + TimeBlock { + power: 8, + terms: &[ + Term { + s: 0.0, + c: 4.907347300000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.631226093784565e-8, + c: 1.144787382311559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 4.165471124826000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.567216393743373e-3, + c: 2.061051693497233e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 2.221493128020853e-3, + c: 3.490137065917968e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.443800541101195e-3, + c: -2.527412155905555e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 5.629424064617207e-4, + c: 1.181140670129015e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -1.062301000806397e-3, + c: 1.610771782143311e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -3.428786066100482e-4, + c: 2.765121717124214e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 3.228157417574122e-4, + c: 3.306434249157428e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -2.437104619799379e-4, + c: 1.739185963188090e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -2.332435063866587e-4, + c: 4.354014267310385e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.645829325783035e-4, + c: -1.473374039054209e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.237345366345307e-4, + c: -7.736615884078049e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 2.964210623950248e-5, + c: 1.087498142058237e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -8.008330266925595e-5, + c: 3.283787999513569e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -2.913121762473583e-5, + c: -7.105882166252458e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 6.969990579029605e-5, + c: 1.241992703765551e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -3.762677644928702e-5, + c: 4.901518483999236e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -2.773060145736258e-5, + c: 3.772535530170766e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -2.572705407781999e-5, + c: 3.462095345063664e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -2.766896456084486e-5, + c: -2.473783477693781e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: 3.060884080323090e-5, + c: -1.915262757977491e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 8.230249086568348e-6, + c: 3.440344020943287e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.950994754401383e-5, + c: -2.945082404975307e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 6.972102437219810e-7, + c: -3.340259548614983e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: 5.469043839281728e-6, + c: -2.570822656021995e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -2.205682010169714e-5, + c: 8.243442844696650e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.531743315364936e-5, + c: 1.753549669301864e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 1.860979186542938e-5, + c: 9.420945062229543e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -1.551980953743897e-5, + c: 1.341802486197544e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -2.043879481654970e-7, + c: 1.954204088947494e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 1.407224667962425e-5, + c: -1.149774715091219e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 1.230319792117869e-5, + c: -7.484328000538168e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -1.371968125966772e-5, + c: 4.162876543933624e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.201856552258109e-5, + c: 7.180365366081863e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 2.114748091209118e-6, + c: 1.364292190973106e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -1.309385057447850e-5, + c: -2.899674256985539e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -1.276820937942425e-5, + c: -3.691276765308694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 5.936451205977328e-6, + c: 8.815915048773696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -8.447279783901072e-6, + c: 6.298093594524397e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 8.724871204890317e-6, + c: 5.773413950969362e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -1.322047339457209e-6, + c: 1.011598967836114e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -7.521064976578262e-6, + c: 6.764202236220503e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: -2.202406397567375e-6, + c: 7.973606359168916e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -7.344893550790153e-6, + c: 3.176107277961326e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -7.032374244368513e-6, + c: 2.589848138955831e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 7.458609124753564e-6, + c: -1.597959937267524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -6.660367715604879e-6, + c: -3.172851137357808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -7.045104368475802e-6, + c: -1.839775671158599e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -7.160426671461086e-6, + c: 3.153330048027839e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -6.678393681567461e-6, + c: -2.270729929615240e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -5.638818897430398e-6, + c: -4.214628184070277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -5.596895274638710e-6, + c: -3.964090317418279e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -4.299374351374332e-6, + c: -2.108648729660653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 4.128009270487353e-6, + c: -1.933729646494246e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -4.027926045319026e-6, + c: 1.238688407171184e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 4.199490360897747e-6, + c: -1.867447592545248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -5.359265985226121e-7, + c: -4.105435104233421e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.936741064908475e-6, + c: 3.526275199811937e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 3.922844042373185e-6, + c: -7.034717535587504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -2.801202829986400e-6, + c: -2.771416221117245e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 4.235383721108976e-7, + c: -3.885539950675079e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 3.336290675865684e-6, + c: 1.938071755548092e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 4.007114688242858e-7, + c: 3.836306609525242e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 2.771325744789607e-6, + c: -2.453548999947689e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -2.681883717157107e-6, + c: -2.419439865919356e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -3.084745971069583e-6, + c: -1.587873275367342e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 2.595549558609672e-6, + c: 2.152851652896777e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 2.956740230270646e-6, + c: -1.600775716647823e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 1.073398154771440e-6, + c: -3.128288656914733e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -5.998666941603585e-8, + c: 3.257022491519065e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 3.102952732493482e-6, + c: 7.895852475014217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: -1.439798381777105e-6, + c: 2.832515582029086e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 5.032649323805602e-7, + c: 3.074893759514663e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 4.934565900556449e-7, + c: -3.072244082061645e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 9.354802352864397e-8, + c: -2.963210501956838e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 7.402513333355792e-7, + c: 2.784548535844348e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 2.055241537564916e-6, + c: 1.936068035484341e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 2.666981708972394e-6, + c: 5.370313298466816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 2.650254439604504e-6, + c: -2.541327539643228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 2.610670716590774e-6, + c: -2.883082957629510e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 7.694288677660296e-7, + c: -2.431994170603439e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 1.552075922476839e-6, + c: 2.009600740699957e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: 9.783115377829467e-7, + c: -2.325711068931177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -1.770142312854671e-7, + c: -2.507417587227420e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -1.309362774642847e-6, + c: 2.069833002227207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: 1.416046143137555e-6, + c: -1.928537342297139e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -7.248279059096277e-7, + c: 2.234139025969123e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 1.452962562691377e-6, + c: 1.717137190718151e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -2.000753391202841e-6, + c: 1.026977323962238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -2.179241071824719e-6, + c: -5.123217683695189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 1.182024304428555e-6, + c: 1.881346730654614e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -2.070826121898840e-6, + c: 7.722266842249092e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -8.615312826923462e-7, + c: 2.006401158139706e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: -2.924652834469394e-7, + c: -2.125866505115365e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -2.662787901646022e-7, + c: -2.113199187690635e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -1.881280299429851e-6, + c: -8.566007415693198e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -8.303879456667018e-7, + c: 1.802628325526543e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 1.794029719974384e-6, + c: 8.110320570072170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -1.797051628661053e-6, + c: -4.915871501792915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 2.435050772681646e-7, + c: 1.767465077820554e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.737614003975293e-6, + c: 1.389808699940626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -2.025691143403316e-7, + c: 1.631677054140374e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -8.299873563765812e-7, + c: 1.319688118492883e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 3.979346135099304e-7, + c: -1.370302215694536e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 1.396936057781726e-6, + c: -2.809524845366146e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -1.407312877437106e-6, + c: 4.729837057703563e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 1.365923365954484e-6, + c: -3.396331942212929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 2.320597865310461e-7, + c: 1.372386587061300e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: 5.291050789971459e-7, + c: -1.280575362151124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 1.333273871366596e-6, + c: -1.180917818744776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 1.188115894797427e-6, + c: -5.777808688185020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -1.097007224274558e-6, + c: 6.862345255546271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 8.834807504397790e-7, + c: -9.042398317896004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -1.073767579177083e-6, + c: 6.575623851322135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.146025651370727e-6, + c: -4.436916957183203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -1.864447836424346e-7, + c: -1.124341003742342e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 5.436032580588411e-7, + c: 9.514327850213073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: 1.668456565767376e-7, + c: -1.079296352249868e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: 7.772095574496041e-7, + c: -7.297010612371217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: -3.174036709441155e-7, + c: 1.017668526472110e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 3.479112472895651e-7, + c: -1.002976875051839e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 9.928524874851773e-7, + c: 3.060870113105311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -7.746612748193896e-7, + c: 6.840914769995791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 8.780227733401982e-7, + c: -4.285136661089277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 2.754901428944473e-7, + c: 8.870881870598911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: -8.744049818838780e-7, + c: -2.912980476818846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -8.033712592543954e-7, + c: -4.411828775864701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 0, 0, 0], + }, + Term { + s: 6.015449055493879e-7, + c: -6.826225716293712e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: 7.908982235649204e-7, + c: 4.117940412940281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -6.123013924537848e-7, + c: 6.404049013903897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -5.454064035600996e-8, + c: -8.742257086997088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -7.121230955945162e-7, + c: 5.074790515712825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -4.458437100561570e-7, + c: 7.517976972104017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: 8.728433233209990e-7, + c: 4.034967102531489e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -1.314267331758859e-7, + c: 8.611720221321240e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: -4.703364017825513e-8, + c: -8.626418130117534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -7.964216347021175e-7, + c: -1.392470691066384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 6.638373346010531e-7, + c: -4.487557684239425e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: 7.877208208886991e-7, + c: -1.214920113640447e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0], + }, + Term { + s: 7.749511130229992e-7, + c: 8.736941977267096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -6.143060259498721e-7, + c: -4.512718395062795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: 6.612918355829822e-7, + c: -3.603745974050607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -1.353953899323577e-7, + c: 7.272309176667664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -4.320969530001052e-7, + c: 5.829280623187193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: 5.150459884818630e-7, + c: -4.857407203831772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -1.865453072078315e-7, + c: 6.649816367928150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 3.834724037598160e-7, + c: 5.720732643205166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: -3.414145295042700e-7, + c: 5.873710797730962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 1.958855804801921e-7, + c: -6.338282880184332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: -6.434371449320377e-7, + c: -1.027320371013965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: 5.615272056363435e-7, + c: -2.835978394525488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 6.199362856686176e-7, + c: 7.476273647557709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -4.801192342692025e-7, + c: -3.933593412007369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: 5.419043942784565e-7, + c: -2.949311968556111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.974193243297684e-7, + c: 5.742763371748098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: 5.674714712538270e-7, + c: -1.487849529433513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 1.374138227465655e-7, + c: 5.638128349904740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 2.734415192711739e-7, + c: 5.097784668921550e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 3.637404476842623e-7, + c: -4.475152123821182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 5.703549069610770e-7, + c: -6.479753599430321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 1.653219715839470e-7, + c: -5.398038290705581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: -3.895118559851528e-7, + c: -3.788821962067117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: -3.082093593639200e-8, + c: -5.267966480224062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 3.301278528792903e-7, + c: -4.082421745707232e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -3.296912511600686e-8, + c: -5.207686168619831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 3.007875613056428e-7, + c: 4.107144894093381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0, 0], + }, + Term { + s: -3.429569474561691e-7, + c: 3.690745685646584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -2.310944341113525e-7, + c: 4.409252379861173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: 3.995419174654792e-7, + c: 2.942831260970432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -4.648716793710040e-7, + c: -1.373075730405473e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 1.524518257089010e-7, + c: -4.406234503457030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 4.141153690356303e-7, + c: 1.976207640107348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 3.086858942116799e-7, + c: 3.385577943491223e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 4.422354327559817e-7, + c: -1.182662562071983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: -1.416511649195345e-7, + c: 4.296452301058669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -2.233729371013760e-7, + c: -3.836286217738564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: -4.270840697904976e-7, + c: -9.629420912815940e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -3.974480245307999e-7, + c: 1.618988994864060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 3.188077011857846e-8, + c: -4.179337950666144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 2.506195409132554e-7, + c: 3.309828997569842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -4.122647935645765e-7, + c: -2.037624577181108e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2965, 0, 0, 0], + }, + Term { + s: 3.949458316441481e-8, + c: -4.038883591195806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: 3.200413304536239e-7, + c: 2.456388060478241e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 3.948093085791356e-7, + c: -7.551675112883147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: -1.367690442919970e-7, + c: -3.664892992324758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -1.099083878738056e-7, + c: 3.568995270097121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: -2.279781326250410e-8, + c: 3.647870140964160e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -3.792430933484476e-9, + c: 3.556930327682887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -6.197004270201686e-8, + c: 3.391616776356247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 2.712314265740105e-7, + c: 2.116806424091923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -2.005547018014991e-7, + c: 2.762172860938703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: -3.844239265572240e-8, + c: 3.349267583881958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: 3.241984123947606e-7, + c: 9.228942723917713e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: -2.489408246299195e-7, + c: 2.206048653517221e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 2.728566647447508e-7, + c: -1.728640852855643e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: -2.227672552739456e-7, + c: 2.305015608061592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: -9.193739340534278e-8, + c: -3.014691606252014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -2.015163548715000e-7, + c: -2.364154586967625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: -2.701747125796716e-7, + c: 1.492472993433377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0], + }, + Term { + s: -1.458299060195774e-7, + c: 2.663049458518523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 3.003484443126413e-7, + c: -1.883683619321207e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: -2.557832141928074e-7, + c: -1.571280861017667e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: -2.145403000419508e-7, + c: 2.048948703663130e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: -6.327058306990627e-8, + c: 2.886745732810812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: -2.773067076231976e-7, + c: 9.480115367007436e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: 2.893711065747596e-7, + c: -1.954917690809764e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: 7.693154508198208e-8, + c: 2.688033120829470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: -2.231154571124959e-7, + c: 1.630635802240580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -3.337397407338207e-8, + c: 2.725010103702356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -2.152172667384979e-7, + c: 1.703204896587367e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -2.182790952188233e-7, + c: 1.614136875285549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: 1.875549049775936e-7, + c: 1.934548369338019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0], + }, + Term { + s: -1.172168200939290e-7, + c: 2.386572457715157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 2.076439081591002e-7, + c: 1.533852159983523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 1.792738466589393e-7, + c: -1.838175683421114e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: -2.034975895265372e-7, + c: 1.557608463477231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -9.760962432829863e-8, + c: 2.346775671394292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -1.020461746556690e-7, + c: 2.279509208651957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 2.375934966831700e-7, + c: -2.522881020308962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8792, 0, 0, 0], + }, + Term { + s: -3.002171776410681e-9, + c: 2.270268115184612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1976, 0, 0, 0], + }, + Term { + s: 3.522771642116171e-8, + c: 2.238166103062399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: -1.413492194972204e-7, + c: 1.745579606139771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: -6.774747317074030e-8, + c: 2.137148370601064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 1.415660429108961e-7, + c: 1.702231823405787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -1.717496949276531e-7, + c: 1.387291445225028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: 1.729498441051508e-7, + c: 1.357099539445296e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -2.096809356436162e-7, + c: 5.361184304070707e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: -2.045037398985117e-7, + c: 5.598962772724951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: 1.685201441641502e-7, + c: 1.275497805931727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 8.339579098024489e-8, + c: -1.883697844477718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 1.127591519059396e-7, + c: 1.685206096039762e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -2.734049655783570e-8, + c: -1.990288368195090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: -2.015448142350853e-8, + c: -1.990248393131446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 1.144793326190760e-7, + c: -1.594754370541680e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: 1.828034068296503e-7, + c: -6.484340386494248e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: -1.493775619772567e-7, + c: -1.232985790012539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: -7.777770239800571e-8, + c: 1.707874605985447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, 0, 0], + }, + Term { + s: -3.827333752110153e-8, + c: 1.831799303450138e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: 1.706818313355659e-7, + c: 7.479786139406123e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14048, 0, 0, 0], + }, + Term { + s: 7.068760915803989e-8, + c: -1.714844069629079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -1.885145335533934e-8, + c: 1.780454182502489e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: 1.054440118368821e-7, + c: 1.428808968420437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30584, 0, 0, 0], + }, + Term { + s: -1.761432936170910e-7, + c: -2.171285731706241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: -1.759735530862207e-7, + c: 2.030556219498988e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3449, 0, 0, 0], + }, + Term { + s: -5.795185666198262e-8, + c: 1.673931489773498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -1.645039040177428e-7, + c: -5.927034279192887e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: -8.270422710587240e-8, + c: 1.526056488368647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -1.661676687126455e-7, + c: -3.612488377189198e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 1.153563669353592e-8, + c: -1.694485801378672e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: 1.648620664007931e-7, + c: 3.987806726606121e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 7.984275075775216e-8, + c: 1.490016449968030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -8.849355763093309e-8, + c: 1.439065966953491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: -1.654931222438385e-7, + c: 2.029305360622950e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 8.292231565565268e-8, + c: 1.418953645827995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0, 0], + }, + Term { + s: 1.003650190216878e-7, + c: -1.292806113446729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 895, 0, 0, 0], + }, + Term { + s: 1.574951233187421e-7, + c: -4.241433599493799e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, 0], + }, + Term { + s: -8.529422102768676e-8, + c: -1.378938557206087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -5.785647491683020e-8, + c: 1.489631569684874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: 1.542356843586685e-7, + c: -3.981445330404934e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: -6.397244204909251e-8, + c: 1.437883502386019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: 1.120161370018575e-8, + c: 1.559840472386730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -1.043301798403909e-7, + c: -1.140106149293531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + Term { + s: -1.510202426513662e-7, + c: 2.367361153457769e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0], + }, + Term { + s: 4.553153383560692e-8, + c: 1.443390961360233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0], + }, + Term { + s: 3.870475067995682e-8, + c: 1.440986579699939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 1.488137194406867e-7, + c: 1.005663222216802e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21002, 0, 0, 0], + }, + Term { + s: -1.282916822232022e-7, + c: -6.645074213085183e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0], + }, + Term { + s: 2.511210608150035e-8, + c: -1.417282783825014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -1.425353202897939e-7, + c: -1.427838349562113e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: -1.152612798874423e-7, + c: 8.337649423068387e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: 1.111956868723257e-7, + c: -8.852305919583249e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: -1.020332401142776e-7, + c: -9.626792788054587e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 6.239837272835184e-8, + c: -1.224904422149184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: 1.207460985958575e-7, + c: -6.527971743173132e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: 1.049080936094611e-7, + c: -8.846286734943897e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: -8.417830104379206e-8, + c: -1.060280417203670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: 9.721539568487842e-8, + c: -9.395729400238525e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0], + }, + Term { + s: -9.241527060724794e-8, + c: 9.637082723858745e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 6.526703900042027e-8, + c: -1.161017025914825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: 3.436444316686740e-8, + c: 1.275753634598292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: -3.738548682952987e-8, + c: 1.175276132341375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -8.321665798150539e-8, + c: 8.854060930209971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -1.516875390293482e-8, + c: -1.193853605829002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: 1.140371492765484e-7, + c: -3.824557540290591e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: -8.196285814302741e-8, + c: 8.724175542855265e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: 9.246630782741976e-8, + c: -7.592547060710676e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1440, 0, 0, 0], + }, + Term { + s: -2.908516033193911e-8, + c: 1.145271884783352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 3.668016359986400e-8, + c: 1.110589785248717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -2.145066188470345e-9, + c: 1.166578096071533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 6.058984893287422e-8, + c: 9.917173830652882e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: 1.054851950031524e-7, + c: -4.657286343886391e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3755, 0, 0, 0], + }, + Term { + s: 1.136027786055923e-7, + c: 1.717240222260144e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4367, 0, 0, 0], + }, + Term { + s: -1.017321771178528e-7, + c: -4.299683594599634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -1.100836986905371e-7, + c: -7.655383095486240e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: -2.370712669852119e-8, + c: 1.042758367312178e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 5.441181629842620e-8, + c: 9.099793515446781e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: 7.640086578479965e-8, + c: 7.068708340880528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: -5.260065837759356e-8, + c: -8.916111914404505e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: -9.239429001049379e-8, + c: 3.948172626295742e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 2.533566020437000e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.774195586429015e-3, + c: -2.189791682444253e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -5.898717141021054e-4, + c: -1.302952706727716e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 6.276657259006306e-4, + c: -5.785746610811347e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -4.678723633355116e-5, + c: -3.033821877045902e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.322665037683528e-4, + c: -1.623431275626206e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 5.147433773370007e-5, + c: -1.684657857421268e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 2.760516544377532e-5, + c: 1.371667233382944e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 1.706262137628792e-5, + c: -1.142698557098498e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.423043268450788e-5, + c: -8.265424046422935e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -3.828660356462898e-6, + c: 3.608437065425580e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -2.312048818525279e-6, + c: 3.105055544706282e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -2.270329998007695e-5, + c: -8.724544655003220e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -2.064271821605269e-5, + c: 5.578326124078644e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -1.138078526175799e-5, + c: -1.351350316904303e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.328118447291057e-5, + c: 1.057466067428745e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.168807427750745e-5, + c: -8.270980139228121e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -5.188388695528234e-6, + c: -1.150553493822152e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -5.228544847551160e-6, + c: -9.017473547568312e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -3.837216451600877e-6, + c: -9.309934296822535e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -9.616948368005957e-6, + c: 2.482857510830223e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -7.438537657819824e-6, + c: -6.505578762342507e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 8.665825943382304e-6, + c: -4.551215645803586e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -6.914811607410515e-6, + c: -6.307260984262461e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -6.712437727340859e-6, + c: -4.453073541505422e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 4.044925722429662e-6, + c: 6.946605184410780e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -7.056344692227627e-6, + c: 1.052265806229392e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 1.627310108602020e-6, + c: -5.718326699352906e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -9.579870387046734e-7, + c: -5.680727313131309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -2.529976738856699e-6, + c: 4.813014843120463e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 6.021619299320157e-7, + c: -5.326987182377431e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 1.252420769333474e-6, + c: -4.281678676391708e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -2.676631382192797e-6, + c: -3.267731148809215e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -2.209137037789202e-6, + c: -3.345395122576553e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 8.623091425689982e-7, + c: -3.288205424058657e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -3.124322708974014e-7, + c: 2.990111554624856e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 1.020385866767430e-6, + c: -2.809059193522931e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.709712246656445e-6, + c: -5.775766281424653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 2.762357517165933e-6, + c: -4.926879984355154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.570442833495202e-6, + c: -2.212694881569677e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 6.409192433126754e-7, + c: 2.508725758908187e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -7.870625674183737e-7, + c: -2.419639318318138e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.416711000596896e-6, + c: 5.028483984987158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 2.334608695799517e-6, + c: 3.055674775713102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: 1.427484438146024e-6, + c: 1.687654424858826e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -8.673980891690107e-7, + c: 2.029489268449465e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 1.977805786338770e-7, + c: 1.914370404460822e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 1.586467410582049e-6, + c: -1.032719829390570e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 1.483589869436369e-6, + c: 1.173610457641116e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -5.514071851882243e-7, + c: -1.777905380353009e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 8.095047127067379e-7, + c: 1.661373464003596e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 1.844446900888889e-6, + c: 7.447800302758998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 1.796760964260882e-6, + c: -1.371919060495683e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.382952059656060e-6, + c: -1.142022497652000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 1.718319133802047e-6, + c: -4.303595052091818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -1.392875942872444e-6, + c: 1.027597493106016e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 7.830535379605423e-7, + c: -1.529250317504361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 1.621112820718824e-6, + c: -3.281786505638488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -8.101063508594762e-7, + c: -1.378214456510808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.459853693046104e-6, + c: 5.244784600936393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.514713501953828e-6, + c: -1.938282096598338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 4.262925472123653e-7, + c: -1.446959491790859e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 2.000157699356468e-7, + c: 1.392996460132322e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 1.385731396014514e-6, + c: -1.284985767296312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 1.348125416346772e-6, + c: 2.274835666118242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 1.065686301062969e-6, + c: 8.495476052680025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 5.972773958329243e-7, + c: -1.152189762079288e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 2.482436413431028e-7, + c: 1.237147607022672e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -1.130793749959688e-6, + c: -3.226156732225321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -1.110877204085390e-6, + c: -3.547420712587944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 1.140258096532956e-6, + c: -5.572424320826125e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -4.086747917902982e-7, + c: -1.063778324210502e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -5.490849652929070e-8, + c: -1.133646518093499e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -9.987721987250520e-7, + c: -5.078410186697256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 1.026334821447209e-6, + c: 2.602113976499926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 6.478181089373702e-7, + c: 7.818986557727037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 2.174831015202737e-7, + c: 9.896829208274660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: 9.632397294435039e-7, + c: 1.758903374552714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 7.892313198476133e-7, + c: 5.114053365542598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -1.633721823792118e-8, + c: -9.368789589710436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -1.663081763990391e-7, + c: 8.831273357260463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: 7.628780205057222e-7, + c: 4.360391524171234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -1.220423553175924e-7, + c: -8.316604199004203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 1.568458532136525e-7, + c: -8.197511197709898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 3.387750190381435e-7, + c: 7.433996483081767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -6.468652333169060e-7, + c: -4.934429252118258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 7.535441406184371e-8, + c: 8.078224621276935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 2.670988290870820e-7, + c: 7.413132323280725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 7.790358733541265e-7, + c: -7.892920977241494e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -5.793180123214043e-7, + c: -5.175695632555083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 5.398733410642509e-7, + c: -5.511758166591276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 7.654431834570759e-7, + c: -5.987147930346983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -5.921694467188857e-8, + c: 7.467580485520751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: -3.342816508316340e-7, + c: -6.643184434542097e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -3.941699053419810e-7, + c: -6.249508269188286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -6.151784697042566e-7, + c: 3.813434869739727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -6.013910064652532e-7, + c: -3.603117856373398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: 3.140311880684765e-7, + c: -6.267461710665155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 1.689528465350530e-7, + c: -6.631309917044530e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 2.370523551921723e-7, + c: 6.390931372423058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 4.878930302616137e-7, + c: -4.641364450053425e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 6.458030831148952e-7, + c: 1.809866205680404e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 4.140454948510902e-7, + c: -5.254628118351345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 2.764081405236768e-8, + c: -6.420028947067333e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 6.084802028075335e-7, + c: 2.017506943799248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -3.265500820745969e-7, + c: -5.393055762763029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 1.406151278104594e-7, + c: 6.109243996793050e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 3.047410280649543e-7, + c: -5.453347258684100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: -3.555886059454784e-7, + c: -4.906696352143207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 5.821607151179129e-7, + c: 1.436011417610400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 3.788801451833758e-7, + c: 4.530479565545845e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: -5.554766440568413e-7, + c: -3.844604130060142e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -5.049816674867819e-7, + c: 2.224651355000907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 2.191654890192896e-7, + c: 4.949221347947669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -5.228791804247841e-7, + c: -2.729298776670720e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: -4.919851898153212e-7, + c: 1.700406681656043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 2.160250834104834e-7, + c: 4.623583085553345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 4.574768122427481e-7, + c: 1.906769962232766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -4.291641718912529e-7, + c: -2.449400271636761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -4.194305361790492e-7, + c: -2.523124483244127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 2.184182852036778e-7, + c: -4.330707917670709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: -7.988135754116346e-8, + c: -4.651729072785763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: -4.612930750045501e-7, + c: -7.279405736827822e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: 2.810291046412065e-7, + c: -3.393777309857886e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -2.387511281791305e-7, + c: -3.692878978779141e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.679709346989642e-7, + c: 3.389329537286359e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -3.899086358563966e-7, + c: -1.463786385228904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 4.140636332137526e-7, + c: -2.607763099542524e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -3.736924596481024e-7, + c: -6.854632281772420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: -3.264078151208699e-7, + c: 1.743782137778848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: -2.667084945093864e-7, + c: 2.543281561444013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 3.650174975175056e-7, + c: -3.350088849757150e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 6.762054472494009e-8, + c: 3.564074265851295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -2.050018412512574e-8, + c: 3.605900303785446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -2.039991458356986e-7, + c: -2.951906633522604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: -2.350627141531516e-7, + c: 2.528783062913116e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 3.293895894077021e-7, + c: -8.841557136662516e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: -1.166794495443458e-7, + c: 3.194008224007087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -2.489683906564314e-7, + c: 2.256982169798921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 2.230708509074900e-7, + c: 2.461432447878806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 3.462194225802088e-8, + c: 3.254619625126594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -2.663136937547139e-7, + c: -1.853463075533297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 2.260136847040435e-7, + c: 2.302772726832839e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: 2.850284832101579e-7, + c: 1.458317676159054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 2.012597421861650e-7, + c: -2.402244339803500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: -8.047776915086212e-8, + c: -2.998567065278525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 2.961320905342876e-7, + c: -9.102983626527435e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 3.096960038557376e-7, + c: -6.054990853186844e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 2.139183740835055e-7, + c: 2.232084582526592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2282, 0, 0, 0], + }, + Term { + s: -3.023754374901314e-7, + c: -5.562376042371790e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 1.466972828823887e-7, + c: 2.634733313258527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -2.996057922741031e-7, + c: 1.389186924792796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -1.422023667274949e-7, + c: 2.518695878174497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: -2.755735301413683e-7, + c: 6.333506993299805e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -2.177495605319987e-7, + c: 1.555513037622653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -1.950743429073322e-7, + c: 1.820852311917180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: -2.410777741180829e-7, + c: -1.134095210220131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 2.544690242377534e-7, + c: 7.802190340471294e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -2.263338889624647e-7, + c: -1.360904385822133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 2.480834204072473e-7, + c: -8.664301087215380e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -4.587708609396132e-8, + c: 2.466710940353707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: -2.348520788439095e-7, + c: -7.333778917063789e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -9.818123342087816e-8, + c: 2.141211713337637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 1.874661134549371e-7, + c: 1.369583189644243e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: -1.816232671801666e-7, + c: -1.394469234576866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: -2.134635618353622e-7, + c: 8.032908615261747e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -1.532742428235471e-7, + c: -1.686475586460659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -1.634581768040767e-7, + c: 1.511909155612654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -1.740685929430158e-7, + c: 1.381881137834215e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: -1.245991251746210e-7, + c: -1.839889432480236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -9.486867212563574e-8, + c: -2.008083635453143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 2.142936987759591e-7, + c: 1.374052987988895e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: -2.066987497753925e-7, + c: -3.157325591604154e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -3.834370944857136e-8, + c: -2.013350712836726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: 1.096586449399227e-7, + c: -1.722225832532252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: -1.489456738279116e-7, + c: -1.369403100277944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0], + }, + Term { + s: -1.218213230714422e-7, + c: -1.465068331743681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4634, 0, 0, 0], + }, + Term { + s: -1.894629986942567e-7, + c: 1.013863653122052e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 1.719666756037231e-7, + c: 7.938775221034509e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -1.874057349448767e-7, + c: -2.027727782649632e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: 8.013094816770138e-8, + c: -1.700001846003585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: -3.013749799047245e-8, + c: 1.846664120336782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13978, 0, 0, 0], + }, + Term { + s: 4.503560531829906e-8, + c: -1.777037817139461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -1.327820401767772e-7, + c: -1.186952441657122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4328, 0, 0, 0], + }, + Term { + s: 1.704068871011260e-7, + c: 4.251590818854476e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -7.594721243895381e-8, + c: -1.582900631876065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, 0, 0], + }, + Term { + s: -8.319201053218861e-8, + c: -1.433619374945537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: -1.492954557575460e-7, + c: -7.150249944227257e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 6.756794512325107e-8, + c: 1.496264225119844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: 1.226207126487045e-7, + c: 1.008191734509005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -1.493563515010814e-7, + c: 3.250204559960674e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4041, 0, 0, 0], + }, + Term { + s: 1.427836314754723e-7, + c: 5.025207770675023e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -1.343159117325458e-7, + c: 6.973519955027796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 5.442359229151342e-8, + c: -1.410894210578001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: -1.058740498893490e-7, + c: -1.055831375603006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 8.179422424311633e-8, + c: -1.249080440981952e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: 1.123839967666645e-7, + c: 9.641126375167491e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: -2.575854387877666e-8, + c: -1.442609666186387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -4.253081967007917e-8, + c: -1.401736491295463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461, 0, 0, 0], + }, + Term { + s: -5.171223177796082e-8, + c: -1.354028840155557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: -7.916080425179101e-8, + c: -1.178073008463650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: -1.245547006653442e-7, + c: -6.480823048713564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 9.028240174151670e-8, + c: 1.074665031383561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2018, 0, 0, 0], + }, + Term { + s: -9.154908224374740e-8, + c: 1.059439637838028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -7.616913683432065e-8, + c: 1.172365264777756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30655, 0, 0, 0], + }, + Term { + s: 1.390826316929600e-7, + c: 9.558438091298728e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -8.528972484441450e-8, + c: -1.078894693067591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, 0, 0], + }, + Term { + s: -7.599825259954880e-8, + c: 1.120399790817838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 2.464197316974806e-8, + c: -1.318660358122694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 1.143979950027828e-7, + c: -6.893861158845467e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -1.283825128550338e-7, + c: 3.127071926091172e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 4.799854812222451e-8, + c: -1.228825207893741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -1.302573992298059e-7, + c: -1.633283092539245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2867, 0, 0, 0], + }, + Term { + s: -9.147882888696378e-8, + c: -9.169610177136492e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18511, 0, 0, 0], + }, + Term { + s: -1.277737618430590e-7, + c: 1.830481891732312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0], + }, + Term { + s: -3.778651675346896e-8, + c: 1.211549958432812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -1.164846680930656e-7, + c: -4.669635959628089e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 1.642923065297744e-8, + c: -1.236019870344756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 1.059793259920145e-7, + c: -6.387713058229319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: 9.731183867605334e-8, + c: -7.475527259182468e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 1.204806242242870e-7, + c: -2.211318624678822e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 8.833113167228613e-8, + c: 8.280925770229634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2879, 0, 0, 0], + }, + Term { + s: -1.499929121980502e-9, + c: 1.204979194275612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: -1.835560686094322e-8, + c: -1.165126141919862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 0, 0, 0], + }, + Term { + s: 8.876670964525148e-8, + c: 7.375401424709726e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -1.002865261851108e-7, + c: 5.560225481921019e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: -9.900032013953642e-8, + c: -5.668754436042888e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -1.055394488478307e-7, + c: -3.903731592244126e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: 7.547021308324601e-8, + c: 8.336179701607661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 7.944000680926580e-8, + c: 7.957178337960527e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0], + }, + Term { + s: -9.574057993575707e-8, + c: 5.658185959441898e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: 1.085296141561110e-7, + c: -8.993427538146811e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: -1.023370633470876e-7, + c: -2.988423549482844e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: -1.034717247978578e-7, + c: 1.847698581344527e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 1.023575360806107e-7, + c: 1.983569952555991e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0], + }, + Term { + s: -7.085442314737397e-8, + c: -7.641828010416613e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 8.776387449184907e-9, + c: -1.037175784064338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: -9.059426868604882e-8, + c: -4.843772270300001e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1783, 0, 0, 0], + }, + Term { + s: -8.095044966755835e-8, + c: 6.056334528942387e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -1.827221883916392e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.095122513962722e-5, + c: -4.238220551453537e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.355549886699970e-4, + c: -2.421495016152030e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 1.487759036099257e-4, + c: -1.673195354235499e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -4.685942995362513e-5, + c: -4.051458090246665e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 2.852396629063726e-5, + c: -4.425547936399682e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 4.041450696427345e-5, + c: -2.662616379120394e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.721883532810348e-5, + c: -2.351081222957304e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 1.397674046356650e-5, + c: -7.937557676809400e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -1.084111703881468e-5, + c: 9.730597804442680e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -9.412077662581672e-6, + c: -4.574185427208809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -7.157258749877931e-6, + c: 1.412897863367555e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 3.749447028275166e-6, + c: -3.573801487718572e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -2.415534770207500e-6, + c: -3.017106931538479e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 2.252735079263864e-6, + c: 2.853480588070807e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 2.738496629412260e-6, + c: -2.378768272277558e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -7.993152152506541e-7, + c: -3.366933922504954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -6.224191174183055e-7, + c: -3.186297486654263e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -2.526795331026094e-6, + c: -1.422257447216810e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -1.077459972133768e-6, + c: -2.512125271980198e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -3.683675570175604e-8, + c: -2.491473366912655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 1.476830597937088e-6, + c: -2.006132776175565e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.558657084293477e-6, + c: -1.557481190409601e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -1.648947903439753e-6, + c: 4.110083271903307e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.517394728777349e-6, + c: -5.380625364694750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 2.511509399902969e-7, + c: -1.499110555307542e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -7.630082494985176e-7, + c: -9.627355310961562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 1.176661511108237e-6, + c: -2.445462743688705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 9.261771149885122e-7, + c: 7.453059167302657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -3.894611338145309e-7, + c: -1.109769614508398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 1.121642558684852e-6, + c: -2.907527939918454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 2.925310513299096e-8, + c: 1.123559995796843e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -8.694530982092124e-7, + c: 6.631453135738980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 8.270446782058742e-7, + c: -5.341330054597724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 8.052751302096280e-7, + c: -5.248907247510267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -6.445680566054676e-7, + c: -5.088629720263640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 4.752802583768523e-7, + c: 6.636742247942397e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -2.493286612501771e-7, + c: -7.676731867011536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -3.021297701980075e-7, + c: 7.024174906528997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 6.097018118972179e-7, + c: -4.445913439026741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -3.703295759379539e-8, + c: -7.532159466368436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -4.053413014231973e-7, + c: -5.970375322812653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 7.137401964830118e-7, + c: -9.669492072636787e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 7.127508737455403e-7, + c: 1.679988717523069e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 4.601763121815219e-7, + c: -5.288621409630919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -3.306215818258190e-7, + c: 6.166722550867055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 3.733624918332099e-7, + c: 5.846821866276358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -6.887220549671688e-7, + c: -4.118436199353817e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 2.116185741385759e-7, + c: -6.472450785769597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 4.562096848205000e-7, + c: -5.029384359378662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: 6.470339419669003e-7, + c: -1.307404437587857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -6.124274096629412e-7, + c: -1.920384328477673e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 6.291041497514999e-7, + c: 2.425756925473273e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -5.363795183500496e-7, + c: 2.914597611206511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -2.860958866197685e-7, + c: 5.343818441804503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -6.019701682506677e-7, + c: -7.300805915157131e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 4.228791570137983e-7, + c: -4.266640162969972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 4.785423755526919e-7, + c: -3.480555299700455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -7.553296804706411e-8, + c: -5.796772964229468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: -5.298246519588235e-7, + c: -2.103734656311413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: 4.073843379348745e-7, + c: 3.799840558940139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 2.381594842403506e-7, + c: -4.853918764368569e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.650669426460466e-7, + c: -4.405048979257049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: -4.233725198778195e-7, + c: -2.902779662546577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 3.042144090179331e-7, + c: 3.592742840950281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 3.975472195194760e-7, + c: 2.237327115464547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -2.255692565972997e-7, + c: 3.915242412646111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -4.056240846391903e-7, + c: -1.940961767657375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 4.167831892303783e-7, + c: 6.635745492603245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.447357652985443e-7, + c: -3.484950486852240e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -2.193230372426518e-7, + c: 3.070469509126325e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 3.308766368560299e-7, + c: -1.762101376064755e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -2.456703151679188e-7, + c: 2.757686307435560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -8.972971835435862e-8, + c: -3.432558197231232e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 5.541871984578596e-8, + c: 3.484679450923249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 1.722655877587476e-7, + c: -3.075027466542237e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 1.208250090221836e-7, + c: 3.265574646459954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -2.162224993427258e-7, + c: -2.586655956299420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 3.151729700289485e-7, + c: -6.307567165269656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -1.536273821984242e-7, + c: 2.803180485570509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -2.265269372396731e-7, + c: -2.138168451104560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -2.471852782833658e-7, + c: -1.759083226611930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -1.275326858929017e-9, + c: 2.965224863341665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -2.245398165636745e-7, + c: 1.905477131709413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 2.154332361407964e-7, + c: 1.838410196304304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -2.338102128978496e-7, + c: 1.394446011331591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -1.256301524292117e-7, + c: 2.398667338871539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 2.453732310181118e-7, + c: -1.115528123802450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -1.040459895814462e-7, + c: -2.408179754084117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 2.464299089530880e-7, + c: 8.980214184884116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5820, 0, 0, 0], + }, + Term { + s: -1.304061184577042e-7, + c: 2.239341453912973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 7.436935532879786e-9, + c: 2.579807851661541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.314689100283994e-7, + c: -2.154041312931768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 6.461512804162361e-8, + c: 2.406705033236766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -7.818281208398640e-8, + c: 2.347304163624103e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -1.298871394419048e-7, + c: -2.070289096764345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: 1.331566188874400e-7, + c: -1.975030639492599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: 1.009245719389443e-7, + c: -2.038623047456818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0], + }, + Term { + s: -6.533059532915095e-8, + c: 2.139486512642985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 1.836853982074147e-7, + c: -1.219993966842417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.304606042397673e-7, + c: -1.773602964664774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 1.528204762788157e-7, + c: -1.535470226079037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 1.934508581791708e-7, + c: -9.282554542193278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 3.784176205330718e-8, + c: -2.027123682423011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 1.162000320842434e-8, + c: -1.932161059814285e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 2.662490304264915e-8, + c: -1.852475136098382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -1.767311478800179e-7, + c: -5.431218897212881e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 1.450521920581984e-8, + c: 1.830801519863034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -1.071695810976390e-7, + c: -1.445919353103747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 0, 0, 0], + }, + Term { + s: -1.752339852024766e-7, + c: -3.299235185287001e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -1.675279073510170e-7, + c: -5.441280243239604e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -1.583418460597089e-7, + c: -7.366778579923526e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -1.724037612250050e-7, + c: -2.530019185946270e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: -9.259976492846057e-8, + c: -1.464007043332428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -1.530633645302597e-7, + c: -7.990561924056331e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -9.065790878863932e-9, + c: -1.700893578504751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 6.058272394418028e-8, + c: 1.585478581644313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -8.176209118698808e-8, + c: 1.480447447665439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: 1.678495630004639e-7, + c: 1.918994434560208e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: 1.056639254761283e-7, + c: -1.261149063292527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: -1.450779952617626e-8, + c: -1.559542663078091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871, 0, 0, 0], + }, + Term { + s: 4.526536311804760e-8, + c: -1.487580407961879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 7.984389036612117e-8, + c: 1.327429600756947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 2.955508439697049e-8, + c: -1.496227515816265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -1.483141331672233e-7, + c: -1.327284232908819e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 7.458913759893298e-10, + c: -1.487543381932302e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 1.229444374716667e-7, + c: -8.111777211797813e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -1.452382067915308e-7, + c: 7.921642880484569e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: 1.384488311502456e-7, + c: 3.689276471884327e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.406775111361026e-7, + c: -2.132293521219564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -4.052056919562008e-8, + c: -1.337306846077560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -6.051275122644840e-8, + c: 1.232740525427898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947, 0, 0, 0], + }, + Term { + s: -2.366556271062157e-8, + c: -1.315757122376920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 1.078763226685798e-7, + c: -7.546647983757283e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0], + }, + Term { + s: -6.173197896725186e-9, + c: -1.306793871337907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -1.296575821847519e-7, + c: -1.456340414528581e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -8.957916842616315e-8, + c: 9.285103860892526e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.156112883793800e-7, + c: -3.583058300906662e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.129535625410238e-7, + c: 4.265676500518815e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -7.406479482634220e-8, + c: 9.204122122978364e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: 4.076580923456313e-8, + c: -1.092551249285003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 1.071713592993441e-7, + c: -3.143533247743351e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 1.388095528691358e-8, + c: -1.102962993187590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: -5.544323846577307e-8, + c: 9.626902895211768e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -1.011702011922321e-7, + c: -4.357863141143943e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -1.058427613763358e-7, + c: -9.054329732974960e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -1.614227527585072e-9, + c: 1.055947957452179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 1.021818702810572e-7, + c: -1.928428121399699e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 7.669184099099486e-8, + c: -6.894910601925518e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 7.498026886475798e-8, + c: 7.003748517894973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -1.392277787048450e-8, + c: -1.012336453886301e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: -8.402353818687085e-8, + c: -5.569240431712412e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1414, 0, 0, 0], + }, + Term { + s: -9.590560105954895e-8, + c: 3.073901013988161e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 1.940993166707158e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.105543966139528e-5, + c: -5.252817725916595e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 3.538715555632108e-5, + c: -6.073831660318774e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.553889137184063e-5, + c: 1.596727656396245e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -2.129598544021322e-5, + c: 1.533206503293876e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -4.808289865541006e-7, + c: 1.471220805158510e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 1.199327981039578e-5, + c: 2.628512051742143e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 6.596721558462596e-6, + c: 5.326948364945442e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 3.265878238855378e-6, + c: 5.591262544276476e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 2.029699543666262e-6, + c: 1.878658865242693e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 1.702769726119794e-6, + c: 1.010983268432069e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 1.650123242872151e-6, + c: -1.015316462557004e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 4.130219407672168e-9, + c: -1.647633257828461e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -6.198930064759636e-7, + c: 1.450160779166409e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.110776781181302e-6, + c: -2.820484864681383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 7.135785358709645e-7, + c: 7.294645308511369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 8.527649050170823e-7, + c: -3.617095100768536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 7.594404155974586e-7, + c: 4.382442339653702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 8.108421393152736e-7, + c: -2.207033490545121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -4.598695265700150e-7, + c: -6.179551236748634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 6.079906256791949e-7, + c: -4.144866382466707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 4.151035283749601e-7, + c: 5.399382753310308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -5.573968585626713e-7, + c: 3.737712711648112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -3.141956734505623e-7, + c: 4.332646496666144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -3.161340309169003e-7, + c: -4.183958358214204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 2.336114851633188e-7, + c: -4.583547726464803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 4.694757521487748e-7, + c: 1.791340966359454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 2.756795276424942e-7, + c: -4.063317133572382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 4.429166345675170e-7, + c: 1.460929550105567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -4.558706188951512e-7, + c: 3.176381817431621e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 3.422531032952800e-7, + c: 3.014365701401539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -2.549851565286914e-7, + c: 2.934006761712366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 2.378716362925852e-7, + c: 3.012750790378484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 2.405072401945221e-7, + c: 1.996060135455026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -2.173474310531323e-7, + c: -2.037845296427272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -1.876223335483608e-7, + c: 2.257849055414519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 2.849173187050287e-7, + c: -3.729666778968525e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -1.617426084283113e-7, + c: -2.322291855594067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -2.080699865774326e-7, + c: -1.834985888392190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 1.969218567907862e-7, + c: -1.937859067841969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -2.745313258149460e-7, + c: -1.263027247924097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -7.749741448147834e-8, + c: -2.606373939898790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -1.507583768619440e-7, + c: 2.249773208567555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 8.874243781335914e-8, + c: 2.231975264477261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 8.761128830398234e-8, + c: -2.225417792442919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0], + }, + Term { + s: 1.533494256527033e-7, + c: -1.789827396798071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 7.099261193019051e-8, + c: 2.141762958977242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -2.217632496467001e-7, + c: -2.005945008587111e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 1.057716950320203e-7, + c: 1.894725027827633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 3.164387914930595e-8, + c: 2.073668656747486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 9.239800336283759e-8, + c: 1.742351619362936e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.604111193031194e-7, + c: -1.091385691048045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 9.804345391310046e-8, + c: 1.673461011266385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -9.280418541413211e-8, + c: 1.673973018405063e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 1.245685695344664e-7, + c: 1.437382710803304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -1.782785831078492e-7, + c: -5.521892702628928e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -1.299285153363185e-7, + c: 1.321515881685293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 1.062215619506593e-7, + c: 1.518548769269581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.631560505518684e-7, + c: 7.997848692120664e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.529624191051901e-7, + c: -8.111248244514482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0], + }, + Term { + s: -1.563093511003465e-7, + c: 5.611065089483319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 1.542390465142431e-7, + c: 4.294122909083851e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 1.492694681731059e-7, + c: -5.029539601867337e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 1.179036200015896e-7, + c: 1.037444100795619e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -1.503451514816830e-7, + c: 4.418654514216092e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 8.614194041837418e-8, + c: -1.225540913108930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -1.436763171523979e-7, + c: -3.758840586042225e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 1.466306032073119e-7, + c: 5.153231540588706e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 6.315122727105484e-8, + c: -1.280499936985771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -1.077063518475560e-7, + c: 9.034344792678257e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -1.000294984432880e-7, + c: 9.458244382388409e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0], + }, + Term { + s: 1.289033263377669e-7, + c: 3.750790215149894e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1390, 0, 0, 0], + }, + Term { + s: 2.927556135219852e-8, + c: 1.295214792136893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -1.215837861312996e-7, + c: -5.070805085080867e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.254142741323994e-7, + c: 2.448634386272981e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -1.070797613966434e-7, + c: 6.829788374200767e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.773849809935318e-8, + c: -1.228910853745554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -1.090823957231096e-7, + c: -6.106178521123490e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: -1.222925142676916e-7, + c: -2.193615302369187e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.118893232903481e-7, + c: 3.724250097005303e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -7.286633168429707e-8, + c: -8.947380507339402e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -2.265588179509338e-9, + c: -1.150665619977539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], + }, + Term { + s: 9.255766841798302e-8, + c: -6.762989017488954e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -1.074374549072114e-7, + c: 3.689064377311188e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: 4.752635571314800e-8, + c: 1.025054973848913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -6.935929829609981e-8, + c: 8.539192385679678e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -1.049231832068469e-7, + c: -2.767402734827717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 7.424351697534476e-9, + c: -1.073805943956938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -9.650422933030661e-8, + c: 4.744585991416285e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -2.310581499614840e-8, + c: -1.025903308084864e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 7.787390769275121e-8, + c: -6.982506767886150e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0], + }, + Term { + s: 3.583745077891927e-8, + c: -9.650724270849548e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -9.650338851249451e-8, + c: -2.900441636191926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: 8.609995915056679e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.207925178136485e-5, + c: -5.354487203724191e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.131432366268294e-5, + c: 3.961594442524670e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 1.416575519643789e-6, + c: 8.010388807307164e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.323164105402627e-6, + c: 5.143438409854455e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 2.445309691781898e-6, + c: -3.877922144140478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 7.334325628654047e-8, + c: 2.403834941607112e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -1.157162589159862e-6, + c: -1.054733114713278e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -5.570137658701093e-7, + c: 1.012641271346408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -2.015315874062918e-7, + c: -8.441357990690125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -1.849442665006081e-7, + c: 8.335310620520295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -2.023156796694365e-7, + c: 3.531784615709617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 2.954335002899105e-7, + c: -2.079531000250659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -2.427045161391293e-7, + c: 6.945200713732407e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -1.040354446866618e-7, + c: 2.174338027659663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -2.248377110366225e-7, + c: -2.358034533033488e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 2.185215668644940e-7, + c: -7.644360143969013e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -9.299906933858505e-8, + c: 1.546448843084979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -1.271291068635865e-8, + c: -1.794070395980426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -4.402488433647675e-8, + c: 1.741956470565990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.633332005233633e-8, + c: 1.772787458647059e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 1.582398409392736e-7, + c: 4.354563895798602e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -1.415002673379765e-7, + c: -3.722690758973494e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 7.444254513649384e-8, + c: 1.249055303898834e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 9.191855533799555e-8, + c: 1.091444624210638e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 9.738308655856440e-8, + c: 9.142959894824463e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 1.250013718066727e-7, + c: 3.583377340489383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -2.067693085840442e-9, + c: 1.182868066358531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 1.120132176087364e-7, + c: -3.582428228070129e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 9.145201945429534e-8, + c: -5.301734659237069e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: 0.0, + c: -3.279996740878934e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.232349616743976e-6, + c: 1.019518360475307e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 2.074169989516659e-6, + c: 7.632519614812367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.569635576595729e-6, + c: -2.509895957352539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -7.134694383400949e-7, + c: -1.111249789817078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 1.574782270036406e-8, + c: -5.654414442417120e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 9.735102549655660e-8, + c: -4.169883927951597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -3.857138161589988e-7, + c: 1.171384202059900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.196792734553474e-7, + c: 5.042031352630651e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 1.108645396345815e-7, + c: 1.537326467572083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -1.742726023995672e-7, + c: 3.496529992801832e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.443005349020988e-7, + c: -5.709209147904699e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[ + Term { + s: 0.0, + c: 3.419959542661816e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106232064317550e-7, + c: -4.854193242084329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -2.216547704452634e-7, + c: -5.536605914193796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.865762385313677e-7, + c: -6.217865864027891e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 1.168553231609286e-7, + c: 6.185735438276820e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + ], + }, + // T^7 terms + TimeBlock { + power: 7, + terms: &[Term { + s: 0.0, + c: 6.350000000000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^8 terms + TimeBlock { + power: 8, + terms: &[Term { + s: 0.0, + c: -1.500000000000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -1.787389594035000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.098587029494208e-3, + c: 3.162983274999299e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 1.111351916394093e-3, + c: -6.818035766386041e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.188512525896961e-3, + c: 1.691178126674371e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -6.384415855917175e-4, + c: 5.477416654201793e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -5.202692983014038e-4, + c: -2.143847360932968e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 4.688844501005826e-4, + c: -5.736884987935818e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 3.041528656368489e-4, + c: -9.604015745219853e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 2.747035182933081e-4, + c: 1.212412171419303e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -1.486754547816576e-4, + c: 1.103569323937478e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 1.505245081742923e-4, + c: -5.976741950356508e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 1.187425377558230e-4, + c: -1.008184164871075e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -1.171092303863328e-4, + c: -3.799869123647244e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.216576650855384e-4, + c: 1.793953433356989e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -1.038017861877245e-4, + c: -5.106582653159906e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -3.740996713714534e-5, + c: -9.610101245769318e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 9.186109202719307e-5, + c: -1.001137409554665e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 6.655181366592600e-5, + c: 6.311870028727661e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: 7.189526563112551e-5, + c: 4.636283929797844e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 4.881074939106922e-5, + c: 2.595113764587996e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 4.344244324629874e-5, + c: -3.179834455025136e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -3.731874831286885e-5, + c: -2.636530921314877e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -3.931567870616872e-6, + c: 4.537346787321163e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 4.260800832790013e-5, + c: -5.744091673531875e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.418848596710139e-5, + c: -3.262820623155274e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 2.874582503187039e-5, + c: -1.313898643977787e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -2.722910469534148e-5, + c: -4.571707087828539e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 2.577876427858203e-5, + c: 4.164990560362041e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 6.501964304254836e-7, + c: -2.608689139227517e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: -2.215562612679191e-5, + c: -1.260418115531293e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 2.164239678186164e-5, + c: 4.635025189496661e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.688262549319685e-5, + c: 1.378776156406485e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -2.043041575614306e-5, + c: 7.324348230175019e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -2.646655896838442e-6, + c: 1.768891479002440e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.117805143819771e-5, + c: -1.374347863474657e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -2.502141891436555e-6, + c: -1.452768543201794e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 1.342999781942663e-5, + c: -5.518852293064726e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 1.267731430430563e-5, + c: -6.322438030328303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -1.307791101125282e-5, + c: 2.937605411189579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 4.863919206513901e-6, + c: -9.762471329231536e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: -7.148418179052879e-6, + c: 8.191564106051850e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -9.714809766150046e-6, + c: 2.912613383992030e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -5.847993669107277e-6, + c: -8.110882839644468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 8.132048544977745e-6, + c: -7.410942638085205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 2.183299167772723e-6, + c: 7.706278210510441e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 7.298515262209897e-6, + c: -2.709705430592372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -6.952347832939826e-6, + c: 3.097830556247421e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 5.855255890789848e-7, + c: -7.500596370591683e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 7.131039074279037e-6, + c: 2.276715038571029e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 6.773917542579731e-6, + c: -2.881407449259578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -5.363385802530331e-6, + c: -4.825549044720142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -5.976026061524920e-6, + c: 2.416536383392725e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -6.364533072057865e-6, + c: -1.542046079703371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -4.198918039977566e-6, + c: 4.779120406468644e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 4.894203683974946e-6, + c: -3.253361974038308e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 2.419431853588488e-6, + c: -5.281616197054731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -3.807474112812859e-6, + c: -4.170458916056373e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -2.842681772142187e-6, + c: -4.386053369085743e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.666413235983186e-6, + c: -4.493785797775931e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 3.047915044623598e-6, + c: -4.039436381586789e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.841724460160485e-6, + c: -4.457049652201164e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.942940692458312e-6, + c: -4.368095581936446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 4.412972588096972e-6, + c: -1.428612151655954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 1.535075670078706e-6, + c: 4.244788886109706e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 2.651972279872279e-6, + c: -3.587548196138727e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -3.718048372755923e-6, + c: -1.806307213893683e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -4.128769383045025e-6, + c: -8.943997728106337e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -1.493128967776072e-6, + c: -3.824891852732326e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -1.330329819599819e-6, + c: -3.370656008596292e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -3.447450598752699e-6, + c: -5.422119660123574e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: 3.315356253138404e-6, + c: 9.202015145725576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 2.976883129682878e-6, + c: -1.713503991800835e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 3.021895378603047e-6, + c: -1.083134753898690e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 2.869322615875254e-6, + c: -1.286264344376794e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.822287605665174e-6, + c: -2.436538925933826e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 1.558512204026051e-6, + c: 2.603259291021656e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -2.840679597888473e-6, + c: -9.574524947347320e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 1.991016967376492e-6, + c: 2.172398369428405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -2.233546804978243e-6, + c: 1.815754586258037e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 1.759558859536817e-6, + c: 2.275203231024134e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: 7.046211490713900e-7, + c: -2.557668761389324e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 2.028354131123328e-6, + c: 1.569765875988469e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 2.210812243296499e-7, + c: 2.345914884625771e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: 2.080080686849607e-6, + c: 1.103902815121286e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 2.242100247863911e-6, + c: -7.184227702003305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 0, 0, 0], + }, + Term { + s: 1.956951536746566e-6, + c: 1.258288249498533e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.217385235394430e-6, + c: -1.863669914871444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 6.609989549637624e-7, + c: -2.059103646912627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.466890528302501e-6, + c: -1.544223889318724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 5.336114522881869e-7, + c: -2.061090025469001e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -1.819503796502716e-6, + c: -1.076448090271467e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 1.869837386074395e-6, + c: -9.594894174427108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -1.002468579800786e-6, + c: -1.843997349796942e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 8.535916715690096e-7, + c: -1.837724502380606e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -3.610922608200045e-7, + c: -1.899052603118327e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: 3.180127405464493e-7, + c: -1.888704022389193e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 6.134500692028654e-7, + c: -1.728047583956630e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -3.567446929671029e-9, + c: 1.832861131059820e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -4.889257977227172e-7, + c: -1.699753218946253e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -7.726475297487149e-7, + c: -1.562820868094882e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: 9.207865500309359e-7, + c: -1.428717436162540e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -8.236367829590892e-9, + c: -1.685522538548611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 7.127431153652098e-7, + c: -1.411555154557150e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -8.550174079981395e-8, + c: -1.543810387853325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.272495106261712e-6, + c: -8.474755498817764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 1.815921247802246e-7, + c: 1.486217343819298e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 1.487162611221711e-6, + c: -1.180066142604456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -1.469421561167912e-6, + c: -2.516951399725164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -4.648846167579548e-7, + c: -1.416116359370617e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -1.023820276114113e-6, + c: -1.026740535880013e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: -8.151752087447251e-7, + c: -1.173046816415250e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.315137744876972e-6, + c: 3.359377522710614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: 1.354207539758883e-6, + c: 1.047992627111155e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 9.298634965010839e-7, + c: -8.956883462002574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 1.010257370956024e-6, + c: -7.910217087082793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: 1.024096004069932e-6, + c: -7.178237803387803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -1.192899676296579e-6, + c: -3.382690797969508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -9.236840067065688e-7, + c: -7.917217612296211e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -8.761021000919991e-7, + c: 8.253924494265949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -1.744861489736837e-7, + c: -1.181305007238176e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: -6.301503023057227e-7, + c: -1.006592072745299e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 6.096020482302203e-7, + c: 1.017423676410989e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: 1.064648778492515e-6, + c: 5.206294131317299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 1.003461745134979e-6, + c: 5.858322358606213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -3.293619020232495e-7, + c: 1.076583718139686e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 9.750492679585972e-7, + c: 4.670593588705563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 7.783917623587662e-7, + c: -7.479841471947137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2965, 0, 0, 0], + }, + Term { + s: 6.964205026216294e-7, + c: 7.571204438494248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: 1.020454126376044e-6, + c: -7.049052158462511e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 9.576554109898192e-7, + c: 3.479958657802162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 7.177843426418990e-7, + c: 7.021773058426062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: 3.020563201490330e-7, + c: -9.363500072755924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -9.304804368269502e-7, + c: 3.066679886643637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 9.446386165246931e-7, + c: 1.704855960918632e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -5.613182554133302e-7, + c: 7.678387120093487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: 6.623258696078418e-7, + c: -6.709745098935255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: 4.243392759186455e-7, + c: -8.412249064088103e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: -8.836263403349737e-7, + c: -2.012221905397162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: -6.617630916506399e-7, + c: 6.086565683558043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -8.005020246907470e-7, + c: -3.715695577145419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 7.251106546212680e-7, + c: 4.677381376475717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 7.682923935770153e-7, + c: 3.763808014111493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -8.160469558271707e-7, + c: -1.235143885049945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 8.000885176291366e-7, + c: 3.880705808849936e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -1.355569582809359e-8, + c: -8.000919772510897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 2.085676770578529e-7, + c: -7.607603641924257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0], + }, + Term { + s: 6.560921124568861e-7, + c: -4.370219789033115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 7.498054497183195e-7, + c: -2.061308900903153e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: 4.926236177582109e-7, + c: -5.860139429318330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: 1.285435099576126e-7, + c: -7.505059171658541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 3.617805308824072e-7, + c: 6.590493662331288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -2.663588092826287e-7, + c: -6.991559650968737e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: -9.914256546934704e-8, + c: -7.165712588931204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 5.957632347294799e-7, + c: -3.523772734952128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: -4.696787148094442e-7, + c: -5.022733750835205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: 1.989176271009129e-8, + c: 6.682356384232519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: 4.714233887156234e-7, + c: -4.615569583717314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 6.406871117141902e-7, + c: -2.931030088407339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 6.397888095155884e-7, + c: -2.318545982320131e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -6.506409991215752e-8, + c: -6.349190202197549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -6.144387735470098e-7, + c: 1.369249253037851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 3.935380165557505e-8, + c: 6.211007927889498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: -5.243846885996831e-7, + c: 3.298968926201220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: -5.914115912125617e-7, + c: 1.753913591313955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: -4.996013851093595e-7, + c: 3.575962521287731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: -4.350730589432605e-7, + c: -4.134824267313328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: -5.196860518715819e-7, + c: -2.860014615357265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: -7.672691884351415e-8, + c: -5.858893947731878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -5.842787634816587e-7, + c: -3.314697759369202e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -3.591484897121393e-7, + c: -4.607101914427326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: 4.115052824229196e-7, + c: 3.872998000924616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 2.495478013822125e-7, + c: -4.995760865671984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 5.018001703717066e-7, + c: -2.372510023646295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: -1.076170741255540e-7, + c: 5.442922077434174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -5.453587404804227e-7, + c: -9.432745154616323e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -1.520030822430180e-7, + c: -5.248753785677760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: -4.822522094170675e-7, + c: 2.480021055694998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 5.408526514730390e-7, + c: -3.836970078532481e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 3.273639244933376e-7, + c: -4.190412479187227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: -3.032154452476654e-7, + c: -4.299089340567920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 4.268597735017685e-7, + c: 2.838658778679079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 4.731061704835482e-7, + c: -1.232327426565609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 2.858915829231143e-7, + c: 3.909997668344847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 3.082054811882766e-9, + c: -4.831896253984028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: -4.401702327688101e-7, + c: 1.869841876931955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14048, 0, 0, 0], + }, + Term { + s: -4.072404788812222e-7, + c: 2.266098414937344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: 4.501987087713135e-7, + c: -1.140826927742919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: -4.577964811424786e-7, + c: -5.669422909633660e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30584, 0, 0, 0], + }, + Term { + s: 2.016091887484862e-8, + c: -4.509803847193032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 3.784371681887611e-7, + c: -2.458878782608763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -3.044148027149930e-7, + c: 3.267297719404034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: 3.709381230953200e-7, + c: -2.416671227587854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 3.567270335032052e-7, + c: 2.438869461538504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 4.319245075393659e-7, + c: -2.573772289210382e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 3.218436743223531e-7, + c: -2.853483269698714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -4.135497832311372e-7, + c: 6.585095260583273e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -1.640294231936056e-7, + c: -3.803993066254868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: -3.077646315309541e-7, + c: 2.571520228970099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: 2.929813974883535e-7, + c: 2.728081550999133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: -1.958079546545764e-7, + c: -3.448288143023478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: -3.018576404116113e-7, + c: 2.534007496533483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -1.385270148389493e-7, + c: 3.671557214660386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 2.194624100318892e-7, + c: 3.174904462878466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 1.681902864809291e-7, + c: -3.416353282055022e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: -3.597982341234037e-7, + c: 1.003891104304740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: 3.477234089873231e-7, + c: 1.296084001694129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: 6.901245581007918e-8, + c: 3.446802612037956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: 1.507295880709678e-7, + c: 3.010141485401790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.495971296258282e-7, + c: -2.916901922345679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: 2.805814330099401e-7, + c: 1.602340250398564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -3.015691784803376e-7, + c: -1.144333259223144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -2.507106236865887e-7, + c: 1.854145618615314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 2.351864086427538e-7, + c: 2.021896150089054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: 3.058667444087414e-7, + c: -2.842897638271367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: -1.121357963373392e-7, + c: 2.842750982163044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: 2.133643230677084e-7, + c: 2.162402350904876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 7.648842002771883e-8, + c: 2.865341784498077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: -1.608127022483254e-7, + c: 2.337094559111979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: -5.549258591266667e-8, + c: -2.736221483714168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 9.091730319443813e-8, + c: -2.634914251408636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 2.061095471136026e-7, + c: -1.753027692814853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -2.649763954917467e-7, + c: -2.770597565925896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: 1.837654370155108e-7, + c: -1.882868649893452e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: 1.426854482488948e-7, + c: -2.175983785205340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -2.206232315637628e-7, + c: -1.369048397069954e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6812, 0, 0, 0], + }, + Term { + s: -2.227447766792198e-7, + c: -1.328116131195274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: -1.574843838754819e-7, + c: 2.017169802737192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -1.844779759590650e-7, + c: 1.770502427431392e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: 2.553601193347572e-7, + c: -2.203293736034997e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: -2.424306688896246e-7, + c: 7.567252690369677e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -2.488285038777975e-7, + c: 4.288949517958110e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: -2.419002533464169e-7, + c: -7.088149948685239e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: 3.445326145607652e-8, + c: -2.462419494152454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -2.108585184021740e-7, + c: 1.245107955748458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: -2.142338059869955e-7, + c: 1.138891469659294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -1.539539138757041e-7, + c: -1.797293388836878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -1.783101170643328e-7, + c: -1.505978205147134e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: 1.964395113703123e-7, + c: -1.177959464326261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: 1.081769323833054e-7, + c: 2.012248955100432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -1.616021499035232e-8, + c: -2.276152311870906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: -2.159329240157070e-7, + c: 6.040746138576669e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: -5.315710959454713e-8, + c: 2.131311171611622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18582, 0, 0, 0], + }, + Term { + s: -2.186746246981511e-7, + c: 1.604867456526047e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 1.288507977477224e-7, + c: 1.750059232565541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.742390154538099e-7, + c: -1.286723310985374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -9.832257153662185e-9, + c: -2.106900223564782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: -1.796900368943609e-7, + c: 1.102247033047494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 1.823849423502732e-7, + c: -9.543353835303530e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0], + }, + Term { + s: -9.230869980887496e-8, + c: -1.834362250347393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: -7.334103404493323e-8, + c: 1.910849828478408e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4705, 0, 0, 0], + }, + Term { + s: 1.310569128996458e-7, + c: 1.535547723879211e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: 1.949779436319108e-7, + c: 4.883299142992643e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0], + }, + Term { + s: 1.095984464461264e-7, + c: 1.642208545756750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: 1.914600039170414e-7, + c: 3.477598115443992e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.920012764356623e-7, + c: 2.892875253812902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: -1.547426573865254e-7, + c: 1.121831765650599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -6.527501674072553e-8, + c: 1.756660162288991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: 5.390232094636202e-8, + c: 1.790802431671342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -1.457409574158591e-8, + c: -1.847493673897847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: -1.505271538434332e-7, + c: 1.066475485374525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 9.569866779474575e-8, + c: 1.556555602153446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -1.506600902739215e-7, + c: -1.022653690386143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: 1.212953584899778e-7, + c: -1.298200622136148e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: -4.324115339606058e-8, + c: -1.720633593440321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 1.389512449122492e-7, + c: -1.091733066645393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8721, 0, 0, 0], + }, + Term { + s: -1.669626630882969e-7, + c: 3.605094331569119e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: -2.029354551150243e-8, + c: 1.686894740203924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399, 0, 0, 0], + }, + Term { + s: 1.121314596726962e-7, + c: 1.269043716752614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4112, 0, 0, 0], + }, + Term { + s: -2.290141989696382e-8, + c: 1.677137560208918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: -5.851818306174562e-8, + c: 1.575734953132709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 6.449629215271251e-8, + c: 1.542958482734191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: 1.368757595205522e-7, + c: -9.449852642433123e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: -1.239422653056131e-8, + c: -1.657463368177108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: 8.384481077810684e-8, + c: 1.419021632777557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2046, 0, 0, 0], + }, + Term { + s: -1.618628835548284e-7, + c: 4.036293209355545e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: 1.664062022682718e-8, + c: -1.571363330878682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -1.125375801891511e-7, + c: 1.064579953202501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: 1.346991783626317e-7, + c: -7.451068218691097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: -6.857641150835242e-8, + c: 1.371235320307087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 1.190116331490295e-7, + c: 9.363846822204245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: 1.373206535212592e-7, + c: 5.630748192992576e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: -1.081928035899135e-7, + c: 9.766817190219671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 1.216890646108374e-7, + c: -7.338789099901319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 9.439947727976819e-8, + c: -1.045719616825127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: -1.190206472240579e-7, + c: 7.417604873846748e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: 1.043348808360189e-7, + c: 9.300956047879938e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13907, 0, 0, 0], + }, + Term { + s: -3.683187598986525e-8, + c: -1.346352234014541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0], + }, + Term { + s: 2.869803516361164e-8, + c: 1.365825871426704e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: 1.011300052672556e-7, + c: -9.454367362513612e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: 1.308649082458252e-7, + c: -4.013397181747227e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: 1.309021041857050e-7, + c: -3.173829423366701e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 1.115085282102324e-7, + c: -7.392538835980892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: 4.182804837951253e-8, + c: 1.265494278874779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30726, 0, 0, 0], + }, + Term { + s: -1.280234939629549e-7, + c: -3.688229132703991e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: -1.033218008803521e-7, + c: 8.297769041577673e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3519, 0, 0, 0], + }, + Term { + s: -8.867085335715078e-8, + c: -9.810367865212352e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: -2.725305847328809e-8, + c: -1.275041057404806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -1.285353567605817e-7, + c: -9.729578929389861e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0], + }, + Term { + s: -6.385538393018810e-8, + c: -1.097132005508267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -1.410116282711209e-8, + c: -1.237293105264762e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 8.661028614627531e-8, + c: -8.835750852050483e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: 8.416015039671226e-8, + c: -8.583836233069255e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -9.183617785235832e-8, + c: -7.323838004211886e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 4.613751562574482e-8, + c: -1.069334376507337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: 1.160204142229458e-7, + c: -1.011913214824562e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -8.454707641515996e-8, + c: 8.008209395751212e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -8.792844922577001e-8, + c: 7.585785849439413e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1434, 0, 0, 0], + }, + Term { + s: 3.454526407550465e-8, + c: -1.101437023198547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 4.886741536701657e-8, + c: -1.044760224285564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -4.145582234132153e-8, + c: -1.064451934971669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: -1.828320311202258e-8, + c: -1.102182463918784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -2.910350640432344e-8, + c: 1.072422054768424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: 7.656482835934654e-8, + c: 7.965302677003308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: 1.570527624121011e-8, + c: 1.085614167287185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0], + }, + Term { + s: -1.046406424116306e-7, + c: -3.280175544195882e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: 9.635306198474996e-8, + c: -5.175750328789666e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21073, 0, 0, 0], + }, + Term { + s: -1.051020759518584e-7, + c: -2.763782033892345e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0], + }, + Term { + s: -2.192608740417153e-8, + c: -1.062321830014563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1469, 0, 0, 0], + }, + Term { + s: 7.693223801445750e-8, + c: 7.505896303251498e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -2.980914463385026e-8, + c: -1.031013497884616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 0, 0], + }, + Term { + s: 8.551903676665566e-8, + c: -6.346020077590040e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0], + }, + Term { + s: -1.060582698640836e-7, + c: -9.057697253361675e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -7.955548891849009e-8, + c: 6.858330432467149e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: 9.229004271575591e-8, + c: -4.882671428671004e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, 0], + }, + Term { + s: 9.971314223683710e-8, + c: 2.696715760921973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17052, 0, 0, 0], + }, + Term { + s: -1.025423440230548e-7, + c: -1.092104347557433e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: -1.018059438085699e-7, + c: 1.468208071396980e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 0, 0], + }, + Term { + s: 5.186688656251211e-8, + c: -8.873957044853055e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, 0], + }, + Term { + s: -4.486950347925764e-8, + c: 9.202835210335642e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: 6.255653398024805e-8, + c: 8.060497611884042e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0], + }, + Term { + s: 1.885725948357055e-8, + c: -1.000655202390226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9362, 0, 0, 0], + }, + Term { + s: -1.013969168858741e-7, + c: 4.458238712122053e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7095, 0, 0, 0], + }, + Term { + s: 2.769159119266996e-8, + c: 9.705777435608026e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -6.133966380200786e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.113312870171329e-5, + c: 5.666411017231389e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.984312084406936e-4, + c: -1.963280565417159e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -1.298024622196945e-4, + c: -1.972183188426526e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 5.547089973206894e-6, + c: -1.490952563202248e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 1.830124769752062e-5, + c: 1.437939898188223e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -6.137457410814679e-5, + c: -7.214371772597538e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 3.028953977781541e-5, + c: 7.461135935302431e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -5.183622546555561e-5, + c: -5.993949591406206e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -3.079911657021908e-5, + c: 3.998407370717071e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 2.686178407860232e-5, + c: 3.109417926340547e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -5.157648477114754e-6, + c: 3.743671328326568e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 2.217526691289265e-5, + c: 2.975919145922530e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -1.433002805485971e-5, + c: 3.228669845401362e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 1.073256076484215e-5, + c: -3.361063955659442e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.220208815904484e-5, + c: 2.689272796253257e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -2.153518064498246e-5, + c: 1.614536268268973e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 2.125979378246284e-5, + c: 1.161984230129218e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 3.236538778093821e-6, + c: 2.115941977293071e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -1.257013997887220e-7, + c: -1.738388183799300e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -2.623245517398515e-6, + c: 1.585754642143561e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.218270103280705e-5, + c: 9.837272297056228e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 7.537784186110662e-6, + c: 1.195258740767596e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.230348856181281e-6, + c: -1.022458192576162e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 4.617485769664111e-6, + c: 8.629319811512271e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 3.645659338932721e-6, + c: -7.904931185834903e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -2.902923769904292e-6, + c: -7.270889045542334e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -5.179825673453700e-6, + c: 5.845349396142700e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 1.879377810854285e-6, + c: 6.471199658060211e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -2.308191018661349e-6, + c: -5.312819502543189e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -1.126695218174688e-6, + c: -5.206118333386755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -8.367102417117768e-7, + c: 4.876788224979600e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -1.439345427002160e-6, + c: -4.614729539248082e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 6.890398339991247e-7, + c: 4.545292624746494e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 1.886741282562576e-6, + c: -4.152260481783868e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 3.964672990034159e-6, + c: 1.967332380523581e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 3.803245675136270e-6, + c: 1.755229202728040e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -2.603693805472622e-6, + c: -3.259434424968355e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 3.833275885398848e-6, + c: -1.209077226886937e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -3.682860598022373e-6, + c: -3.427020310691917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 2.596207977463715e-6, + c: -2.306220822310269e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 2.247199528276124e-6, + c: -2.298617687070630e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -1.158731621886444e-6, + c: -2.804706567947819e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 1.046874031144149e-6, + c: -2.843634491120057e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 6.030793685801167e-7, + c: 2.557696044665081e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -1.016757625601170e-6, + c: 2.336559114217936e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 7.528840735800297e-7, + c: 2.397360544444177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 1.129858718775985e-6, + c: 2.241399997621398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -2.433356295471344e-6, + c: -5.055169021964579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 5.545487427067080e-7, + c: 2.385962752425914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 2.071406763469639e-6, + c: 1.251696838772804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.067118669344556e-6, + c: 2.150209853694828e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.338023900921750e-6, + c: -1.895838158551676e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: 1.877437395001257e-6, + c: -1.181023627655095e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -7.155955040115141e-7, + c: 1.907707275616532e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.004370844030792e-7, + c: -1.987437281357467e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.841943519785914e-6, + c: 3.481757998090356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 1.724701007587265e-6, + c: 3.246113892193456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -1.146104415202978e-6, + c: 1.322019927859582e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -1.567882232855707e-6, + c: 4.421512919305872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 1.483407966188522e-6, + c: 6.419295189625585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -1.567488965325908e-6, + c: -4.057247237768881e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: 1.438548008164650e-6, + c: 5.744211323656945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.356214388763213e-6, + c: 5.730827421517642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -3.146135627647507e-7, + c: 1.426853389290575e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.356896046346652e-6, + c: -4.702936941263387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -8.490043542761025e-8, + c: -1.367408316201939e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 9.854360476456521e-7, + c: 9.378873852179317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 5.395157862064971e-7, + c: 1.211136507863198e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 1.184055511090825e-6, + c: 5.876816191648945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 1.429263353716454e-7, + c: 1.269111094963903e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 4.178844770566644e-7, + c: 1.187413664765964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 8.861672981427507e-7, + c: 8.800710790515572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 7.537596919287024e-7, + c: -9.809909777070665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 1.168770224428684e-6, + c: -3.457227983862390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -1.913074468196030e-7, + c: -1.143276067773396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 8.211367088055292e-7, + c: 7.431739467825062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -1.884021688933177e-7, + c: 1.053188310656895e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 5.901758539259577e-7, + c: 8.914273991477199e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -7.742381347956331e-8, + c: 1.055467113310687e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -1.535978763004483e-8, + c: -1.042755923808718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 8.492005442036229e-7, + c: 5.762677928879923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 7.131689096257312e-7, + c: 6.992477035062604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 9.050743132212083e-7, + c: -3.076721952248226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -3.896495551002939e-7, + c: 8.287576137490826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -8.625288791638033e-7, + c: -2.932976203168974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: -8.330509573977713e-7, + c: 1.075955087496236e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -1.621066391495600e-7, + c: 7.871296224884341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 4.328085754849716e-7, + c: -6.699088165059544e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 7.741683938298574e-7, + c: 9.395792873387586e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -3.855325601107436e-7, + c: -6.778511126254683e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 5.089301961372811e-7, + c: 5.485465794002594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 4.337165568389587e-7, + c: 5.892563852375045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 7.095409406819832e-7, + c: -4.225634814391969e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 6.793667463719227e-7, + c: 1.609478695492607e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 2.629329832081087e-7, + c: 6.162957199987567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -5.889181645849922e-7, + c: -2.831619189471290e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -2.388922728824897e-7, + c: 6.071312037206791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -5.121288607416577e-7, + c: -3.406412641374224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: -9.394392288174888e-8, + c: 6.043618783082327e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -4.418963881013202e-7, + c: 4.075552925839352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 1.748067427000847e-7, + c: -5.748205319747276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 5.337182879909463e-7, + c: 2.692897154560633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -1.425536672534978e-8, + c: 5.878936871602239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 4.166360287387782e-7, + c: -3.903981036091345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.923710503510980e-8, + c: 5.634253383433968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -4.969303306033560e-7, + c: 2.620024675367805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 4.999761678822830e-7, + c: 2.259815746843767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -5.403574325908548e-8, + c: 5.420625669156206e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -4.714872132310661e-7, + c: 2.220135854572698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -2.067514953987771e-7, + c: -4.553132891121802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -4.272589675309229e-7, + c: 2.364581678916854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -4.432289815136329e-7, + c: 1.865221882069272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 6.831783675210699e-8, + c: -4.721623219855989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 3.407696567171487e-7, + c: -3.328520148077743e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 3.533539569375989e-7, + c: 3.028720051047711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: -8.053382174743438e-8, + c: -4.482410992830930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 4.080210445936706e-7, + c: 2.000680623216957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 4.425059168268059e-7, + c: -4.076646514023786e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -2.819377360748108e-7, + c: -3.422327984615992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: -2.641752428620718e-7, + c: -3.552735560204139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -4.400285195452107e-7, + c: -1.280740481503863e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 1.941153256486270e-7, + c: -3.920958072379448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -4.086450105719067e-7, + c: -1.347798066808346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: -3.597132577293643e-7, + c: 2.258564292906059e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -3.621155319105096e-7, + c: -1.947617008130965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 3.153948390969365e-7, + c: 2.589735659502539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -2.202151727909802e-7, + c: 3.169956123641299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 8.976047895839216e-8, + c: 3.747273268278114e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: -3.781564132765686e-7, + c: 3.594135535544823e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: -3.181804506475720e-7, + c: -2.024964146050108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -3.607475834393182e-8, + c: 3.692919803601270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -3.846713764863680e-8, + c: -3.677390370766563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: 3.070034698471879e-7, + c: -2.030586567871629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -6.809254722364784e-8, + c: 3.592137828974410e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: 3.548182261585789e-7, + c: 7.679607464426816e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: -1.013855551177067e-7, + c: 3.438840497556664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -3.582206859246578e-7, + c: 4.953513188171988e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -1.769537526971528e-7, + c: 3.047048780827349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -1.645915327324781e-7, + c: -3.012600631894141e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: -2.504134620812239e-7, + c: -2.289719347985590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 1.808497305719705e-7, + c: -2.774181899978172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: -3.241826634677251e-7, + c: 5.350956299029865e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -2.661658503660226e-7, + c: -1.916802810750699e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: 2.730066816815082e-7, + c: 1.752288761705636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 3.144405165110932e-7, + c: -7.019776339982282e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: -1.835493968962941e-7, + c: 2.493297398625047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: -2.600389920031645e-9, + c: 2.984557915826791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 2.413798742913383e-7, + c: 1.710366939385855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -5.485180988308908e-8, + c: -2.849667551769945e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 2.491523292743476e-7, + c: 1.461658279811004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: -2.335516714960054e-7, + c: 1.691372581807505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 4.677923252200827e-8, + c: 2.805392508352964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: 1.825711127285487e-7, + c: 2.176730846827378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 2.680692864062448e-7, + c: 8.505558716109560e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 1.171455630388911e-7, + c: 2.503560418587385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -8.870631132789887e-9, + c: -2.716670613227443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: -9.675209749254057e-9, + c: 2.713157005615146e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.114298808390120e-7, + c: 2.460457081786159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -6.123722033369842e-8, + c: 2.604905554734457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 9.822596624685143e-8, + c: -2.463780706777964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 1.160147961830596e-7, + c: 2.358965882655125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: -1.111199521488853e-7, + c: -2.361760583805576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -4.886463015632900e-8, + c: -2.502520669882845e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -2.360641258623025e-7, + c: 9.437352983674354e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 2.508161312490361e-7, + c: 3.999756755968145e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -2.390874741436348e-7, + c: -5.996093185848103e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: -2.042161364631138e-7, + c: 1.175213315958369e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -1.186264406695176e-7, + c: 1.998797598864112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -2.178596682720093e-7, + c: 7.677043036775917e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: -1.559932534582061e-7, + c: 1.635106760172944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: -2.167567726564445e-7, + c: 6.086760876519370e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: 1.228500963087767e-7, + c: 1.871072431672706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: -5.878376792987634e-8, + c: -2.137948133727827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 1.529213171906578e-7, + c: 1.544650703092023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: 2.053347046999840e-7, + c: -6.811728030381626e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -3.105290833457332e-9, + c: -2.086642282014935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: 2.013871039881007e-7, + c: -5.436434649314178e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: 1.799355545705239e-7, + c: 1.034743045334519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 1.895789471218042e-7, + c: 7.791854250893120e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -2.000064394172647e-7, + c: -4.141435177340209e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 1.779660212218040e-8, + c: 1.964457771533279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: 1.906048281592921e-7, + c: -2.981421977969606e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: -1.229423650090079e-8, + c: 1.912720332024737e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30584, 0, 0, 0], + }, + Term { + s: 1.660053206660840e-7, + c: -8.966292567033632e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -1.692427840765942e-7, + c: 8.203344773608737e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -1.332767583217583e-7, + c: -1.288233064378051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: -9.128356599778464e-8, + c: -1.597501970719172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -7.485571755592495e-8, + c: -1.667001880911239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: -1.322137262391300e-7, + c: -1.247577190896156e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: -1.483736062044477e-7, + c: -1.008181384546083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 8.333893774291371e-8, + c: -1.565166090471657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: -2.140232784944928e-8, + c: 1.742848563173447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 8.100352234851261e-8, + c: 1.535943490324542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 1.715503400435816e-7, + c: -1.199804267794288e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -1.194010835769294e-7, + c: -1.234917424129102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: -9.360896146353534e-8, + c: -1.429611516775580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 1.104082798457080e-7, + c: 1.300623193668925e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -2.732071516729792e-8, + c: 1.669217724988371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: 7.295380002666016e-8, + c: 1.524258203816696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 3.083920432132530e-8, + c: 1.628319411093995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: -1.157771119494302e-7, + c: -1.043950381215554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 1.325078123448178e-7, + c: 8.168705264585096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: 1.436035714173578e-7, + c: -5.229039229624249e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -1.442618176016471e-7, + c: 4.835127146404074e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -6.950610481535609e-9, + c: -1.456290576119035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 9.651037070126680e-8, + c: 1.084853180488139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: -8.089500522586765e-8, + c: -1.185716781663192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: 1.412850862047490e-7, + c: -2.023745751189469e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 9.068808615725482e-8, + c: 1.069285289690773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: 1.384380426827629e-7, + c: 9.822855007601295e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 1.364941414864654e-7, + c: -1.592425953664347e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: 2.929879736514805e-8, + c: 1.341878386847855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 1.200824057368508e-7, + c: -6.459848789474253e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 5.482419542306356e-8, + c: -1.241859553883541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -4.671637679522526e-8, + c: -1.272476878932923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 1.267266530460690e-7, + c: 4.713029227150729e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 1.265376481746486e-7, + c: -4.695577252913982e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: 9.582515527648347e-8, + c: -9.499913009588672e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: -6.575273181043597e-8, + c: 1.174844012836742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -1.191810852847984e-7, + c: 6.102993371689190e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -3.182160670759253e-8, + c: -1.263609231675708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: 4.189715865738408e-8, + c: 1.228146775452698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: 6.430210718621602e-8, + c: 1.104604953323968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: 8.102423383634708e-8, + c: -9.696691516703197e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: -5.043866514498696e-8, + c: -1.136490318046583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 5.269495674554719e-8, + c: 1.122807892759003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: 9.806011568743516e-8, + c: -7.525801664332896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 9.589637505047657e-8, + c: -7.672692684436665e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: 1.207536859446925e-7, + c: 1.977554382737734e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: -2.172473180405081e-8, + c: -1.194605182404427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: -8.521367473175189e-8, + c: -8.274488045126021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -1.069737897252592e-7, + c: -5.039604415445190e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: 1.109114474616745e-7, + c: -1.452924800259764e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 1.516853386265428e-8, + c: -1.105440800380068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -7.632196473942022e-8, + c: -8.050921312161335e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: 8.384944449936342e-8, + c: 7.217233589501954e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: -6.582022561768407e-8, + c: -8.849470619908585e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -6.137584742606203e-8, + c: -9.078942823775329e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -9.322430925659921e-8, + c: 5.730935976116681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: -3.258592653058000e-8, + c: -1.037368950403584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 0, 0, 0], + }, + Term { + s: 7.317950787788989e-8, + c: -7.849044382501773e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -1.003944025536360e-7, + c: -2.981934266393034e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4705, 0, 0, 0], + }, + Term { + s: -5.502796520282760e-8, + c: -8.903720743398967e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: 7.236169868543288e-8, + c: -7.483820535923541e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -8.685047440384265e-8, + c: 5.702007008769081e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -1.032157302074250e-7, + c: 3.399086732384923e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: -1.008483373776237e-7, + c: -1.879288819026883e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399, 0, 0, 0], + }, + Term { + s: 5.275421087386520e-8, + c: 8.625506756370307e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: 2.220730882416972e-9, + c: 1.009859930620428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -1.411721704658303e-4, + c: 2.382065795687565e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 0.0, + c: 5.716978431762315e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915312545581913e-5, + c: 2.858465884370473e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -3.018251609825243e-5, + c: -6.386366907596720e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.777805765944876e-5, + c: -1.683147347624973e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 2.196973018069040e-5, + c: -8.728265944361954e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -1.427534933383728e-5, + c: 1.865566423977494e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 2.997065069592372e-6, + c: 2.057242338683348e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 9.731561170228970e-6, + c: -1.393162207640771e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -7.319653518007183e-6, + c: 1.166840068819349e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -3.177525046772719e-6, + c: -1.150707171093384e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -6.377040695328982e-6, + c: 9.298814043829145e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -6.813105899350889e-6, + c: 5.961680009784357e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -8.353796803935213e-6, + c: -1.130839921677119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -2.784571373524752e-6, + c: 6.612584935739944e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 6.746358757687685e-6, + c: 7.194454533747061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -4.869030495514852e-6, + c: 4.023375958041996e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -5.981369727341344e-6, + c: 1.436512817122350e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -6.078608181388147e-6, + c: 4.684457917780816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 5.581278456474035e-6, + c: -6.571060031877002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 3.784237042881126e-6, + c: 3.511925907352196e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -2.398614196652235e-6, + c: -4.546157260550933e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 2.656789139718836e-6, + c: -2.726377365534226e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -2.368093436288565e-6, + c: 2.854869613315019e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -1.768050275505011e-6, + c: -2.380356004785936e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 8.190108652535983e-7, + c: 2.249801140584247e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 5.596977722349315e-7, + c: -2.142286589315653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -4.368127198698097e-7, + c: 2.079864592661500e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.880398735822056e-7, + c: -1.983812921283498e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 1.467575839013269e-6, + c: -8.142463245609594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 8.281443448931838e-8, + c: 1.659758088073290e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 1.653588138827887e-6, + c: 1.543627056555457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -1.304437121804656e-6, + c: 8.106638081259618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 1.492741520025256e-6, + c: 1.497862343775257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.220855137080203e-6, + c: 8.568537538662186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -9.348913846622066e-7, + c: -1.160444345292596e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 8.048202071720172e-7, + c: -1.189652016166021e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 1.237752538487372e-6, + c: 4.657077672085286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 1.234339474165848e-6, + c: 2.879540730095892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 1.193671319983144e-6, + c: -3.535149553524321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -8.367000170146106e-7, + c: 5.350200168564017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -6.826872983754769e-7, + c: 7.016472126072443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.084742517124641e-8, + c: 9.045795997753115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 4.702592074249468e-7, + c: 7.575172965292322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 1.050613563861387e-7, + c: 8.817449304489191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.532023612295005e-7, + c: 8.405500110700136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 1.446999846917009e-7, + c: 8.178827951097755e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -7.479194039703076e-7, + c: 3.338894739458412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -6.253955261771948e-7, + c: 4.482202295765225e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 7.289632833568218e-7, + c: 7.476201000603577e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 1.064360356263561e-7, + c: 7.085595291073801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -6.689519937575237e-7, + c: -2.394812650451118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 4.367053651730550e-7, + c: 4.739338624188773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 2.911220936789607e-7, + c: 5.721489108190947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -3.076167480403168e-7, + c: 5.397858314016924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -5.847357125104360e-7, + c: -1.455242095910672e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -3.861282585763700e-7, + c: -4.586272906815476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 4.949099075847368e-7, + c: 3.366214590140177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -5.077213323641216e-7, + c: -2.323900951532822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -2.878802417708959e-7, + c: -4.651791383519338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.351409944628135e-7, + c: 5.254321861915854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -5.188879637927993e-7, + c: 1.429792346807094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -2.454342496365174e-7, + c: 4.721230717230602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -8.938175561472893e-8, + c: 5.241996792396004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 4.758127355454766e-7, + c: 1.527482655428382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -2.421915182052817e-7, + c: 4.204237238960136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 3.772579969430855e-7, + c: 2.663960197986926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: 4.435838553996310e-7, + c: -1.166202598452300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 4.181203802379763e-7, + c: 1.629251859148985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -2.653811688355510e-7, + c: 3.588904014499261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -2.664442335432086e-7, + c: 3.573219258500837e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 4.382826095994507e-7, + c: 7.678398508034631e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 1.587207517783620e-7, + c: 3.846197880383625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -4.067487859805104e-7, + c: 8.224180284908203e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -4.138497557538106e-7, + c: 1.628077181439376e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 1.723114827283333e-7, + c: 3.712853616733751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -7.625077782510425e-8, + c: -3.865015399163713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.335529727866729e-7, + c: 3.688938122352103e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -2.095510349052261e-7, + c: 3.254693495654166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 3.845904563517188e-7, + c: -3.425668536626603e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 1.113049420642200e-7, + c: -3.666552339674433e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 3.350446828959159e-7, + c: 1.814844484691130e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -3.719810265479616e-7, + c: -7.275376441111854e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -3.537949005044469e-7, + c: 1.154634826357292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -3.264135349412818e-7, + c: -7.915277223210468e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -3.305863262040759e-7, + c: -5.231310818002263e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -2.903975650128292e-7, + c: 1.424317653700180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 2.982855586334082e-7, + c: -9.222642495531160e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -2.391876634010250e-7, + c: -1.960498900112977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -2.357478446675539e-7, + c: 1.822699166901692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -2.329307480452886e-7, + c: 1.756445181637982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -4.390597765079653e-8, + c: 2.873602796524637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 2.593369388018803e-7, + c: -1.030734272839851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -1.092304249028158e-7, + c: -2.562359344206166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -2.274525174044106e-7, + c: 1.509723926707708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -2.477994569865854e-7, + c: 8.930183961459297e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 1.394332513759144e-7, + c: 2.200720580222521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -1.293801680317792e-7, + c: 2.258044581371213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 8.069298600338541e-8, + c: -2.440576807072867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 5.243043021431999e-8, + c: -2.508994180911166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 1.550674457669911e-7, + c: -1.894986186735657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -1.802260567560234e-7, + c: 1.592946287606967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -1.098700802131411e-7, + c: 2.117065992699176e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -1.237422730589957e-7, + c: -1.996824957246534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 1.706983964566449e-7, + c: -1.575009989529634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -6.551516746155614e-8, + c: 2.196377983848985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -2.263682878027644e-7, + c: -3.518775181597922e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -1.124503664203119e-8, + c: 2.230582244230127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: 1.123707378648298e-7, + c: -1.878611457427916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 2.135630064561775e-7, + c: -2.519708516491148e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -1.613807255067731e-7, + c: -1.344758641502910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -1.582894245047669e-8, + c: -2.014374673849501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -4.665695024176791e-9, + c: 1.960580205212751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -3.776038340840507e-9, + c: -1.895359293671634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -4.655709301630575e-8, + c: -1.778981291291378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 1.236774559600155e-7, + c: 1.338650348901129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -1.787242211033571e-7, + c: -1.180009954651278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -1.502209716879621e-7, + c: -9.369793101380093e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 1.406351489811674e-7, + c: -1.020764368245502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -1.627421548316337e-7, + c: 5.096209497080241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: -1.441687449218652e-7, + c: 8.342930235928286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -4.326805402676239e-8, + c: 1.565840702257992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -7.285134825568132e-8, + c: -1.448113258223906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 2.846864206041960e-8, + c: 1.555263382249868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 1.539341801254660e-7, + c: -2.396569457540603e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 1.224314005840218e-7, + c: -9.240340802376369e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: -1.532438395898054e-7, + c: 3.700884163759715e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: 1.057884235578811e-10, + c: -1.522181356884150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: -8.150649694263933e-8, + c: 1.281454801873244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -1.363594294486714e-7, + c: 6.336776109470557e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 9.335754121982916e-8, + c: -1.137814099677401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -9.714858883704609e-8, + c: -1.076395598619250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -1.437693442342256e-7, + c: 1.636921127038524e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 9.601181710238585e-8, + c: 1.075271719217935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -1.342680002676308e-7, + c: -2.282987694251020e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 5.390872294980029e-9, + c: -1.334360666369563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: 2.349296512923855e-8, + c: 1.283077302242421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -1.150908827094247e-7, + c: 5.789765713695238e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -9.991316929329640e-8, + c: -7.870801669611794e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.104387614881316e-7, + c: 6.232882127755154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 8.912126311809292e-8, + c: -8.777952901150900e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 1.050293807350357e-7, + c: -6.690149344424596e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 1.221506875384939e-7, + c: -1.598937182573142e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: 1.191581857070411e-7, + c: 2.507862524029210e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -1.051704403338411e-7, + c: -5.565126376302253e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 1.153213415321772e-7, + c: -2.789495416622772e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -7.277174054470145e-8, + c: 9.354736326527061e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: 1.159337794516675e-7, + c: -2.045882133549241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -2.483338010705998e-8, + c: 1.144688231384806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: 7.086365728938967e-8, + c: 9.173348531839895e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -1.136681718828489e-7, + c: 2.000157439830713e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 7.873901462955771e-8, + c: 8.287635414867482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -5.505810031565337e-8, + c: 9.629980820202946e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -6.466987964346060e-8, + c: 8.840071738341181e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: -4.706161555711425e-8, + c: 9.861084289164524e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 7.208723616247755e-8, + c: -8.191196985506553e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 1.650185019330669e-8, + c: 1.076478374695773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -7.812014859513236e-8, + c: 6.923134215296522e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 1.042674349833783e-7, + c: 5.065784909218501e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -1.022348125840690e-7, + c: -1.970513900579661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -2.675921471784000e-8, + c: -9.915906397300575e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -9.675484334665200e-8, + c: -3.097258939576482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 2.568491584808861e-8, + c: -9.766415451553408e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 4.060761969314368e-8, + c: 9.213378515669555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -1.670221441102829e-5, + c: -2.874661643945582e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -8.480516343040720e-6, + c: -3.803477832595442e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -7.286488075790021e-6, + c: -2.033719769859895e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 7.026959813835244e-6, + c: 4.299615067308365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -4.913713117507344e-6, + c: -8.291572055746147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -1.415246106625776e-6, + c: 4.754645417147230e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 3.046101490812568e-6, + c: 2.962720051033514e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 2.592925923001140e-6, + c: 3.205563455148796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.964000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.854387259426338e-7, + c: -2.782004179479718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -2.908691354508650e-6, + c: -1.476468051444902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -1.931006491593412e-6, + c: -1.547062541495745e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 5.779130727527206e-7, + c: -2.030530421626236e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.806455604255064e-6, + c: -9.768544646178213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -4.016343611002039e-7, + c: -1.989061668415943e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -7.042915487278635e-7, + c: -1.702354139725727e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -6.966550965928539e-7, + c: -1.595280663142137e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -1.103572138835523e-6, + c: -1.317445394428927e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.300562438023091e-6, + c: -3.948878790370045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -1.127971931046196e-6, + c: 6.357575176264862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 3.637104549529441e-7, + c: 1.179486719363160e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -1.028074136822070e-6, + c: -4.481154044162045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 4.059030086856718e-7, + c: 8.997584370083244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -8.200073858783866e-7, + c: 3.133831160802616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 4.298760271866349e-7, + c: -6.259171802254873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -7.311743848722271e-7, + c: 3.250933758658926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -6.763559489360662e-7, + c: 2.386125096542039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 9.638071353159641e-8, + c: 6.690143997158809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -5.455453471308976e-7, + c: 1.735273263757365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 5.080097786056537e-8, + c: 5.477598911251823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 4.351266682251228e-7, + c: 3.285686887806281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 5.167735703640305e-7, + c: 1.453785947465465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 1.049362972609828e-7, + c: 5.065291797738385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 2.392565171021523e-7, + c: -4.538286897232383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 4.530149471979240e-7, + c: 1.658493744799841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -3.871066130526484e-7, + c: -2.668547264680838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -3.992839805972702e-7, + c: 1.171476339682071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 3.804542626141383e-7, + c: -9.194263449559959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -3.474414885302180e-7, + c: 1.635967789238913e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -1.059929307603861e-7, + c: 3.478529145633991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -3.114327692971839e-7, + c: -1.839238739283717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -2.910221309890227e-7, + c: -2.090242857206616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -3.220927871587533e-7, + c: -1.499318747498239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -3.220312901578608e-7, + c: 1.399618094778556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -3.229918586588127e-7, + c: 1.292758882058535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.807601984283198e-7, + c: 2.732142387616532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -2.709448245350231e-7, + c: 1.234275319225675e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 5.998648701744877e-8, + c: 2.812101989800347e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 1.326995788147644e-8, + c: 2.823630311881594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 9.246537891261874e-8, + c: 2.649155886899534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -2.354245336090213e-7, + c: 1.464365339965577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.371042109730124e-7, + c: 2.354820676784998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -2.499892169024621e-7, + c: -5.944158929532028e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -2.306237959845854e-7, + c: 1.100056934197165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -2.197590586252691e-7, + c: -1.229019060963532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: -2.295397447677419e-7, + c: 2.530008902905320e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -1.719666119058205e-7, + c: 1.537914169750995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -2.217076776470364e-9, + c: -2.176670109715654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 1.492884218630365e-7, + c: -1.521590673937094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -1.657906953925554e-7, + c: 1.037534842280982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -1.802566582754755e-7, + c: -6.016914384648103e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.814277646482217e-7, + c: -4.144474150689664e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -1.097752151268032e-7, + c: -1.470416375094848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -1.709981775995973e-7, + c: -5.493295881615478e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 3.042772057722876e-8, + c: -1.769794141785751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -1.683235583463555e-7, + c: -5.429314510035001e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -1.409741610814167e-7, + c: 1.034839907943508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: -9.754352670286269e-8, + c: -1.412576370414176e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -1.575466368501611e-7, + c: 6.281890112236140e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -1.566281210078758e-7, + c: -3.891503169542927e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -7.436404446136154e-8, + c: 1.428910015705778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -4.814104835862387e-8, + c: -1.402905172827273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -8.490359441278571e-10, + c: -1.441096699422983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.597063123851523e-8, + c: -1.406583259937553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -9.218387401873610e-8, + c: -1.044520429547955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -1.301702770642192e-7, + c: -4.206702990774542e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 1.053550506630464e-7, + c: 7.253590499288505e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.158478327833304e-7, + c: -5.032783805957349e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: -8.962801156716089e-8, + c: 8.781371785761256e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -1.188331087680812e-7, + c: -3.821628057172894e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -3.323263686761284e-8, + c: -1.199604888645399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -1.229506934345679e-7, + c: -8.046860953818466e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -6.908351407627676e-8, + c: -1.012728882571912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 1.211749064934974e-7, + c: 6.487705019691777e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -1.189965788510482e-8, + c: -1.206489986336929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -5.425748810870345e-8, + c: -1.083222224684343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: -8.266697347483896e-8, + c: -8.338539397355976e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -1.135589521044307e-7, + c: -1.953425390512129e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 9.949362930536374e-8, + c: 5.436539838755618e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 5.697413091079675e-8, + c: -9.781776003954085e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: 1.019493051689778e-7, + c: 4.447371926321787e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -1.036576798280164e-7, + c: 7.943510447320082e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.038873430734522e-7, + c: 1.389512638296161e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -2.329038535490904e-8, + c: 1.000358191940970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 4.453753935188866e-8, + c: -8.983146632036711e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 4.646499728913186e-6, + c: -4.538098944457739e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 1.905504854159212e-8, + c: -1.665792521027051e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 8.350054136004966e-7, + c: -1.381329934234777e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 0.0, + c: -1.460000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.834301557269124e-7, + c: -1.406382402314408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -1.694954156984771e-7, + c: -1.369895895412261e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -2.377389366137429e-7, + c: -9.179827179414112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -6.496981332790608e-7, + c: -6.407271925011630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -3.764144282045790e-7, + c: 4.287562217186958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -3.753312592361746e-7, + c: 4.105111274211902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 4.428800437344501e-7, + c: 3.272407773380188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 3.645480885417640e-7, + c: -2.989821656514204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.017618147154500e-7, + c: -4.369482639258928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -3.214608760502674e-7, + c: 2.960411850555328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 3.674071755396131e-7, + c: -1.896403359190898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -3.683786967337363e-7, + c: 1.737084137220127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -2.474727462888712e-9, + c: -3.770875976435464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 1.380968782486338e-7, + c: -3.432598232714143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -1.796762539184642e-7, + c: 1.647799372052521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -2.119980534576657e-7, + c: 1.189869800532960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.414633055682613e-7, + c: -1.528431450422073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -5.254034884038050e-8, + c: -1.806789821139442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 7.675034782828042e-9, + c: 1.835928126630594e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 1.192508611476085e-7, + c: 1.303991618636527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 1.582488774197906e-7, + c: 8.380656341741898e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 5.965885479425303e-9, + c: -1.469418350663306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -1.282208197588303e-7, + c: 6.197433069171145e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -4.606159460066008e-9, + c: 1.419775184001312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -7.927967481252566e-8, + c: -1.121276291513037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -1.126578968721552e-7, + c: 7.690156201328220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -9.686082394459431e-8, + c: -8.956882656233606e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 5.359214588190965e-10, + c: 1.318745235504047e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 1.994535121689583e-8, + c: 1.290024162325453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -9.451028962458486e-8, + c: -8.809518710179323e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -1.055268324262660e-7, + c: -5.338342712159892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -5.628759851916221e-8, + c: 1.004584543581489e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 2.906503492882005e-8, + c: -1.101901854656124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 3.537863220629549e-8, + c: -9.993227301633628e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 1.536625697353889e-8, + c: -1.037697851988096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 9.141796687759793e-9, + c: -1.040630233498941e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: 9.355643624071707e-7, + c: 5.471167054787485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.896517923222750e-7, + c: -2.665864579832488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 3.576622015671125e-7, + c: -1.410553617850020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 3.259523934457939e-7, + c: -1.363265462897330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.917242175211062e-7, + c: -1.288984377579160e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 2.413483046402111e-7, + c: -1.238076314397724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -1.856401109079495e-7, + c: 1.270034919364921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 0.0, + c: 1.459985136555078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.077192728839246e-7, + c: -1.616299621052203e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 6.984349313153329e-8, + c: 7.802172453168410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 8.374846244847807e-8, + c: 6.119954254399737e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[Term { + s: -6.268249774073898e-8, + c: 1.694014617410006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -1.734047186423000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.013005862133503e-3, + c: 2.123481311507617e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -7.084964915268142e-4, + c: -1.050549920035943e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.246751455556317e-4, + c: 1.192613968502067e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 5.183824594853080e-4, + c: 6.332881882255234e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 3.487941182083403e-4, + c: -4.019890270543830e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 6.579933344003128e-5, + c: 4.675461487172577e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -1.105791769671765e-4, + c: -3.157454502911266e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -1.107653143403722e-4, + c: 2.784257284031494e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 1.031660025638962e-4, + c: 1.472765277738993e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 6.154475146840639e-5, + c: 1.497472644628126e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -9.815955634474785e-5, + c: -1.141800889838652e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.050064899711917e-4, + c: -6.943201125542931e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.572495897184689e-5, + c: 1.216834661554040e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -1.156340071869800e-4, + c: 3.569486827960684e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -5.379277019415925e-5, + c: 1.060149523267650e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -5.618604480990878e-6, + c: -8.820682966008160e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 6.268146882826571e-5, + c: -6.211627599491225e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: 1.817331231295126e-5, + c: -5.988170095046985e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -2.466355155682130e-5, + c: 4.973488133605308e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 3.216611819614917e-5, + c: 4.314217692000232e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 4.668199952044539e-5, + c: 5.316013115376584e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 6.211435506080229e-6, + c: 4.238191712895699e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 3.800873937455521e-5, + c: 9.780145036938232e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 8.080743762134635e-6, + c: 3.477752313047725e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -1.293305601987269e-5, + c: -2.777239133834738e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -5.251270791825236e-6, + c: 2.611661138239826e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 7.661379953516793e-7, + c: -2.590189419209746e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -2.557189942749573e-5, + c: -1.372714983356893e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: 1.401749154164766e-5, + c: 1.784032365028474e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.867436764885148e-5, + c: -1.275270258973936e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -6.530596608025343e-6, + c: -2.114183362177883e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -4.232548208409845e-6, + c: 2.169900126665631e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.382300409540460e-5, + c: 1.107184543099737e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -9.356472290157293e-6, + c: -1.315433192086900e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 6.686653288583478e-6, + c: 1.360248353693679e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -1.429584622317374e-5, + c: 3.052116039430539e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 6.346900565265840e-6, + c: 1.249120141069321e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -2.611334935577887e-6, + c: -1.340917911779404e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -9.344234736569338e-6, + c: -4.992681225828915e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: 7.783569950948878e-6, + c: 7.118284612102314e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: 2.572078899521650e-6, + c: 9.508527025054378e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 3.519573585252647e-6, + c: -7.710586578144642e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 8.828933663969252e-7, + c: 8.082359996206403e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -8.028447343434378e-6, + c: -6.108985432048268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -7.610526582061735e-6, + c: 2.466641329248979e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 3.504858508933466e-6, + c: 6.913074692775819e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -3.348779058502134e-6, + c: -6.823579337018703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -2.658068257652617e-6, + c: -7.042759320686037e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 4.966728382855613e-6, + c: -5.545649416414357e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -1.681775103354698e-6, + c: -7.001772237817845e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 2.119231523126814e-6, + c: -6.402493718491447e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 5.326053743213389e-6, + c: 2.362358567558538e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 4.234127628797913e-6, + c: -3.986729707936610e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -2.954497225256050e-6, + c: -4.831404392915933e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 3.845243990770431e-6, + c: 4.066388367188650e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 4.374639730398968e-6, + c: -3.278299055468547e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -3.026244932285862e-6, + c: 4.408608844407510e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -4.461646662808201e-6, + c: 2.766556150711349e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 4.501391405222889e-6, + c: -2.313438282668064e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 3.792486054929399e-6, + c: 3.117543310307628e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.782208002282115e-6, + c: 4.474199473030350e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 4.488408682560288e-6, + c: -1.492734290131038e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 3.573000080078947e-6, + c: 2.535401883591162e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 3.782083294512028e-6, + c: -2.168862924203394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -1.892340750283523e-6, + c: 3.897905589463116e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -5.253870390484772e-7, + c: 3.937643876186717e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: 3.540919507813321e-6, + c: 1.090434406513635e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -5.240768249712062e-7, + c: 3.473671828765680e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -7.414098620880182e-8, + c: -3.443646857700650e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -7.954767473881105e-7, + c: 3.343337697742914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 1.296972285584881e-6, + c: 3.064790481973571e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -2.775103389562503e-6, + c: 1.539433189361024e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 1.333367799088827e-6, + c: 2.827397452059585e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -2.573199043649045e-6, + c: 1.604786855322106e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -2.202044022668027e-6, + c: 2.058192883206712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 2.367071790191970e-6, + c: -1.826116306051299e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: -1.854674263171755e-6, + c: -2.199117269014124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 2.252506429286997e-6, + c: -1.662445498447763e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: 5.697239077744046e-7, + c: -2.686491950038757e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -2.556041151888870e-6, + c: -6.164976053940709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -1.053524112552737e-6, + c: 2.189329377114100e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 2.068193093892050e-6, + c: 1.108212564137504e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -6.364257197208205e-7, + c: -2.241085720249637e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 0, 0, 0], + }, + Term { + s: 2.295068263866189e-6, + c: -1.319865360087724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: 1.865085549590035e-6, + c: 1.302902705215871e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 2.160945971848892e-6, + c: 6.538714075995610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -1.919670975008967e-6, + c: 1.165582493753334e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 1.074992355341225e-6, + c: 1.911076648125226e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 1.957777649082138e-6, + c: 8.027941087653784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -1.714620492628206e-6, + c: -1.199934667638449e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 1.039075877016473e-6, + c: -1.803003377769878e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: 1.686600273031728e-6, + c: -9.787629816057382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 1.900560918132768e-6, + c: 3.028545151477695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -1.868249888920575e-6, + c: -4.000441463878122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: 1.809510308956969e-6, + c: 5.964478369804928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -1.849617507739889e-6, + c: 2.100578203562946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: 1.779826883767081e-6, + c: 5.336307542957844e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -1.561581908680480e-6, + c: 7.954958289049517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: 1.623626138212714e-6, + c: -5.572333937041800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 1.459085237332688e-6, + c: 8.721596205512630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 1.314521018898544e-6, + c: 1.057081992645065e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -1.467668584712274e-6, + c: -6.630582975775315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: -9.945177110972205e-7, + c: -1.253550976898920e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 7.879689450579676e-7, + c: -1.383201501861579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -8.576981749903993e-7, + c: 1.266174611694914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 1.136913492529016e-6, + c: -1.012761664888258e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 1.390524863134110e-6, + c: -5.283437827448832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: 1.448154570846407e-6, + c: -1.412178204321985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 1.012443443910445e-6, + c: -1.039550775478789e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: -3.597597204563029e-7, + c: -1.309329325332427e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: 1.404897630437314e-8, + c: 1.353800337658246e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 8.295274804687725e-7, + c: 1.064279620128015e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: 9.094873868808352e-7, + c: 9.060328344709973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 8.562235575767740e-7, + c: 9.280360848522771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 1.221789888296410e-6, + c: -2.720533469648848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 7.539058011350629e-7, + c: 9.927061802914079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -2.956184493375588e-7, + c: 1.200291634865508e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -6.242446705439531e-7, + c: 1.037676413547398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: 9.993788784597864e-7, + c: -6.233398170803853e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: 4.971332256473439e-7, + c: -1.032597933613611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -4.661611790033554e-7, + c: 1.033994248336321e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 1.052017306639271e-6, + c: -3.753498829795328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -7.555204179274408e-7, + c: 8.219730031881668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, 0], + }, + Term { + s: 1.044761413542188e-6, + c: 3.128182709430115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -2.135787520753133e-7, + c: 1.067131096355238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 9.372920798761333e-7, + c: 5.454585371665957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -3.835486465579736e-8, + c: -1.077194204032684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -1.028336428507521e-6, + c: -2.067037170780773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -7.054240151311151e-7, + c: -7.756208870587090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2965, 0, 0, 0], + }, + Term { + s: 7.803150891191888e-7, + c: -6.777750409810642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0], + }, + Term { + s: -8.145365732437414e-8, + c: 1.015979705490998e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -1.704735416216509e-7, + c: -9.931494340649236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -6.931558654912318e-7, + c: 7.259536691366894e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: 9.472594165064276e-7, + c: 2.812151573518496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 8.464055788391566e-7, + c: 4.891347982793275e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -7.309889421666732e-7, + c: -6.458260863203348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 6.018850420792387e-7, + c: 7.406961035530478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -7.741832011945990e-7, + c: -5.517950301152713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: -2.795246028980885e-7, + c: 9.064814330729778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -6.583093071921560e-7, + c: -6.684789018425321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: 4.507742040851804e-7, + c: -7.610193376740978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: -7.836235748738744e-7, + c: 3.994292298047770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 1.628855689152385e-8, + c: 8.463717249520809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: -2.141168639303574e-7, + c: 7.981014235887242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 2.562345851306121e-7, + c: -7.785605575987383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: 7.555821293108134e-7, + c: 2.928979319756096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 2.835962698783528e-7, + c: -7.413068325602118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 7.331690768541645e-7, + c: 2.919550881716799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 7.376335534641081e-7, + c: -2.802208726063794e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: -7.551475753899290e-7, + c: -2.053315783301679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0], + }, + Term { + s: 6.025039723665956e-7, + c: 4.631321638808289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -1.756904194004329e-7, + c: -7.376443062761155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: -7.430007772382686e-7, + c: -9.736954730734611e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -7.189007404312618e-7, + c: 1.045315924524935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: 3.738273342003945e-7, + c: 5.814550436977893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: 4.836926348308118e-7, + c: -4.870678108914136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6883, 0, 0, 0], + }, + Term { + s: 6.535726882563378e-7, + c: -1.811038413528739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 4.828880757733450e-8, + c: 6.744407729445229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 5.542642030926589e-8, + c: 6.713672010502424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.284613993814627e-7, + c: -6.516874762664971e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: 6.562025981897349e-7, + c: -6.916775165656564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -2.337008197815406e-7, + c: -5.964214644848887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: 6.393898659878312e-7, + c: -3.236759118010068e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 0], + }, + Term { + s: 3.593555079995447e-7, + c: 5.180586396759924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: -3.819453229459693e-7, + c: -4.945048776354675e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: 2.289783603324158e-7, + c: 5.589542722165000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 2.772010639276184e-7, + c: -5.283879833674801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: 4.084328417438919e-7, + c: -4.225299807376027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0], + }, + Term { + s: -1.716384798490189e-7, + c: 5.501151617272589e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 3.257027160113904e-7, + c: 4.709562917541086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: -4.734411291076930e-8, + c: 5.664405506433526e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: 5.569116290932262e-8, + c: 5.650641802960701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 5.024482556850530e-7, + c: 2.379107468875438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: -3.003104551590124e-7, + c: -4.630993842533668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -6.293703932126529e-8, + c: -5.452283376134120e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 2.529124174337740e-7, + c: 4.870841174856123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 1.618905825690832e-7, + c: -5.234856474095199e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -5.247398861641101e-7, + c: 1.560030264214553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: -2.898833863694991e-7, + c: 4.629796912782791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -7.981229032951192e-8, + c: -5.378348733907208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: -5.400737639904078e-7, + c: -3.076525308405961e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 3.503811234808587e-7, + c: 3.828617418298966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0], + }, + Term { + s: 1.703153809981742e-7, + c: 4.431927753980682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14048, 0, 0, 0], + }, + Term { + s: -2.316184161196825e-7, + c: -4.053041854174049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: 1.198214627185780e-7, + c: 4.487092374577909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: -2.670727333851360e-7, + c: 3.758796187702343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 2.781913612438988e-7, + c: -3.572328429655067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0], + }, + Term { + s: 2.562202560859121e-7, + c: 3.684839573208947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: 4.470937984431297e-7, + c: 1.911805195855256e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -6.883581940451484e-8, + c: 4.397264530478304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30584, 0, 0, 0], + }, + Term { + s: 3.493359057179856e-7, + c: -2.654034617728024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 0, 0, 0], + }, + Term { + s: 3.222689394858258e-7, + c: 2.909518764482554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: -2.811641997377473e-7, + c: 3.277224008066817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.950622812844594e-7, + c: 3.129354026428592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -2.351309953124820e-7, + c: -3.586952068118264e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: -4.901366913945195e-9, + c: -4.177802370469896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: -2.744784709090486e-7, + c: -3.126906504072288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: -1.561554484093872e-7, + c: 3.793452819201750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -2.071853030257809e-7, + c: -3.444739361961630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -2.796424262526778e-7, + c: -2.869562707810106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -3.333902378794152e-7, + c: -1.714835955292880e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: 3.213430903480614e-7, + c: -1.521504104426342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 2.208602953759294e-7, + c: -2.768827926394876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: -3.150230968992999e-7, + c: -1.382869740147565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -1.882176884587150e-7, + c: -2.800746609863076e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 3.190160485646380e-7, + c: -7.128639372586202e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -2.220578274029435e-7, + c: 2.360733192193952e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: 1.053152361811896e-7, + c: -3.055754350774203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: -1.576823135595096e-7, + c: 2.819035531783257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: 1.164205726185437e-8, + c: -3.187928450499163e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -3.127286725683067e-7, + c: 6.003054832026912e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: -2.851494180273434e-7, + c: -1.095834119476602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28054, 0, 0, 0], + }, + Term { + s: 2.397349064233516e-7, + c: 1.744454367280173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 1.972248796986408e-7, + c: 2.175702225784460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: -2.732089581745038e-7, + c: -1.049509935801561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -2.740372854748075e-7, + c: 6.086598739240596e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 2.546536786104236e-7, + c: 1.162007861814555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0], + }, + Term { + s: -1.407585532431016e-7, + c: -2.409725111514851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: 2.678066115823483e-7, + c: 7.629671742492243e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 8.104657820450676e-9, + c: 2.728346815314434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + Term { + s: -1.901570248997180e-7, + c: -1.882676144986844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: -2.215507171564453e-8, + c: -2.664767105564974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -8.594006476168922e-10, + c: 2.646428509292679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: 1.914788825177291e-7, + c: 1.802159588155929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9079, 0, 0, 0], + }, + Term { + s: -1.552748552694510e-7, + c: -2.106151627740571e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: 2.183953700686986e-7, + c: 1.416658142432305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -2.524913514749332e-7, + c: -6.241908195462612e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -2.138353319728782e-7, + c: -1.478073917299159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 1.328015144321426e-7, + c: -2.228765729311316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6812, 0, 0, 0], + }, + Term { + s: -2.353016698154995e-7, + c: -1.073704082252364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0], + }, + Term { + s: 6.811979053330584e-8, + c: -2.458466780694282e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1053, 0, 0, 0], + }, + Term { + s: 1.178261092047155e-7, + c: -2.236974457455185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0], + }, + Term { + s: -5.109154239173235e-8, + c: -2.470040342966908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: 3.983658924453337e-8, + c: -2.481995676777028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: 3.117446835573834e-8, + c: -2.476912797631909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 0], + }, + Term { + s: 2.462527172000835e-7, + c: 2.942798295634073e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: 2.324365691564626e-7, + c: -8.362136938904047e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: -1.040788049702010e-7, + c: -2.239666522646542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 2.404994641354741e-7, + c: -2.757047869041854e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 0, 0, 0], + }, + Term { + s: 1.245100549912353e-7, + c: 2.068870219862465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -2.085783160738390e-7, + c: 1.200591164504670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 2.216383149006088e-7, + c: -8.530666391904697e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: 1.743274664649359e-7, + c: -1.609956825687476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -1.388064794322630e-7, + c: 1.906080241131776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -2.272945156479771e-7, + c: -6.052923211626883e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -1.800486033220497e-7, + c: 1.430689354367691e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.230581957890447e-7, + c: 1.942407236297224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: 2.175608290121157e-7, + c: 3.909716061315243e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 6.354871353760612e-8, + c: 2.104105984796354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: 2.058329429462656e-7, + c: 5.927821094387087e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18582, 0, 0, 0], + }, + Term { + s: 1.122943300717084e-7, + c: 1.806074868370195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064, 0, 0, 0], + }, + Term { + s: 7.587331230100177e-8, + c: -1.966108404153154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -1.830679260668095e-8, + c: -2.098821092045653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2856, 0, 0, 0], + }, + Term { + s: 1.503327984715188e-7, + c: 1.474362494744012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: 2.041139915674349e-7, + c: 5.001323340065025e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: -1.385492276016889e-7, + c: -1.515941581431366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: 1.835889274236992e-7, + c: 7.633333549638686e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4705, 0, 0, 0], + }, + Term { + s: 5.373283586122803e-8, + c: -1.913588677356574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0], + }, + Term { + s: -5.212909556340767e-8, + c: -1.882959633403340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0], + }, + Term { + s: -2.898428041212184e-8, + c: 1.918596099922522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.162434854717724e-7, + c: -1.550748835379566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0], + }, + Term { + s: -1.605706540298729e-7, + c: 1.048351981572081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: 4.508641678702540e-8, + c: 1.827192946757812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: -1.866186371076800e-7, + c: 1.512522092880524e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0], + }, + Term { + s: 5.213725930791847e-8, + c: -1.766777725427874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: -1.353145606759777e-7, + c: -1.249680902177666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 0, 0], + }, + Term { + s: 1.728788321447719e-7, + c: -6.184115759645921e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: 1.835334517779370e-7, + c: 1.382137106494208e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659, 0, 0, 0], + }, + Term { + s: 1.753889644517149e-7, + c: -4.882134254498902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 1.318867657781114e-7, + c: 1.188630257412923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: -1.094941939960447e-7, + c: -1.359932238055495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0], + }, + Term { + s: -1.031809363549919e-7, + c: -1.393810059536545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8721, 0, 0, 0], + }, + Term { + s: -1.592868088429021e-7, + c: 6.682090438828989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: -7.836948941643988e-8, + c: 1.520727762611180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0], + }, + Term { + s: 1.412441445359184e-7, + c: -9.469418932446280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2046, 0, 0, 0], + }, + Term { + s: 9.458814449649221e-8, + c: -1.388011249835171e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0], + }, + Term { + s: -1.658623591291572e-7, + c: 1.395428582618860e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1897, 0, 0, 0], + }, + Term { + s: -2.920382819793065e-8, + c: -1.627360810876942e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0], + }, + Term { + s: -7.255357151665457e-8, + c: -1.484235005110869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0], + }, + Term { + s: 1.634555574834892e-7, + c: 2.384660866968509e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399, 0, 0, 0], + }, + Term { + s: 1.264329588128562e-7, + c: -1.053769212050977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4112, 0, 0, 0], + }, + Term { + s: 7.468279111781214e-8, + c: 1.414655454070924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0], + }, + Term { + s: -8.854664660752427e-9, + c: -1.583321176271412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1343, 0, 0, 0], + }, + Term { + s: -1.519413475226987e-7, + c: -4.536705300369025e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -9.796851342063138e-8, + c: -1.242563331316335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, 0], + }, + Term { + s: -1.142517050791492e-7, + c: -1.071017321584846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -1.425502292332959e-7, + c: -6.286837478883845e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: -1.077223672696765e-7, + c: -1.124042810678696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0], + }, + Term { + s: 8.491209854662469e-8, + c: -1.301511818472389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: 7.610740368215926e-8, + c: 1.341510308176094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: -1.209015875672896e-7, + c: -8.562369002610661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: 1.380267146820636e-7, + c: -5.306846226966327e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 0, 0, 0], + }, + Term { + s: 2.647433703827749e-8, + c: -1.435184572941398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0], + }, + Term { + s: 8.522207216026085e-8, + c: -1.174370215198069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: 9.589668435605257e-8, + c: 1.082753798629976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -8.414851061221665e-8, + c: -1.175354058576897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 0], + }, + Term { + s: 9.452721142834782e-8, + c: -1.061394667617780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: -8.892772251690870e-8, + c: 1.075123077315716e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13907, 0, 0, 0], + }, + Term { + s: -9.780737245087385e-8, + c: -9.771815460037689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: -9.223023355086696e-8, + c: 1.013186180314534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: -5.709700982187265e-8, + c: 1.240826566739564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0], + }, + Term { + s: 6.991744796746993e-8, + c: 1.173368753217779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: 1.226292391547120e-7, + c: -5.601794761692906e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -7.493849107454081e-8, + c: -1.101416808848685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0], + }, + Term { + s: -1.247560155314962e-7, + c: 4.647226211245745e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30726, 0, 0, 0], + }, + Term { + s: -9.879362415645465e-8, + c: 8.771574524826315e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2894, 0, 0, 0], + }, + Term { + s: 9.593984004008521e-8, + c: 9.070784279226328e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: 1.280664809223250e-7, + c: -2.439164482616247e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -1.250196840768757e-7, + c: 3.622348663551731e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0], + }, + Term { + s: 7.843824773532082e-8, + c: 1.015556958278524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3519, 0, 0, 0], + }, + Term { + s: 1.171832588304989e-8, + c: -1.276194154849421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0], + }, + Term { + s: 6.308642242974039e-8, + c: -1.113744180665063e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 1.259968613418861e-7, + c: -4.539055048553673e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, 0, 0], + }, + Term { + s: -1.026000503291785e-7, + c: 7.208488512038057e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0], + }, + Term { + s: -2.026694058931473e-8, + c: 1.228113825026318e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0], + }, + Term { + s: 1.154421374916189e-7, + c: -4.378638387774772e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0], + }, + Term { + s: 9.755177673795768e-8, + c: 7.377049607996795e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: -3.049601264281141e-8, + c: 1.129803945549432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610, 0, 0, 0], + }, + Term { + s: 1.102602881482884e-7, + c: 3.583592050250229e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: 1.360860583373555e-8, + c: 1.130539950090330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: -9.221894421129567e-8, + c: 6.540419110826655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0], + }, + Term { + s: 7.913258465466074e-8, + c: -8.061312767710990e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 0, 0, 0], + }, + Term { + s: 7.204441348347064e-8, + c: 8.654086906080451e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1434, 0, 0, 0], + }, + Term { + s: 8.347888444847735e-9, + c: 1.122162420367317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, 0, 0], + }, + Term { + s: -1.035448968841800e-7, + c: -4.201773356623974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 0, 0, 0], + }, + Term { + s: 1.098260316271666e-7, + c: -2.028272924723578e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -1.031945645127542e-7, + c: 4.071321397036894e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: 2.748668047380565e-8, + c: -1.053479448243732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057, 0, 0, 0], + }, + Term { + s: -4.803449991121518e-8, + c: -9.758565092747065e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21073, 0, 0, 0], + }, + Term { + s: 1.013583353407550e-8, + c: -1.068798481215957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, 0, 0], + }, + Term { + s: 5.747913234400544e-8, + c: 9.009241212550962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, 0], + }, + Term { + s: -1.034076108655699e-7, + c: 1.192546950339520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2569, 0, 0, 0], + }, + Term { + s: -8.317087334255259e-8, + c: -6.202476312759682e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -2.624090813802291e-8, + c: 9.989975436967069e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17052, 0, 0, 0], + }, + Term { + s: -6.661850247675496e-8, + c: -7.739013510622767e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, 0], + }, + Term { + s: 9.538952543599836e-8, + c: 3.623268313273988e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, 0, 0], + }, + Term { + s: -1.567651108214348e-8, + c: -1.007890917977844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 4.152942580746112e-8, + c: -9.229318539196709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: 1.000146659328626e-7, + c: 1.177360950660845e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: -5.684181411506680e-4, + c: -6.004417493269490e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -1.989968311793417e-4, + c: 2.829900111132881e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -1.964554702960790e-4, + c: 1.310984789234690e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.162414183078446e-4, + c: 9.875350374644109e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -1.433340789843141e-4, + c: 2.085739349369338e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -7.166884880447279e-5, + c: 5.760026596533783e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -7.422150854113304e-5, + c: 3.115812856203088e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -5.944374571049969e-5, + c: 4.956882474684016e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 0.0, + c: -6.391621023383662e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.109706715375140e-5, + c: 3.232645976350856e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -2.469075068845458e-5, + c: 3.850537491480077e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 2.987394233338864e-5, + c: -2.612777481084935e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -3.739611925118216e-5, + c: -4.477254543152786e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -2.955776138619392e-5, + c: 2.243031075336555e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.025979136506417e-5, + c: 2.988622497827248e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -3.263728976625334e-5, + c: -1.310649825969298e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -2.731679037159991e-5, + c: -1.150814913266628e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -2.101743798218038e-5, + c: 3.473835060815114e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -1.917826209337807e-5, + c: 2.140271628313424e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -1.588221639927811e-5, + c: -2.328376204205020e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -9.751298042741364e-6, + c: 1.224682911176781e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 1.283130434185699e-5, + c: -7.613534034547210e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.001627310003581e-5, + c: -5.773254917329552e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -9.621810812367549e-6, + c: -2.236381482048781e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -8.511153312344523e-6, + c: 4.676517973632822e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 7.801631154948894e-6, + c: -1.983644521363597e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 5.199727867008508e-6, + c: 5.833480215081870e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -6.627649117684292e-6, + c: 2.497801184995816e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -3.127132783194008e-6, + c: 4.855077567080489e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -5.217766819889716e-6, + c: 2.098514570028949e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 5.488062796205667e-6, + c: -9.176572376657038e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 5.058415909303128e-6, + c: -1.238904517080786e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 4.698740574496308e-6, + c: 9.544352502816390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -4.512185652650492e-6, + c: 7.689053477503220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -1.820798315928657e-6, + c: 3.985180558861902e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -4.131357638554137e-6, + c: -1.330864362404917e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -1.075162360721183e-6, + c: -4.056722235557487e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -1.731525420540444e-6, + c: 3.815548778953249e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 2.380767358493417e-6, + c: 2.675124513080247e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 2.628101721314153e-6, + c: 2.389619814364627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 2.361043931748120e-6, + c: 2.308185951637592e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 2.697551639636328e-6, + c: -1.531605232832694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 2.847790075835641e-6, + c: 8.632380281657233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -2.723694703310673e-6, + c: 1.146275233496662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -2.596602566468815e-6, + c: 8.093786672010956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 2.386186176637291e-6, + c: 1.010396393862031e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -2.460822366256784e-6, + c: 7.929233218599512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -2.407563133933554e-6, + c: 8.998651001858305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -3.644942735026881e-7, + c: 2.493322222027019e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 2.160381909395082e-6, + c: -1.101447635536756e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -2.116166116200225e-6, + c: 1.102958358557688e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.187446109152814e-6, + c: 2.054814556973584e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 1.337645237294399e-6, + c: 1.905869963652277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 1.832509774865858e-6, + c: 1.415254183021925e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -2.441928578922225e-7, + c: 2.282205239942493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.877565033540648e-6, + c: 1.239568081052693e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -1.930218590609245e-6, + c: -6.437990384932524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -1.358122873092227e-6, + c: -1.164307003194545e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -3.165767891213903e-7, + c: 1.722238056704927e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -4.987111256112902e-7, + c: -1.547589881018992e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -5.797129636866845e-7, + c: 1.507772125664159e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -5.888933645205137e-7, + c: 1.502089344400396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -8.500585090970723e-8, + c: 1.518848758697323e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: -5.850153067499028e-7, + c: 1.400342422900895e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.489387877734102e-6, + c: -1.065569993632874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -8.431248670643349e-7, + c: 1.184805465432995e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 5.520454676257898e-7, + c: 1.333067848985751e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -5.573659324941831e-7, + c: 1.267581022272858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 2.175331131734829e-7, + c: 1.330723823488736e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -1.200699135866429e-6, + c: 5.963378154716067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -9.530352313334704e-7, + c: -8.387868942370207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.051607063239107e-6, + c: 6.834035559407617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -8.563685688098220e-7, + c: 8.993433123442758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 1.158794180129701e-6, + c: -3.873077696038809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: -3.830218722495073e-7, + c: -1.150062674635778e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -1.197480821550117e-6, + c: 1.408500294046186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -5.935685740520922e-7, + c: -1.031241867027889e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.156721849409366e-6, + c: 7.882010439951852e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -7.121231930752858e-7, + c: 8.421755193728870e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 1.096442270607871e-6, + c: -4.530551157753099e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -8.863042048919173e-7, + c: 6.296944663847748e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -5.314815735018515e-7, + c: 9.410231015590826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 1.042969735890598e-6, + c: 2.705144289718173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -1.055840594631281e-6, + c: -5.847834062273456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 7.352130873228864e-7, + c: -7.544691254392208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 4.679420276800033e-7, + c: 9.050349585128105e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -8.563854129020332e-7, + c: -4.225359347815902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -8.500259823250103e-7, + c: -9.174945570817980e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -5.072446026430174e-8, + c: 8.365871250260400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: -5.597168770179854e-7, + c: 6.072895164606203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -5.082134556774286e-7, + c: 6.425588284072328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: -1.265489474991362e-8, + c: 8.087747331942765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: 7.867760690968931e-7, + c: 1.299753624981828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 3.838763650543849e-7, + c: 6.882957426002741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -7.720769954182178e-8, + c: 7.757654539279782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 6.766976422906708e-7, + c: -3.135103482024764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 4.563221348477744e-8, + c: 7.043273575110208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: -4.130359444019799e-8, + c: 7.005800423266056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -6.839944800477844e-7, + c: -1.532652086791885e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -6.295643636718238e-7, + c: -9.195989453429194e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: -6.213442328098219e-7, + c: -2.358949951961597e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 3.255581295445432e-7, + c: -5.218360596237975e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: 2.525256669004299e-7, + c: -5.599945168795021e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: 3.497918729615728e-7, + c: 5.041501634958871e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -5.958974905740556e-7, + c: 8.613397913552582e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 3.886015567079846e-7, + c: 4.416769268221388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: -5.740446927698816e-7, + c: -1.985516416886342e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 2.735544980522918e-7, + c: 4.962512734890378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -1.478637626707321e-7, + c: 5.382178204209396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -1.469445499273104e-7, + c: -5.373632200950656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: -2.089068767658065e-7, + c: 5.016033162681981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: -2.849216729354727e-7, + c: -4.408884970790295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 2.283423671625543e-7, + c: 4.698042644169531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: 4.406568063962790e-7, + c: -2.560021255179947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: 2.384263334084895e-7, + c: 4.341424232179362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 4.781712260503906e-7, + c: -7.107327428283787e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: 4.401004157064056e-7, + c: -1.507900217574777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -4.716845224062196e-8, + c: -4.607069714059257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 2.405196362576430e-7, + c: 3.888416491984131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -2.616183534355120e-7, + c: -3.716926852311005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -1.905561415071826e-7, + c: 4.106309584429410e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 3.408725559102760e-7, + c: -2.942382588335532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: 4.592947229711748e-8, + c: 4.413623559554089e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 3.367481349305322e-7, + c: -2.875707477622312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: 4.296423661819001e-7, + c: 5.150019510706167e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -3.805950096871516e-7, + c: -1.855095957863257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -4.003548882536534e-7, + c: -1.372158037620764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: -1.384787765048120e-7, + c: 3.943668151833790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1779, 0, 0, 0], + }, + Term { + s: 1.793944132111536e-7, + c: -3.675996023610185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 0, 0, 0], + }, + Term { + s: 3.965138852353009e-7, + c: 9.542356389313254e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0], + }, + Term { + s: -2.475238538534674e-7, + c: 3.238323577661999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -3.764721975236715e-7, + c: -1.297316011677816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -2.054097501351120e-7, + c: -3.400201816431290e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -1.778908656415058e-7, + c: 3.337483652708429e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: 3.679668141103194e-7, + c: -7.487232548279410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0], + }, + Term { + s: 2.077818506334014e-8, + c: 3.702835916268261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9291, 0, 0, 0], + }, + Term { + s: 2.759057770881357e-7, + c: -2.476170594139009e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0], + }, + Term { + s: -2.073270623768738e-8, + c: 3.677317001267910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: -3.546760507422677e-7, + c: -6.200982004079932e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -1.037004140127409e-7, + c: -3.444183963892839e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -3.579557499036173e-7, + c: 2.769767581917266e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -2.241876023005062e-7, + c: 2.803786190190061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0], + }, + Term { + s: 3.006492201983244e-7, + c: -1.793695383433771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1025, 0, 0, 0], + }, + Term { + s: -3.336413336642988e-7, + c: -1.021384212349905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 7.117188839994184e-8, + c: -3.392221326510912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0], + }, + Term { + s: -1.241971256391569e-7, + c: 3.226940999356177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 2.177609223397316e-7, + c: -2.672997889405299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: -5.929623120994471e-8, + c: -3.325042891319319e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 1.884277350761989e-7, + c: -2.682612927006512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28124, 0, 0, 0], + }, + Term { + s: -2.647128209099150e-7, + c: -1.578191413216394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, 0, 0, 0], + }, + Term { + s: 2.961782614178267e-7, + c: -5.519543997219276e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 0, 0, 0], + }, + Term { + s: 1.518216609116525e-7, + c: -2.531767096728158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 2.841556294619405e-7, + c: -5.809082069301956e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: 2.768709315685798e-7, + c: -8.566954345209559e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0], + }, + Term { + s: 2.776890053656157e-8, + c: -2.852415715212692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -2.798379680286170e-7, + c: 5.020948235530494e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0], + }, + Term { + s: 2.349632202256364e-7, + c: -1.563246221771112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -1.757799624687079e-7, + c: -2.172989455662894e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: -2.462069676230339e-7, + c: 1.275325007859591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 8.084520960391965e-8, + c: -2.602796158651313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 2.710052528812281e-7, + c: -1.387354046750120e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0], + }, + Term { + s: -2.513553745630578e-7, + c: 1.017241924462339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: -2.703266816041628e-7, + c: -3.861070218444347e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: -1.135274197755195e-7, + c: -2.439327595425765e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -2.411567168912025e-7, + c: 1.180659231267312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 0, 0], + }, + Term { + s: -2.333006783651406e-7, + c: 1.241607456448448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0], + }, + Term { + s: 2.333964852274107e-7, + c: 1.169714447065202e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: 2.467208685810270e-7, + c: -6.253700116173188e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 0, 0, 0], + }, + Term { + s: -3.482271111869847e-8, + c: 2.511311311466741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -1.129073198662508e-7, + c: -2.254519002808162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 5.782294400758117e-8, + c: -2.412366309671760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1269, 0, 0, 0], + }, + Term { + s: -9.271521928147352e-8, + c: -2.275042104584339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 2.140872544854239e-7, + c: -1.148054820256569e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -6.814796098692957e-8, + c: -2.289561746303462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -1.214639498439142e-7, + c: 1.947759216365926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -1.652523144294123e-7, + c: -1.539760606986271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17193, 0, 0, 0], + }, + Term { + s: 1.159652500718574e-7, + c: 1.895325544368437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: 7.653810025330469e-8, + c: 2.062811234992817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: -1.510348947241392e-7, + c: 1.575549628666494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -1.610450930106219e-7, + c: -1.379295126013150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0], + }, + Term { + s: 2.078440410824318e-7, + c: -5.273737365635215e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0], + }, + Term { + s: 9.518011173317645e-8, + c: -1.819329082355647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -7.205573129828781e-8, + c: 1.906229879327532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: 1.595333994768618e-7, + c: -1.160115980784088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -1.932769590959247e-7, + c: 2.306304588215236e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: 5.980016802510830e-8, + c: 1.826248931613495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 0, 0], + }, + Term { + s: 8.512140720822923e-9, + c: 1.910932202357480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + Term { + s: 1.530778774011536e-7, + c: -1.136926872062409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 1.844363044106335e-7, + c: 1.770081115492826e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -30584, 0, 0, 0], + }, + Term { + s: 1.659978097545905e-7, + c: -7.699739112917147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1209, 0, 0, 0], + }, + Term { + s: 1.436438768587890e-7, + c: -1.125639239214609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: 9.523039773263552e-8, + c: -1.552043123174028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 1.152185110975924e-7, + c: -1.386190567701416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0], + }, + Term { + s: -1.258298930736382e-7, + c: 1.270177422207399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, 0], + }, + Term { + s: -1.395888263940392e-7, + c: 1.097277153771275e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: -1.759020893650045e-7, + c: -2.289920541248324e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: 1.720674819560138e-7, + c: -2.826048013917790e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 0, 0, 0], + }, + Term { + s: -1.174371627497918e-7, + c: 1.285343546388773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: 1.711754065843525e-8, + c: 1.708880069370007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: 1.510599789822147e-7, + c: -6.627405057797525e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0], + }, + Term { + s: 1.472885901079156e-7, + c: -7.110626976117488e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: -4.794335619781698e-8, + c: 1.536020708662298e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1618, 0, 0, 0], + }, + Term { + s: 1.572473827822336e-7, + c: -3.052438409200401e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 5.709306502072616e-8, + c: 1.451143370071713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 0], + }, + Term { + s: -7.980566900086003e-8, + c: 1.312321891695723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0], + }, + Term { + s: 1.104345084949187e-7, + c: 1.057230107390174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0], + }, + Term { + s: 1.192320594830748e-7, + c: -9.539022397829783e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: 1.059178769486554e-7, + c: -1.019421827943559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 0], + }, + Term { + s: 1.348159454892036e-7, + c: 5.835958718386427e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0], + }, + Term { + s: 1.177647870717010e-7, + c: 8.726953228052177e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0], + }, + Term { + s: 1.305239111286053e-7, + c: 6.599085898676192e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 809, 0, 0, 0], + }, + Term { + s: 3.424561799612034e-8, + c: -1.374696501818408e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -1.227451171000869e-7, + c: 6.897160567274357e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1877, 0, 0, 0], + }, + Term { + s: -1.051666218779575e-7, + c: 9.262948106033176e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2714, 0, 0, 0], + }, + Term { + s: -8.520323672202802e-9, + c: 1.395588266121556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 0, 0, 0], + }, + Term { + s: -1.038641367819514e-7, + c: 9.257551926848076e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020, 0, 0, 0], + }, + Term { + s: 1.839099079409917e-8, + c: 1.362345881845876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0], + }, + Term { + s: -1.273718348732851e-7, + c: 4.988735374806347e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0], + }, + Term { + s: 1.135750385329211e-7, + c: 7.570653652648642e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 0, 0], + }, + Term { + s: -1.350319650516166e-7, + c: 1.571082528129552e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0], + }, + Term { + s: 1.259678718273674e-7, + c: 5.084724838581497e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 0, 0], + }, + Term { + s: 1.028292699065545e-7, + c: 8.783187964409554e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 0, 0, 0], + }, + Term { + s: -1.180312426740446e-7, + c: -6.466155945491576e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17122, 0, 0, 0], + }, + Term { + s: -1.331015919795505e-7, + c: 1.353631436224626e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 0, 0, 0], + }, + Term { + s: 6.539507364022452e-8, + c: 1.148297520669775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -1.237479891331622e-7, + c: 4.471266047394133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, 0, 0, 0], + }, + Term { + s: -1.099811891264419e-7, + c: -6.768501453361605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: -1.077902034274152e-7, + c: 6.815879572247966e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9150, 0, 0, 0], + }, + Term { + s: 1.244463505853340e-7, + c: 1.743134282810207e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0], + }, + Term { + s: -1.718010931043935e-8, + c: 1.231099773576358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0], + }, + Term { + s: -1.117938736870147e-7, + c: 5.356127040855350e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0], + }, + Term { + s: 8.046874940191042e-8, + c: 9.326085611909095e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0], + }, + Term { + s: -1.070341870617694e-7, + c: 5.983547063431401e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: 1.185134526101408e-7, + c: -2.544332159047817e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0], + }, + Term { + s: 1.201524091715274e-7, + c: -1.584122253870199e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 4.673826214437038e-8, + c: -1.106646178531887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1001, 0, 0, 0], + }, + Term { + s: -8.690448756441339e-8, + c: -7.832218753762533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0], + }, + Term { + s: -7.997752149889636e-8, + c: 8.169355271992564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: -5.881170115187197e-8, + c: -9.651949874095957e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5750, 0, 0, 0], + }, + Term { + s: 1.128324027054132e-7, + c: 3.212095152274644e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: -6.515630742871254e-8, + c: 9.205270873165630e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0], + }, + Term { + s: 8.925925575165829e-8, + c: -6.372626225996407e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 955, 0, 0, 0], + }, + Term { + s: 4.615917847342305e-8, + c: 9.853121043854304e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, 0, 0, 0], + }, + Term { + s: -1.791078220174281e-8, + c: -1.053541399634384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -7.774663468747920e-8, + c: -7.221686277226840e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4065, 0, 0, 0], + }, + Term { + s: -8.741958798164923e-8, + c: 5.866359965998693e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0], + }, + Term { + s: -1.004131289140982e-7, + c: 2.933966577933143e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7024, 0, 0, 0], + }, + Term { + s: -1.471927605127724e-8, + c: -1.032247055937161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3923, 0, 0, 0], + }, + Term { + s: -5.828190018510214e-8, + c: -8.555463851423218e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -3.166217184877099e-8, + c: 9.662753979272517e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4705, 0, 0, 0], + }, + Term { + s: -1.815012407238842e-8, + c: -9.943546501700940e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 0], + }, + Term { + s: -3.476807177002471e-8, + c: 9.488685245352112e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0], + }, + Term { + s: -9.997113145388224e-8, + c: -1.437101883101845e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -2.900687987918155e-5, + c: -1.399390080560118e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 0.0, + c: 6.782978361158025e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.890887776673765e-5, + c: -1.861244546671113e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -7.101291517506989e-6, + c: 2.985308872730088e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 1.346423434379951e-5, + c: 2.632118890606395e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -6.814403833710170e-6, + c: 2.328432505840304e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -1.583374101136267e-5, + c: -1.770770619259039e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -1.881696459690364e-5, + c: -1.404491048380836e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 2.126812957906508e-5, + c: -3.275778901944888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -1.308328654107948e-5, + c: -9.893312515055390e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -1.172952486064435e-5, + c: -7.214028833520268e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -1.063135177578383e-5, + c: 4.550553590140515e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -9.517924003946997e-6, + c: -6.006357413341029e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -6.071228129767781e-6, + c: -6.677195070709935e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 9.092757470512007e-7, + c: -8.405842198694932e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 8.399232913998641e-7, + c: -7.169158187773999e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -6.630898008028536e-6, + c: -2.738291444098265e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -4.065067155116888e-6, + c: -4.791269720961084e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -5.798699769659804e-7, + c: -6.060150874041654e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.420062168138843e-6, + c: 5.763750467009531e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -2.995252351334561e-6, + c: 4.942453796659747e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -5.061956173773196e-6, + c: 2.262625566621112e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -2.648838962519054e-6, + c: -2.641885580384361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -2.854671112932904e-6, + c: -2.313930153743691e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -2.164277157576502e-6, + c: 1.687557779332066e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -2.245002547973381e-6, + c: -6.813843717905735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -2.081292931854168e-6, + c: -3.549280366675147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.978156512035721e-6, + c: -1.224813887876321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -1.660427931372817e-6, + c: 9.273658470006550e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -9.827469433271869e-7, + c: -1.318980656991869e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -7.502190511169557e-7, + c: -1.445784325865163e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -1.212255193416999e-6, + c: 1.022325188504897e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -7.133730625199181e-7, + c: 1.357102527161987e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -5.463805311227809e-8, + c: 1.508267476579125e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -8.758932317545464e-7, + c: -1.199817623374320e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: 1.137355463585024e-6, + c: 9.251975269879388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -4.150520516707487e-7, + c: 1.314801188965569e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -2.914393089352272e-7, + c: 1.265584921105661e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 3.326664614493691e-7, + c: 1.237826603199207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -5.941008779589315e-7, + c: -8.269157212270378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -3.600026593088202e-7, + c: -9.211029424776850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -7.112894093722322e-7, + c: -6.647765757720455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: 7.948631448342929e-7, + c: -4.902346660763216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -9.027104007163781e-7, + c: 2.105736285267185e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: -8.701979406378358e-7, + c: 1.230259112372502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: -8.277334038774110e-7, + c: 2.206439277899987e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: 3.766896181227434e-7, + c: 7.470430421642183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -8.177869067472890e-7, + c: 1.481216131249893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: -5.127025129694789e-7, + c: -6.165073715337912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 5.009379045717003e-7, + c: -6.112812090547524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -3.574957553622255e-8, + c: 7.537701317095248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.816452198577212e-7, + c: 6.956947993516607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -7.455803987579887e-7, + c: -6.142953731128675e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -7.306350719597597e-7, + c: 1.227064144226985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -5.984315953821567e-7, + c: 3.118656902195726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -4.519147357248906e-7, + c: 4.553338920255803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -5.433499441649031e-7, + c: -2.945498593870039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: 1.235140186783654e-7, + c: -5.886971341167523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: -4.394579033618783e-7, + c: 3.779477213028287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 2.358621277058913e-7, + c: -5.186836694659142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: -3.530542829342977e-7, + c: 4.413876711466421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -5.389497442676284e-7, + c: 1.658474841782281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -5.632213735113418e-7, + c: -1.792389516855512e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 1.635347263901198e-7, + c: 5.094783887992303e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -4.787039398980573e-7, + c: -2.284749031748076e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: -4.748746457861665e-7, + c: -2.284211033384698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.177631918582329e-7, + c: -4.623528357513297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 2.765096988561366e-7, + c: -3.849640446251745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -3.764160908851506e-7, + c: -2.575644995862922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -3.766045722398477e-7, + c: -2.568870376385930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: -3.876733886132804e-7, + c: 1.993123576934870e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: 8.698450905563124e-8, + c: -4.240784531215617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -2.370010363966458e-8, + c: -4.131540782043823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: -3.679515506320444e-7, + c: 1.789336862816161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 9.571323891021641e-8, + c: 3.952221008299908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 8.030679991108143e-8, + c: 3.930840678962965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -1.585514530040837e-7, + c: -3.615908399057759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: 8.487582679687030e-8, + c: -3.852561588882694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -3.475838273705222e-7, + c: -1.854143056737991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: -3.683737801676290e-7, + c: 1.340650765808855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 3.740939198405545e-7, + c: 9.695102248599542e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: 3.754679519613260e-7, + c: 8.127318057152651e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.486622332859515e-7, + c: -3.280191505266405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -1.705275709325649e-7, + c: 3.119312563151579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0], + }, + Term { + s: -1.556972191783836e-7, + c: -2.993011213466620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: 6.656329042047353e-8, + c: -3.287725722561457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -2.004395962557825e-7, + c: -2.444623289013383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 8.952360426997657e-8, + c: 2.983322120774373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: -3.083603148570333e-7, + c: 2.755900319335758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 1.918149743947788e-7, + c: 2.347573866111519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 1.806084716080021e-7, + c: 2.305565244760615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -2.783121929241920e-7, + c: -7.457073002820940e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: -1.684538502004639e-7, + c: -2.317083733245868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: -2.828785224383229e-7, + c: -4.369382786213261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: -1.355164379850219e-7, + c: -2.475649953743656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: 2.519309087281258e-7, + c: -1.185790251760133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -9.228967056022723e-8, + c: -2.543082275583736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -2.183867501825337e-7, + c: 1.411891182362591e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: -1.807998355918413e-7, + c: -1.788607432336448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 2.188413354582542e-7, + c: 1.261957304971507e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 2.041305992304039e-7, + c: 1.437008933967566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -2.420776040427311e-7, + c: -5.769618852444364e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0], + }, + Term { + s: 2.054452315025330e-7, + c: -1.367624124549933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 1.775416535611464e-7, + c: 1.579169091122438e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0], + }, + Term { + s: -4.892132720266477e-8, + c: 2.258698043497814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -2.217110781071171e-7, + c: -5.761767539681132e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: 1.319777991435973e-7, + c: -1.822977757961051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -2.237019905477218e-7, + c: -8.334276278654142e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0], + }, + Term { + s: 1.973324115569464e-7, + c: 1.033352307392162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 8.678316034990038e-8, + c: 2.027806883998490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1425, 0, 0, 0], + }, + Term { + s: -2.135668528603508e-7, + c: 1.290175993377540e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: -6.479165394281841e-8, + c: 2.007549209255890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 1.734091214647706e-7, + c: -1.178589232933046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 2.431455525665254e-8, + c: -1.975832554198012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4135, 0, 0, 0], + }, + Term { + s: -1.954985307912156e-7, + c: -5.038190260344652e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2451, 0, 0, 0], + }, + Term { + s: 8.677651808155998e-8, + c: -1.725254031963953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: 1.596671290583303e-7, + c: -9.547291455250991e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -1.839574876281093e-7, + c: -1.714732833565237e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3232, 0, 0, 0], + }, + Term { + s: -1.682398472870988e-7, + c: 7.016384782542520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 1.253545417550136e-7, + c: 1.276264326286620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1355, 0, 0, 0], + }, + Term { + s: -5.620466290007929e-8, + c: -1.603907156135797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: -8.600199591193368e-8, + c: -1.425790515036907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17264, 0, 0, 0], + }, + Term { + s: -1.085638034277534e-7, + c: -1.255814442953150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0], + }, + Term { + s: 1.433682394632908e-7, + c: -7.543570535019675e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28195, 0, 0, 0], + }, + Term { + s: -1.587534202383820e-7, + c: 2.080935166944372e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -9.267255133326658e-8, + c: -1.304702749638546e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0], + }, + Term { + s: 1.364137463700063e-7, + c: 8.130040762407471e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0], + }, + Term { + s: -1.568886146627735e-7, + c: 1.876872564509008e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0], + }, + Term { + s: 9.918602286809958e-9, + c: -1.547990544954175e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 0], + }, + Term { + s: 1.298508025360294e-7, + c: 8.009632675712623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: 1.097444032260013e-7, + c: -1.044033771818228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0], + }, + Term { + s: -6.938425517937285e-9, + c: -1.508706019827143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 0], + }, + Term { + s: -1.068370328021718e-7, + c: 9.902476145572647e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1111, 0, 0, 0], + }, + Term { + s: 1.288535508493887e-7, + c: -5.772232979431233e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 1.333942793944120e-8, + c: 1.402456543217161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: 3.412819403277466e-8, + c: 1.308179169450719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 7.906653945917047e-8, + c: -1.085905860137568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0], + }, + Term { + s: 1.335844175277600e-7, + c: -1.605646068461446e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0, 0], + }, + Term { + s: -1.276999991272495e-7, + c: 2.606437748910626e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 0], + }, + Term { + s: -8.029177417328435e-8, + c: -9.939132003274421e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -6.016739026971728e-8, + c: -1.126405303958618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0], + }, + Term { + s: 5.339237518207735e-8, + c: -1.153623918083457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0], + }, + Term { + s: -4.364064699871922e-8, + c: -1.177552586331901e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0], + }, + Term { + s: 8.851910605611731e-8, + c: 8.856402919974171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0], + }, + Term { + s: -9.530149664403203e-8, + c: 8.010158181930171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 6.765407621729025e-8, + c: 1.044344952057212e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0], + }, + Term { + s: -5.547385936291525e-8, + c: -1.104738179323248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 8.836754699265283e-8, + c: -8.490535814754163e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0], + }, + Term { + s: -1.043324509269792e-7, + c: -6.181805149301909e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0], + }, + Term { + s: 1.191196561461325e-7, + c: 2.086342029492386e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1995, 0, 0, 0], + }, + Term { + s: 1.050015905023917e-7, + c: 5.674684303201896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, 0], + }, + Term { + s: -2.037934766076471e-8, + c: -1.136143335852617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0], + }, + Term { + s: -2.400871203525611e-8, + c: -1.126394536795380e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5891, 0, 0, 0], + }, + Term { + s: -9.791826791070838e-8, + c: -5.291203578002493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0], + }, + Term { + s: -4.735991573974667e-8, + c: -1.000129982951311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -1.077649702918558e-7, + c: 1.805848546010036e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0], + }, + Term { + s: -8.431897224707420e-8, + c: -6.626717580762217e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0], + }, + Term { + s: 9.977848780066875e-8, + c: 3.533432742446431e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0], + }, + Term { + s: -6.610023769538541e-8, + c: 8.200984105940532e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 4.514949292182035e-8, + c: -9.454708176814195e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0], + }, + Term { + s: 1.004305409645054e-7, + c: 2.148968629976979e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 0, 0, 0], + }, + Term { + s: 9.917144630025752e-8, + c: 2.467496960018053e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0], + }, + Term { + s: -1.498366994696753e-8, + c: 1.008094707082360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 9.213060288144499e-8, + c: 4.236244310952627e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 0, 0, 0], + }, + Term { + s: -9.257490830425092e-8, + c: 3.954384635474995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 2.805542033596687e-5, + c: -1.773781603976750e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 9.784118074917200e-6, + c: -3.702807222111087e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.646889836388085e-6, + c: -8.542722062715846e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 1.946119676863379e-6, + c: -7.307618922359646e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 2.055690035967807e-7, + c: -7.233792566633612e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 4.950245740370254e-6, + c: 1.438117068541331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 7.859077040750565e-7, + c: -4.919671193600881e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -4.224443026808997e-6, + c: 7.236522241004269e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 2.957820555834756e-6, + c: -2.869217033604155e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -3.129035208680581e-6, + c: -1.074272469039138e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.277305739140342e-7, + c: -2.908620875265209e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 1.503734948666505e-6, + c: -1.953278648364732e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 0.0, + c: 2.413000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.488110568898372e-7, + c: -1.812881780504175e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.983174303750862e-6, + c: -4.559527174922687e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 1.686328426565553e-6, + c: -7.346753774487795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.564550941807359e-6, + c: -7.501317994291801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -1.529803539097848e-6, + c: 5.824903705896420e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 3.787587940149062e-7, + c: -1.292025942967574e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: -5.940958501951385e-7, + c: 1.080175310054092e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 6.675772225647295e-7, + c: 9.063999151878119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -9.839787220961339e-7, + c: -2.394841580908878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 3.330369081960503e-7, + c: 9.227831750939258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 8.176505327774451e-7, + c: -7.524958405815624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -6.054892904665956e-7, + c: -4.121494086577937e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -5.595726809187901e-8, + c: -7.303009156692029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -2.424521074506081e-7, + c: -6.746766321033074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: -6.297066949721258e-7, + c: 1.009432871432190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -1.782534507901300e-7, + c: 5.605903652730294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -5.328755504011033e-7, + c: 4.124177075881010e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 1.347113826075658e-7, + c: 5.149092050180614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -5.055989210276664e-7, + c: 1.518212049585827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 3.348255041901859e-7, + c: -4.018326130351630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -1.898121153035851e-7, + c: 4.477519080158365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 2.584035525790472e-7, + c: -3.903744984229601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -4.333908225433770e-7, + c: 4.513358948121902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -1.308198133475878e-7, + c: -3.942110043537983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 1.745531658732172e-7, + c: -3.511206630798034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -7.771502170013703e-8, + c: -3.780347942395742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -1.651116441167193e-7, + c: -3.465949120500917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 3.506186968411959e-7, + c: 1.480030290774492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 1.988905508082247e-7, + c: -3.095117318967620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: -1.393422094196542e-7, + c: -3.306384105756459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.425382368362694e-7, + c: -3.232659905726074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + Term { + s: -1.414320104568816e-7, + c: -3.105211326070521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 2.699029589061972e-7, + c: -1.677753124731561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -2.701519820995371e-7, + c: -1.464013565328794e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 2.652605464532276e-7, + c: -1.273498752692362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -2.939485216399877e-7, + c: 9.565657447690381e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.559522945219471e-7, + c: -1.388483665596408e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: -1.285703966534420e-7, + c: -2.545335113812940e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -1.401969039409988e-7, + c: -2.422190256006558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.239230395108255e-7, + c: -2.386776149268869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: -2.606750392736807e-7, + c: -4.628412197536485e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 1.122418743063022e-7, + c: -2.374925197182486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0], + }, + Term { + s: 5.374691043471804e-8, + c: -2.499150669110604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 0, 0], + }, + Term { + s: -5.705545813972216e-8, + c: -2.358231828885234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: -1.420350605925490e-7, + c: -1.869679784542169e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0], + }, + Term { + s: -1.237047757497293e-7, + c: -1.944819304612616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -2.241457887237489e-7, + c: 1.825461879145245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -1.044252542238750e-7, + c: -1.647538514554671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 836, 0, 0, 0], + }, + Term { + s: 1.451123019001504e-7, + c: -1.292397239846750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0], + }, + Term { + s: -2.731586443831032e-9, + c: -1.933671759785463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 5.539375151524833e-8, + c: -1.851735412852897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 0, 0, 0], + }, + Term { + s: -1.589106018375808e-7, + c: -1.062733505663340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 3.621940296975955e-8, + c: -1.793323422758879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0], + }, + Term { + s: 4.706309346683820e-8, + c: -1.766042479262653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, 0, 0], + }, + Term { + s: 4.948819497873530e-8, + c: -1.758447046300077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0], + }, + Term { + s: 1.503970919239071e-7, + c: -1.023788544825064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 0, 0, 0], + }, + Term { + s: -7.925500081975087e-8, + c: -1.585108462265193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -1.059615766825821e-7, + c: -1.390439889277694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0], + }, + Term { + s: 2.960734682064430e-8, + c: -1.700259247397023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 1.082293108520349e-7, + c: -1.040187901501129e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0], + }, + Term { + s: 1.992211355916830e-8, + c: -1.436212805422051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0], + }, + Term { + s: 1.376309988625407e-7, + c: -4.535892759342195e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0], + }, + Term { + s: 1.433966625867157e-7, + c: 1.612888416394346e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4277, 0, 0, 0], + }, + Term { + s: 2.245520726613554e-8, + c: 1.425273462012337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.437471932740511e-7, + c: -6.111352919385761e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 0, 0, 0], + }, + Term { + s: 9.766923441378640e-8, + c: -9.058339745099697e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 0, 0, 0], + }, + Term { + s: -1.956525672033741e-8, + c: -1.295543120935261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 7.162582867091404e-8, + c: -1.069920398656812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.255981891058201e-7, + c: -9.057797281523274e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4206, 0, 0, 0], + }, + Term { + s: -8.880397669543398e-8, + c: -8.854785623338896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0], + }, + Term { + s: 1.190841064326794e-7, + c: -3.529688216764588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, 0, 0], + }, + Term { + s: 4.987771859026572e-8, + c: 1.131777291261185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0], + }, + Term { + s: 8.064774098888830e-8, + c: -9.208848507093820e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0], + }, + Term { + s: 4.438898820002788e-9, + c: 1.221458875895409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0], + }, + Term { + s: 2.563233131599415e-8, + c: -1.182001766637917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0], + }, + Term { + s: 1.061142550394113e-7, + c: -5.768524482416186e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0], + }, + Term { + s: 1.075651572128303e-7, + c: 5.338414563440431e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 0], + }, + Term { + s: -1.168499467491811e-7, + c: -1.001586797528321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -4.814976608018541e-8, + c: 1.050575843985406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1213, 0, 0, 0], + }, + Term { + s: -3.950820993729388e-8, + c: 1.060637561680997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1142, 0, 0, 0], + }, + Term { + s: 1.007841594652295e-7, + c: 3.919234683905192e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0], + }, + Term { + s: -4.459840685647922e-9, + c: -1.031782293330017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0], + }, + Term { + s: -1.008682234219224e-7, + c: 1.169893308360592e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 4.702046343357606e-6, + c: 4.465690302607280e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -2.747473700318895e-7, + c: -2.868485598600014e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 0.0, + c: -2.250000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.665186199644506e-6, + c: -8.294216617245110e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -1.392180857074260e-6, + c: -7.417190706317572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 1.408425215009449e-6, + c: 1.575994263231418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 1.368030698186497e-6, + c: -1.815092729594117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -6.497431123389726e-7, + c: 7.235483005082086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 9.161163103305298e-7, + c: -2.440462694274444e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: -1.110686963604578e-7, + c: -5.721383645931542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 3.327420142888222e-7, + c: -4.339307817903826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 3.868671035709625e-7, + c: 3.753989325418694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 3.118130412261927e-7, + c: 3.578135681009548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 3.052680095195584e-7, + c: 3.583422205948789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 4.356420215181400e-7, + c: 9.571315627767175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: 1.998576135370498e-7, + c: 3.632973904890522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 3.728211751404582e-7, + c: -7.488701622532479e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 3.447353276574918e-7, + c: 1.312665492336925e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -1.380545427950888e-7, + c: -2.119298890963719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 2.274097466621271e-7, + c: -2.525740835305974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 1.521022919528752e-7, + c: -1.422627868343751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, 0], + }, + Term { + s: 1.439571964552649e-7, + c: -1.227474173192351e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 1.791826467973282e-7, + c: -5.734093925655950e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.441379932452383e-7, + c: 1.100098863139352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 1.746654900962604e-7, + c: -9.589888454232470e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 1.652591987722746e-7, + c: 2.191121195274146e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 1.498268972880826e-7, + c: 3.896362472453218e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: 1.469670630433528e-7, + c: -3.004304072854636e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -6.621322063514955e-8, + c: -1.276539637712602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 7.960783142385131e-9, + c: -1.394313814331705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.090650553116350e-7, + c: -8.303313485664321e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1323, 0, 0, 0], + }, + Term { + s: 8.753670864507522e-8, + c: -9.872193583867459e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 8.908126842490351e-8, + c: -9.717747590136973e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, 0], + }, + Term { + s: 5.919756066556487e-8, + c: -1.135802172114045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.243992398545453e-7, + c: -1.971262843434046e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -9.263729017458914e-8, + c: -7.006889864033879e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 1.102636674512406e-7, + c: 2.687299359776578e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2663, 0, 0, 0], + }, + Term { + s: -1.094714906002225e-7, + c: -1.711519152939194e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 1.044495268607440e-7, + c: 3.091832129728387e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, 0, 0], + }, + Term { + s: 1.036706711721420e-7, + c: 6.983127265525188e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: -5.106270373967709e-7, + c: 9.542724510744843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 1.452544406085824e-7, + c: 3.559002708656619e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -2.134734906076120e-7, + c: 2.881476574307043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 1.390674781730982e-7, + c: 3.246693145213428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.459999999999999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.341775501687156e-7, + c: 2.892757006486476e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 1.253769241170672e-7, + c: 2.403400349720381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048, 0, 0, 0], + }, + Term { + s: 1.867651847085346e-7, + c: 1.942092313847313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.192446038785467e-7, + c: 5.460612636166700e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.077495415318134e-7, + c: -7.475700178781480e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 1.740553219456991e-8, + c: 1.077463162730811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -5.949929647973884e-8, + c: 8.473859423656790e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[Term { + s: -1.714643019249649e-7, + c: -5.618157487923581e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -5.170230782278001e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.352378409982340e-4, + c: -1.329678715738528e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 5.592775542183944e-5, + c: 1.630089964035264e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -9.818462209834409e-5, + c: -2.317997576517714e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 3.660766666142338e-5, + c: -1.909739097695710e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.067233939701916e-6, + c: 3.254356482927628e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 1.241022314474010e-5, + c: -2.084181851417015e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 1.985775225385697e-5, + c: -8.035607342983063e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.785703101767381e-5, + c: -1.045969129333876e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.470026003315779e-6, + c: 2.000233674125227e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 8.025613026054358e-6, + c: -3.588088186300078e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -1.847924721842517e-7, + c: 8.525432086806332e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 3.980591322607640e-6, + c: -5.454126081066072e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 4.002501312317641e-6, + c: -3.735508044539723e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -4.960702778260571e-6, + c: -2.127723017709835e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -3.184984486668014e-6, + c: -3.823305163918310e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.295597965189396e-6, + c: -4.432155492523092e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -3.833359981988553e-6, + c: -2.478916107999407e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 3.354196359525915e-6, + c: 2.069025414283405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -6.294769705431154e-7, + c: 3.429303646880799e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -7.646772459472036e-7, + c: 3.318977597751734e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 1.162647618724351e-6, + c: 3.160247920653958e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 2.646804112874431e-6, + c: -4.469157648322478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: -9.778767521954056e-7, + c: 2.475222462528763e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: 6.761221977376889e-7, + c: -2.023484768363538e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.382043599804238e-6, + c: 1.362359573582102e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -9.542462516000247e-7, + c: 1.585296573779610e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 1.783138507206690e-6, + c: -3.070799799314454e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -4.208861817438821e-7, + c: -1.580430172663609e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 1.318276588842972e-6, + c: 5.428478952039073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: -1.050173437511493e-6, + c: 9.471811966988237e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 9.739448967998586e-7, + c: -9.656520146437994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -7.514996643038969e-7, + c: 9.187246422637856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: -1.098516317337047e-6, + c: 4.055291666404052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -1.313989160155362e-7, + c: 1.132180551944141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -9.597975234825465e-7, + c: -6.041999899549773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 4.341383004484000e-8, + c: -1.029026055519409e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -2.794134553413608e-7, + c: 9.890723299002544e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 1.189822443102965e-7, + c: 9.995625442468017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -3.850793055321131e-7, + c: 9.081774000832305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: 5.304790802599211e-7, + c: -8.240199563515006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 9.458810030702504e-7, + c: 1.797804342925314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -1.350821101240509e-7, + c: -7.794522836292766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -3.027149535578378e-7, + c: 6.489304603938602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -3.094689477348602e-7, + c: 6.438924789200437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 5.712665399214870e-7, + c: -2.736167480722408e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: -4.406031972051102e-7, + c: 4.243729997760615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -3.383098719885503e-7, + c: 4.275148792803357e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 4.251393622527508e-7, + c: -3.192853802212432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -2.132909177655106e-7, + c: 4.861972146776998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -2.413230390751225e-7, + c: 4.480228294896504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: -4.120905766240473e-7, + c: 2.829136315492731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: -2.178240486180747e-7, + c: -4.455808676105571e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: 9.467160565293176e-8, + c: 4.732160961249977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: -1.708511959883900e-7, + c: 4.336874809517840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 4.617755519206791e-7, + c: -3.368469211149372e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -2.973081941616140e-7, + c: 3.374908197474527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -1.623886435644519e-7, + c: -4.073148851469779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -2.329346073523871e-7, + c: 3.650298043632491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -3.919216276690960e-7, + c: -1.046485432699383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: 3.144673128547880e-7, + c: -2.381996458917545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 3.109411191567805e-7, + c: 2.292264006399562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -3.693905742084945e-7, + c: -1.087076299448201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -3.625577626689967e-7, + c: -1.081593684467946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -9.742970424658600e-8, + c: -3.431342770117486e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 1.308716721918374e-7, + c: -3.316258209122701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -2.114754402407261e-7, + c: 2.738046554417254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: -9.658909362073047e-8, + c: -3.256830352329303e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 2.664492757676882e-7, + c: -1.484180554210470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: 1.387507275199848e-7, + c: -2.685004702740235e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 2.886179494797077e-7, + c: 3.139763687596549e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: -2.376144694446412e-7, + c: 1.661763797916454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -2.641173354085901e-7, + c: -1.007678420423850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -2.625866330827085e-7, + c: 9.279808389275914e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: -2.528938138798325e-7, + c: -7.316950854598136e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: 3.907639607745810e-8, + c: 2.603179386307972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -2.569209604613317e-7, + c: 4.154702645736456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: -2.087854650430189e-7, + c: -1.428963936582735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: -4.788395663127229e-8, + c: -2.405681182917435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -1.453837344030343e-7, + c: -1.904247976881224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 2.122657684881364e-7, + c: 8.405013990354372e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 2.351691904661102e-8, + c: -2.181988613964928e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: -9.303448669410189e-8, + c: 1.598338837107774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: 1.738325475410776e-7, + c: 2.340692048945945e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: -9.660126278886940e-8, + c: -1.434202966726185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: -1.533486421356640e-7, + c: 7.925510225702838e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: 1.564075681620243e-7, + c: -6.843638847737546e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: 1.084071949715775e-7, + c: 1.289781197409988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: -1.021890123574379e-7, + c: 1.234807143027152e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: -1.571111474617873e-7, + c: 1.635199476750133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: -6.183978091189608e-8, + c: -1.404918680094008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: 8.231741473070089e-8, + c: -1.286247002765780e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: 6.490715456320911e-8, + c: 1.361723592815965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: 1.971126114722611e-8, + c: 1.386187253482864e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: 1.103716422270101e-7, + c: 8.549580882601599e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: -9.471761597638026e-8, + c: -1.012526756645194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: 6.466837724588998e-8, + c: 1.202399605862509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: -1.356520726206254e-7, + c: 9.645522983827789e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 1.066137567152727e-7, + c: -7.707510183953647e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: 8.192005088752405e-8, + c: -1.023603604437294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -4.920335276013179e-8, + c: -1.201193462653976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -1.208660580220721e-7, + c: -4.693061173158311e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -1.214903501299374e-7, + c: -3.028939996836604e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 1.333490561213165e-8, + c: -1.239588972042939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0], + }, + Term { + s: 1.211051488513987e-7, + c: 5.919043814664788e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: -9.717553090487575e-9, + c: -1.205022144804739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -3.306484560996765e-8, + c: -1.158788319617128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + Term { + s: 9.869752992935042e-8, + c: 6.750109540546630e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 1.071318235993712e-7, + c: -5.052374514880707e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: 3.870201959053228e-9, + c: -1.166815367872926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 6.991368312326127e-8, + c: 9.163996542984422e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: 1.020230886871384e-7, + c: 5.304297903878666e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9362, 0, 0, 0], + }, + Term { + s: 7.742606825141198e-8, + c: 8.353978351705788e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 8.822403205460368e-8, + c: -7.092494937264588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: -1.109558087392792e-7, + c: -1.679832746529083e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: -1.095012957388221e-7, + c: -2.229319654289584e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -7.172537467707991e-8, + c: -8.567841197262136e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -1.102711663798336e-7, + c: -1.550927881936227e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: -7.942291660421696e-8, + c: 7.615098799058826e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: 4.606821049628791e-8, + c: -9.911178854565270e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0], + }, + Term { + s: -9.427003725693695e-8, + c: 5.344896128873707e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: -7.510044249284291e-9, + c: -1.078963322318488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7095, 0, 0, 0], + }, + Term { + s: -9.509479968470559e-8, + c: -4.970905121714027e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 6.343087978506182e-8, + c: -8.552892086025959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: -1.031553669049599e-7, + c: -8.480987906942505e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.916684404718321e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.867137881292379e-5, + c: 3.901970138776549e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -4.333249199258191e-5, + c: 1.511920707996594e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 1.002938534057686e-5, + c: 5.892212289999344e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 5.291645523199623e-6, + c: 1.028080620211102e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.815567489657076e-6, + c: -9.752439595016154e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 6.314017826815835e-8, + c: -4.982337061102966e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.348661994405992e-6, + c: -1.453702863976332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 1.520910265701872e-6, + c: 2.642625370922649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -2.015063361918083e-6, + c: -2.202267531408485e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -2.755544524249526e-6, + c: 2.382630951251295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 1.111004533448330e-6, + c: -2.064251891115711e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 8.952600882381055e-7, + c: -1.597084909385851e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: -1.517102535309685e-6, + c: 1.820788540077167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 1.381656193854356e-6, + c: 3.819244466269509e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -3.619030135472298e-7, + c: -1.138622681749114e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.045262965554441e-6, + c: 1.644305297180739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 7.318005850328741e-7, + c: -6.244936256043111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -1.473105075350036e-7, + c: -8.128717380758271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 5.595508993152396e-7, + c: 5.000559169987715e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 4.186928947511114e-7, + c: 4.346678241874412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 5.019298744571677e-7, + c: 3.106408383818549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 5.146933197979075e-7, + c: 1.476925195521864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 3.462633922628862e-7, + c: 3.782261568388611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -7.880179361049748e-8, + c: -5.063896633053646e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 3.892704645829980e-7, + c: 9.112203008394657e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 8.570683822847420e-8, + c: -3.816824232601957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 3.432762910319990e-7, + c: 8.389802302687026e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: 3.066621477618913e-7, + c: 1.467648466485810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -1.015300893256757e-7, + c: 3.187047618222921e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 3.188626901918667e-9, + c: -3.127704280759407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 2.954994851879298e-7, + c: 6.742764795320300e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 2.515327171712022e-7, + c: 1.493835693647083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: -1.634090652185788e-7, + c: 2.426172089914957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -2.492764028299368e-7, + c: -1.270978035733296e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 2.365815478067435e-7, + c: -1.432649525226909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 2.645486962428044e-7, + c: 3.993245845944742e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 7.096330829551302e-8, + c: -2.563264344623852e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -3.616190922257995e-9, + c: -2.514534888397136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -1.446160430554360e-7, + c: -1.967492190299729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -2.345634790180682e-7, + c: 1.633967628449341e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -2.218157426778102e-7, + c: -4.500490259110727e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 2.036879268121992e-7, + c: 9.475117382736841e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: 1.105767835419894e-7, + c: 1.906484758969174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 1.955707883503984e-7, + c: 9.659672867888169e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -1.023655110159016e-7, + c: 1.879889294295272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: 1.577940340642682e-7, + c: 1.315012027217697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -1.581588068553819e-7, + c: -1.157276880807892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: -1.883743869059953e-7, + c: 1.364236108200775e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 4.599274990905904e-8, + c: 1.824972368371128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.000484909959744e-7, + c: -1.488650773547782e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -1.759003026020823e-7, + c: -3.499999350399658e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 1.555780525292082e-7, + c: 8.776299275301245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 1.660814989714291e-7, + c: -3.127461033721102e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: 2.475013313662680e-8, + c: -1.651557073442064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: -1.413692340829215e-7, + c: -8.334015200153543e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: 9.692257491320708e-8, + c: -9.701913384488495e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -1.335696723913971e-7, + c: 2.246107227929062e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: -8.733840421227871e-8, + c: -9.989609202359275e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -2.553253596841234e-8, + c: -1.120447801426664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 2.164758175449544e-8, + c: -1.104397469499315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: -1.516435499915189e-8, + c: -1.104773744003487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 4.342213707723297e-10, + c: -1.087756282769431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 9.976981659175804e-8, + c: -3.964583604406908e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: -8.121150274906077e-8, + c: 6.752217558959371e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: 6.068772012825458e-8, + c: -8.305225302406435e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 8.034786899704031e-8, + c: 6.026286855493639e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -5.838732788864434e-8, + c: -8.119742409003713e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -3.241502639233553e-6, + c: 8.107723975197160e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 9.408295302429102e-7, + c: -6.826175070633418e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 0.0, + c: -3.032000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.455855620049496e-7, + c: 2.877856969517309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -1.244761846716193e-6, + c: -1.255830173309085e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -1.073957700527947e-6, + c: 1.399188636137712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -1.245078991934732e-6, + c: -1.925559733451084e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 7.217988901046855e-7, + c: -1.237893961104315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 5.560003334226880e-7, + c: 2.532568195390379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 5.801307226846198e-7, + c: -1.778917401701729e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -3.832808773158564e-7, + c: 4.498087850141018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 5.370501434555507e-7, + c: 9.051112506118377e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -2.445504972971763e-7, + c: 4.384657180706518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 8.241496073768805e-8, + c: -4.516501474244470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 1.859411559236501e-7, + c: 2.899355939384588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 2.842673785899946e-7, + c: 7.475141811811656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -9.525006577230919e-8, + c: 1.967058775076042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 1.138891124797204e-7, + c: 1.704678437998702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 1.946905400627600e-7, + c: 9.382128066163076e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 1.158956352299357e-7, + c: 1.423919572458082e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -1.677942440895721e-7, + c: -3.523288207596715e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 7.285393533014621e-8, + c: 1.333134500339919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 1.383121040933677e-7, + c: 3.226154397244075e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 1.317803280966553e-7, + c: 1.360374343132383e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 1.218716472833352e-7, + c: 2.031973093329441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -6.411144688403020e-8, + c: -8.758049479098531e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 7.485557191148511e-8, + c: 7.230615211557943e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -1.515515499256919e-6, + c: -1.132033830238533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 4.782562281020251e-7, + c: 7.072251203267682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -6.831173694305099e-7, + c: 9.229811026279835e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -9.690449354207162e-8, + c: 4.294525261768231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -2.798609158439570e-7, + c: 2.180614627934323e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.174000000000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.897121662174752e-7, + c: -1.030310435506855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 1.537670891637357e-7, + c: 1.412454173480657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 9.931067232599241e-8, + c: 5.278176053854729e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: -3.907131594064100e-8, + c: 1.000237843494557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -9.410787610714195e-8, + c: -3.968867800428915e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -2.083866556849470e-8, + c: -2.076797671328924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -1.443353976740160e-7, + c: -3.371513314005818e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 0.0, + c: 1.460000000000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.055465904094733e-8, + c: -1.257937085279010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 8.220082021072161e-8, + c: 6.147593162142897e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + ], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.397799251564000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.347115643369476e-4, + c: 1.288320057237236e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 1.618089604229282e-4, + c: -4.997931009887912e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -9.366836084367774e-5, + c: -2.206069119526947e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: 1.979739061374527e-5, + c: 3.553759549391650e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 3.198328022155028e-5, + c: -7.470904286227902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 2.079856223257044e-5, + c: 1.169537626185558e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -1.707422431543973e-5, + c: -9.952380831734906e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.968467417262495e-5, + c: -9.411811348308960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 9.497701116435216e-6, + c: -1.593209343144428e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.722855154792000e-6, + c: 7.841780031957501e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 8.369448391174390e-6, + c: 4.344419702947698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -4.349898225106791e-6, + c: -5.990289383626064e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 4.746297293770106e-6, + c: -3.004639596888703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 3.754099512027927e-6, + c: 3.981971503612670e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 5.315936439602640e-6, + c: -4.036596505639576e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 4.853662730266908e-6, + c: 1.264949262901450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 4.399472270573098e-6, + c: 1.190132567345186e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -3.645431068621534e-6, + c: -2.726474979292327e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 3.356605046799274e-6, + c: 6.941033864684781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: 3.235620937848668e-6, + c: 8.295284017133210e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -9.518148499235899e-7, + c: 2.425684666206776e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0], + }, + Term { + s: -3.792203198387728e-7, + c: -2.527192630338142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: 2.107843605363777e-6, + c: 5.651592547307083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: 1.421582211029042e-6, + c: -1.355826503794696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -1.883527800845715e-6, + c: 1.320438968374812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -1.863021511655980e-6, + c: -1.904214537933927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: 8.467163056088111e-7, + c: 1.605304200140738e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -4.931112365346218e-7, + c: 1.311317408073256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17405, 0, 0, 0], + }, + Term { + s: 8.983395283220839e-7, + c: 1.060294934442547e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: 9.723681941652443e-7, + c: 9.256167897216958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.116025545321177e-6, + c: -9.465725262623892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: -6.226571634834322e-7, + c: 9.243078150246332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: 5.940328398999431e-7, + c: -9.213038740946506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -1.038879245345952e-6, + c: -2.030477091960022e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 8.318091644110763e-7, + c: 5.991536875651923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 1.019074110038080e-6, + c: 2.720116206244249e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 9.648398136273729e-7, + c: 2.987309873116111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -7.774558597120202e-7, + c: 5.895641882202013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: -9.280153774407150e-7, + c: 2.411725664165210e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0], + }, + Term { + s: 7.996365882979375e-7, + c: -3.294194627921657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0], + }, + Term { + s: -1.289146826706780e-7, + c: -7.436121353712186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 7.385389175958308e-7, + c: 2.807634453609583e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: 6.310421520548645e-7, + c: 3.116115219377238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: -6.252404312832174e-7, + c: -3.065846547848035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 5.449981714053695e-7, + c: -2.610749197089692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28407, 0, 0, 0], + }, + Term { + s: 2.944786723066420e-7, + c: 4.946072640382982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -4.303318422587239e-7, + c: -3.195778175910981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1421, 0, 0, 0], + }, + Term { + s: 3.264765923099736e-7, + c: 4.079698938448183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: -5.052439867728385e-7, + c: 1.181549071096276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: 2.064139267548711e-7, + c: -4.675577792598352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 4.330809893687549e-7, + c: 2.451090918382179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0], + }, + Term { + s: -4.444583234585158e-7, + c: 2.004106469999900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + Term { + s: -4.667187038233061e-7, + c: -1.265829496500567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 4.676043901610360e-7, + c: -7.861488721223183e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 3.529070080468186e-8, + c: 4.676782528587896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: -1.868425246807617e-7, + c: 4.212704917847167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 4.210764105187189e-7, + c: 1.805573511621137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: -2.106522540921606e-7, + c: -4.054806373091267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: 3.991992298121033e-7, + c: -1.243545479668339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: 2.831678742064365e-7, + c: -3.048758906127507e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0], + }, + Term { + s: -2.219349858056562e-7, + c: 3.437390098394856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0], + }, + Term { + s: -4.065074565830077e-7, + c: -7.672003651602204e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0], + }, + Term { + s: 9.199604959257404e-8, + c: -3.781614263559503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0], + }, + Term { + s: 3.719390736322629e-7, + c: 7.467140105097723e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: 3.692845789068256e-7, + c: 7.192775124593556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0], + }, + Term { + s: -3.679607415181196e-7, + c: 4.179817449873905e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 0, 0, 0], + }, + Term { + s: -3.607119581433165e-7, + c: -1.562474702143750e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0], + }, + Term { + s: -1.043865540742657e-7, + c: 3.319929697350996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: 2.639697234268854e-7, + c: 2.146547469028149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1547, 0, 0, 0], + }, + Term { + s: 2.869385439133258e-7, + c: -1.571973219712397e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0], + }, + Term { + s: 1.751126886559432e-7, + c: 2.619897122995188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0], + }, + Term { + s: -2.606546023653794e-7, + c: -1.439793672382276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: 2.648321336610465e-7, + c: 1.239846249988730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.001568439225729e-7, + c: -2.583957100068180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 2.750066906409647e-7, + c: 2.970461067006875e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0], + }, + Term { + s: -2.518080578632984e-7, + c: -9.600827370946357e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1454, 0, 0, 0], + }, + Term { + s: -1.270629237531944e-7, + c: -2.082680942872081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: 2.379231389522360e-7, + c: -5.018323067693370e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -1.623652008661617e-7, + c: -1.592511361504375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0], + }, + Term { + s: 2.254919526843871e-7, + c: -3.758529470276630e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 0, 0], + }, + Term { + s: -6.313398047634900e-8, + c: 2.148842022419332e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -2.131995611969475e-7, + c: -2.958313462164191e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 644, 0, 0, 0], + }, + Term { + s: -8.531352723654096e-8, + c: -1.678805063726159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0], + }, + Term { + s: -5.444591321866853e-8, + c: -1.764883381844606e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 1.553591474068651e-7, + c: 9.461344903562094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0], + }, + Term { + s: -1.150071365314810e-7, + c: -1.371528801385492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0], + }, + Term { + s: -5.189384306998667e-8, + c: -1.712422573032483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0], + }, + Term { + s: 1.181956959381500e-7, + c: 1.336960453575702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 0, 0], + }, + Term { + s: -1.443315545844185e-7, + c: 1.027932559795969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, 0, 0], + }, + Term { + s: -1.860294345422148e-8, + c: 1.713690957548579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17334, 0, 0, 0], + }, + Term { + s: 1.187761157524553e-7, + c: -1.226064048703564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0], + }, + Term { + s: 7.398429501697259e-8, + c: 1.526289771570895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17617, 0, 0, 0], + }, + Term { + s: -5.048834629558976e-8, + c: -1.569716118129920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0], + }, + Term { + s: 1.192658213057471e-7, + c: 1.024840476831309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0], + }, + Term { + s: -2.326867482915628e-8, + c: 1.514421608216622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0], + }, + Term { + s: 1.390299759947853e-7, + c: 3.675866286553654e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0], + }, + Term { + s: -1.427907295719100e-7, + c: -4.112328076245829e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: -4.384405567968575e-8, + c: -1.327495758254136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0], + }, + Term { + s: -1.356883423876560e-7, + c: 2.286837901922897e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28266, 0, 0, 0], + }, + Term { + s: -1.018442495441224e-7, + c: 9.048531533426280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28549, 0, 0, 0], + }, + Term { + s: -1.315838764976808e-7, + c: -2.822074412496828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0], + }, + Term { + s: 1.045792454034840e-7, + c: 8.192187305532163e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0], + }, + Term { + s: -1.075643569607695e-7, + c: -7.229266242158863e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0], + }, + Term { + s: 3.510425194797699e-8, + c: -1.242025482880170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410, 0, 0, 0], + }, + Term { + s: -1.775890965423957e-8, + c: -1.261861160185255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 1.162728964722761e-7, + c: -5.153917694578299e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1394, 0, 0, 0], + }, + Term { + s: -5.503233738895291e-8, + c: 1.073137627989766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0], + }, + Term { + s: 4.359190154625241e-9, + c: -1.190779681806699e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0], + }, + Term { + s: -6.450014993349844e-8, + c: 9.696022366017067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, 0], + }, + Term { + s: 7.308712502529915e-9, + c: -1.149466815155714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0], + }, + Term { + s: 1.147224267390174e-7, + c: 2.550004511121020e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9220, 0, 0, 0], + }, + Term { + s: 5.520378880788029e-8, + c: -9.859084296734136e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9362, 0, 0, 0], + }, + Term { + s: -2.764530381792761e-8, + c: 1.080379459936537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, 0], + }, + Term { + s: 8.747656545133347e-8, + c: 6.804190796021918e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, 0, 0], + }, + Term { + s: 1.057359387685654e-7, + c: -3.279042517588430e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2066, 0, 0, 0], + }, + Term { + s: 5.956895975085400e-9, + c: -1.095805066576981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0], + }, + Term { + s: 7.459117397678094e-8, + c: 8.021745822323792e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: 7.246502141031280e-8, + c: 8.024764140770962e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0], + }, + Term { + s: 3.269825572884498e-8, + c: -1.019285937761557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 0, 0], + }, + Term { + s: -5.536072031403410e-8, + c: -9.096701873915586e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6954, 0, 0, 0], + }, + Term { + s: -1.062027333919047e-7, + c: 4.090804457081955e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7095, 0, 0, 0], + }, + Term { + s: 8.288444244998958e-8, + c: 6.435328389597727e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1924, 0, 0, 0], + }, + Term { + s: 8.988767819546502e-8, + c: -5.107591455717502e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1708, 0, 0, 0], + }, + Term { + s: -4.691597269778575e-8, + c: 8.985968444131725e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0], + }, + Term { + s: 5.504468432043726e-8, + c: -8.406047478985167e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 7.799329701590763e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.717248673647571e-5, + c: 3.915268715031018e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 1.351790614126020e-5, + c: 4.303113637575824e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -5.551099276657687e-6, + c: 1.000517391445411e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -9.980312312223313e-6, + c: 5.479993483575932e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 2.004945560546485e-6, + c: -9.237922874925981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -4.597489121516407e-8, + c: -3.289541961969067e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: -2.929285658272155e-6, + c: 1.390810626578232e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -2.575685818380582e-6, + c: 1.556263027997418e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: -1.506848206272191e-6, + c: -2.424538878358794e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 1.516885888240736e-7, + c: 2.714417340333468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: 1.270762031412544e-6, + c: -1.955602517195453e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: 1.400139663949034e-6, + c: 1.334484068962126e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 9.029386384534692e-7, + c: -1.504522742636348e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0], + }, + Term { + s: 1.390188259891803e-7, + c: 1.493107406647538e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: -3.466928895906671e-7, + c: 1.365308713821113e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: -5.956183968948761e-8, + c: 1.231583583887492e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: 5.786536538134551e-7, + c: 9.042861068274340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: -4.733183800080613e-7, + c: 5.617263746090159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: 1.135455073672195e-7, + c: -6.081302069531213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -2.791554950631696e-7, + c: 5.418269089598360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1115, 0, 0, 0], + }, + Term { + s: -4.324826982825189e-7, + c: 4.158618597219458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: -6.324838794217083e-9, + c: 5.091705018496136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: 3.819020855219482e-7, + c: -3.286629532307015e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17547, 0, 0, 0], + }, + Term { + s: -4.843749107548880e-7, + c: 6.513109211869682e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0], + }, + Term { + s: -3.631755142189441e-7, + c: -2.295136856027426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: 3.774185435777016e-7, + c: 1.848539643132372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: 9.856270112439899e-8, + c: -3.800332132895358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -2.886343956963604e-7, + c: -1.649555515138757e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0], + }, + Term { + s: 2.238856741959959e-7, + c: -2.289009170690326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0], + }, + Term { + s: -1.711149396547369e-7, + c: 2.506515191099102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 0, 0], + }, + Term { + s: 1.822856248326091e-7, + c: -2.236836768611666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 0, 0], + }, + Term { + s: 2.333569091824901e-7, + c: 1.677676077287613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28478, 0, 0, 0], + }, + Term { + s: -2.454723075214476e-7, + c: 1.283465615852503e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -3.107213998789602e-8, + c: 2.610909940170074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28337, 0, 0, 0], + }, + Term { + s: 1.404971238891727e-7, + c: 2.202485619651617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + Term { + s: -2.375600959510164e-7, + c: 2.092861073562515e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1539, 0, 0, 0], + }, + Term { + s: -1.239207227043260e-7, + c: -1.902760958805758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0], + }, + Term { + s: 1.063091396963582e-7, + c: -1.979646337383382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0], + }, + Term { + s: -2.159965015288808e-7, + c: -5.726242857023583e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0], + }, + Term { + s: -4.994427204289691e-8, + c: 2.165374419394107e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: -8.369602386481463e-8, + c: 2.005894917745060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 0, 0], + }, + Term { + s: -1.839764215063063e-7, + c: 1.143521305200102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0], + }, + Term { + s: 6.868902240494552e-8, + c: -2.048470947291652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0], + }, + Term { + s: 9.865789952743148e-8, + c: -1.903763390218543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 0, 0, 0], + }, + Term { + s: 2.114636382256895e-7, + c: 1.850904735371922e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0], + }, + Term { + s: -1.951412139303555e-7, + c: -7.771338268906828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0], + }, + Term { + s: -4.503765587363423e-8, + c: -1.986334949316731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0], + }, + Term { + s: -5.958155337481306e-8, + c: 1.819086875149550e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 0, 0], + }, + Term { + s: -1.851208269779961e-7, + c: 4.555387283428715e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4348, 0, 0, 0], + }, + Term { + s: 7.649611194321548e-9, + c: 1.854366225587218e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0], + }, + Term { + s: 9.260870018807545e-8, + c: -1.589912062660894e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, 0], + }, + Term { + s: -3.957544984882835e-8, + c: 1.718092338472547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4489, 0, 0, 0], + }, + Term { + s: 3.309970192997521e-8, + c: 1.652032100058936e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0], + }, + Term { + s: -5.246832301827295e-8, + c: 1.437238788024734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: 1.093872570170057e-7, + c: -8.587919146078229e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4418, 0, 0, 0], + }, + Term { + s: -4.254986899728355e-9, + c: 1.388100261004229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0], + }, + Term { + s: -1.270372451086769e-7, + c: 2.363156915688817e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17476, 0, 0, 0], + }, + Term { + s: 1.211859765077169e-7, + c: -2.933976257524926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0], + }, + Term { + s: 7.898660820154465e-8, + c: -9.378865376884358e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0], + }, + Term { + s: -5.078880168063276e-10, + c: 1.193832634330815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0], + }, + Term { + s: 1.078836883489317e-7, + c: -2.601567946929079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0], + }, + Term { + s: 9.034892127808705e-8, + c: -5.930939371890225e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0], + }, + Term { + s: 1.044064351455279e-7, + c: 2.493088695227751e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0], + }, + Term { + s: 1.053803523930240e-7, + c: -9.555780358898940e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 0, 0, 0], + }, + Term { + s: 6.383867390190888e-8, + c: 8.160838886282853e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -8.059804913654822e-6, + c: -2.941250048450964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -6.680043191370353e-6, + c: -1.136997519833506e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -2.845611856658894e-6, + c: -5.656496765527527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 0.0, + c: 2.485000000000000e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.404971111547032e-6, + c: -1.018826832584167e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: -7.726524366882307e-7, + c: -1.278904130806020e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -4.344835022092341e-7, + c: 1.265611987222444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -1.030915602447548e-7, + c: -7.126814249769175e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0], + }, + Term { + s: 5.254850780140043e-7, + c: 3.029547507305361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -1.571587320373101e-7, + c: -5.748882994562958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0], + }, + Term { + s: 4.489482595006679e-7, + c: 3.854257769517118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -4.512095691999480e-7, + c: -3.687532139042418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + Term { + s: 5.122072853037799e-7, + c: 1.147373540245740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473, 0, 0, 0], + }, + Term { + s: -4.414270607336098e-7, + c: -9.462168544244891e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3016, 0, 0, 0], + }, + Term { + s: -2.828310529091746e-7, + c: 1.881624417417198e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0], + }, + Term { + s: 3.277033709468116e-8, + c: 2.407508625463195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 1.910066712931201e-7, + c: -1.236304568553551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -1.951935045191032e-7, + c: -8.755408329551308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0], + }, + Term { + s: -1.692020006677028e-7, + c: 1.150102149342297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 0], + }, + Term { + s: 1.351016898944725e-8, + c: -1.908762952160022e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1685, 0, 0, 0], + }, + Term { + s: -1.305453663892818e-7, + c: 7.399161516059174e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 0, 0, 0], + }, + Term { + s: -3.040926518294947e-8, + c: 1.425332646628251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0], + }, + Term { + s: 2.290917293776762e-8, + c: -1.192265503113960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0], + }, + Term { + s: 2.772920949710316e-10, + c: -1.200449516643604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0], + }, + Term { + s: -1.124615881870067e-7, + c: 3.091969828012887e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0], + }, + Term { + s: -1.387160513541540e-8, + c: 1.030372234963541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0], + }, + Term { + s: -8.361967496036819e-9, + c: -1.034808734783049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0], + }, + Term { + s: -7.080596547612128e-8, + c: 7.177110737973803e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1398, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 6.564129671319171e-8, + c: -1.492021484458266e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: 7.102278852698229e-7, + c: -4.489118594738236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: -1.072310289783124e-7, + c: -6.696255224305637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: -5.505922325100557e-7, + c: -8.445065002086341e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.962474496558319e-7, + c: 2.310411635848613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 9.346992523559296e-8, + c: -2.877899527091182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0], + }, + Term { + s: 2.158329137851784e-7, + c: -1.554630611578668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0], + }, + Term { + s: -5.509378874499375e-8, + c: -1.092735066615759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0], + }, + Term { + s: -4.916323755552559e-8, + c: 9.439169915280015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2945, 0, 0, 0], + }, + Term { + s: -9.426699931747756e-8, + c: -3.820488667279507e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0], + }, + Term { + s: 3.726185504293342e-8, + c: -9.362629603713002e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2875, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -9.990290688570181e-8, + c: 2.108749987744002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 2.033964988819603e-7, + c: -2.673969645707911e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1402, 0, 0, 0], + }, + Term { + s: -3.744036873436665e-8, + c: 1.409015351427665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1543, 0, 0, 0], + }, + Term { + s: 0.0, + c: -1.380000000000000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.224964018428896e-7, + c: -5.272940995217097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1331, 0, 0, 0], + }, + Term { + s: 8.725549175349468e-8, + c: -5.872338260912237e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + ], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/saturn.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/saturn.rs new file mode 100644 index 0000000..6bee3c1 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/saturn.rs @@ -0,0 +1,11503 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Saturn +//! +//! Generated from VSOP2013p6.dat +//! Threshold: 1e-7 +//! Terms retained: 2258 of 350525 (0.6%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 9.554910386038999e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.437266469055700e-5, + c: 3.363467481202068e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.229385518635504e-3, + c: 2.756171976705157e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.164814256646919e-4, + c: -3.082436604667959e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.400406755274662e-4, + c: 2.856969718535694e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.259469898765764e-3, + c: 8.131036987026694e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.642198890595163e-4, + c: 1.422284843242330e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.072777594914061e-3, + c: -9.546936725604712e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.467185109264615e-6, + c: -1.420741569614733e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.098399670483587e-4, + c: 1.168032247334982e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.283453705551986e-4, + c: 3.796425403056037e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.191703852517785e-5, + c: -6.715030705186844e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.930062026441755e-4, + c: 2.272025525606228e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.795966420664538e-5, + c: -3.995650242427491e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.296766717313027e-4, + c: 1.978890650427113e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.993969401285598e-5, + c: 3.721217112569575e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.093093571586999e-5, + c: -3.217808874085322e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.180981607548734e-4, + c: 1.109930179674765e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.784598235616548e-4, + c: 1.080117200899099e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.567845387309816e-10, + c: 1.854895655912716e-4, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.337137087433987e-7, + c: 1.734209264971080e-4, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.860817441584077e-6, + c: -1.557999857722357e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.297653520667075e-4, + c: 4.839824967903677e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.763505920892027e-7, + c: 1.325823248988644e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.842492599304599e-5, + c: 6.016373013323773e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.343637924627996e-5, + c: 7.251752222639736e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.850956593909366e-5, + c: 3.776054910621004e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.280746217235527e-5, + c: -2.304168262879400e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.624465282054647e-6, + c: -7.587815625472588e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.380103994600466e-5, + c: 3.366256584162853e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.723955421254697e-5, + c: -5.129830856806603e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.260741166047712e-7, + c: 5.407620248310923e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.190363485254537e-5, + c: -5.064262160028729e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137923068318514e-5, + c: -5.012066610450822e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.671237219048953e-6, + c: -5.070341625942940e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.821522969488611e-5, + c: -8.769860527974204e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.128325447998302e-5, + c: 2.368637357461727e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.112624859621864e-5, + c: 2.011146196744251e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.516030173802269e-5, + c: 6.993047340803902e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.189854216648184e-5, + c: 3.727326326161369e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.600653018784475e-6, + c: -3.924987524037181e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.810836981919184e-6, + c: -3.759290247649905e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.599370199077734e-6, + c: -3.702183656598846e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.679140509840439e-7, + c: 3.514095863257230e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.927585492180709e-5, + c: 1.890078667736797e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.304927423892982e-5, + c: -2.209301803954893e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.484606941239009e-5, + c: -2.819099105088729e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.924865398198298e-5, + c: 1.262271076357132e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.787487202806632e-5, + c: 1.208836209026484e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.555526713014512e-8, + c: 3.002132402466092e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.504837812843059e-5, + c: 1.478467432827476e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.024779349974505e-6, + c: -2.476498022627088e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.333556006477222e-6, + c: 2.501008363063591e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.943883789485031e-6, + c: -2.492966365298071e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.404527530764334e-7, + c: 2.314275788489542e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.671894897325155e-5, + c: -1.477798655269802e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.864099496537545e-6, + c: 2.100433853707011e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.583197521119022e-5, + c: 1.063211348878250e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.649667077423121e-6, + c: 1.713545398975689e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.055833764959614e-6, + c: -1.804864287518330e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.443794753541428e-6, + c: 1.775772415732821e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.519491323876230e-5, + c: 9.126950956672703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.705029504410148e-5, + c: -4.488136317250361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.938102107991029e-6, + c: -1.523649247772130e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034471560864681e-8, + c: 1.634122435888986e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.697007698338759e-6, + c: -1.539894534432806e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.715941854675143e-8, + c: 1.549852407855893e-5, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.416717774170577e-6, + c: -1.493267732065908e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.121174955082079e-5, + c: -9.915852570525257e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.302268959839874e-5, + c: -5.785440096224711e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.210226966427670e-6, + c: 1.308457266540492e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.102668981038309e-5, + c: 3.057247535114361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.183269592648053e-6, + c: 5.560460299178630e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.063709171844670e-5, + c: -5.882007701417739e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.500329699632247e-6, + c: 5.986119805078649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.483765557359351e-7, + c: 1.008352688955213e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -7.324551434472558e-6, + c: -6.593482915869171e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.824537567763174e-6, + c: -5.511389712947178e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.322927308229364e-6, + c: -2.895768540406645e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.012167300279252e-6, + c: -9.226997852650251e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.173695703589241e-6, + c: -8.003958618306210e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.963847025428178e-6, + c: -8.770928019297050e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.372317678353720e-6, + c: 7.888314355602978e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.345790851212013e-8, + c: 7.857776265913407e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.826354234745275e-6, + c: 7.214332875191358e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.235918396614262e-6, + c: 6.946253221130179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.563633193906921e-6, + c: -1.843432653402283e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.578499035725347e-6, + c: 3.606005371270121e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.520299072746590e-6, + c: 3.340024901208658e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.344642977037804e-6, + c: 7.373590426642976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.656427033724918e-6, + c: -4.268935593771788e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.317362871700113e-6, + c: -5.622934772764762e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.874982679758247e-6, + c: -5.379467290742261e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.527673256576289e-6, + c: 3.370911191583121e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.173209255660759e-6, + c: 1.439534888884278e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.201547279859768e-8, + c: -4.926423096801285e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.712463356178238e-8, + c: 4.828189012578927e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.202644370085034e-6, + c: -4.178915811251426e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.687213827116337e-6, + c: -2.412649810043887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.324198296433078e-6, + c: -1.457997355352065e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.224322501917392e-7, + c: 4.439552225764002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.229167367195061e-6, + c: -4.239176994392591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.863456317169216e-6, + c: 3.632352804526048e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.464176082157403e-6, + c: 3.230250820025923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.853473151521699e-6, + c: -2.707921664759872e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.530957394158346e-6, + c: 1.686177699861838e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.298567738381120e-6, + c: 1.977543480568370e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.897539548156309e-6, + c: 2.058353556043962e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -5.324942197254155e-7, + c: 3.414833221060379e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.144285609929973e-6, + c: -3.070800053322551e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.998101801510720e-6, + c: -1.037651662443279e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.063902759522026e-6, + c: 6.894437893353742e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.030123673401238e-6, + c: -4.949387004283621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.024214577957733e-7, + c: -3.002967852424513e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.390714142207664e-6, + c: 1.897464893340768e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.971114745435604e-6, + c: -6.824848546383691e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.354798739758908e-7, + c: -2.794776463626695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455785808732109e-6, + c: 2.127559581928710e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158352433992401e-6, + c: -2.284247276262271e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.402147280638772e-6, + c: -8.557446798408561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.164142341875434e-6, + c: -2.159791798225133e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.698590809501480e-6, + c: -1.686422470196664e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.332633444089436e-6, + c: -1.952325232967814e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.300578957629765e-6, + c: 4.765312559992924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.959021662289094e-6, + c: 1.154292774130199e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.055657048100520e-6, + c: 7.170067207658385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.046848835051491e-6, + c: -7.162485954661453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.527102014824039e-7, + c: -2.032913465821964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.590165983914969e-8, + c: 2.160591455477081e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.707038901426979e-6, + c: 1.244701119056206e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.209800843687975e-6, + c: 1.650860651472338e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.562093740354341e-7, + c: 2.010716456149930e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.939675281100652e-6, + c: -4.853914587870373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.944265304230761e-6, + c: 3.822049990699690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.135883494859807e-7, + c: 1.964064386497171e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.960606800548194e-6, + c: -2.186678692505840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.742338753157018e-7, + c: 1.950649143256664e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.099483130739808e-7, + c: -1.957708929502336e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 6.881746653344923e-7, + c: -1.722653313131178e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.603625659917750e-7, + c: -1.735593815145284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.740110669919462e-6, + c: -1.268011808868777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.489993896440616e-6, + c: 8.569843487941124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.250340699636608e-6, + c: 1.067105444679885e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.398155956344136e-6, + c: -8.553781063235250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.931626600445074e-7, + c: -1.570876228936024e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159053696656083e-6, + c: 1.051737848986953e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.448656219020117e-8, + c: -1.546760004002124e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.253805148271055e-7, + c: -1.532838200360753e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.007798066800194e-7, + c: 1.350568089477908e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.156344107025125e-7, + c: 1.417565373350109e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.373637410215207e-6, + c: -4.804993816412002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.443678362096979e-6, + c: -1.274032667157545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -9.835713785169194e-7, + c: -1.033871257276823e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.278558964957964e-6, + c: -5.078692744397620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.130687034681190e-7, + c: 1.327547366758453e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.156498310673742e-6, + c: 6.643382465072581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.410001609208840e-7, + c: -1.011494926931319e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.226256581370955e-6, + c: -3.877598974843826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.937499808531814e-7, + c: -1.262901911620191e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.452117230194512e-7, + c: -1.260883115662685e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.018531896335242e-6, + c: 7.485006980386693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 6.134338502247509e-7, + c: -1.103318514946095e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.982016848236307e-7, + c: 1.241940901850055e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162538322102687e-6, + c: 4.308522028317102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 8.660543163647064e-8, + c: -1.229767299858282e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -8.160280037045479e-7, + c: 9.226513028545102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.098388463134664e-7, + c: -9.216381006874504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.009475017633308e-8, + c: 1.213264359690317e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.212489902569204e-6, + c: -1.730973754831580e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.365725433708686e-8, + c: -1.196462856035590e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.820031998839727e-7, + c: -1.180124436061696e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.701332771096672e-7, + c: -7.705261357689571e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.296145260347543e-7, + c: 1.061550357823922e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.049049561393836e-8, + c: -1.122480040846423e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.914850064016019e-7, + c: 6.101594518214214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.532163715493375e-7, + c: -1.009336334921280e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.524177531745936e-7, + c: -9.646251542046841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.010170412523350e-6, + c: -2.931064312273980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.091205424890895e-7, + c: -9.518900969649222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.724573898780794e-7, + c: 6.348742623293856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.593652413156507e-7, + c: -4.924698579455011e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.063688150102874e-7, + c: -3.135373307059984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.502267130150636e-7, + c: 9.321076303940439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.059151147770499e-7, + c: 8.649243941252660e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -8.993049431981593e-7, + c: -5.172665123786461e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.895834933810761e-7, + c: -8.756704065551357e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.470367961246327e-7, + c: 5.992979483371904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.337383412915310e-7, + c: 8.692995267112241e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 3.418672026832100e-7, + c: -8.090579147048304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.673725165654998e-7, + c: -5.008964471430857e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.244320864907513e-7, + c: 7.518106143388726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.105332676226712e-9, + c: 8.612863089651933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.318022474232102e-8, + c: 8.522103605815972e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.698349704547505e-7, + c: 8.320561488696877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.817700917168530e-7, + c: -7.529339979058070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -7.163881544197085e-7, + c: -4.334760745058042e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -5.540787380162136e-7, + c: -6.251409382603613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.651727486287198e-7, + c: -2.789345632490403e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.075113571865606e-8, + c: 8.008132956396379e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.787685927061287e-7, + c: 3.770207754528525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.378689208404760e-7, + c: -1.872007761344443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -6.002310984536132e-7, + c: 4.401204704214522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.979955034199519e-7, + c: -6.633988158378291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.059384757334022e-7, + c: -6.493991003626925e-7, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.513910238617306e-7, + c: -2.815055850870911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.190840124995473e-7, + c: 6.225246113540891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.275843891408120e-8, + c: -6.993147679283112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -5.221125527478046e-7, + c: 4.627423409450556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.434104440256282e-8, + c: -6.812352152317363e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.775618565034453e-8, + c: 6.841669402174805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.521332958974866e-7, + c: 6.670583550175947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.338590614047533e-7, + c: 2.495345521548878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186710915400438e-7, + c: -6.549762574701121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.769956173119167e-8, + c: -6.457971531266391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.224480759923283e-7, + c: -5.575262789119981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 6.618583513599710e-8, + c: -6.386953397254219e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.835710840220971e-8, + c: -6.217065002351922e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.586830624700071e-7, + c: -2.804861065524552e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.188776483662215e-7, + c: -8.035170779747093e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.885540579339575e-7, + c: -1.991500664831914e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.100754639009542e-9, + c: 6.094664991062442e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.083379339357193e-7, + c: 3.312871434187422e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.675695315822335e-9, + c: 6.087137561569585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, 0, 0, 0, 0], + }, + Term { + s: 5.094995435841479e-7, + c: 3.089736386552884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -5.665044374884634e-7, + c: 1.573113924735376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.337756136747269e-7, + c: -5.385260220309355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.997457773543381e-7, + c: -4.263597884884918e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.785223667544535e-7, + c: -5.066636324520309e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 2.409029279206297e-7, + c: -5.188521309064877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.528354527217655e-9, + c: 5.712573636275666e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.415230264378397e-8, + c: -5.390817668130376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.184711929821010e-8, + c: 5.350616290559341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 4.972501592126053e-7, + c: 2.059522188979984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.675044300558934e-7, + c: -4.513253032927106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.127213196174800e-7, + c: -4.727930575024167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.597215408848795e-7, + c: -4.855020308257631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.859088607583377e-7, + c: 1.578535081065284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.716348008545485e-7, + c: -1.879884049325549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.743903186931098e-7, + c: 1.461187096405403e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.032363373241513e-7, + c: -3.733403624427113e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.976056922071800e-8, + c: -4.781148801655196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.308642618833336e-7, + c: 3.359550524529014e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.454193084357388e-7, + c: 4.425316232960993e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.398478841082340e-7, + c: -3.022910053037122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.961483982038059e-7, + c: 2.109472998489324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.484743168260316e-7, + c: -1.074369231251968e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.354694589408345e-8, + c: -4.381648841987341e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.306440228430607e-7, + c: -1.096660003522267e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.243438976235417e-8, + c: 4.352603591684599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.548671375887501e-8, + c: 4.372955274347019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.484217426227813e-7, + c: 2.528368032010539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 4.062856022174213e-7, + c: -1.255932958457526e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.507339340125206e-8, + c: 4.157568523071396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.765851006963539e-7, + c: 3.175510840797016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.988485628825824e-9, + c: 4.191432107572879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.903697664094488e-8, + c: 3.994819999911931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -3.977154407856533e-7, + c: -1.015439151511526e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.021722195808021e-8, + c: -4.032161914598030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.566039534513547e-7, + c: 1.822713061979055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.637129289384278e-8, + c: -3.971232116274086e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.934602776011451e-7, + c: -6.191148670129747e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.765411622010805e-7, + c: -1.231886244641388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.035814975274465e-8, + c: 3.836803868523207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.578265511027234e-7, + c: -2.936276915175814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 5.606924755611919e-9, + c: -3.851496318840072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.436283413010770e-7, + c: -3.561525301831261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.258894969696367e-7, + c: 3.096978838041105e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.296108165429717e-7, + c: -3.038226709075259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.619759063224430e-7, + c: 1.080786511825615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.874501602991651e-7, + c: 3.265801689646388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.724020312068634e-7, + c: -1.087865083953332e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.960750134414282e-8, + c: 3.588382697871702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.112351804653879e-7, + c: 3.025116109499612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.511754443895173e-8, + c: 3.679911409076493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.739908021824804e-7, + c: -2.423600139480041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.368420466251601e-7, + c: 1.411688756903077e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.917992215695542e-7, + c: 2.050964838458361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.550532475646105e-7, + c: -5.419844960615182e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.615714737040426e-8, + c: -3.528939271880280e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.410658777222188e-7, + c: 1.573226924589013e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.352263920685323e-7, + c: -3.095152336098233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 4.191594986419942e-8, + c: -3.306650247034890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.250573431495770e-7, + c: 5.894912840549290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.690499404569388e-7, + c: -2.788113287723314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 9.445886254066547e-9, + c: -3.252817670065830e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.154675441599470e-7, + c: 2.359172192417560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.805999298831918e-7, + c: 2.576544723678311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397997301402813e-7, + c: 2.799678400749963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.406703651907897e-7, + c: -2.792052609518774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.874006771813090e-7, + c: -1.209714235767436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.996365814661825e-7, + c: 2.388632398014284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.980886560305527e-8, + c: -3.105545253198504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -3.010548176150685e-7, + c: -3.912809612035763e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.496070737473743e-7, + c: -1.694004021426821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.552117591669424e-8, + c: 2.939600873645898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.235024620113430e-7, + c: -2.678588662142191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.786401091490171e-9, + c: 2.940978616667211e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.107445671758605e-7, + c: -2.019391779169670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.354275778042067e-7, + c: -2.582651935709695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.036886693356928e-8, + c: -2.829059879162391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.465647543204634e-8, + c: 2.874842612997850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.795169169024832e-7, + c: 2.191223313671825e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.655532679684170e-8, + c: -2.746226314929722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.643645064095912e-8, + c: 2.728718070594820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.595283401427323e-7, + c: 9.358020871840362e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.606868082194882e-7, + c: -2.204254049057112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.275447316680533e-8, + c: -2.693661126168907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.346627520023004e-8, + c: 2.712006342230111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.926110594761276e-8, + c: 2.614690834633793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.612519913880045e-7, + c: -7.007535471092044e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.605090462141771e-7, + c: -6.600143702823774e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.636163553243786e-7, + c: -2.112216176611741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 8.154614658806330e-8, + c: -2.509305187321865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.630561714232906e-7, + c: -1.640978036108162e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.707139442942003e-7, + c: 1.978674345986398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.561571114784531e-7, + c: -4.401648258806904e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.558508351639378e-7, + c: -2.072344522036478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.581868223549104e-7, + c: 1.191754642810326e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.299519746234727e-7, + c: 1.163117712247415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.748874904395249e-7, + c: -1.879036766528383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.076669341299334e-8, + c: -2.461202400796630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.365760198230198e-7, + c: -9.035496910751475e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: 2.467520172530858e-7, + c: -5.365349015589166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.521187057920083e-7, + c: -5.495417829429236e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.668844640878876e-7, + c: 1.878999183758939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.858266224405844e-9, + c: -2.496910837290994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.474574777017017e-7, + c: -3.108836900651783e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.376115781929934e-7, + c: -7.420966116169549e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -19, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.992265895358878e-7, + c: 1.421352098695776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.374420159543528e-7, + c: 2.024826912239970e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.416193625445454e-7, + c: 2.781967510562059e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.977263007594799e-7, + c: 1.298460558196606e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.290949626026220e-7, + c: -5.799688212440631e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.062821089127225e-7, + c: 1.143505201718508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.518505226495110e-8, + c: -2.319696488240549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.137111666659446e-7, + c: -8.888295749814192e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 2.101998806579677e-7, + c: -8.974020663676573e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.060273688241802e-8, + c: 2.246839524050800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.186264795880377e-7, + c: 5.613165764435799e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 3.791642868700554e-8, + c: -2.181251453839326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.807672032196631e-8, + c: -2.158595364873622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.174684711241626e-7, + c: -2.023265335896893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.356457235289432e-7, + c: 1.670016413604286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.653207114315327e-8, + c: -2.034745224735850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.465988197503402e-8, + c: -1.931090937448652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.836259064871550e-7, + c: -1.011589007492137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.686311980922810e-8, + c: -2.057634256544359e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.478106599297073e-9, + c: -2.058179217419378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -2.759504099180966e-8, + c: 2.032516261420499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.750855850524878e-7, + c: 1.046549646930896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0], + }, + Term { + s: -2.021496930324576e-7, + c: 2.213186147444352e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.628165522409077e-7, + c: 1.192580770098794e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.164011873608829e-7, + c: 1.630000066724730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.882958893387098e-7, + c: -6.701168033280207e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -6.046698835342563e-8, + c: 1.880501234435200e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 7.388562370515469e-8, + c: 1.799671255890697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.567430689159443e-9, + c: 1.924557797429147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.754043840020203e-7, + c: 7.861758743967186e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.871528986603273e-7, + c: -4.029671173580270e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.641407591662352e-7, + c: -9.482665259864322e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.732962125172559e-7, + c: -7.512299455468386e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.668420793996589e-9, + c: -1.883328217555335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.986265808716693e-8, + c: 1.853054362823249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.845410583207284e-8, + c: 1.780773700799678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.692432061062365e-8, + c: 1.855856969370365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.155228454345060e-8, + c: -1.775394297022349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.066110642409515e-8, + c: 1.745585579493341e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.499516745675498e-7, + c: 1.072973691158799e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.781013615329982e-9, + c: 1.842451045456453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 9.637177627291824e-8, + c: 1.484107875248809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.776092888479483e-8, + c: -1.586157276703797e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.674572303844545e-7, + c: 5.506918474763640e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.789160398702145e-8, + c: 1.686564314795484e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.681257989775403e-8, + c: 1.683958973738821e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 3.472819156403542e-9, + c: 1.737201693888937e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -6, 0, 0, 0, 0], + }, + Term { + s: 1.096856190139681e-7, + c: -1.346508389791418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.670202351482451e-8, + c: 1.636460500518309e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.636772052858629e-7, + c: -5.597432801280175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.367394340839016e-7, + c: -1.059497692908930e-7, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.025174773943074e-8, + c: -1.470140315615902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713067914221496e-7, + c: 8.949886702081014e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.168731966041109e-7, + c: 1.251110406992607e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640658217551354e-8, + c: 1.690188343237017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 7.576299747717916e-8, + c: -1.530027020221512e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.103518246851273e-9, + c: -1.704612728900975e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.587082703390160e-7, + c: 6.163877214254484e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.226519819123956e-7, + c: -1.179933563520070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 8.151876332068320e-8, + c: -1.483791082536811e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.660892934808909e-7, + c: -2.983582375686343e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.183851131408796e-8, + c: 1.625854184284916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.521335359378186e-8, + c: -1.435295386761950e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.589193473721731e-9, + c: 1.646800653025620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.839380897792853e-8, + c: -1.380128021932849e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 2.420402592840385e-8, + c: -1.620837206622902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -1.609851995606473e-7, + c: -2.397624302499679e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.731906060607952e-8, + c: -1.430097378213487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.597897795031878e-7, + c: -2.579908385407452e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 8.850234793262462e-8, + c: 1.348352196093064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.413241884765545e-7, + c: -7.663304905599486e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.086394102638169e-8, + c: -1.419158039016971e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.204986378921578e-7, + c: 1.022981338098603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.563766755064572e-7, + c: 2.170052168067835e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.714994943365714e-8, + c: -1.502440340430304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.924738984269625e-8, + c: 1.546709862279138e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.518760257264573e-8, + c: 1.549402926007890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.480424536315539e-7, + c: -4.350003846205974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -20, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.141910924525164e-7, + c: 1.030314508559168e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.012062619907897e-7, + c: 1.153961631843781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -14, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.947195169350810e-8, + c: 1.513862962966854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.192395424419190e-8, + c: -1.287375257108308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -19, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.318995409386673e-7, + c: -7.647650127959248e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 3.674798694198453e-8, + c: -1.474623693895111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.101888860760028e-7, + c: -1.045641098542783e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.479579059511235e-8, + c: -1.481936227079480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.553288011676736e-10, + c: -1.502376681849708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 1.464070137978611e-7, + c: 3.059163567723143e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.158613204441810e-8, + c: 1.285474795832241e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.327792961504031e-7, + c: 6.314849233045769e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -19, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.367519184365170e-7, + c: -5.218640477753416e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.749545381031487e-8, + c: -1.077797321811352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.327306824906487e-7, + c: -5.246302628070573e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137188185932765e-7, + c: -8.573593352383680e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.880107864196118e-10, + c: 1.389108529945518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.188261456715791e-7, + c: 7.118982836270132e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.351528478508846e-7, + c: 2.835201978559319e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124985565459037e-7, + c: 7.839599517757521e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 9.042082107106927e-8, + c: -1.017244532550188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.047736647584945e-7, + c: 8.426130175044333e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.341645563951152e-7, + c: 2.883356180432767e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.282458884591399e-8, + c: 1.048056229921189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.957322330111876e-8, + c: -9.274216799128742e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.283952872090518e-7, + c: 9.813774672997477e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.082148604829103e-7, + c: 6.845612822159977e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 5.175953460166400e-8, + c: -1.160302699545930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -7.087943702702982e-8, + c: 1.049322780175521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.787863806652497e-9, + c: -1.247263822878563e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -9.674546445764768e-9, + c: 1.244616928580034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.221904364673580e-7, + c: 1.744890215376265e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.543641167073575e-8, + c: 1.206061566646901e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162825764924961e-7, + c: 3.623134443893329e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.123903435316041e-7, + c: -4.663086127149700e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.648927330576395e-8, + c: -1.202590099583981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.227570945699955e-8, + c: -1.168050568195306e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.220215437590955e-8, + c: 1.035913722690100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.146394482637306e-8, + c: 1.199613065196959e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.984881126094308e-8, + c: 8.927927005654166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.184712574021745e-7, + c: 1.053762731272325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.867875154992920e-8, + c: 1.168701151839434e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.095917831818183e-7, + c: -4.384100717709173e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.413163115536057e-8, + c: -1.159043929318461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.048629473427439e-7, + c: -5.067117943111295e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.135296599530679e-7, + c: -2.538652066927954e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.644900800078316e-9, + c: 1.149666276431481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 3.688689178010864e-8, + c: -1.088799701727026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.097764399738857e-7, + c: -3.363516739422875e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.034825047994979e-7, + c: -4.530939377103257e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.368822934807792e-9, + c: 1.128153411845268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.714995943312829e-8, + c: -1.113453499726598e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.005954562838444e-7, + c: 5.041869491540351e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.748894888619574e-8, + c: 1.110532506072020e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.448141044833300e-9, + c: -1.121325055738174e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.337541283435171e-11, + c: -1.121483522407413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.166979968683711e-9, + c: 1.119493919491063e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -9.283172661642397e-8, + c: -5.898701015519614e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.087843213351302e-7, + c: -1.523895327477593e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.612230781275702e-8, + c: -9.366121819737299e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.022066047145264e-7, + c: -3.813436360075977e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.499646115063692e-8, + c: -8.690904297639147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.752001873540775e-8, + c: 7.570484860240812e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.862984048602755e-8, + c: -8.304162453723698e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.571127174945147e-8, + c: -1.015839075282066e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -15, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.753330565281101e-9, + c: -1.074915610899091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 2, 0, 0, 0, 0], + }, + Term { + s: 1.057289487091151e-7, + c: -1.916095366695361e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.643198589336125e-8, + c: -1.053988177073020e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.815484507888819e-8, + c: -3.913387158468687e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.503383663553820e-8, + c: 6.249075066108827e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.189891491437462e-9, + c: -1.050464306248016e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.588654260510046e-8, + c: 9.444996908774996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.362680528835422e-8, + c: 7.486881374853504e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.416938856760302e-8, + c: 1.020630502072685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.670422319593861e-8, + c: 9.616539872704933e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.009575766394748e-7, + c: -1.774423967793617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 6.331880844013938e-8, + c: -8.023758302386181e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.215682637837485e-8, + c: 4.040000599387624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.004201081318806e-7, + c: 2.816060505428779e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: -1.105970394103897e-3, + c: -3.193271577091174e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.301383551544057e-4, + c: 1.581125229230819e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.265563862236850e-4, + c: -1.470135629064336e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.967999254061474e-5, + c: 1.771728618188248e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.552314541331334e-4, + c: 4.400521220527489e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.424027498151338e-4, + c: -4.539412839633730e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.385468715801210e-5, + c: -1.386487414250173e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.409501615149758e-5, + c: 7.673835465865033e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.996893812734614e-5, + c: -7.587136314898497e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.642358621703433e-5, + c: 3.355188593558506e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.119163908096681e-5, + c: -6.267203382816776e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.378638996904761e-5, + c: 3.994790833215986e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.884973714189189e-5, + c: 1.885289433026717e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.052116368084250e-6, + c: -3.728906697422895e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.495094180541370e-6, + c: 3.423452790613737e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.843141939149418e-5, + c: 2.128620479532030e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -2.136483344835938e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.237846502431105e-6, + c: -1.990755964569360e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.952087547004544e-5, + c: 6.910184647722654e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.321985447557936e-5, + c: -1.084655713574194e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.534351164038338e-5, + c: 4.336999648697182e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.036614254921231e-5, + c: 1.175726658547930e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.992290872240341e-6, + c: -1.290073697969871e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.612603644479730e-6, + c: -1.204663028213386e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.007866219680632e-6, + c: -7.824073076405194e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.546844315969012e-6, + c: 1.166484107779711e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.724532926745553e-6, + c: 2.540598049973315e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.573290821821746e-6, + c: -2.916203886557712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.181405261387430e-6, + c: -3.216552304809206e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.815622565673509e-6, + c: 6.366057414444443e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.921331636389043e-6, + c: -3.191409084854007e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.002167246319638e-6, + c: -7.473433324200653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.298138288151514e-6, + c: -3.619165756789259e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.550953973068119e-6, + c: -7.918671658048172e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.048414602672857e-6, + c: -5.228178152658719e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.910918396799363e-6, + c: -7.325101650177340e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.738418975351114e-6, + c: -6.980619784642670e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.839339152199280e-6, + c: 3.646492161088479e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.006587951811294e-6, + c: -2.710257760793898e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.087149222462427e-6, + c: 6.446844118602627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.822600236367203e-6, + c: 1.424299683494042e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.134806838865314e-6, + c: 4.828768932537186e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.880931649959605e-6, + c: 2.907108038310514e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.620995159471359e-6, + c: -4.045892553447117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.889303248036277e-6, + c: -2.201776713568300e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.649005402546385e-6, + c: -3.836422815403083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.012228865686502e-6, + c: -3.395129593234207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.114776030722746e-7, + c: 4.881866477422348e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.644353040642404e-6, + c: 4.556500703339711e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.808709102306695e-6, + c: -4.448571828541549e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.271043321291895e-6, + c: 3.424780742855655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.629226273043843e-6, + c: -3.034909498472444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.969876434902535e-7, + c: 4.528876049759040e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.773814913900094e-6, + c: -2.898833272649155e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.592267033115733e-6, + c: -2.150693517275560e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.035580235655796e-7, + c: -3.199355461487434e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.652865435886082e-7, + c: 3.003685149356856e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.655355733088986e-6, + c: -1.400930106387354e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104756324478310e-6, + c: -2.689843923733591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.752932089706062e-6, + c: 7.123739496624841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.748506597272836e-6, + c: -2.123477304715123e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.850621282982922e-6, + c: -1.956860035006426e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.842111985584100e-6, + c: 1.826379461987763e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.151756606642491e-6, + c: -1.988737627227468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.076718160736334e-7, + c: 2.085258173350800e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.498914975683812e-8, + c: -2.123609086719602e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.637409036241723e-6, + c: -1.307985531733184e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.576720430323239e-7, + c: 1.900064823741404e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.663674369006351e-6, + c: 1.101481244892293e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.927855711664311e-6, + c: 3.347030331427653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.627236483838521e-7, + c: -1.616851676984319e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154006529558320e-6, + c: -1.243351643334256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.301465546443170e-6, + c: -8.699704796938146e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.823907990325820e-7, + c: 1.424209616483337e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.037918084717527e-6, + c: 9.639216435775774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.827672778722313e-8, + c: -1.405394709824449e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.014241372364991e-6, + c: -7.709054905080297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.182815499392029e-7, + c: -1.017068218569718e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.644496319390908e-7, + c: -9.394822058060551e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.841945806907451e-7, + c: -5.083332425262758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.085503867313992e-6, + c: 1.270318819363094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.908292863149733e-7, + c: 9.700896875429354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.902266627522840e-7, + c: -9.656162272031844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.303143375326729e-7, + c: -6.172399703366472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.425180095536835e-7, + c: 1.003463024222039e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.880718733663459e-7, + c: -7.590961587788310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.495018142710509e-7, + c: 1.006866457446057e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.887771580764630e-7, + c: 9.555617205961745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.919196104561768e-8, + c: -9.193267000267886e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.395979252524313e-7, + c: 7.127923708209316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.012787668412853e-7, + c: -5.534242981485971e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.745267385218594e-7, + c: -5.622424730947801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.402325513340878e-7, + c: 5.652265387827919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.906296171450829e-8, + c: -8.427921749751216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.897175549699894e-7, + c: -6.826861295470395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.046938562281839e-7, + c: 7.868976754694700e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.109187211212400e-8, + c: -7.924815488662259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.827979757464998e-7, + c: -6.247997830249010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.607587379106397e-7, + c: -2.099376169830807e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.626140507860657e-7, + c: -5.318599528782622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.847392934370682e-7, + c: 5.026871480156065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.244892117307514e-7, + c: -2.364646109283233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.177467669046615e-7, + c: -4.406041908005299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.421913972389121e-7, + c: 6.135697926281142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.362204667234370e-7, + c: -6.208682510989016e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.331533077059025e-7, + c: -1.721926563331173e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.730644408631384e-7, + c: 1.939061509110065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.218524005323291e-7, + c: 6.300195327162676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.401482749744550e-7, + c: -5.175909417833820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.255323273830961e-7, + c: -5.729541005924285e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.099307366452807e-7, + c: -7.023859334930717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.043489806504713e-7, + c: 2.672598862620405e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.597448577579632e-7, + c: 5.828750244661339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.976689286075426e-7, + c: -4.516706916847201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.989022997132644e-8, + c: -5.926710582451949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.145259430826933e-7, + c: -1.522779997876486e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.847363871333815e-7, + c: -2.159458207990270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.009394613297196e-7, + c: 4.831971572398717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.895908897675888e-7, + c: 1.422941355525060e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.812679752532527e-7, + c: -1.420829024197369e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.607563921994741e-7, + c: 1.326724593635186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.575105246600016e-7, + c: 1.333743868605453e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.692155243287822e-7, + c: 2.435956901479730e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.694469191843334e-8, + c: -4.429627543865445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.404933352553530e-7, + c: -2.932992838008785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.153019678689234e-7, + c: 4.328521419375317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.706890772604241e-7, + c: -2.439454767146131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.292121421912774e-7, + c: 2.585503673479143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.093005384716668e-7, + c: -7.929899097183131e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.591931624307579e-8, + c: 4.085753292837455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.991770947983955e-7, + c: 3.393442110245461e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.234531095535817e-7, + c: 2.135707515585551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.238490867075799e-8, + c: -3.761426998840614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.916903387112074e-7, + c: -3.198134227969611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.750591507734000e-8, + c: -3.634393312831910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.278975738847607e-7, + c: -3.378123242795706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.119162854144222e-7, + c: 1.751568619637660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.508805480689445e-7, + c: -4.822188435648269e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.447507685713904e-7, + c: 7.525360876023465e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.240819695155484e-7, + c: -2.634317928671151e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.039244435557223e-7, + c: 1.604373259769523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.586480757499434e-8, + c: -3.319458382678847e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.325549380682843e-7, + c: -1.591220932094601e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.190308608886246e-7, + c: -5.554427544007504e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.108198114193887e-8, + c: 2.942228348986371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.587799857295145e-7, + c: 1.365943014070818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.726291710016190e-7, + c: 1.024245182528402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.352351778273859e-7, + c: -1.706461815783434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651778707331274e-7, + c: 2.216216867475908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.537899131361515e-7, + c: -8.508298434201829e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.558485069025466e-8, + c: 2.609242854866017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.649660536631923e-8, + c: -2.578808043281366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.969164802290968e-9, + c: -2.601028702157082e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.961732702139171e-7, + c: -1.706818857770083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.030474073459769e-7, + c: 2.371041505939098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.515056756358500e-7, + c: 5.649315778041922e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.234276107414209e-7, + c: -1.266499131657986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.194476402778317e-7, + c: -1.304118396477284e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.358788547466069e-7, + c: -8.484449529090175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.854916307961066e-7, + c: 1.629903894278990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.958599456382116e-8, + c: 2.387431649419867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.185811552396056e-7, + c: -2.097887303735544e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.586484205575464e-8, + c: -2.351542958704831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.348199875675548e-7, + c: -6.739768041287139e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.026139924486153e-7, + c: 1.028460283954641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.851384395107000e-7, + c: 1.308331501255168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.109884507841473e-9, + c: -2.259184336642434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.130485017816908e-7, + c: -4.364275014782366e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.414162870459213e-9, + c: -2.173367967472263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.110030775753724e-7, + c: 4.249296525281457e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.767224620114161e-7, + c: 1.172974490529390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.111221994536995e-8, + c: -1.979527208836672e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.594441455617118e-8, + c: -1.921454169905144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.419963683403525e-7, + c: -1.499863180715746e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.878959315722835e-7, + c: 7.533473158178737e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.533888404013081e-8, + c: 1.929661532469903e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.433632889518711e-8, + c: 1.913157121443635e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.235816786320062e-7, + c: -1.512323771135310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.399402016509320e-8, + c: -1.896986792065937e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.974683035990357e-9, + c: 1.898318800747256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.125591529659995e-7, + c: -1.503934979068971e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.387682608497403e-8, + c: 1.813394011007924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.330332883051291e-8, + c: 1.713163707666236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.787887488885776e-7, + c: 4.506681027278108e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.841355189850291e-7, + c: -6.614042231017286e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.810752676427667e-7, + c: -2.940940999173153e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651819641993105e-7, + c: 6.235884767030327e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.639313056228575e-7, + c: -6.512424117304994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.685965627543602e-7, + c: -5.042153039014689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.156367537282005e-8, + c: 1.741497347176140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.006859808139537e-7, + c: -1.432143678817419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.221254858295036e-8, + c: -1.728822472593363e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.304966736031374e-10, + c: -1.686871567069453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.545738164039943e-7, + c: 6.631009286999870e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.629042488661521e-8, + c: 1.642739624920822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -19, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.477988042983429e-7, + c: 7.127420622126694e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162604539162436e-7, + c: 1.153272637091997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.564390613758985e-7, + c: 4.462869225072624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.256426159580276e-7, + c: 9.947916211384347e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.631683177109565e-8, + c: 1.259805512171237e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.484241276441806e-7, + c: 4.807026639816637e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.797336390790460e-10, + c: -1.557450280586964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.513955750725568e-7, + c: -2.575719612298834e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.143850815731286e-7, + c: -9.900622876057075e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.186402777708934e-7, + c: 9.244629998614884e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -6.302080243656092e-8, + c: 1.355498070064695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.305975492445750e-8, + c: -1.449499599083859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.146500367501185e-7, + c: 9.092045863052694e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.036488256159123e-8, + c: -1.148756876082299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046942016745268e-7, + c: 1.017600574299732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282804445000762e-7, + c: -6.687166771546049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.540283198107338e-8, + c: 1.401041251094459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.351817474792863e-7, + c: -4.873622630774783e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.403483444026431e-7, + c: 2.560848799309736e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.372028888555405e-7, + c: -3.280186716472985e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.089924717473607e-8, + c: 1.207915776183958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.177963870676878e-8, + c: -1.197083760344463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.577160095357949e-8, + c: -1.283387040167179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.992541452292990e-10, + c: -1.318290712811388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.032645508883702e-7, + c: 7.689466251598805e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.701256794979164e-8, + c: 1.230447111206267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.278200617494759e-7, + c: -1.176638146403228e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.298317497782937e-8, + c: 1.130560193158628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.230585227049306e-7, + c: -5.256099859554545e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.039479712301269e-7, + c: 6.491224643376871e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.020512631137871e-7, + c: 6.771861214529553e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.189738272202448e-7, + c: 2.814759478088225e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.467103874402551e-9, + c: 1.217578153349957e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.871079254554860e-8, + c: -1.153111443073071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.174640589146063e-7, + c: -1.101851495997214e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.995553397563532e-8, + c: -1.109232805026368e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.125078755850843e-7, + c: -3.226391507214463e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 9.880529964450188e-8, + c: 5.972108057065644e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073299393150346e-7, + c: -3.606721441249471e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.360407412798694e-9, + c: 1.124744340177131e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.475799571294889e-8, + c: -9.170046078941942e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024028361304028e-7, + c: 4.497482183954169e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -18, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.698620241681353e-8, + c: 6.985241789213994e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.074036762938747e-7, + c: -2.533430340500049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.628633943878255e-8, + c: 8.791220838179785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.049292432617792e-7, + c: 3.295590576072534e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.906933316922568e-8, + c: 8.519880904973888e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.684898002793834e-8, + c: -8.568743077574146e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.193613595001274e-8, + c: -7.073056884043015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.881413902931919e-8, + c: 3.806576638053017e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.072138565625668e-8, + c: -8.465221766994674e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -14, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.446649291643878e-8, + c: 1.020627907544400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -20, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.002209309160719e-8, + c: -6.397638790150025e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.754192274957941e-8, + c: -2.958537142330831e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.874550005583130e-8, + c: -8.283323900116527e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.828835355938383e-8, + c: -9.379882039629776e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.431983354109126e-8, + c: 9.059525234419578e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 9.543232806737214e-5, + c: -2.175658703767189e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.355073980465816e-5, + c: 3.047971411338665e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.277617483417609e-5, + c: -2.789650804287107e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.307131818041404e-5, + c: -5.302901589859269e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.994475345900573e-5, + c: -3.232830427033566e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.754386464572763e-5, + c: -5.724979498811513e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.634922529946485e-6, + c: 1.463189418340372e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.029813245454647e-6, + c: -1.127044257955377e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.270759595231486e-6, + c: 9.395145115389408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.112634382695445e-6, + c: -1.439780285291152e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.073926202729283e-6, + c: -1.443175198836656e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.137790104564869e-6, + c: -5.959360231114662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.423902366850360e-6, + c: 3.837410266233101e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.360381418630461e-6, + c: 4.846361909989863e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.847200063591426e-6, + c: -3.635176596434245e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.470112693040867e-6, + c: 3.963651796014189e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.878243803560856e-6, + c: 3.811897007830117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.994226025779154e-6, + c: 1.356400698661604e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.030508755033924e-6, + c: -3.322369798270673e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.263029926792057e-6, + c: 3.025185611977153e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.766984361723019e-6, + c: 2.742089404250237e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.936217046493936e-6, + c: -4.436541361762931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.421735041488329e-6, + c: -2.270154054288776e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.217704316233333e-6, + c: 1.405029138339292e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.415386139204444e-6, + c: 2.069769396287506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.241200853339871e-6, + c: -1.543743477615558e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.224709871195118e-6, + c: 5.954903937446633e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.170832557309698e-6, + c: 1.847748685968083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.763647675663989e-7, + c: -1.881773928562716e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.984787683633936e-7, + c: -1.907212303195702e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.430654580818544e-7, + c: 1.919830842022784e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.974557683915673e-6, + c: -1.016310348388362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.722408483501912e-7, + c: -1.624805696453438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.795753509806963e-6, + c: -2.856246396098406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.761673041344847e-7, + c: -1.532843078353378e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.556384687537324e-6, + c: -3.202227129920510e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.463199935381429e-6, + c: -3.581506484367422e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.503357127925810e-7, + c: 1.226591780990427e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.141902646812775e-7, + c: -1.124286786945338e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.250501290545065e-7, + c: 1.152801330939742e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124790663009624e-6, + c: -2.127254469428525e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.101862477645004e-6, + c: -1.785761855003538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.969771299141270e-7, + c: -9.354003342534231e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.056272599038057e-7, + c: 6.875515161168613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.040830350331403e-6, + c: 3.899783704518571e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.388676722090987e-7, + c: -4.362626656061430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.706906665660499e-7, + c: 7.939928701283688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.012126799770150e-7, + c: -3.715132714320665e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.129438828870457e-7, + c: 6.075138905018108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.238927268939010e-7, + c: 3.024915341304655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.500329470965582e-7, + c: -6.585664141855548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.748666403990335e-7, + c: -1.076275747169234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.703682611910479e-7, + c: -3.552310444958222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.419643449524406e-7, + c: 1.976065855965986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.559595361857820e-7, + c: 6.074696040071189e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.348038043449598e-7, + c: -4.508711047516199e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.704342513147522e-7, + c: -4.993847372720828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.894434256099746e-7, + c: -5.493263381421154e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.462661437265950e-8, + c: -5.773092959631464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.813116451386317e-7, + c: 5.012916912471654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.370960192161342e-7, + c: -3.393562110144247e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.949176572488968e-7, + c: 2.068435225573877e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.619160186433052e-7, + c: 4.141493114172564e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.113810225408204e-7, + c: -6.234274799452862e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233557724224167e-7, + c: -3.940930266386483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.644578761165305e-7, + c: 1.903898471207263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.166977127864190e-7, + c: -3.849163389386274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.101611465792241e-7, + c: 3.826055090813195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.898027196719243e-7, + c: -2.585810125455645e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.231512588119045e-7, + c: 1.775257304905593e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.620716886622486e-7, + c: 3.099926342860790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.322170130001226e-7, + c: 1.278113171363753e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.929745799672555e-7, + c: 1.405469506300193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.216722688418986e-7, + c: -2.369501523428838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.171355207916819e-7, + c: -2.918943201372605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.420997867937764e-7, + c: -2.768540481223335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.080731661995285e-7, + c: 8.962410607260771e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.793513926570437e-7, + c: 1.300172547487007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.645863009199875e-7, + c: -1.175292808396064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.121650391078226e-7, + c: 2.585192666941514e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.616949424271319e-7, + c: 5.398906808475380e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.491629042641013e-7, + c: -3.449137807911938e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.092098746585316e-8, + c: -2.241519407002975e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.093498855315450e-7, + c: 8.927936982301234e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.892770764116319e-8, + c: 2.146427968806080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.190282826851975e-7, + c: 6.964893310460567e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014538528814245e-7, + c: 7.218112596633079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.122268806423872e-7, + c: 1.662735759893353e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769222290744828e-7, + c: -1.109161207215571e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.986689849635904e-8, + c: 1.882576753448592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.043090072367372e-7, + c: 8.257992357201676e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.925542175809068e-7, + c: 3.934333200992423e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.772909305184889e-8, + c: 1.850087484277653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.826598588923705e-7, + c: -2.300262441370467e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.189684786063932e-9, + c: 1.824083127914374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.943522217539994e-8, + c: -1.638288552155376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.258912670477657e-8, + c: -1.504986412402229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.660759312649454e-8, + c: -1.520479314231132e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294555754076094e-7, + c: -9.580925600187013e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.913202910689983e-8, + c: 1.542022154124399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.498269872015422e-7, + c: -1.799323712983388e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.406774945780176e-7, + c: 5.210521306555452e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.965795874436869e-8, + c: 1.320293521097423e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.377482932152855e-8, + c: -1.377939178945983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.419611213659379e-7, + c: 3.076202998921452e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -17, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.390281043749021e-7, + c: 2.084738033955549e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.783461104613646e-8, + c: -1.295422798491024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.363266534462933e-8, + c: -1.328759434348623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.338333062799605e-7, + c: 5.599416246069582e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.516273310230925e-8, + c: -9.216754564451961e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.966112416716909e-8, + c: -1.299475555526020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.471504474999520e-8, + c: 9.682148197252824e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.075487948706884e-7, + c: -6.972326252639441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.773126492910741e-8, + c: 1.124845838853527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.026893148349818e-7, + c: 6.257750864835590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.805337622259536e-8, + c: 1.185745422330132e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159396207371243e-7, + c: 1.909188548553185e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.140751787075353e-7, + c: 2.489361650278044e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.334882931442008e-8, + c: 1.112584630650035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.475208217157214e-8, + c: -1.011444349658423e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.619897465831476e-8, + c: 1.092279387023586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.529846613303577e-8, + c: -1.011710725456758e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.313736163476191e-8, + c: 9.608539247946747e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.035782698014287e-7, + c: -1.718717775217254e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.179797674008236e-8, + c: -9.460347503562363e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.499713819299298e-8, + c: 1.021633685819907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.025343400889639e-7, + c: -1.332722834352601e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.040143836505048e-8, + c: -8.853266841055011e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 2.765513245963422e-5, + c: 1.750455016051973e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.596540219568218e-6, + c: -3.147894103406804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.850967305230505e-6, + c: -2.543514190765736e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.550830289804823e-6, + c: 2.254707666990173e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.011726925084100e-7, + c: -1.965829620180609e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.960344186929281e-8, + c: 1.869385905176007e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.852026843360069e-7, + c: -1.225254937458915e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.276862947451135e-7, + c: -9.024913530406273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.921439050474436e-8, + c: 8.637668664660671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.859774561590645e-7, + c: 3.428624746932598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.960500448244173e-7, + c: -2.456407356371822e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.589235170083669e-7, + c: 4.729175431667634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.044992255773287e-7, + c: 3.639970141180929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.503194232576082e-7, + c: 2.402089436588427e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.855184274346293e-7, + c: -3.217360395380197e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.335493014149526e-7, + c: 4.439760577055588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.112789726882644e-7, + c: 4.892385308516622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.292243963074076e-8, + c: -5.054415130878804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.895881087202438e-7, + c: -2.220262326297567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.723420193567326e-7, + c: 1.554989787377313e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.874672855834459e-7, + c: -7.592504209206681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.582375690561143e-8, + c: -3.509433466473764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.564265208639309e-7, + c: 2.079639764651236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.467918011399942e-7, + c: 1.442998386225079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.106864130263857e-8, + c: 2.828316610489967e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.458014189720791e-7, + c: 1.410001420936392e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.483918341498767e-7, + c: -1.306623726771339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.474400335567125e-7, + c: 9.627688710096717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.112267622327004e-7, + c: 1.447779177945488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.584571545019433e-7, + c: 1.992970283919020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.878378760351542e-7, + c: 1.578062500171551e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.974433871234071e-8, + c: -2.371203670184686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.252414065600683e-7, + c: -1.847857720756408e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.965143666242286e-8, + c: 2.099744499916955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.409948270916261e-7, + c: -1.638202839071561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.454764700224723e-7, + c: -1.568027315711090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062373459687619e-8, + c: 1.753857905408245e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.995057595449796e-8, + c: 1.717895502167395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.606918161216826e-7, + c: 5.863970764685760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.501746695482017e-7, + c: -7.331565765568760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.074364458902092e-8, + c: -1.651832960392012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.118494478732580e-7, + c: 1.071427352826494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.284589200083850e-7, + c: 6.980203320119622e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.470814297600083e-8, + c: -1.130206316022524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.426926088460720e-8, + c: 1.087714907968631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.014903375548117e-7, + c: 3.335229636518886e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.818001129918205e-8, + c: 1.011360388409962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -2.311917652702994e-6, + c: 2.531174622981228e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.486403252105042e-7, + c: -6.389958552436178e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.423595295975908e-7, + c: -3.465199459724480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.893950181560027e-7, + c: 3.283514638417402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.316024924441306e-7, + c: 1.164911517253093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.503845328731946e-7, + c: 4.556416970089496e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.264965672479815e-7, + c: 9.242093607445974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.139680555714039e-7, + c: 9.920117741911121e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.309999079290465e-7, + c: -3.507864460112100e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.883202728972040e-8, + c: -1.156965769564220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: -1.711500883696264e-7, + c: -2.383038292804749e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.536459951750379e-8, + c: 1.390978641233724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 8.740185101070000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.394485247958371e-2, + c: 2.196822377038024e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.597835215572053e-3, + c: -1.166003573736016e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.480939665477631e-3, + c: 2.295828964456338e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.117855749721047e-4, + c: -5.006408026920131e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.777492483092022e-4, + c: 2.594871730976586e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.654821184365961e-4, + c: -3.734633121247196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.172049812974600e-5, + c: -1.549455235103924e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.986896268891143e-5, + c: 1.434032726406950e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.437583315528428e-4, + c: -2.355123027116298e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.239157825227743e-4, + c: -4.153007987461424e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.129672165073479e-5, + c: -1.279755174631860e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.320161214325963e-5, + c: -9.299666942251917e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.838958229491256e-5, + c: 1.016277794240057e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115800195076722e-4, + c: -4.865016937959655e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105374104719986e-4, + c: 8.106240865418688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.887919529004364e-5, + c: -2.264437585003735e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.195500460687586e-5, + c: 4.883700979999452e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.049798362108529e-5, + c: 3.492035536307304e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.899937368661505e-5, + c: 1.078013629640271e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.396515519656548e-5, + c: -3.504582432441658e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.213649092954169e-6, + c: 3.598029373793829e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.149403733594222e-5, + c: 2.260298940095183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.620283953618274e-5, + c: 2.491406062342589e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.558994035583020e-5, + c: -4.403743737362808e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.692413583444888e-6, + c: 2.506910944825881e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.900523319249782e-5, + c: 1.239434021215187e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.245172297417884e-5, + c: 9.365590627140471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.111931503574676e-5, + c: 4.346087650354090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.625070645528811e-6, + c: -1.698895015755884e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.843665333882878e-5, + c: 7.247812419347397e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.756806647056856e-5, + c: 1.016079514542297e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.481542585633667e-6, + c: 1.299764699657664e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.374340871235143e-5, + c: -2.740643527737718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.116101781741948e-7, + c: 1.238636870859387e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.981645739335192e-7, + c: -1.141229645727325e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.025176929758021e-5, + c: 4.284014241732881e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.385919840017753e-6, + c: 1.002731544670255e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.465127480212305e-6, + c: -9.584772871758603e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.052767428477942e-5, + c: -8.467705143378504e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.048574700504475e-5, + c: 7.040768133047354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041718087305626e-5, + c: -1.223233499808346e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.473897891422788e-6, + c: 5.287323660960913e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.605759796332937e-6, + c: 3.338936602952934e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.130305457489525e-6, + c: -1.300302842164927e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.540259815389339e-6, + c: 6.883786078347304e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.588550792405156e-6, + c: -1.261512140780515e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.010255591172279e-6, + c: -5.221396608801611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.750212380088346e-6, + c: 2.271690609280366e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.125945559661993e-6, + c: -9.464510832364300e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.725371201116229e-6, + c: -5.481662958661973e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.667612559946806e-6, + c: -4.648322922486469e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -5.202169316396371e-6, + c: -8.469341316925533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.085525290362249e-6, + c: 5.145451284580152e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.951420442836394e-6, + c: 4.946960382601883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.497997762521508e-6, + c: -2.992449654077677e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.461218761847011e-6, + c: 3.656500309511393e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.377412742420623e-6, + c: -1.479292127318121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.143970510432692e-6, + c: -5.857354700596766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.992055122519859e-6, + c: -4.813815913463013e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.695877720369821e-6, + c: -2.857069548423018e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.591624748404317e-6, + c: 1.428893841021225e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.252679470982484e-6, + c: 1.949463019680541e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.927787136286498e-6, + c: 2.312590368092060e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, -2, 7, 0, 0, 0, 0], + }, + Term { + s: -1.677903013786593e-6, + c: -3.214948706056693e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.220041987362360e-6, + c: -3.215875000708817e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -3.790158336150197e-7, + c: -3.210641332294203e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -3.986387715616935e-7, + c: 2.796116849157065e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.768391035857868e-6, + c: -5.209742813831203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256390625217256e-6, + c: -2.448228219365366e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.543547249513144e-6, + c: -1.063933174325339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 2.504616591254295e-6, + c: 1.063915692317932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.911413307539015e-6, + c: 1.560256480198098e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.615012594288012e-6, + c: -1.748036511301045e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.350908903501585e-6, + c: 3.303641442960827e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.345264751079617e-6, + c: 1.940181334651219e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.146899275232038e-6, + c: 8.638747776884398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.385508604902166e-7, + c: -2.240451847481045e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.028870010640696e-6, + c: -1.901945163247614e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.104196096361217e-6, + c: 1.677845476626272e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -16, 9, 0, 0, 0, 0], + }, + Term { + s: 1.898600903440565e-6, + c: 3.927102699076096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.302693713024692e-7, + c: -1.683532482944063e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 6.427921291124204e-7, + c: 1.685628290717376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 1.372874754577780e-6, + c: 1.094695735955120e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -17, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.323402281993393e-7, + c: 1.716340949358066e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.464026594877626e-6, + c: 8.568040020080361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.559125327900096e-7, + c: 1.569927811031119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.561321121875849e-6, + c: -3.767000065767056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.605423223874325e-6, + c: -4.572476819216697e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.599968165501457e-6, + c: 2.865678725197118e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.471278100722308e-7, + c: -1.461065230082173e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: 1.554861168182932e-6, + c: 6.843707985825877e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.513856348469889e-6, + c: -3.450169668182157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.884938845543026e-7, + c: -1.072400159127046e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.421929319426050e-6, + c: -3.243794372188300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.678792444745009e-9, + c: 1.393368012895928e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.200763843150540e-6, + c: 6.694135759491587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.246366002757603e-6, + c: 5.111139770263761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.346565845148783e-6, + c: 2.309596729217990e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.194407368581325e-7, + c: 1.295534734930382e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -8.407340658663895e-7, + c: -9.839611257373832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.240352947290125e-7, + c: -1.126884382516965e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.393857174959622e-7, + c: 1.025802347474634e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116942878169201e-6, + c: -5.705080921811135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.079757815162368e-7, + c: 1.021624646007225e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 6.291503084454546e-8, + c: 1.171742779980317e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.158236831465997e-6, + c: -3.723064271686423e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 1.117786644861323e-6, + c: 2.127115324680137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.836488433243486e-8, + c: 1.108992044154076e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.726442072526440e-8, + c: 1.075255853329888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.233843442052641e-7, + c: 5.881945761279558e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.498046921920743e-7, + c: 9.287724604451424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.436521435825459e-7, + c: -7.953181261133670e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.045697145137045e-7, + c: -6.485959273211389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.923938128531045e-7, + c: 4.016692056279075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.880717774448878e-7, + c: -7.681472700958017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.491953106101277e-7, + c: -7.476079135752159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 7.085411254313405e-7, + c: 2.986815385986756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.735560680637267e-7, + c: -6.664439017089407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.541261061677158e-7, + c: -3.769243159634028e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.999817394903869e-7, + c: -2.022185374173263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.647677129285873e-8, + c: 6.903828021752201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.833044495667953e-7, + c: -1.883903030885948e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.196418433095051e-7, + c: 4.399124808723213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.079086507159841e-7, + c: 5.394804459687910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.738285835637744e-7, + c: 6.155490578145691e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.675917636646759e-7, + c: -3.434757131406367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.743412862201276e-7, + c: -5.268831569583453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.632393996208733e-7, + c: 6.065319793673762e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.819855560314876e-7, + c: 4.933887221079608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.691376156340509e-7, + c: 5.597015812825128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 4.127351598405919e-7, + c: -4.093451696234652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.213800126101936e-7, + c: 4.480821994020960e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.304477303714002e-7, + c: 1.331524247472855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.259081951535469e-7, + c: -4.902155501188279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.020197286712685e-7, + c: 1.841371209398979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 4, 0, 0, 0, 0], + }, + Term { + s: 3.670215024692458e-7, + c: -3.863903783461890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.833051403926115e-7, + c: -3.598766603547518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -3.561188522140159e-7, + c: -3.783758532453564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.553163927468622e-7, + c: -4.712913794769933e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -12, 14, -2, 0, 0, 0, 0], + }, + Term { + s: -4.802324006425500e-7, + c: 3.829582083138587e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.614287263620876e-7, + c: -6.434490203157465e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.623194736016083e-7, + c: 2.660256743715486e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -2.205752643331333e-7, + c: -3.927751433222356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.130911925437935e-8, + c: 4.388264917187808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.865757679234515e-7, + c: 3.996893485192293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -2.211225411107953e-7, + c: -3.778965494483495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.961123479253716e-7, + c: 1.729948432648592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.201213913353378e-7, + c: -6.489550399155605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.136910776265434e-7, + c: 3.981045765107735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.683295565124991e-7, + c: -1.421234032439916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.344159699579592e-7, + c: 1.947863568643706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.734071166940751e-7, + c: 1.229661155697364e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.671702703801427e-7, + c: -6.168058623060521e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.957927942832385e-8, + c: 3.632561231063754e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.255896938388234e-7, + c: 2.818252110863083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.925769640793410e-8, + c: 3.536139083167528e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.098066411832543e-7, + c: 2.841297888501437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.259015720722566e-7, + c: -1.262088499642207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.178308708479796e-7, + c: 1.441221342422704e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.397563505206618e-8, + c: 3.447608801075990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.909720313951654e-7, + c: 2.822811827379866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.345074495609577e-7, + c: 1.703566321567982e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 7.141773797218012e-8, + c: -3.182765764750713e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.208360873142900e-7, + c: -2.256289967360085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.620421029390302e-7, + c: 2.671308974350178e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 6, 0, 0, 0, 0], + }, + Term { + s: -6.955073878892702e-8, + c: -3.027169952937711e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.039998851723803e-7, + c: 3.020927015031221e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.377679014354160e-8, + c: 2.948924050924961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.787637478869129e-7, + c: -8.551716471495048e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.777388255550375e-7, + c: 6.727436774459536e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.829145303805951e-7, + c: -2.308346216314398e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 6.524824051860049e-8, + c: 2.755801116126969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.804156907070989e-8, + c: 2.621246231592937e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.083544703642118e-7, + c: 2.508471948757383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.557982864769234e-8, + c: 2.611091295175418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.658008805404120e-7, + c: 4.108272898583185e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.308630187393555e-7, + c: -1.315773786760800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.284608034615980e-7, + c: -2.305050334600157e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.504548505838450e-7, + c: 8.146834620692943e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.969753447118978e-7, + c: -1.683405596588641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.014989636391372e-8, + c: -2.517686024275537e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.306818246751227e-7, + c: 9.633992486459110e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.438044488821261e-7, + c: 4.012015944070235e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.367012018227266e-7, + c: 4.669003673918856e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.183496951685003e-7, + c: 9.954909331104923e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.370853093337362e-7, + c: 1.657520371533118e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 2.367093123837977e-7, + c: 2.019770405415244e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.242651421708149e-7, + c: -6.144545884291253e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.306091218544497e-7, + c: 5.008258695950533e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.192423580440583e-7, + c: -1.964565644431787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.009602724551544e-7, + c: 1.081322027835019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.210520540676196e-7, + c: 1.124583383076996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.290814919422708e-8, + c: 2.084046891841949e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.026913159718933e-7, + c: 5.705271044227685e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.072180250843805e-7, + c: 2.578919270756607e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.028776311547868e-7, + c: 2.370822197731984e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.244423843312761e-9, + c: 2.026995432898074e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107417628866294e-9, + c: 1.991665499368896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.949603869594409e-7, + c: 1.973883720872525e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.249374339714257e-7, + c: 1.460578677267773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.625519854945256e-7, + c: 9.605523096490699e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.672292953548310e-7, + c: 8.582254334929983e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -4.536093504813834e-8, + c: 1.795570034447203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.316516763094076e-7, + c: -1.290261507365932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.595359266169762e-7, + c: 8.432031856922895e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.237778972097078e-8, + c: 1.713728874171120e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.014388746915020e-8, + c: 1.709345326589653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.502230883554449e-7, + c: 9.512788042208917e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: 1.523007129890481e-8, + c: 1.692686032031421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -6.370214578055311e-8, + c: -1.553709694235295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -23, 15, 2, 0, 0, 0, 0], + }, + Term { + s: -1.607056546770672e-7, + c: -4.439769149652900e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.648179789780000e-7, + c: -1.351665027397424e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.571635495107014e-8, + c: 1.637647079359751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.396114614743338e-7, + c: -7.868398758917870e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.565479843527982e-7, + c: 2.331354858828011e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -7.379581568341567e-8, + c: -1.346573388196310e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.141965251812591e-8, + c: 1.403169325902890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.035971152413783e-7, + c: -1.125204456753977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -13, -2, 7, 0, 0, 0, 0], + }, + Term { + s: -1.308843940442753e-7, + c: -7.402907898546029e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -2, 7, 0, 0, 0, 0], + }, + Term { + s: 1.346301280871497e-7, + c: 5.990725758747565e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.439667395553449e-7, + c: 1.249625004938848e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.725742753102762e-8, + c: 1.364818820578227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, -1, 5, 0, 0, 0, 0], + }, + Term { + s: 7.570931664913000e-8, + c: 1.181999152848739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.377140285349317e-7, + c: 1.997786181593686e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.256800500000006e-7, + c: -4.636008900000218e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 8.756525514577010e-8, + c: 9.895073213853848e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.188661766982632e-7, + c: 5.699048178553591e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.297193212579838e-7, + c: -2.062239083743713e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.503176823371404e-9, + c: 1.294715643668364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.276623202687973e-7, + c: -1.988984097181577e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256510875275374e-7, + c: -2.322476094192894e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.219373268397665e-7, + c: -3.723023762411581e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172733923604126e-7, + c: 4.889607424405521e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.226830185045317e-7, + c: -3.182432030471412e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.236024288633477e-7, + c: -1.956935030031898e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.346836103905007e-8, + c: 1.238305552095614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.543574877841709e-8, + c: 1.214752264526608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -5.580262319575981e-8, + c: 1.106772073297747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -6.525456262518133e-8, + c: -1.053136940270291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.216743003111978e-7, + c: -1.902471846470373e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.724381905733991e-8, + c: -9.531121114240650e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.211703133846512e-7, + c: -1.455592529835449e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -6.659819331611776e-8, + c: 1.022506470182399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.063908341959777e-7, + c: -5.934042435536939e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.205326568639553e-7, + c: 2.670531865332854e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -7.929284639760467e-8, + c: -8.948914438457815e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.144493055385985e-7, + c: -3.081354329804539e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.182223556983672e-7, + c: 8.170106217465759e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.142503017656049e-7, + c: -2.404138828230470e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159068749549961e-7, + c: 1.335854304214925e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.096851348016087e-7, + c: 3.858778464945622e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.427447791575533e-8, + c: 1.108448302789726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.605350545871551e-8, + c: -6.322029296414316e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018469223365119e-7, + c: 5.308888669654079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 8.447028963334363e-8, + c: 7.711707557487959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.101400340248328e-7, + c: 2.417652062507655e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.099431070196370e-7, + c: -1.273946085019259e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.517740221977832e-8, + c: 1.047775439555654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.926785286728685e-9, + c: -1.087530220814708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.777267136880417e-8, + c: -7.217744773601589e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.039100281607844e-7, + c: -6.089688865655767e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.856513202404353e-8, + c: 3.266465410405277e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.434170004450711e-9, + c: -1.034817987632732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.202599570036003e-8, + c: 1.000527623681810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -6.923226017484578e-8, + c: 7.499521676097212e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.656886906301489e-9, + c: 1.007149850197123e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.339424970727321e-8, + c: 9.081928458804704e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 2.566197373055674e-8, + c: 9.719678913012885e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.275413029084121e-9, + c: 1.001292550087117e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 2.132990861084880e2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.590734155170401e-3, + c: 5.404682690426123e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.236930020131259e-5, + c: -1.074916347085107e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.564226039416728e-5, + c: -9.389128377923473e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.303129337884233e-5, + c: -1.219940809916475e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.293265881637454e-5, + c: -2.754362831316031e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.359122353865236e-5, + c: -2.942465244168476e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.933868146399388e-5, + c: 2.150811339139116e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.186258315243516e-5, + c: 1.787208075136896e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.032890828532729e-5, + c: 1.651718398784531e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.279021837008143e-5, + c: -1.075366669888585e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.524528366181484e-6, + c: 1.058477422726878e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.208525705980417e-5, + c: -7.247813683051722e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.053373444236765e-6, + c: -1.002974427996563e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.817878017973679e-6, + c: -2.680736199134899e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.807349270577938e-6, + c: 7.654694156196077e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.100762153233168e-6, + c: -5.100928733682302e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.645153837604640e-6, + c: 9.404420677568477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.739568504197078e-6, + c: -5.286131711011331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.722393065523790e-6, + c: -4.674177665610517e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.807909929522756e-6, + c: -1.889927782049083e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.636945643386247e-6, + c: -2.329865967544388e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.083746158864972e-6, + c: -4.017562239804385e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.096866420461249e-6, + c: -2.634605404195025e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.458125785339081e-6, + c: 3.003156921435275e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.949342141830013e-7, + c: -3.524944718431693e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.498493166663216e-6, + c: 3.184093743537858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.831114448408082e-7, + c: -2.915788118597848e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.724302451216839e-6, + c: -8.834821571166170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.749954857840526e-6, + c: 5.397328794776701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.211420239354955e-6, + c: -2.708637721306743e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.593130179610339e-6, + c: -1.388024058199704e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.341729233089458e-6, + c: 1.621276056663234e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.047511585329900e-7, + c: -2.000826166814296e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.897575094179869e-6, + c: -8.631581340547589e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.566474181674447e-6, + c: -5.469613242383526e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.501874543153770e-7, + c: -1.594824745369684e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.783824847178681e-7, + c: 1.326850841537172e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.214451372511758e-6, + c: -6.849561005425428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.758566295740088e-7, + c: -1.166875526267898e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.522206682388460e-7, + c: -8.790854766411041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.199384044727643e-7, + c: 9.750777728860772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.355897912292278e-7, + c: -7.490365229163233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.481597627545685e-7, + c: -1.058787705434626e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072118414670321e-6, + c: 1.097620963315259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.683641888845200e-7, + c: -7.340146672328394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038101708926816e-6, + c: -2.041287759653158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 9.225349222798201e-7, + c: -3.398438325046637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.571020601717917e-7, + c: -4.814571437238201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.660935322965102e-7, + c: -9.169010556023289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.015695673109603e-7, + c: 5.980360049188868e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.472547727198120e-7, + c: -1.814917930481508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 5.147251283958887e-7, + c: -4.915474617786012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.482864693979298e-7, + c: -2.819000549075620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.395303292596568e-7, + c: 2.894838383769653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.379786454489575e-7, + c: 9.086402984339519e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.302543585806362e-7, + c: 2.975777923981215e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -4.388344413262683e-7, + c: -4.086795515436900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.474783562594261e-7, + c: -2.097060990316924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.010322377724617e-7, + c: -5.389345433617356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.137984345153508e-7, + c: -5.375377215120539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.819882172412981e-7, + c: -4.601080529817271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.646876601775337e-7, + c: -4.672206611023904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.820405828990878e-7, + c: -2.207728515954733e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 5.006633990138100e-7, + c: -1.486238408555804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 3.016866230066379e-7, + c: 3.655922374401170e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.559440301040501e-7, + c: 3.547185078987834e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.212630392115343e-7, + c: -3.046360167557614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.170511871039421e-7, + c: 5.711308149243451e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.125630207694939e-7, + c: -6.875639751794770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -1, 2, 0, 0, 0, 0], + }, + Term { + s: 2.944893919398832e-7, + c: -2.905706676949155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -3.519810065799198e-7, + c: 1.730972897838020e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.305602980155779e-7, + c: 3.156273641494601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.285490393663435e-7, + c: 2.924848892018234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.250898395983971e-7, + c: -1.275148110242485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.718597314244948e-7, + c: -1.975365411066187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.297618462750429e-7, + c: -2.245893712257947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.474637752054356e-7, + c: -2.800078231209437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.971005800029904e-7, + c: 5.748726529007889e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.633731094480661e-8, + c: -2.886597721896547e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.157673883496038e-7, + c: -2.616015568005135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.786672441470479e-7, + c: 2.216265964017058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.744079088283866e-7, + c: 4.126360552639728e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.231507114079998e-7, + c: -1.505340882584386e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -5.030619192053397e-8, + c: -2.637235940131414e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.926620299431126e-7, + c: -1.803228743174024e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.339151845527367e-7, + c: -9.976629319347086e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.925375533279759e-7, + c: -7.623320069286671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.937221173572504e-7, + c: -9.594776146907757e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.958774771423615e-8, + c: -1.800028656256215e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.809905563721062e-7, + c: 2.897011786072240e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.248419067464510e-7, + c: 1.327093493580986e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.415878844242190e-7, + c: 1.120185370849273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.604070721575767e-7, + c: -8.081815497341712e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.195540706374241e-7, + c: -1.240014860848261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.765037231493466e-8, + c: -1.628037188603107e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.035115112134145e-7, + c: 1.329816588955602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.413928958093688e-8, + c: -1.337040680654634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.127615887841354e-7, + c: -1.035384844302907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.370196572586432e-7, + c: 6.557140250160532e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.368538336079916e-8, + c: 1.437489207629258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.447351133445178e-7, + c: -2.855651137238714e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.404615869114865e-7, + c: 4.194286170121700e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915990911432880e-8, + c: -1.434402076892887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.441506102736168e-7, + c: -7.066499326339093e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.119019534385120e-7, + c: -7.940032298569914e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.660164370157651e-8, + c: -1.189840190791445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.207244736891097e-8, + c: -1.322496980705554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.060099778102207e-7, + c: -7.524140113912282e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.250147145946060e-7, + c: -1.119612443921473e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.485064795805449e-8, + c: 1.003006209643346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.135697851128056e-7, + c: -4.478783523059316e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.340497831204105e-8, + c: -1.184333771147121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.184547327121451e-7, + c: 1.966632292689551e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.157362825146347e-7, + c: 1.168167909032463e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.310099107633943e-8, + c: 6.833024466101218e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -9.949177631997575e-8, + c: -4.234442658949022e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.334468550213567e-8, + c: -9.441511059025217e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -1.061268915745726e-3, + c: -4.747083771768399e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.661911152525741e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.534082785170441e-5, + c: 2.338193965235595e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.155572511095497e-6, + c: -1.142102382585984e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.845664115107504e-6, + c: -5.184394491403957e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.027222934689389e-7, + c: 6.160878253197716e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.914904773711231e-6, + c: 4.487064929667358e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.374860295676444e-6, + c: -1.871292940045656e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.155993020668631e-6, + c: 1.020194544740342e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.984411153829909e-6, + c: 8.920340875597771e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.565235070986594e-6, + c: -1.414448397421873e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.626415807315330e-6, + c: -8.756314537101365e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.599722334699498e-7, + c: 1.409660306342755e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.166644882760888e-9, + c: -1.261690696262047e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.832716790175277e-7, + c: -6.875232113403528e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.026751353247159e-8, + c: -1.192779626278137e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041146643651253e-6, + c: 4.813926238851731e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.533900639126421e-7, + c: -7.379974814319085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -9.013908534145209e-7, + c: 5.589546726024039e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.204411893510009e-7, + c: -6.913431264292196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.533906477577355e-7, + c: 5.926526719818763e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.437280898111860e-8, + c: -9.494108927681345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.223259521315568e-7, + c: -7.009074729441142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.855151142104994e-7, + c: 3.467932916459012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.433821740981362e-7, + c: 7.189211566726524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.913840481396427e-7, + c: 3.111800508757955e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.727795636332540e-7, + c: 7.019467675673636e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.630345596200941e-9, + c: -7.012875964663490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.760159607084523e-7, + c: 2.494975940471176e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.922865678003299e-7, + c: -3.114580812668455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.892937447281564e-7, + c: 3.032724040920831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.909823327371636e-7, + c: 1.874115873507271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.453925469960647e-8, + c: -4.244113251835348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.476581496171546e-9, + c: -4.083960457039116e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.380044528167977e-8, + c: 3.975923197675331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.480016150094681e-7, + c: -2.926747105976878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.540077440067945e-7, + c: -1.385195202201844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.014766429512668e-8, + c: -3.666512371617142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.959766923511029e-7, + c: 1.845044151056365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.157663895513583e-7, + c: 1.282364537233484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.834631234105973e-7, + c: 2.619479136923889e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.705706503898056e-7, + c: -1.499022082198742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.949424610835413e-7, + c: -2.173384085688805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.813630380776944e-8, + c: -2.893458925049217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.694718824966067e-8, + c: 2.556373926433494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 7.187888062806403e-8, + c: -2.280964093149666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.675221357086378e-9, + c: -2.334409694038584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.391729951915172e-8, + c: 2.307578008096775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.057266319781919e-7, + c: 1.065324991159126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.315243164380117e-9, + c: -2.195146468372090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.823589278831005e-7, + c: 1.119603225513615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.000240809934543e-8, + c: 1.911063074205053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -1.774410114904366e-7, + c: 5.778959443625325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.484851198078665e-7, + c: -6.979355077254554e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.797377629235897e-8, + c: -1.434264206180485e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.304831475711511e-7, + c: -6.549373248458600e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.390180390192152e-10, + c: -1.434850843505462e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.096005377607759e-8, + c: 1.371764819197538e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.858526148833492e-9, + c: -1.334288660434874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.117105398858343e-7, + c: 6.648374035495765e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.057968202779487e-7, + c: 7.349953840239004e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036844573411248e-7, + c: 6.015608849211151e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013499063210909e-7, + c: 6.276225447174217e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013208706029891e-7, + c: 3.047941553732360e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 8.700988187498828e-5, + c: -1.345927969728194e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.648633463942244e-6, + c: 8.674194078046316e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.825795726360029e-6, + c: -6.331495415268961e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -7.584176938960407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.739107301976109e-7, + c: -1.658420522417096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.875276268933966e-7, + c: 1.486280558093585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.724093571725879e-7, + c: 4.023558606890542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.175154733198731e-7, + c: -2.530237780221615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.299857131803772e-7, + c: -2.096630278298981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.602814119315554e-7, + c: 2.532794074210688e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.745519049067383e-7, + c: 3.920977588294165e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.685898951377225e-7, + c: 4.577214959369084e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.513902388230017e-7, + c: -2.023271260649143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -5.249984605416027e-8, + c: -2.010737892011415e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.729469884035635e-8, + c: -1.788230571784917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.337113692624799e-8, + c: 1.331150235167090e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.999593410657338e-8, + c: 1.471442786110787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.319661193048416e-7, + c: -1.277818961815493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.620422390465463e-8, + c: 9.873699566599271e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.324852945806912e-8, + c: -9.171132561944407e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.119155199407232e-8, + c: -9.762004556439956e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.939203697296425e-8, + c: 8.689416040753542e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 1.226757598446507e-5, + c: 1.148485190624113e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.537193994448864e-6, + c: -1.820024231322189e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -5.542570378513483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.727973240127019e-9, + c: 5.040043474460963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.345165306782789e-8, + c: 1.071046812575475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^5 terms + TimeBlock { + power: 5, + terms: &[ + Term { + s: -1.183695717085750e-6, + c: 8.234433063511541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.382017258382292e-7, + c: -2.044314687921656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^6 terms + TimeBlock { + power: 6, + terms: &[Term { + s: -3.919453341383889e-8, + c: -1.006105899836557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -2.959913416000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.666444240440023e-6, + c: 1.972688473832003e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.416866413629940e-3, + c: -6.365432862294004e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.479425074196414e-5, + c: 1.263154881431249e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.716795208377776e-6, + c: 6.504595850307733e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.763352727815572e-6, + c: -4.517284810686510e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.737797200866167e-4, + c: -2.602432316178870e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.260871697910046e-4, + c: 1.525257882461424e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.624145735447689e-6, + c: -1.622342908702250e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.221744509588379e-4, + c: 2.518241197021416e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.554209773861689e-5, + c: -6.821148796783735e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.324628848494859e-5, + c: 8.705544462885825e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.496109919916363e-5, + c: 3.894485887703158e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.619569812745350e-6, + c: -6.873061493006759e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.439305135770230e-5, + c: 5.426867336189332e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.584854582415603e-5, + c: 4.475190594178514e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.159688038733291e-7, + c: 4.679033015437421e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.431959562055474e-5, + c: 2.052219559754924e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.103255997288648e-5, + c: 1.600026718141268e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.683090033602820e-7, + c: -3.067286091210874e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.722307954020578e-6, + c: -2.972436681380179e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.808306375420003e-5, + c: 7.303701236536359e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.579990170844796e-5, + c: -3.201785889704252e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.739049349085241e-5, + c: 1.056302044456419e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.541958657387695e-7, + c: -1.683121271349637e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.318074622850239e-5, + c: 5.602812864180578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.596859007170559e-8, + c: -1.413797768976774e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.091493791833114e-9, + c: 1.407026894841529e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.713073559150081e-6, + c: -1.064214252989052e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.274840049545486e-6, + c: -1.300240045381572e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.395293793850765e-8, + c: 1.331595422325215e-5, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.124753745398834e-6, + c: 5.694388065084316e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.013627249107562e-5, + c: -1.333942123962096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.451302243228380e-6, + c: -9.519305407034182e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.444243356374000e-7, + c: -9.211239218784750e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.829353034365796e-8, + c: 8.949689034037390e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.353370255096767e-6, + c: 8.143075988430796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.966786772114018e-6, + c: -5.479240770247518e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.779022920431295e-6, + c: 7.666161567248874e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.885655373763457e-6, + c: 3.569292621262333e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.835478685658239e-6, + c: -2.232612523362502e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.942963015794630e-6, + c: -3.631815538576884e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.804160431199268e-8, + c: -6.610811837731908e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.212466248285919e-6, + c: -5.167172546520842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.684440679798486e-9, + c: 6.095629895328846e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.831955145985643e-6, + c: 3.108519234616195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.181467487430899e-6, + c: 5.368371299049438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.687732709217613e-7, + c: -5.295861319007746e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.673897720221335e-6, + c: 4.399936186399998e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.462429115775437e-10, + c: 4.970593198831312e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.277765718809917e-6, + c: -1.777416161983643e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.248239222370921e-9, + c: 4.591604046186245e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.999888209199322e-6, + c: 2.103521578909102e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.579181448414954e-7, + c: 3.921538957086216e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.794744968760290e-6, + c: -3.299669254769277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.546048420364737e-6, + c: -2.128523319467767e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.732420148839114e-8, + c: -3.110185219496453e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.565634013921414e-6, + c: 1.707990980373690e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.530389366149314e-8, + c: 3.047670196339579e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.810142902032335e-8, + c: -3.021241722061063e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.561790258359540e-7, + c: -2.838428218503331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.639683394155921e-6, + c: -1.201527045797923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.379656889576353e-6, + c: 1.256376908067397e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.967826120442826e-7, + c: -2.256632996976660e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.951950029775145e-6, + c: 5.676706666137356e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.024046337906952e-6, + c: 1.555908338928676e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.090071342840437e-7, + c: 1.981303185815262e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.427098197011903e-6, + c: -1.227315632370006e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.557551539431111e-6, + c: -7.440571366151380e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.475788706493381e-8, + c: 1.705906067795430e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.596839100673853e-6, + c: -4.975723463808158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.359782595837188e-6, + c: 9.408281196493718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.645692223364834e-7, + c: 1.430544860994606e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.426436988812101e-6, + c: 7.511342674931725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.956870915854401e-8, + c: -1.571847543408724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.419988766129025e-7, + c: -1.499437986932016e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.109650276985815e-7, + c: -1.503593015100852e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.237711691784797e-6, + c: 8.137905936866365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.308994875854956e-8, + c: -1.463765513339709e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.008614446180393e-8, + c: 1.434244812831369e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 6.268622844052098e-7, + c: -1.164165665738739e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.521956117622666e-7, + c: 1.272094405125923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.750776071660666e-9, + c: 1.209053466702893e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.762805847364934e-10, + c: 1.203164365988907e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.554869165046619e-8, + c: 1.192827148804022e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.766507093683864e-8, + c: -1.121991544521454e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.471209499138701e-7, + c: -7.354668706401099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.092121083998945e-7, + c: 8.576646373029479e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.878992700235870e-9, + c: 1.048248021656481e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.028393846835437e-6, + c: -1.640678700402330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -4.564019582693029e-7, + c: 9.221909505460658e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.435975718615203e-7, + c: 9.803211560899619e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.025113156984356e-7, + c: -4.380211708027545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.534487442675188e-7, + c: 4.456340281652419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.175132553072797e-7, + c: 5.182768261424942e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.404921924074011e-7, + c: -4.239615005153899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.886943626789466e-7, + c: -7.840346517884746e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.905889834989856e-7, + c: -2.361427482278078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.912844633032544e-10, + c: 8.248056250646939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.982056396999360e-7, + c: 3.645297385569505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.718333695655204e-7, + c: 5.651874909424010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.797048495524510e-8, + c: 7.238107744426981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.027323610160990e-8, + c: -7.192795398650089e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.492678062491368e-8, + c: -6.860656541735169e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.123006307532650e-8, + c: -6.842856104810317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -5.041866639082184e-7, + c: -4.459714656126648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.463922943058605e-7, + c: -4.830443442786552e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.796664920556686e-7, + c: -5.134295988435686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.155559650586827e-7, + c: -2.484572619979710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.083965497189104e-7, + c: 2.617108378771495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.381207844309612e-7, + c: 1.418363041404427e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.629686023798657e-8, + c: -5.211825376644618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.817526638855543e-7, + c: -1.608151631084101e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.029017420665777e-7, + c: 1.314185833547858e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.397731294089714e-8, + c: 4.963892949997481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.826930779179341e-7, + c: 1.090541276287307e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.409319920325419e-7, + c: 4.657609253250865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.355124734886975e-7, + c: 4.129543364079529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.727941625348147e-7, + c: 2.837436505688126e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.762331482780846e-7, + c: 2.851713099892968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.670515935666069e-7, + c: 2.778968332271345e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.646145844589279e-7, + c: -3.186198034828644e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.821191728363761e-10, + c: 4.612114492335571e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.961330905061160e-7, + c: 2.138708550467890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 8.057517592435431e-8, + c: -4.428147774654376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.936860777957491e-10, + c: 4.493515283085405e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.847568286144127e-7, + c: -4.073494455102909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.269371899746166e-7, + c: -2.294954163441605e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.878550485490720e-7, + c: 3.775935507296036e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.486334146550387e-10, + c: 4.053860007281289e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.976672436516952e-7, + c: 7.687552396761280e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028202029649653e-7, + c: -3.872429882118882e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.960079350517959e-7, + c: -2.693408324628705e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.971133854184626e-9, + c: 3.919096580399855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.897667082880717e-7, + c: -2.124662476402836e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.294095968689428e-8, + c: 3.855238265213106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -8.297543767437788e-8, + c: 3.661039008485620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.020583094359769e-7, + c: 2.069235651852922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.010817378664819e-7, + c: 1.519038768591613e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.064016169782662e-7, + c: -1.321946656727520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.132679272957509e-7, + c: -1.062217284780025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.911868319087441e-7, + c: -1.367013782366838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.957410669311973e-8, + c: -3.189379241481927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.363219328853557e-7, + c: -2.419747953495487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 7.956643834756402e-8, + c: -2.654083459867250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.572827805189821e-7, + c: 2.270703996605414e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.318271462954130e-8, + c: -2.650985652074883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.366888976571269e-7, + c: -2.302343611269460e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.608448088090659e-8, + c: -2.658207815928769e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.957579935302359e-7, + c: 1.565905400329641e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.249734779346904e-9, + c: 2.467796194403628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 2.393805917801834e-7, + c: 5.489645714607677e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.160479372554707e-7, + c: -2.104690561402804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.088946096947422e-7, + c: 1.168563761384279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.290846301836300e-7, + c: -5.271144763523859e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.708663877511931e-7, + c: -1.612397467206863e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.131930754530852e-7, + c: 7.392965772321330e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.199442937303876e-8, + c: 2.069984198091602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.313999789727171e-7, + c: -1.738124437869399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.052844610450212e-7, + c: -6.972490007128605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.585247052778510e-8, + c: 2.137933368925521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 8.372399768608902e-8, + c: -1.956960890070059e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.936501961483646e-8, + c: 1.918466693461965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.567958796359461e-8, + c: -1.930260017356401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.406177259402265e-8, + c: 2.017916433867629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 5.352909051890778e-9, + c: -1.980331572035394e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.771625830942669e-7, + c: 8.707345228397396e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.951070886568634e-7, + c: -9.380325174295630e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.758386351436586e-7, + c: -8.467754982181887e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.867781045766171e-7, + c: -5.155878838178924e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.513899960102409e-8, + c: -1.873357800062642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.679362577788470e-7, + c: -7.879992263112709e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.008814538041448e-8, + c: 1.710315468205494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -6.219062606040714e-9, + c: 1.807619639841019e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.628844789413606e-7, + c: -7.317379836165954e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.389630487695725e-7, + c: 9.700624105913450e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.340004111110764e-7, + c: 9.033731913006055e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.571270095853070e-8, + c: -1.549869753592559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.362121844677982e-7, + c: -7.313156697973020e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.941383122421140e-9, + c: 1.516316568552463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.843706236848896e-8, + c: -1.464192906056881e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.609152926099320e-8, + c: 1.197661251595362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.338452816219634e-7, + c: -4.509559293761181e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.969043087358452e-10, + c: 1.384100671370867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.373765053278227e-7, + c: 3.273033302441295e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.674133767256151e-8, + c: -9.552179278554819e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.862563741607275e-8, + c: -1.166475415516299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.009328639576684e-7, + c: 8.575561592344413e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282975719526994e-7, + c: 2.201020411235167e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.168821189947798e-8, + c: -1.081362133405746e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.258516588807263e-7, + c: 6.227999809963168e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.212382486627866e-8, + c: 1.149175494474365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.207243458199843e-7, + c: 6.135141579002529e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.254604197442584e-8, + c: -1.044420515374212e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.571492626870097e-8, + c: -1.025265097607717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.661186234402233e-9, + c: -1.162194663659535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.035597303707444e-7, + c: 4.926608638436639e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.823546984143608e-8, + c: -1.034861442182391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.539968618471593e-8, + c: 1.125961416546224e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.912028565534878e-8, + c: -6.888725040093301e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.552978142085077e-8, + c: 1.025648320376689e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.116510373779103e-7, + c: 1.379246644277875e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.861810104320859e-8, + c: -4.992822728490104e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 9.702702322618890e-8, + c: -4.944063093878394e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.071064179632532e-7, + c: 1.365059617762508e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.802074240291703e-8, + c: -7.312034453452774e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.714455309270261e-8, + c: -1.027898152456931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.604975643004045e-8, + c: 9.456506590250381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.229616291112317e-8, + c: 4.064597403419662e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -5.295935348421570e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.227660674397330e-4, + c: 3.998517433434891e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.336306414211702e-5, + c: -3.074655206304296e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640354346505467e-5, + c: 2.764143740128172e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.511011605517513e-6, + c: -1.924566520187336e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.230269366482525e-5, + c: -7.593170233508760e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158386249070876e-5, + c: 3.080779513925908e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.173734519158230e-6, + c: 9.836506149558722e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.318994802675414e-6, + c: 5.231141950705432e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.249776734431058e-6, + c: -8.811404718252139e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.028570343376688e-6, + c: 5.436764428968655e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.338737505614719e-7, + c: 6.567327874895192e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.440919737257608e-6, + c: 4.234143424634024e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.409266141499470e-6, + c: -4.734459994724208e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.315707394489137e-6, + c: -2.808506766198981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.630483730865156e-7, + c: -3.797131527021645e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.959074164338445e-6, + c: 2.446991280192757e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397709913385285e-6, + c: -3.251675258286198e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.150664272255486e-6, + c: -8.979803210706687e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.903757665008888e-6, + c: -1.068418296401485e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.808495914116937e-6, + c: 2.106744500893952e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.700654858930474e-6, + c: 5.625757158311524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.989453098076862e-6, + c: 1.149017329108322e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.412312599110641e-7, + c: -2.014333884936495e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.288016872923636e-6, + c: -1.213030678279764e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.016307871356521e-7, + c: -1.600796406147662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.506087420162012e-6, + c: -4.613829083695579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.603534227894304e-8, + c: 1.482165482902752e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.980144955455974e-7, + c: 1.092063706352175e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.025201953075244e-6, + c: 1.033426635217027e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.340162872968221e-6, + c: -1.385596001656963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.397863624787368e-7, + c: 1.181826662990695e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.688737541087912e-7, + c: -1.181413751774395e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.928432942436192e-7, + c: 1.102818027618096e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.906808411254252e-7, + c: 1.071895709592608e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.725989088743894e-7, + c: -4.136258339950459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.477629977797391e-7, + c: -6.723704247483576e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.351745283823564e-7, + c: -1.281572728430555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.585585099049178e-7, + c: -2.286415610975611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.508555496000894e-7, + c: 5.694075718441396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.140584746523425e-7, + c: -7.079453593945604e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.000355853855291e-7, + c: -6.012664741215589e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.671316807566897e-7, + c: 1.466705460487662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.009128687011752e-8, + c: -6.628416268115787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.538955743559015e-7, + c: -3.247514910066421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.188032159933007e-7, + c: 9.342640333388538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.075000085519636e-7, + c: -9.746921643583461e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.475391985654320e-7, + c: -3.975633326950353e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.098214565128442e-8, + c: -5.864700837540534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.996278372537699e-7, + c: -4.725959337084147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.389627522821576e-8, + c: 5.463462081825557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.754738514697044e-8, + c: 4.972165554133005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.246796866253510e-7, + c: -4.271547444489848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.276603083186108e-7, + c: 3.060640520312893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.036312149902479e-7, + c: 2.971311536477823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.484598462839304e-8, + c: -4.102565753753434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.157018568628984e-7, + c: 2.344920049628777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.703596510079951e-7, + c: -1.240592568408813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.741485296713257e-7, + c: -4.904495931241856e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.730862721013003e-7, + c: 3.594327265656216e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.707173805797535e-7, + c: -2.356473776401842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.228811245943319e-8, + c: 3.346580315791358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.267749247873244e-8, + c: -3.249052646152282e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.193648115259066e-8, + c: -2.564512839377258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.742467789149878e-8, + c: -2.466180795746242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.249988980083881e-8, + c: 2.199741213059453e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.293187212919700e-7, + c: -1.986455235186815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.301663106625681e-7, + c: -4.605670948602309e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.667224884709327e-7, + c: 1.543396693250270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.226263936652091e-7, + c: -3.094064732367616e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.103348447870442e-8, + c: 2.179676131822402e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.627374033535006e-7, + c: -1.375436551466519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.892816257172803e-9, + c: -2.093451481143069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.500807319699682e-7, + c: -1.227446257347676e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.585891850375695e-7, + c: -1.015088946869750e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.730075082521799e-7, + c: -6.329236507362743e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.303377837129994e-8, + c: -1.635634620837418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.553499842228162e-8, + c: -1.565593370228428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.322914324080112e-7, + c: -9.612995921915113e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.462845447762866e-7, + c: 7.086610244409758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.098965314139090e-8, + c: -1.530040495927326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.323007566161226e-7, + c: -8.439334763205740e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.511920184587629e-7, + c: -3.794197556615499e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.663015064937638e-8, + c: 1.429393572260768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.209293525524707e-7, + c: 6.642260724993284e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.859391738317359e-9, + c: -1.337664212607351e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.328068763264156e-7, + c: -1.730696443614132e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.295442995897839e-7, + c: -1.928719584109533e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.278242233255207e-7, + c: 1.510256353844377e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.678077346758316e-8, + c: -7.882434367537323e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.411940469715130e-8, + c: -1.001953225486506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -9.098848650857392e-8, + c: 7.957475568987429e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.390875927736937e-8, + c: 7.218374557889880e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.088652813933061e-7, + c: -4.570568046199252e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.118852735098211e-7, + c: -2.479725066945893e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.222209213298515e-8, + c: -9.687326812781166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.602532375734001e-8, + c: 7.577868872176824e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 3.093287173810389e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.787480588432654e-5, + c: 8.302324785071556e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.601849816035039e-6, + c: 1.430920356486717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.326770911895213e-6, + c: -2.724503628665947e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.855268608272307e-7, + c: 2.274206372967617e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.006067233205754e-6, + c: 1.217907860816135e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.460061939059714e-7, + c: 1.487244632234709e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.272095528672645e-6, + c: -2.615988462151162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.376547296007453e-7, + c: 1.005209952960238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.166600667539441e-6, + c: -7.138823279578066e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.441463891273949e-7, + c: -6.476182734930382e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.592734615331926e-7, + c: -2.904832702580633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.918725013548419e-7, + c: -2.703721952916744e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168400092875826e-7, + c: -7.086832015871775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.705696532347967e-7, + c: -6.227671059446911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.407362830055598e-7, + c: 5.633362466514410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.978217633838285e-7, + c: -5.650846611711517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.534361028571617e-7, + c: 8.974869417975221e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.828594762186831e-7, + c: 3.896915437612409e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.090245102413291e-7, + c: 4.046992880318842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.205828812639810e-7, + c: -3.690492882818057e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.592067719918163e-8, + c: 4.060442143344608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.182912843443300e-7, + c: -3.487687791155644e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.807091998008270e-7, + c: 1.404417261984964e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.344060165259599e-7, + c: -2.959364449037998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.743815022712025e-7, + c: -1.478691261435721e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.039068300865907e-7, + c: 1.796017664813019e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.020543761278177e-7, + c: -2.109369338845246e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.528727607729034e-7, + c: 2.287363992982492e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.645180778284972e-7, + c: -4.908197432140074e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.816615737355531e-7, + c: 1.742219318396477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.322726101566492e-7, + c: 3.574932415411061e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.513738932518178e-8, + c: -1.968300799645251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.885951252102982e-7, + c: -5.763096429705691e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.573584236785181e-7, + c: 1.105814702007846e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.883716387867703e-7, + c: 8.696784424534710e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.801582785242453e-7, + c: -6.681282222081566e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.952486880232300e-8, + c: 1.371831130405474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.397204341716862e-8, + c: -1.497893590197521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.338733980520896e-8, + c: -1.452756965444185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.330372798088321e-7, + c: 3.397747993025564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.647238835260249e-8, + c: 1.273052055319539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.660185111667682e-8, + c: 1.221716638884263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.305060519131406e-8, + c: -1.165056451461883e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.160852438364046e-7, + c: 4.001426152096259e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.094422992995324e-7, + c: -1.863002816344857e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.730029826965265e-8, + c: -8.827063507675197e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.023710553776561e-7, + c: -1.673040980009232e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.978776757268969e-8, + c: -1.937654070773208e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 1.296252652539246e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.383068096575640e-7, + c: -5.456813744825627e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.177408129354486e-7, + c: 1.493946649411141e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.864794975999382e-7, + c: -1.889848750859991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.014504216907868e-7, + c: 8.736811770573974e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.148443077516236e-7, + c: 1.140836030827543e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.466027449265890e-7, + c: -4.977580146309352e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.265008729704724e-7, + c: -1.202606548501832e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.872124289070464e-9, + c: 1.196314299118015e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.122810211943183e-8, + c: 7.421428004616085e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564981308183892e-8, + c: 1.137207050657582e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: -6.297295872691882e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.835165707482967e-7, + c: 1.331490254760813e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.491536524207134e-7, + c: -7.740531731401670e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.542963610200000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.968876969728439e-3, + c: 6.603697826702186e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.351298603636020e-4, + c: 1.409019853370721e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.245221794653793e-3, + c: 2.061008449485522e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.865773864409292e-4, + c: -3.136985161584894e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.468160022073937e-4, + c: -1.126419371272871e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.832211122290840e-4, + c: -1.690082452155099e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.360247859775380e-4, + c: 2.276605967037709e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.625619584781130e-4, + c: 1.637612457600140e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.312543177844102e-5, + c: -2.411977600127489e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.068591103406004e-5, + c: 7.269698796098343e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.526112308935245e-5, + c: -7.006366383806370e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.882302871418373e-5, + c: 2.555832291839389e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.505790472387551e-5, + c: -2.570376618658242e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.069245342123180e-5, + c: -4.522456982719095e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.712631421644870e-5, + c: 2.488132501065646e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.986877007187555e-5, + c: 1.640240411166865e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.063616859712771e-5, + c: 3.405373230515438e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.577716098883017e-5, + c: -3.173172736413843e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.120177649708845e-5, + c: 1.615579896840973e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.993895594484494e-5, + c: 3.680063731854517e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.180432651742804e-6, + c: -2.802611817322010e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.973690960252504e-6, + c: 2.400975321358415e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.149751956092968e-5, + c: 1.351824926194681e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028741746583803e-5, + c: 1.732287534611786e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.840595490961019e-5, + c: 3.066395967913387e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.458064021798733e-5, + c: 1.248591510022987e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.795534809221725e-6, + c: -1.310715317321198e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.406042913149474e-5, + c: 5.087292401547771e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.332027596631956e-5, + c: 6.680167491234520e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.116866901470192e-5, + c: -1.717324995092668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.386423285086304e-6, + c: 9.127674036373190e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.008878836440961e-5, + c: 1.113555663470551e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.203701017367083e-6, + c: -7.456254114136819e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.059735144973422e-6, + c: -1.444487450943462e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.083375780638291e-6, + c: -1.408136728766468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.184015889726422e-6, + c: -2.486476658369657e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.404222315006954e-6, + c: -5.953858875055444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.612265969275081e-6, + c: -1.567234058871306e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.818713317366367e-6, + c: -6.679112719670345e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.279425592399367e-6, + c: 7.185664168571718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.945352905999585e-6, + c: 8.925090958660494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.300659052912146e-7, + c: 6.837510891431177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.115956049557560e-6, + c: -9.576770871305209e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.890042010942549e-6, + c: 4.851825152621281e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.464445862028892e-6, + c: 6.880316625512117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.372369210957475e-6, + c: 1.137646332519712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.446814243171252e-6, + c: -3.184547866914532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.761409267922415e-6, + c: -2.551758793309526e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.978207276624383e-6, + c: -3.870479808566654e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.598619340716393e-6, + c: -3.921518111037579e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.321440180825185e-6, + c: -3.799780665518568e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.910529664022885e-6, + c: -8.874018021954600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.337832881961781e-6, + c: 1.769921463754277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.345700753576937e-6, + c: 6.052208289404126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.378244246315969e-6, + c: -3.057370813702714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.266258192435545e-6, + c: -2.481668346102508e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.035295820812992e-6, + c: 6.110513091963512e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.577795021495304e-6, + c: 2.588138233643629e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.010426783966312e-6, + c: 4.170388076923020e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.832806464572261e-6, + c: 3.979280967809474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.449052261818689e-7, + c: 2.570375828217180e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.431773151752671e-6, + c: -2.213047699070878e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.982790911407946e-6, + c: -5.601360972343615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.883850603718924e-7, + c: -1.955368938551944e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.024546110358279e-6, + c: -1.979170322091587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.247836511118808e-6, + c: -1.408168386023972e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.181449543617948e-8, + c: 1.810375566460631e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.716913676672195e-6, + c: -1.280897125776003e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.654255067555907e-6, + c: 3.608431347681338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.849724372381544e-7, + c: 1.606009505677256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.621974610347810e-6, + c: 3.960282591504598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.719096935279133e-7, + c: 1.379267945551220e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.437770843262387e-6, + c: 7.631684568793659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -8.774296063840513e-7, + c: -1.300186849893736e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.249713146733602e-7, + c: -1.237510537105649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.438087282305252e-6, + c: 2.235786616907895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.427823401901998e-6, + c: 1.405044298384147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.177115090425456e-6, + c: 6.065132510510242e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.273759714492782e-6, + c: -3.559723389749939e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.205689966429213e-6, + c: 2.092547177960227e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.201358650677105e-6, + c: -2.967978754557810e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.184048700394645e-6, + c: -1.167382753533938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.160638558164821e-6, + c: 3.277029785324451e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.458769403410711e-7, + c: -8.365278029119625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.055659430532655e-6, + c: -3.087123256602378e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -9.917959634870016e-7, + c: -3.435495469889612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.596404891030900e-7, + c: -1.027416749181878e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -9.279319867353290e-7, + c: -4.536684723827825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -5.323789978091954e-7, + c: -7.669308007640875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.349860008001176e-7, + c: -3.629662600655689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.863091624818759e-7, + c: 7.324013476069338e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.289661543588613e-7, + c: 7.425984569478372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.485177255427902e-7, + c: -1.677731998595086e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.205822789789260e-7, + c: 6.439823378232687e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.885779059179592e-7, + c: 2.521082258069578e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.337638538533304e-7, + c: 7.917086387049067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.494458876786161e-7, + c: 4.402887179637745e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.291814060117203e-7, + c: 5.563893098965157e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -7.165684632338124e-7, + c: 1.268771741321360e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.363937604011546e-7, + c: 5.592170289661974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.801548800686256e-7, + c: -6.422778979283484e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.755158693713914e-7, + c: 3.772627046926621e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.522252278896880e-7, + c: -4.982868892317302e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.517340241332825e-8, + c: -6.377437887220465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.198410429098062e-7, + c: 2.630074195710286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.917002203613135e-7, + c: -2.583268647829010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.189750430256601e-7, + c: -4.523125786704005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.792466781380690e-7, + c: -2.206744476436334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.229545696252762e-7, + c: -6.020436931518408e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.629491354001038e-7, + c: 4.796271392740660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.948718472387022e-7, + c: 9.636619625796054e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.731071135840261e-7, + c: 3.868851595540204e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.687540437718064e-7, + c: 1.643406265832398e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.179789592449706e-8, + c: -4.679454113853650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.652879008286680e-7, + c: 1.163017191739749e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 3.022785711738316e-8, + c: 4.632367432836626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.146922376768407e-7, + c: 3.965671447574695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -4.500354339176954e-7, + c: -3.291674022841897e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.291987383410641e-8, + c: -4.272788615736189e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.834038681560807e-7, + c: 1.569785598390588e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.060053323692370e-7, + c: -1.007761474065554e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.040009628847599e-7, + c: 1.824523532758101e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.740539825504395e-7, + c: -2.926062307840207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.881780988046324e-7, + c: -4.522893000057000e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.121612273006724e-8, + c: -3.900777062871301e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.852857719982115e-7, + c: -3.307944919262584e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.680602808682504e-7, + c: -8.186787483420967e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.105895697218198e-7, + c: -3.009634094277013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.514720839451467e-7, + c: 7.165646407642751e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.098843608963954e-7, + c: 3.102567819972416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.886147367698258e-7, + c: -2.663008089153650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.004283587600265e-7, + c: -1.041761757479575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.008576078778137e-7, + c: 9.813690737460249e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.931494045845832e-7, + c: -2.098223821828357e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.740208067159856e-7, + c: 7.014515830307040e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.318738371001731e-7, + c: 1.518050978977858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.449881167783895e-7, + c: 1.220761077130383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.236901600708932e-7, + c: -1.557413386353000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.896336274119128e-8, + c: -2.690068835914374e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.192976049041493e-7, + c: -1.418878640975064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.814067079936662e-7, + c: -1.857328614063238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.541480302923844e-7, + c: 2.030357366845271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.694148432101045e-8, + c: -2.516193318959954e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.474777160215307e-7, + c: -6.809401506147562e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 5.276626923518734e-8, + c: -2.390704899154803e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073379770935289e-7, + c: -2.175624331601831e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.818472486663106e-7, + c: 1.595314479439891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.653431488619296e-7, + c: -1.688813274755411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.251232050170262e-8, + c: -2.289666625065793e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.140735288705988e-7, + c: -3.420074063220656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.157613543722145e-7, + c: -1.579748902498828e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.376324630710118e-8, + c: 2.021910059200191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.859474693362562e-7, + c: 9.596432564179358e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.976455086104208e-7, + c: -6.690537989770675e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.842792151810533e-7, + c: 9.027253082457689e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.937360823630170e-7, + c: -6.761224657658271e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.043076605309829e-7, + c: 1.604525722962903e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.816927465523543e-7, + c: -9.259764920864304e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.919760791005321e-7, + c: 6.531738625129237e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.770231621164944e-8, + c: -1.752368629517730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.940962813511922e-7, + c: 5.137301111309145e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.937709730196971e-7, + c: 8.620774166738716e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 5.204256661213397e-8, + c: -1.848523742395472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.913445225937242e-7, + c: 1.253630554418355e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.100723370780862e-7, + c: -1.563965855556717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.598859022408311e-7, + c: -1.036686626087163e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.897344665387763e-7, + c: 1.450357719102998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 8.291629428613850e-8, + c: -1.656886848700686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.687013487213933e-7, + c: -6.703247319789131e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.869972806101180e-8, + c: -1.605529890053205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.696669071016836e-7, + c: 4.035015554096848e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.738001980897045e-7, + c: -7.214482743190725e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.977915641606300e-8, + c: -1.588084788635251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.949260286745681e-8, + c: -1.371866174899624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.606375908711103e-7, + c: -4.288156228335160e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.515978979737394e-7, + c: -9.150634217476086e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.192298722472264e-7, + c: 8.554003696815515e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.405840335037303e-7, + c: -2.157666357701831e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 4.861486400234402e-8, + c: 1.311562421946379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.917732171209169e-8, + c: -9.554817066280687e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.730918341493388e-8, + c: 1.057274858877195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.180197950387584e-7, + c: 5.840794050999004e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.302480980461110e-8, + c: -1.283774797875494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.123901936676127e-7, + c: -6.338960820082493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.172049538596622e-8, + c: -9.073742671723592e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.146786501054165e-9, + c: 1.255472447699755e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.188565619617950e-8, + c: 1.247516150429080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.209604314662444e-8, + c: -8.349064581107971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.170392204237365e-7, + c: 4.164039477832288e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 5.966406351948518e-9, + c: 1.206195034480211e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196430188578617e-7, + c: -6.778399594055323e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.178903011075708e-7, + c: -1.014500952269500e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.043962099500319e-7, + c: 5.263100021702195e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.130086095857622e-7, + c: -2.594604361374565e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045980036542137e-7, + c: 4.742004479947048e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.026537053934684e-7, + c: 4.577440879364593e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.114272894318932e-7, + c: 7.903658290111449e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.340432912913693e-8, + c: -9.158899744124264e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -16, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.298304113724818e-10, + c: -1.109210389211283e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.834816948796110e-8, + c: 4.972389178654309e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.092059627487132e-7, + c: -1.127922696878603e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.973323336038169e-8, + c: 5.775029779995389e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.026086808397820e-7, + c: 2.945564377534998e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.218216659051081e-8, + c: -4.118474666001640e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -3.756078197884624e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.963243047779896e-4, + c: 1.231948230505334e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.790905631445607e-5, + c: 3.227069164579987e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.923112239713302e-5, + c: -1.998488218051631e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.919035300910488e-5, + c: -2.410625947415106e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.223282500289323e-5, + c: 4.635399622610733e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.379535280143648e-6, + c: -9.714125078785734e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.078693770879697e-6, + c: 1.170325000667410e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.049235847525357e-5, + c: 3.462495902828720e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.138223830282191e-6, + c: -3.062457872039113e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.734191997232833e-6, + c: 1.016970658868804e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.784743592573660e-6, + c: -5.298384013423299e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.390220617424794e-6, + c: 1.319903747878629e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.145348292181541e-6, + c: -3.479329089457758e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.788823850515439e-6, + c: -3.317263709121121e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.809601955828226e-6, + c: 3.256669752859256e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.761720371274991e-6, + c: -9.643333680926950e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.246177522254142e-6, + c: 1.332314282149382e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.279888680025164e-7, + c: -3.114486063697732e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.238588441327930e-7, + c: -2.889598612747611e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.312128095591866e-7, + c: -2.701297569116446e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.107342080736783e-6, + c: -1.700972553758234e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.131256242268154e-7, + c: 2.414925405635384e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.617711724937661e-7, + c: -2.366718999498512e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.917260248926044e-6, + c: -7.850118880028175e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.948356053042007e-6, + c: 6.422784410353539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.041995793736277e-6, + c: 1.821201757850660e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.149666846256802e-6, + c: 1.391339974131955e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.457698957166718e-7, + c: -1.492593530942932e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.561319656766102e-6, + c: -5.602431252017046e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.116473856975915e-6, + c: -8.798810485870207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.288344037014065e-6, + c: -2.801332083860122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.087934823258713e-6, + c: -4.969493926878263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.109826042839898e-6, + c: 1.801707334322095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058894771995475e-6, + c: -9.223747930602980e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.178868184546018e-7, + c: -9.736951113391389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.787742013213325e-9, + c: -1.009627925495635e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.563701923369844e-7, + c: 7.626504266683899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.314950133184322e-7, + c: -2.772362126439271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.289181481047165e-7, + c: -7.483416288478389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.925876143423932e-7, + c: -4.679427736122973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.310423090955672e-7, + c: -3.181230615459581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.878561571286680e-7, + c: 6.438914963256805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.659163549093216e-7, + c: -6.597532368729471e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.016703028949967e-8, + c: -6.129991133245534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.318386589762595e-7, + c: -5.695667186825816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.223875845493417e-7, + c: 3.087023390037053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.685590626324090e-7, + c: 3.754899865491595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.887879695857878e-7, + c: 4.551081592048183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.471200137941849e-7, + c: 8.164998196762458e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.402282928470653e-7, + c: -8.301354100221761e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.953329383200342e-7, + c: -2.940612049875045e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.412960082491124e-7, + c: 4.349181890195857e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.011709818081903e-7, + c: -3.793914396853548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.185206915197054e-7, + c: -3.839660847587146e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.686131160407493e-7, + c: -2.002657052679903e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.912461944246851e-7, + c: -3.710516163118378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.031115374564477e-7, + c: 6.068454744321318e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.151270145390524e-7, + c: -2.551311698817602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.749286789352838e-7, + c: 3.237224837964242e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.307301042090454e-7, + c: 2.753632851537216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.329576744069625e-7, + c: 6.457736195779632e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.201616619305696e-7, + c: -2.787292881880557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.663264484554894e-7, + c: 4.300803946906730e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.278658466111599e-7, + c: -2.182588858786032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.166181907563929e-7, + c: -1.239930420706297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.472081055741258e-7, + c: -2.011818646239049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.448649192005710e-7, + c: 9.509451659799751e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.243574460048838e-7, + c: -8.458040795380603e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.009969728124606e-7, + c: 1.223953650339011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.156264626158637e-7, + c: 4.482091825107069e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.670795561317973e-7, + c: -1.417484214515989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.345803718744971e-7, + c: 1.663336060459080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.173426293582993e-7, + c: -1.760011200545135e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.934144034263714e-7, + c: 3.607772807881021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.258586755806304e-7, + c: 1.489443718358440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.813337256260858e-8, + c: -1.785620214165599e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.614217340690114e-7, + c: 8.327121196600577e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -16, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.030602708874917e-8, + c: -1.519714453705477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.033739349347830e-8, + c: 1.453666603104756e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.285313827686788e-8, + c: -1.437858457795088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.601415048774158e-7, + c: 2.218979218238264e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.385514893263747e-8, + c: -1.337235887135049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.965921746997838e-8, + c: -1.522639549073121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.461029055037600e-8, + c: 1.283618161664898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.274140072153450e-7, + c: -7.536573311084773e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405796252178447e-7, + c: 3.076341106927604e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.427426662625302e-7, + c: -9.267785999349843e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.591165691215100e-8, + c: -1.202572733716147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -14, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.339390796673598e-7, + c: 2.743827165181127e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.694145507302071e-8, + c: 9.998001448702482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004439703068131e-7, + c: 7.218622968824970e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 5.527595403189179e-8, + c: 1.095711393327858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.801483578678358e-8, + c: -8.001596611305648e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.368866240957514e-8, + c: -9.310333063195502e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.245495433427970e-8, + c: -7.808138535472656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.830425572377372e-8, + c: -9.292953846347471e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045562791263446e-7, + c: -3.183369551056891e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -3.198819340389719e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.659886106466092e-6, + c: -5.711382879318549e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.581572959088311e-8, + c: 6.575079529213676e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.982374997322868e-6, + c: 1.239462265990919e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.306630785607711e-6, + c: -9.910523889495817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.462187140772883e-6, + c: -1.839823392628687e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.017277891233632e-7, + c: 1.355020727174319e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.954725625088006e-7, + c: 1.347706490339179e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.160713851128365e-6, + c: -2.736373182880631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.822824807328464e-7, + c: 6.424121126362739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.488933467605847e-7, + c: 9.408735047387410e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.336352151866375e-7, + c: 3.283329807283045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.302878547446454e-7, + c: -7.528507551197210e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.080746423633146e-7, + c: -1.054199213311049e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.115164996349535e-7, + c: 2.789916024518136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.674552275101856e-7, + c: 2.485121657094761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.004103213630129e-9, + c: -5.700983610222884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.862502832806723e-8, + c: 5.456643174399884e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.282401825912413e-7, + c: 2.524207548423779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.060323850071042e-9, + c: -4.835914183906767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.544288218064752e-7, + c: 1.562110428338265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.441735229631314e-7, + c: -1.202955637573835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.692575204570180e-7, + c: 2.229494640991418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.550134878056439e-7, + c: -2.021588059433373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.702148103106228e-9, + c: -3.832376592139286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.590863983375829e-9, + c: -3.829347057641335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.889022862314107e-7, + c: 1.622130459631174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.941777071351718e-8, + c: -3.002026690158046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.849449012769759e-8, + c: -2.862226581500501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.319302026677796e-8, + c: 2.802969408475585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340933367516046e-7, + c: 1.459926973605907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -11, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.013241018770611e-8, + c: -2.632361866685185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -15, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.348227300623796e-7, + c: -2.293203175596456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.057652298019213e-8, + c: -2.470464739792501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.630339287765798e-7, + c: 1.804822527378445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.754473533056470e-7, + c: -1.006191591624713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.015038598336608e-10, + c: -1.886167719298736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.420299142932279e-7, + c: 9.730099938136892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.541398183091438e-7, + c: 7.484659525807262e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.478189758362162e-8, + c: 1.593754473611627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.399035102886691e-7, + c: 8.580910876945543e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.206482445431064e-7, + c: -9.331819924219863e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.526662520389399e-8, + c: 1.347028930052832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.152392523568793e-8, + c: 1.301434256457431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.214430265559912e-7, + c: 5.378422013944178e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.511807040575611e-10, + c: -1.318004295346481e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.122902051237720e-7, + c: -4.072475320473091e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.202813819420118e-9, + c: -1.154442171980777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -13, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.343691464041431e-8, + c: -5.308505789596588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 1.598787856566942e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.358037472574585e-6, + c: 2.385713801327033e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.485309910330049e-6, + c: -2.292489902289015e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.912136272848794e-7, + c: -2.920846866751479e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.775362593847913e-8, + c: -2.441082928154623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.975969676217147e-8, + c: -1.956444674262880e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.306767180363411e-7, + c: -1.252648879815671e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.231076908160089e-9, + c: 1.261338241404669e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.507370289136384e-8, + c: 9.116164707777217e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -12, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.618256126299265e-8, + c: 7.601635211021122e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.024495447560793e-8, + c: 1.044426723844398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.516455611582993e-8, + c: 5.410708668268047e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: -1.159519620749372e-7, + c: 3.759102062803400e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: 3.047043760094803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.979907433605400e-8, + c: -2.470574855640586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -8.717455856000002e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.814718710627404e-5, + c: -9.708882147686620e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.477534826320693e-6, + c: 5.747278616956238e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.501306339088682e-6, + c: -2.675287602991575e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.049524614059440e-6, + c: 1.569613426558056e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.559983275504872e-6, + c: 2.041240081083303e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.890997274321214e-6, + c: -1.229290388065698e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.671207064613840e-6, + c: -6.256979240052832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.644974116011082e-6, + c: -4.863309011384012e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.397604973016101e-6, + c: 7.614282845584996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.064322351161685e-6, + c: -8.739506055437857e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.388230750385098e-7, + c: -5.278671625363177e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.923368965708353e-7, + c: 6.697725330273172e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.898385429618021e-7, + c: -2.791325990715784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.189852217920656e-7, + c: 5.016119140644722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.726422067573321e-7, + c: -2.172717615784413e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.614007830054870e-7, + c: 1.554394712594566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.580395101911287e-7, + c: -2.421099930250776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.666660964876321e-7, + c: 3.479435592517213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.515537804264029e-7, + c: 1.071304768302501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.005529739366156e-7, + c: -1.793612421496829e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.147750835058060e-8, + c: -3.405456848804648e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.040188847697249e-7, + c: -1.361628456386016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.828392459047296e-7, + c: 1.363619263834637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.436797117562250e-7, + c: 1.580303223787932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.601706540626076e-7, + c: 1.205440136651008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.858573900522485e-7, + c: -1.303206162567330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.387493234646991e-8, + c: 1.818223671558694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.857870457759400e-7, + c: 1.104870407314086e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.963891900156668e-8, + c: 1.748988057410073e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.342692737952186e-7, + c: -1.050855308240522e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.405847989933746e-7, + c: -6.588235266096996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.264865917412255e-7, + c: 5.833438833157757e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.850864618370292e-8, + c: 1.254478042155164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.113360696507133e-7, + c: -3.435630913207315e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.447851624266619e-8, + c: -6.403529634282951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.224743837391130e-8, + c: 1.019988708758235e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.643562824326298e-8, + c: 4.226265536797935e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.690424067873346e-8, + c: 3.732217036289829e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.631920500913544e-8, + c: 3.334830493696290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 8.016916082545978e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.706572130390690e-7, + c: -9.900490034071385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.741469098341147e-7, + c: 6.691091804680895e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.663703592507054e-7, + c: 3.852363334904204e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.462741051939450e-7, + c: -2.399773400377121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.367827910124713e-7, + c: -3.252331766820483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.231253961394889e-7, + c: -2.585473619459066e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.029592023437411e-7, + c: 2.495029406364278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.877511365450373e-7, + c: -7.065125649300698e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.914859040970833e-7, + c: 7.927175612104679e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.041885140585968e-7, + c: 2.654631620191286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.581462464559248e-7, + c: 2.269279747412276e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.054870537961210e-8, + c: -1.376145322350251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.926637007402410e-8, + c: 1.006482629926432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024625013741907e-7, + c: -2.947711548432362e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 4.145059115445134e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.232508846567990e-7, + c: -2.089347584129820e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -1.998668842836250e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.989143623600000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.698421468517217e-6, + c: 1.870741111592860e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.505597446448660e-6, + c: -7.681225091167857e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.196256839834783e-6, + c: -4.339663396854700e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.980126956437477e-6, + c: 2.590928532022331e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.372910917786565e-6, + c: -1.835691909785163e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.034018275405337e-6, + c: 1.317681428544456e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.266864946615215e-6, + c: 7.098564806572053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.561480670743308e-7, + c: -1.177380319828259e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024348447372510e-6, + c: -5.580796417869300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.851299859744328e-7, + c: -5.642326603580815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.266298160075845e-7, + c: -7.749581913409580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.122921057554759e-7, + c: 3.262482962558653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.088598306669050e-7, + c: 4.736781825000349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.328340717085770e-7, + c: 8.738903666216499e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.670388485984999e-7, + c: 3.924866449336533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.995693765239184e-7, + c: -3.701127475808590e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.569215999540524e-8, + c: -3.598169548700999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.275022820048444e-7, + c: 3.414553632553265e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.241782588970873e-7, + c: 2.546906338246342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.369751184893886e-7, + c: 3.397505822719774e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.753291898683493e-7, + c: 2.596158520131488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.255719035839865e-7, + c: 1.650611940419712e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.272635267190999e-7, + c: -2.460125466233304e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.989632573420147e-7, + c: -1.798185010172106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450386566316378e-7, + c: 1.028064384889026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405556169541994e-7, + c: -1.822885161416816e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.747810711480804e-7, + c: -1.555897798751182e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.016534094669401e-7, + c: -1.386028410767108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.513620749702596e-7, + c: -1.482475015709717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.375591858538692e-7, + c: 5.024207999299692e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.167720691719613e-7, + c: -7.893960829776821e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.423355418818530e-9, + c: 1.368967641668003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.265488366345339e-7, + c: 5.177725282366957e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.527209736996042e-8, + c: -1.164570139308007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.023053944078484e-7, + c: 8.201838441386156e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.023094980082791e-8, + c: -9.167374408736232e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.879467559527060e-8, + c: 8.144050725757750e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.229005711612679e-8, + c: -9.649262659009005e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004632725265157e-7, + c: -1.242748897346337e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 5.943892444878046e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.473105793009217e-7, + c: -7.463835018938875e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.829942190636450e-7, + c: -5.056657567012844e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.282610067635381e-7, + c: -5.990580936613040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.638007206165524e-8, + c: -4.982700034266574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.214586751420845e-7, + c: 2.443066876791447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.687809818014806e-7, + c: 1.893276546882029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.568172974907457e-7, + c: -1.836051605476819e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.357128393268766e-8, + c: 2.926494348233005e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.021411600799919e-8, + c: 2.709162349164384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.331225697715702e-7, + c: 5.637628355897258e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.214733483307777e-8, + c: -1.678449103669128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.415719036430534e-7, + c: -5.828072340601491e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.011958602164562e-7, + c: -6.398995433079862e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013012026616396e-7, + c: 2.089529910188902e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -5.236775180658310e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.730474534202460e-8, + c: 1.176283746951345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -1.298999051458208e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/uranus.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/uranus.rs new file mode 100644 index 0000000..1d75d02 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/uranus.rs @@ -0,0 +1,14884 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Uranus +//! +//! Generated from VSOP2013p7.dat +//! Threshold: 1e-7 +//! Terms retained: 2943 of 330581 (0.9%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.921843855547400e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.278569703780060e-6, + c: 8.030525688697848e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.304916090376658e-6, + c: 2.068731026327745e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.353789474210317e-4, + c: -4.029008354324488e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.286522987434570e-4, + c: -3.892180617453438e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 9.047001649624950e-4, + c: 3.538096110164397e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.409388244772418e-4, + c: -3.106546537795840e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.032685674346201e-3, + c: -1.061058925522485e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.238265080841917e-3, + c: -1.135392036113201e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.129522816994690e-5, + c: -1.203010753388553e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.024052157105916e-3, + c: -8.685383606356639e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.657158520248527e-6, + c: 8.961462701109142e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.457680765473250e-5, + c: -6.153070342623797e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.241105391913083e-5, + c: 5.847363404588588e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -9.176246890481191e-7, + c: 5.302131341537676e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 8.976676369591675e-10, + c: 5.184418175755086e-4, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.063250048332724e-6, + c: -5.047757209018188e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.940753829630402e-9, + c: 4.883772877826679e-4, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.157861270275737e-4, + c: 4.055668970838320e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.961453974700183e-6, + c: 3.677577854502703e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -6.603655165524963e-5, + c: -3.426237754064330e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.052886808364075e-5, + c: -3.236471541487284e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -4.117172011776679e-7, + c: 2.954471558908101e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -2.284814173849648e-5, + c: 2.846609889135796e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -3.506838544868702e-5, + c: 2.277036842004612e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.641755772717883e-5, + c: -2.271188823004026e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.016903068608247e-6, + c: -2.155834375936271e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -9.914042114753739e-5, + c: 1.895852224358142e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.500747935207343e-5, + c: 1.906681140078659e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.340334915986698e-5, + c: 1.709292584821429e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.564497338944461e-5, + c: 1.820529084754735e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.567796442410970e-7, + c: 1.679312562071857e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 8.680025617616316e-6, + c: -1.583281430992060e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 8.210487124944852e-6, + c: 1.506775133981031e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.252512199742218e-5, + c: -1.459178362245056e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.331893796617287e-5, + c: 1.429216673532661e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.231155318676372e-6, + c: -1.300336453258423e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.118846627047209e-4, + c: -6.617835817233663e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.355511838529854e-5, + c: 1.255794413598002e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 3.296038407347777e-6, + c: 1.133148893845274e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.365051854252278e-5, + c: -1.076610317820515e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.811519844185527e-6, + c: 1.099279477415017e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.860792506814356e-5, + c: 9.325865386940527e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.214025318984393e-8, + c: 9.730687274147225e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 4.168559797106515e-6, + c: -9.392751457362855e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.485196693678480e-7, + c: 8.140721483112277e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.483654304107245e-6, + c: 7.898717354605991e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 5.870936658285897e-7, + c: -7.565779906729271e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.126222232408485e-5, + c: -5.866683597250069e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.001923283662159e-6, + c: -5.887265904943048e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.211962580334355e-8, + c: 5.696060738546790e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: 4.563323510268470e-5, + c: -3.173518528227277e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.466194950134739e-5, + c: 4.674428890464881e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.308683140515518e-5, + c: 3.026948521119025e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -6.332678399499388e-6, + c: 4.932468831146330e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -3.974960820606080e-9, + c: 4.484731006047304e-5, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.496594230255324e-8, + c: 4.401220721509037e-5, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.049458410997120e-5, + c: -1.267221144776951e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.997631464814410e-6, + c: -4.135040183096573e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.116539569404984e-5, + c: 2.706145952039155e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.242113774557147e-6, + c: 3.620579577058571e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.825728971594335e-6, + c: 3.376741304269517e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.191919067519957e-7, + c: 3.356793639747121e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: 1.426936053397812e-5, + c: -3.004661117523951e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.118140966266047e-6, + c: 3.236370092392404e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.230231321215302e-6, + c: 3.135946351827138e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -2.170553217865553e-6, + c: -3.018966298161991e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.962297803198544e-5, + c: -6.082786685379785e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.826300591031980e-5, + c: -1.066724404511026e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.418417716010497e-5, + c: -1.732015195974763e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.843157409215423e-5, + c: -8.395494657226255e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.166760056547035e-6, + c: 2.888066898387189e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: -5.412589380338669e-6, + c: -2.752877169496394e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.724796397788022e-5, + c: -4.265350286032838e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.782265961198524e-6, + c: -2.652552105009847e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -5.465158142849789e-6, + c: -2.610374386543861e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.265946986893712e-5, + c: 2.346816661441905e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 8.007299848701917e-6, + c: 2.522403328005659e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.594775002289280e-6, + c: 2.528728989150656e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.682481105371361e-6, + c: -2.489102314671334e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.372433573921880e-5, + c: -7.811634406564540e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.445637521728101e-5, + c: -5.258889639285733e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.947943851785690e-6, + c: -2.419776569396743e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.363736649711507e-6, + c: -2.332044179842728e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -2.764743184582610e-6, + c: -2.269380814880561e-5, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.748622460653069e-5, + c: -1.455369875646062e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.887265454963087e-6, + c: -2.190689447249255e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.170155215190532e-5, + c: 3.090167161502947e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.609391929312357e-6, + c: 2.155651533583805e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.423521493286737e-6, + c: 1.954558031067243e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.814924978040416e-6, + c: 2.016237606173165e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 1.180023588991203e-7, + c: 1.987692912819694e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: 1.870537791705739e-5, + c: 5.091710008773486e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.982103860820401e-6, + c: -1.829627930150544e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.200014293473578e-6, + c: -1.812235212278516e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.689543862083776e-6, + c: 1.805420413910022e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 5.846632217781190e-7, + c: -1.665016893565049e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.082886578489745e-7, + c: -1.665076642128260e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.343825448209747e-5, + c: -9.732720850013492e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.120956213879639e-6, + c: -1.640761050273943e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.535416211157998e-5, + c: -5.518516562151978e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.186263961505790e-6, + c: 1.599857395505324e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.924193238005940e-6, + c: 1.594706839476675e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -3.017214336275805e-6, + c: 1.539334397655213e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 1.310286139790498e-5, + c: 8.455385015753582e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.194953221066496e-7, + c: -1.466350748009165e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 1.410258675682306e-5, + c: 3.333348536158035e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.408451795284448e-5, + c: -2.541598557756195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.531585682660406e-6, + c: 1.174299287954757e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.879086730131275e-7, + c: -1.320004883413492e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -1.862411428171530e-6, + c: 1.300983416532005e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 9.105396135275435e-7, + c: -1.253660494074955e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.205028648129156e-5, + c: 1.404065367893585e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.755092208574890e-6, + c: 1.061355314340804e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.042781248894819e-7, + c: 1.180937054194567e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: -1.003948975008808e-5, + c: -6.143498026533709e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.259083061062630e-6, + c: 1.129941281066494e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.067771704602345e-6, + c: -1.152057410911639e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.025056486670273e-7, + c: 1.164691877597099e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.037394115761148e-5, + c: 4.769750774065333e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.270152608560543e-7, + c: 1.131867596843011e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -7.479233644510875e-7, + c: -1.127878330094044e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.005514706847637e-5, + c: -4.954720770296600e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 7.541074034208270e-6, + c: 8.103142958940140e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.146214494626255e-6, + c: -1.083686312671634e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.464652107777647e-6, + c: -1.074347191102286e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.946562146167830e-6, + c: -8.416522110254052e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.349190425598527e-7, + c: -1.047994884978892e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: -4.315511447778991e-6, + c: 9.499735469239115e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.322354852302099e-6, + c: 1.034175998568741e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.063737940074871e-6, + c: -8.908655452703372e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.823449978459926e-6, + c: 9.271411943219634e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.103346710021907e-6, + c: 9.749164104174337e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -9.007855636563447e-6, + c: -3.373142144000703e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.526330228737884e-6, + c: -5.450662060310514e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -7.337312735195028e-7, + c: -8.968713647901969e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 8.727659361043254e-6, + c: 1.945051547632716e-6, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.514799063556233e-7, + c: 8.872761913874879e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 8.392410930140662e-6, + c: -1.927925768543827e-6, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.266905261264977e-7, + c: -8.538237307412433e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.225055691811896e-6, + c: 8.402952475101284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -1.878750013258566e-8, + c: 8.484553235381601e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.959534827384924e-7, + c: -8.263087016582457e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.241323383415986e-6, + c: -8.096797250380409e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.689352341497323e-7, + c: -7.896205073298934e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -7.867209669937853e-6, + c: 2.218194286047127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.043701095229842e-6, + c: -7.576773368955201e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.300666780412534e-6, + c: 7.545811820503820e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.439084557847439e-6, + c: -1.447097106841253e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 8.600053414431591e-8, + c: 7.031733065777298e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0], + }, + Term { + s: -6.181840796641450e-6, + c: -3.253543686924187e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.378375829587112e-6, + c: 5.839954601181236e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.057282746694597e-6, + c: 5.360334674843099e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.166848054224162e-8, + c: -6.617099717673494e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -1.347567508530191e-6, + c: 6.441601291968376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -6.501967558799860e-6, + c: 9.359171925634113e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.222881081555333e-7, + c: 6.527397646896244e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.473857769440758e-6, + c: 6.355213003748872e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -2.596125475014960e-6, + c: 5.882097998386674e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -3.987897959062626e-6, + c: -4.958643180886117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.609282028387661e-7, + c: -6.349251891255718e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.418742832409616e-6, + c: -6.145145998983724e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.098529292816500e-6, + c: 4.707219673380957e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.136064967833156e-6, + c: -5.991681795789376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -6.135357917740696e-7, + c: 5.957177127290207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.102412985254967e-8, + c: 5.937860771784103e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 1.606192534671357e-6, + c: -5.641459104525099e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.779645250943257e-6, + c: -6.697712606428695e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.154901857336769e-7, + c: -5.725440863843456e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: 9.177733078120260e-8, + c: 5.582093737155918e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 3, 0, 0, 0, 0], + }, + Term { + s: 1.976391202742501e-6, + c: 5.158210567473588e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.395153396563536e-6, + c: -1.168164250703757e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.504617894997732e-6, + c: -3.223002216041048e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -8.013396420063122e-7, + c: 5.426413692809842e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: 4.829420346320149e-6, + c: 2.479189338299796e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.046776823218530e-6, + c: -1.990528463057668e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -8.188563210443002e-7, + c: -5.256849314981451e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.204615504361508e-6, + c: -3.019869100603938e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.273490129228064e-6, + c: -4.999715801168943e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.015663492939929e-7, + c: 5.106004768898595e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 4.584237610372395e-6, + c: -2.127446690817693e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.727496405838035e-7, + c: -4.751345125253451e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.212374621327782e-6, + c: 3.583963435187356e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 3.339318576256833e-6, + c: -3.396684241701070e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.316328452396897e-7, + c: -4.726164360285438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.869503908099551e-6, + c: 3.735357056428571e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.680956043632199e-6, + c: 4.112518487521021e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.047093813277990e-6, + c: 4.259132105437220e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 7.670772580078471e-7, + c: -4.214138479417671e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.202916736107023e-6, + c: -7.741809504518941e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.777160767638626e-8, + c: 4.192687044279405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0], + }, + Term { + s: -5.721597473358403e-9, + c: 4.192830922275176e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.679332460993960e-6, + c: 3.780013419933570e-6, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.828539642140920e-7, + c: 3.988014132727914e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -4.069400113256550e-6, + c: 4.109226384424748e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.609898200688773e-8, + c: -4.044013002802935e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: -1.394061195231077e-6, + c: 3.767435907282769e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.238531962740497e-7, + c: -3.980136192843032e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.869728210426861e-6, + c: 2.718991571873062e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.038537644019602e-6, + c: 3.802996962856405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.478386347072528e-6, + c: 3.646671668521634e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.570282140208878e-6, + c: 3.600220076639890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -3.874347629812214e-6, + c: 6.211403018186742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 3.233970590015796e-6, + c: -2.215353687362669e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.086473428196496e-7, + c: 3.766237540693979e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.108008984939050e-7, + c: -3.749606611784187e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 9.504179895704622e-7, + c: 3.621015682618131e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.636191414265609e-7, + c: -3.718164919478782e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.462275655585631e-7, + c: -3.573353779707089e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.859493412190029e-7, + c: 3.611384351903737e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -5.416777413963666e-8, + c: 3.595542153224651e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.967151743344618e-7, + c: 3.547484059305231e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.213916874480687e-7, + c: 3.501139443910362e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: 6.208501296343200e-7, + c: -3.426933958758794e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.176920651352345e-6, + c: 1.426927986100886e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.102084019149633e-7, + c: -3.422988780537698e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.418411309403566e-7, + c: -3.421708706187993e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.748750592698047e-6, + c: 2.883745889000169e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.919617742580875e-6, + c: 2.725878414577117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.611738274771090e-7, + c: 3.304927509173638e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.519187361258031e-7, + c: -3.314565477133736e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.469665018232230e-7, + c: 3.294661572575894e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.531108103256153e-6, + c: 2.924650709961071e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.464822968025883e-6, + c: -2.186296580328027e-6, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.271994173883935e-6, + c: 2.160306592070346e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.501304969376940e-7, + c: 3.248947240018950e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.361651402402172e-6, + c: -2.884412732902931e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.337436392464040e-7, + c: -3.139066293768809e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -8.788272999880840e-11, + c: 3.109934339059971e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.755940215793929e-7, + c: -3.058529401411970e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.886356208123659e-6, + c: 2.423893273911901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -7.445990621537809e-7, + c: 2.896147270090525e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: -2.279072093758267e-7, + c: -2.968648618519090e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 3, 0, 0, 0, 0], + }, + Term { + s: -2.738126223688347e-6, + c: -1.149283098435177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.847859399367500e-10, + c: 2.934047321376210e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.074804773581191e-8, + c: -2.881159239030653e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.629640936734943e-6, + c: -2.363367882371666e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.334705382470801e-6, + c: -1.650822656844535e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 4.789352819596630e-7, + c: 2.803790240709315e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 4.961335009073482e-8, + c: -2.803004229396863e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: -1.843616997873678e-7, + c: -2.660380299937398e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.463570133913318e-6, + c: 9.944976735510111e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.361730477655597e-6, + c: -1.092395332697915e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017494045760560e-6, + c: 2.293416284981142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.175289446705962e-8, + c: 2.501624643830195e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0], + }, + Term { + s: 2.880348902258997e-7, + c: 2.448130434199087e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -7.904844638036270e-7, + c: 2.327777702008962e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.071695224758760e-6, + c: 2.203583200736379e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.961718387737426e-8, + c: 2.421136593854199e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 6.556446352462533e-7, + c: -2.304932892883775e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -2.827924318927902e-7, + c: -2.369696771514376e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.349470175816535e-6, + c: 3.960092784794121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.365420873406198e-6, + c: 1.572506464976860e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -9.460388725085930e-7, + c: 2.157284080336890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -2.522588977287673e-8, + c: 2.329815080139500e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.823823861456932e-7, + c: -2.281986505863570e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0], + }, + Term { + s: -3.375479305715487e-7, + c: 2.256040770426312e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 1.596448340555492e-6, + c: -1.613116421930269e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119865528989224e-8, + c: 2.206681628923888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.920092342607444e-6, + c: 1.069633242526220e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 3.707146568162344e-11, + c: 2.161964634745734e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.570595537460180e-7, + c: -2.113356580528246e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.622524872639691e-7, + c: -2.070897603797164e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 1.644585907362904e-6, + c: -1.299811029683325e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.713389970507903e-7, + c: -2.077400268639616e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.911955734652025e-8, + c: 2.070922285721279e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -2.473265918013580e-7, + c: -2.036334947056871e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.796540377481167e-6, + c: -9.849949676486616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.272471924668993e-7, + c: 1.978482103742300e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: 1.983013191871250e-6, + c: -5.075946806958256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.356964639341471e-6, + c: 1.532068649767109e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.680334273122165e-7, + c: -1.852404622600866e-6, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.572563548425347e-11, + c: 2.037370800818162e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.002270707469292e-6, + c: 3.682529382751905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -3.666982796498201e-7, + c: -1.981522098333252e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.717078040444599e-8, + c: 1.990648822736001e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.791736860777564e-6, + c: -7.230708525368435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -6.211640775541616e-7, + c: -1.826212831489033e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.468634218120951e-7, + c: -1.670875645778442e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.240978664212089e-8, + c: 1.919407800650506e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 2.978476035816961e-8, + c: -1.916222380772433e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0], + }, + Term { + s: -5.815717336896889e-7, + c: 1.813888861368676e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.918857583051904e-7, + c: 1.831706145986587e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.817891119463760e-7, + c: -1.729467791745002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.772122980117107e-7, + c: -1.828204281634642e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.932816671867035e-7, + c: 1.778665614358719e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 3.366994845200135e-7, + c: 1.797526292532983e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -2.299025553711098e-7, + c: 1.813927146321696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.404723493378892e-7, + c: 1.692264407822641e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -7.120531714755001e-8, + c: 1.800027917909702e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.278410024156309e-6, + c: 1.262806906921731e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.587661738149603e-7, + c: -1.705495233771279e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.413847046282483e-8, + c: -1.789742100966921e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -4.015683220948974e-7, + c: 1.733491601108830e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.457154017434271e-6, + c: 1.011589091082449e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.712047367786925e-7, + c: -1.759097841485625e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -6.903860307959863e-8, + c: 1.765230557139960e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.334304268455878e-6, + c: 1.140595009892519e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.191977707663110e-8, + c: -1.748552044849179e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -1.701771786700580e-6, + c: 3.679545409611136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 5.011168301233012e-7, + c: -1.645046664205333e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.033452388829310e-6, + c: 1.328976639222563e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.729090871950998e-7, + c: -1.669280681375140e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -9.049834457935134e-7, + c: 1.412904870672309e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -3.221214013485878e-7, + c: 1.634403998471823e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -8.243007657786941e-8, + c: -1.660259733049268e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.819908144092733e-7, + c: 1.629505498214843e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.347160835266031e-7, + c: -1.568127981094042e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -3.328321058309572e-7, + c: -1.559868163064564e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.578621065660481e-6, + c: 1.913158932445256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.448757046576597e-6, + c: -6.501185890785706e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.622950037047278e-7, + c: -1.558956008325383e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.286933544535952e-6, + c: -8.900599699253730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 4.515541200568924e-8, + c: -1.559017727086444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.293746986654351e-6, + c: 7.932207753126353e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.331319653487603e-9, + c: 1.508214889436080e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -6.429677805374578e-7, + c: -1.352019935912722e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.858118477677223e-8, + c: 1.492812286383052e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -14, 0, 0, 0, 0], + }, + Term { + s: 5.037716054353352e-7, + c: -1.386143813446590e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.174810414433381e-7, + c: 1.451535310048385e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0], + }, + Term { + s: 3.369327171139517e-7, + c: -1.426543748145001e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.331600549449004e-6, + c: 5.762335553604684e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.421731135257997e-6, + c: 2.442990840780470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 7.476066592811592e-7, + c: 1.202353688804444e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.962141161791725e-7, + c: 1.371077989763223e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -3.711411586349027e-7, + c: 1.352669049730336e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: 7.112792449525321e-8, + c: -1.388248360075219e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -5.617767115268688e-7, + c: 1.259508800957711e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -1.368283449071851e-6, + c: -1.357369811348764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.066387898673820e-7, + c: -1.323530985235136e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.238137809678083e-8, + c: -1.356523166240901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.343427288648553e-6, + c: -1.291252370709389e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038234326439561e-6, + c: -8.474156390029190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 2.903211226292173e-7, + c: -1.287900862274998e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.413838128116867e-7, + c: -8.978500683795494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.755081327129183e-8, + c: -1.295197839169643e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0], + }, + Term { + s: 3.086896356271671e-7, + c: 1.251979558587287e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.580361972895465e-7, + c: 1.230242703024274e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.197465808715599e-6, + c: 4.319394233659053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158142204326990e-6, + c: -4.965099612310244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.761286064232317e-8, + c: -1.251959419642175e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -2.928598250778595e-7, + c: -1.214574360772566e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 6, 0, 0, 0, 0], + }, + Term { + s: 2.189054955946010e-7, + c: -1.226600484206468e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.121008126074422e-6, + c: -5.211163744481516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -8.743818587679101e-7, + c: -8.644375363302916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 7.344921366534789e-9, + c: -1.226577481471917e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.209724801830239e-9, + c: 1.206051741349573e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 2.881818291195890e-7, + c: 1.169100549114144e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.289841387083916e-7, + c: 1.186746602806548e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 7.576133071338357e-8, + c: 1.188626656826029e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -7.798349830656461e-7, + c: 8.961685275444915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 7.919370430479991e-8, + c: 1.163949385746790e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.389159650245302e-7, + c: 1.116131051637016e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: 1.272270585749798e-7, + c: 1.141145097850206e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.132631141727812e-6, + c: 1.842426207379754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -7.526371999763116e-7, + c: 8.616608989797728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.062196883379472e-7, + c: 1.124651303885598e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.769044282304546e-7, + c: 1.099967663000696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.414757076521017e-7, + c: -1.081915026299945e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -4.347197141956153e-7, + c: -1.014439577347552e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.086812041849989e-6, + c: -1.766603170502430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.416878819408942e-7, + c: 1.076855454707403e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -4.558444126134546e-7, + c: -9.803444515420085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: 9.744935093385453e-7, + c: 4.581062637221992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.145192483217771e-7, + c: -1.048734977828694e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.740317433793309e-7, + c: 1.027589247295993e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.483744400002271e-7, + c: 9.636217811144330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154097438946505e-7, + c: 1.046787016988346e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.614584533553565e-8, + c: 1.043565562522714e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -4.945358849600593e-8, + c: -1.019469410904420e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -7.714843840142883e-7, + c: -6.477158038695442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.968984301159468e-7, + c: 9.865649806914872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.640050936499162e-8, + c: 1.002154638209367e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 2, 0, 0, 0, 0], + }, + Term { + s: 9.860592318028403e-7, + c: 1.481680229974501e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.415976572776440e-7, + c: 8.274037082962572e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0], + }, + Term { + s: 8.808437750270450e-8, + c: 9.559202959571784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 3.455226131813090e-7, + c: -8.955962273632630e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.595974968595716e-7, + c: 9.238175474299902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: -5.282218123067617e-7, + c: 7.977938684865825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -9.453970559581621e-7, + c: 8.053326966301186e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 2.935816051932106e-7, + c: 8.994272466343678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.394740608084116e-7, + c: 9.323856499716069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -15, 0, 0, 0, 0], + }, + Term { + s: 4.483299425851093e-9, + c: 9.236891163838860e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018770666333897e-8, + c: -9.147720265899292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -8.889423561470036e-7, + c: -1.438780211387520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.975285580472714e-7, + c: -5.612585592419091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.479297654729331e-8, + c: -8.934567953425533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 2.821573295730783e-8, + c: 8.904802485358349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -15, 0, 0, 0, 0], + }, + Term { + s: 7.586879257605046e-7, + c: -4.644469898581736e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 1.025018306483458e-7, + c: 8.714195229736274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 7.887830579826803e-7, + c: -3.753839064439803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 6.684801102537930e-7, + c: -5.546156121748365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -3.037571355332572e-7, + c: 8.137238597464381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 9.983406457372764e-9, + c: -8.676130815366740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -12, 0, 0, 0, 0], + }, + Term { + s: -8.519332563208073e-7, + c: 1.457407564843838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -4.108810000491363e-9, + c: 8.607069436847642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.390857772987634e-7, + c: -6.673550819178566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.651118626295477e-7, + c: 8.381395607961209e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0], + }, + Term { + s: 3.395907031860242e-8, + c: 8.505404591622934e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.040831677609866e-7, + c: -4.733774406055372e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0, 0], + }, + Term { + s: 4.837148239870414e-7, + c: 6.935352551136029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.501822605164076e-8, + c: -8.408808777740973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.103627261367373e-7, + c: 8.326806979964348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 5, 0, 0, 0, 0], + }, + Term { + s: 8.120088557415482e-7, + c: -1.950521811854335e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -7.513713734798852e-7, + c: -3.621883304091906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.678954296096861e-7, + c: 6.864701542505016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0, 0], + }, + Term { + s: 5.409619381250827e-7, + c: -6.261588131875784e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.915353901993041e-8, + c: -8.226247835949437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.771446989560879e-7, + c: -7.760110268614519e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.462414109764250e-8, + c: 8.078766402133621e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.328983233508349e-8, + c: -8.005042916233922e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -1.903669385228894e-8, + c: 8.039732972691539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 5, 0, 0, 0, 0], + }, + Term { + s: -7.430690929920741e-8, + c: -7.965104640460722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 2, 0, 0, 0, 0], + }, + Term { + s: -5.376018038663950e-7, + c: -5.841432421840600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.362023240910542e-7, + c: 7.812959278685445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0], + }, + Term { + s: -3.290301052250796e-7, + c: 7.181501174617329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, -2, 0, 0, 0, 0], + }, + Term { + s: 7.416300554983778e-7, + c: 2.448417176950164e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 7.618082571628362e-7, + c: 1.624318042457810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -2.415858957165471e-7, + c: 7.393310994572574e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: -4.859177280021700e-8, + c: -7.740225694318053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0], + }, + Term { + s: -4.858854841340180e-8, + c: -7.683643595045910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.915527148950672e-8, + c: 7.623984167081426e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.313042519694812e-7, + c: -7.501226038359545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 6, 0, 0, 0, 0], + }, + Term { + s: -1.183980732624246e-7, + c: -7.467696247122439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.153603159224504e-8, + c: -7.477265678216851e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -4.447568438605154e-7, + c: -5.819022830133336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.221726825019456e-7, + c: 7.220852479076233e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.779200330099711e-7, + c: 6.215750897385305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.469288820611269e-7, + c: -6.821792517875437e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -1.896740419142781e-7, + c: -6.977202831475864e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.777260600629615e-8, + c: 7.194217367763745e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.804790107010091e-7, + c: 6.584120099336207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 5.822445483016986e-7, + c: -4.155757960896027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.121055398588598e-8, + c: -7.073300291834958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.018836702018473e-8, + c: -7.012137164683193e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.287155161999231e-7, + c: -6.876655931488001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.849796738960363e-7, + c: 1.193414061675952e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.373878299057602e-7, + c: -2.622918947032272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.514421092993615e-7, + c: 5.200876491517726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 6.859093093249404e-7, + c: 5.476140989533681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.274635493314532e-7, + c: -6.742528375712416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.078612074620393e-7, + c: 6.770968249666348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0], + }, + Term { + s: -9.879686179886048e-10, + c: 6.787154355107367e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -1.295110409512092e-7, + c: 6.635650851254321e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.710569318589184e-7, + c: -7.233110284885339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.442740981037618e-7, + c: 5.045993343430924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.231109689464405e-7, + c: -4.175105978185791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.556971433098664e-7, + c: -8.660536020588353e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 2, 0, 0, 0, 0], + }, + Term { + s: -1.804276931072545e-7, + c: 6.296011946957103e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0], + }, + Term { + s: 6.389307380060666e-9, + c: 6.527918617462455e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -6.137529333729088e-7, + c: -2.172202672548226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 5.471753551566262e-7, + c: 3.526085926990843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.466578880984614e-8, + c: -6.433226376410148e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0], + }, + Term { + s: -5.204235845468028e-7, + c: -3.718773193620064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.204138358015684e-7, + c: 5.986528298609130e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.391433818409711e-8, + c: -6.320441572805118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.313909726477852e-8, + c: -6.304699740233144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.736130067983241e-8, + c: 6.260251536074446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -4.617066741432011e-7, + c: -4.238816593636860e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -6.241068580381034e-7, + c: 3.286492599710443e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.357079407373487e-7, + c: -5.945062995678952e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 9.351435728715003e-9, + c: 6.097083116043984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 6.436807338750279e-8, + c: 6.048615190922605e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -6.062445486695039e-7, + c: -4.889067107341133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.904338259701607e-8, + c: 5.978864059999239e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -16, 0, 0, 0, 0], + }, + Term { + s: 7.645237564396930e-9, + c: -5.926931861925254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.785993542795282e-8, + c: -5.851358355508848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.578502593900970e-7, + c: -4.652375893550719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.529711959498269e-7, + c: 4.687500777709217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 2, 0, 0, 0, 0], + }, + Term { + s: 5.641375747877193e-7, + c: -1.538497378996851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.158382683308481e-7, + c: -5.727642902816969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.817896482827396e-7, + c: 4.094388713590789e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -1.001972468956707e-7, + c: -5.700372202731416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.291563841071283e-9, + c: -5.768290021785065e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -13, 0, 0, 0, 0], + }, + Term { + s: 5.632618002476973e-7, + c: 1.179314975500663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 6.519385625771994e-8, + c: -5.713045442101701e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -8.108286736755958e-8, + c: 5.689576259485647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0], + }, + Term { + s: -2.722307025555177e-8, + c: 5.662226741431626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -5.530910436792827e-7, + c: 1.111913209810246e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.251074567199496e-7, + c: 1.892801625761064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 4.255238957685370e-7, + c: -3.546116744216268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, -2, 0, 0, 0, 0], + }, + Term { + s: 4.996907753617951e-8, + c: 5.501745548913125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -5.430438308887712e-7, + c: 9.515974760464196e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -2.992336855068182e-7, + c: 4.629382381337707e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.307620538692503e-7, + c: -4.926879429490859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.400345581845289e-7, + c: 8.112478807610871e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.206134793046969e-10, + c: 5.392380931640959e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.369053746894572e-7, + c: 4.142511641863046e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.769323846746158e-7, + c: 5.083804702665299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: -4.262612518440878e-7, + c: -3.235486008895061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.031630248060531e-8, + c: 5.307492728119680e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -16, 0, 0, 0, 0], + }, + Term { + s: -8.281424605765421e-8, + c: -5.208183283048149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 4.584400743482765e-7, + c: 2.521762085467709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.261405440182609e-8, + c: 5.223656333220173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -2.752273100704822e-7, + c: 4.432456246957216e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0], + }, + Term { + s: -2.840504840829353e-7, + c: 4.330689475396545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.137768105771705e-8, + c: 5.135953991570193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 2, 0, 0, 0, 0], + }, + Term { + s: -4.279405270222192e-7, + c: 2.828795474595931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 15, -9, 0, 0, 0, 0], + }, + Term { + s: -4.272164065115248e-7, + c: -2.825579380707504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -17, 9, 0, 0, 0, 0], + }, + Term { + s: -5.044487868283118e-7, + c: 8.426519702433222e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0, 0], + }, + Term { + s: 8.598549649310724e-10, + c: 5.082336518351133e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.002653342111398e-7, + c: 7.463981871581340e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.303068121203527e-7, + c: 4.498279223613072e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, 0, 0, 0, 0], + }, + Term { + s: 4.815748214280409e-7, + c: 1.500685934392645e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.708932281081523e-7, + c: -4.735247855236828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.690567213598212e-7, + c: 1.577789203444191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -3.904635461412023e-7, + c: -3.012589643253869e-7, + mult: [4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.752300946225416e-7, + c: 1.222435353763412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.036021741601770e-7, + c: -4.458082114865564e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.249681273188963e-8, + c: 4.885717656809030e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.770187673807219e-7, + c: -4.023956582440665e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.273333557534459e-7, + c: 3.585002469002387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.666570742207033e-7, + c: 4.047402190566107e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -7.498028043210340e-8, + c: -4.777957376458685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.465573318530104e-7, + c: 4.587039668710740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: 4.522587990220863e-7, + c: 1.605515986371395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.564847392956532e-8, + c: -4.794417110777411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.682463816831658e-8, + c: 4.744232598297850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -4.341203768236147e-7, + c: -1.864477350849258e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -7.297649807792541e-8, + c: 4.624851836494248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -5.925361215935129e-8, + c: 4.599787535076134e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0], + }, + Term { + s: 1.138288275853914e-7, + c: 4.488009627600085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.567133754727471e-7, + c: 3.840468619862064e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.311834084514458e-8, + c: -4.581612296854349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, -2, 0, 0, 0, 0], + }, + Term { + s: -4.476999218957824e-7, + c: 9.138427065838768e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 5, 0, 0, 0, 0], + }, + Term { + s: 3.824010221427726e-7, + c: -2.484034391620612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0, 0], + }, + Term { + s: 3.740382190793175e-8, + c: 4.540082459374932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.135452729282314e-7, + c: -4.340557315783561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.246389231448554e-7, + c: 4.279523570471183e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0], + }, + Term { + s: -1.904730294029235e-7, + c: 4.007820855538364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, -2, 0, 0, 0, 0], + }, + Term { + s: 7.345624704208305e-8, + c: 4.348486051031804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -1.141465958579321e-8, + c: 4.374054143942314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 6, 0, 0, 0, 0], + }, + Term { + s: -3.362628600225381e-7, + c: -2.751988366932316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.070684801342464e-7, + c: 3.817347604990406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.215230630707283e-7, + c: 2.903942778778815e-7, + mult: [0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.831433371253231e-7, + c: -1.994005342491755e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 3.164046408021317e-9, + c: 4.312600725036529e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -1.577339418514158e-7, + c: 3.984441827033890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.423485552245616e-7, + c: 3.497044843629418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.929943425399876e-8, + c: 4.191029507099929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -4.141642458627715e-7, + c: -4.070613173129464e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.568042556480050e-8, + c: -4.038001585593610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 2, 0, 0, 0, 0], + }, + Term { + s: 3.759818163824163e-7, + c: -1.732749676394035e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 3.585209449330687e-7, + c: -1.981705648742681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0], + }, + Term { + s: -2.415453228331856e-7, + c: 3.305226610320773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0, 0], + }, + Term { + s: -3.785600580088411e-7, + c: 1.409871287715884e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.624452431721873e-8, + c: -3.995116589590774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 9, 0, 0, 0, 0, 0], + }, + Term { + s: -3.948387343115789e-7, + c: -7.531066280040753e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.914742649219270e-7, + c: 8.460390742970630e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.965197593592523e-8, + c: -3.991489170729137e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 3.740176598888584e-7, + c: -1.342045317448985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 2, 0, 0, 0, 0], + }, + Term { + s: -2.660494123357077e-7, + c: 2.916834933754893e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.874811971075155e-7, + c: -2.663125885574923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.023699564738929e-7, + c: -2.479219093226250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.355174808600402e-10, + c: 3.889111119469935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -5.659580061487214e-8, + c: 3.827200291752108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -17, 0, 0, 0, 0], + }, + Term { + s: 9.691762666002020e-8, + c: 3.738930078176010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.766231359860616e-7, + c: -3.388396442431956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0], + }, + Term { + s: 5.592965632449157e-8, + c: -3.778109633033966e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.514248863511529e-9, + c: -3.810644057327469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -14, 0, 0, 0, 0], + }, + Term { + s: 2.074611548381047e-7, + c: -3.192473405585123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.305871115616886e-7, + c: 3.567814202727456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -12, 0, 0, 0, 0], + }, + Term { + s: 1.398249795433164e-8, + c: 3.736329706489781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.589184332440814e-7, + c: -1.007410610380243e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.981986170827495e-8, + c: 3.657703934689381e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -6.991744920485012e-8, + c: -3.647131898539305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.749652772449560e-7, + c: 3.241627540564043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -1.261048014785180e-7, + c: -3.429298810669112e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -4.251431559137659e-8, + c: 3.606518438544866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0], + }, + Term { + s: 1.929655153824076e-7, + c: 3.059907776788322e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.855546626499625e-7, + c: 3.104870201982376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0], + }, + Term { + s: -1.896692460963453e-7, + c: 3.076584866389324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -4, 0, 0, 0, 0], + }, + Term { + s: 3.347180946784942e-7, + c: 1.268082796975171e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -6.354826432602429e-8, + c: -3.521375684621706e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.578030319191123e-8, + c: 3.514985853469150e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 3.356591445245427e-7, + c: -1.100565868166459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0], + }, + Term { + s: -2.696347809474364e-7, + c: 2.248378470634133e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.333563846857779e-8, + c: 3.493081418225637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0], + }, + Term { + s: 2.514015022615723e-8, + c: -3.484162308584355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -4, 0, 0, 0, 0], + }, + Term { + s: 3.398356316821232e-7, + c: -7.006753484706050e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 3.385659858456479e-7, + c: 7.380296147314520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 3, 0, 0, 0, 0], + }, + Term { + s: -3.390811295121821e-7, + c: 6.985242481916444e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, -2, 0, 0, 0, 0], + }, + Term { + s: 2.661351385306724e-7, + c: -2.209451855639139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, -2, 0, 0, 0, 0], + }, + Term { + s: -2.958921671540612e-7, + c: 1.783473971043903e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0], + }, + Term { + s: 1.025503153902054e-7, + c: 3.291726999412666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 1.938866187000871e-8, + c: -3.442265421314953e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.531510632075521e-7, + c: -3.056127702376614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -2.816114981037716e-7, + c: 1.909029639960152e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.708797299662531e-8, + c: -3.355685522226671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.911918013623561e-8, + c: -3.379374980396337e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -5.575493753086816e-8, + c: -3.333062443306989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 5, 0, 0, 0, 0], + }, + Term { + s: 1.625171419743492e-7, + c: 2.956131946718040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.959881170604847e-8, + c: -3.302211322481597e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -3.308235139584682e-7, + c: 3.934383470055996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.790320467967296e-7, + c: 2.776525569153959e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 2, 0, 0, 0, 0], + }, + Term { + s: 3.276177482588649e-7, + c: -1.410936119804623e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 3.133782754752456e-7, + c: 9.404849469381031e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 2.798011495707998e-8, + c: 3.254795264183672e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.802924433812354e-8, + c: 3.258656538133140e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -3.178174816247405e-7, + c: 7.341251147565029e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.373320134161612e-7, + c: -2.931257128437289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0, 0], + }, + Term { + s: -1.449010855334923e-7, + c: -2.881354747806568e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.630524736850689e-8, + c: -3.114483762585099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 6, 0, 0, 0, 0], + }, + Term { + s: 1.762157717153751e-8, + c: 3.196841329398743e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.995318685138945e-7, + c: -1.123846167550695e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.617531004177432e-7, + c: -1.835418074898336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 1.928154468216612e-7, + c: 2.540751413307099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.879305733798285e-7, + c: -2.564811375999480e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.443953264268926e-8, + c: 3.159501435756549e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -17, 0, 0, 0, 0], + }, + Term { + s: 9.728937132135459e-8, + c: 2.993882675824166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.263528722997032e-7, + c: -2.161139483945600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.318547462413412e-7, + c: 2.075194815527732e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.042059331903142e-7, + c: -6.188194156914706e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.765957950436616e-8, + c: -3.018952401487071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -1.287355584725753e-7, + c: 2.808110494001971e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -3.965435778659685e-8, + c: -3.053680814240382e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.770110706852079e-7, + c: 2.507682094272142e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.025204049501063e-7, + c: 4.951093262010554e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.085824626793714e-7, + c: -2.837615979684264e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 3.024746527150621e-7, + c: -1.520885443553676e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -2.915873024266719e-7, + c: 8.032617878089500e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -8.560320236712345e-8, + c: 2.900449240525383e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -16, 0, 0, 0, 0], + }, + Term { + s: -1.978945412988356e-7, + c: -2.274234229322943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.252562434125873e-7, + c: 2.723485382669250e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -2.950785072131464e-7, + c: 4.728581195620465e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0, 0], + }, + Term { + s: -1.478791170854560e-8, + c: 2.978986641496912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 1.174861158224757e-8, + c: -2.954337459058863e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0], + }, + Term { + s: -7.398225995073304e-8, + c: -2.831214025164523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: -3.849246654672816e-8, + c: -2.889451855559845e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.832986499556282e-7, + c: 6.089104771937007e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0], + }, + Term { + s: 9.013363645703133e-8, + c: 2.753498175745314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 9, 0, 0, 0, 0, 0], + }, + Term { + s: 2.830775610584439e-7, + c: 5.298158076756339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 4, 0, 0, 0, 0], + }, + Term { + s: -2.808590054489176e-7, + c: 5.986550142072508e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 6, 0, 0, 0, 0], + }, + Term { + s: -5.940924548581352e-8, + c: 2.805165554454862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.952377826973444e-8, + c: -2.832683199180999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.463123084757825e-7, + c: 2.419441075776168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 6, 0, 0, 0, 0], + }, + Term { + s: -2.246667708383771e-7, + c: -1.706873419460161e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.593153297872008e-8, + c: -2.812514722682326e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 6.747785821160599e-8, + c: 2.731256638472229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, 0], + }, + Term { + s: 2.465432993296439e-8, + c: -2.775565160606897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 3, 0, 0, 0, 0], + }, + Term { + s: 6.223960942075866e-9, + c: -2.781603954930069e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -3.377134917802058e-8, + c: 2.761113229778543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0], + }, + Term { + s: 2.753252843349766e-7, + c: -2.307576354906794e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 2, 0, 0, 0, 0], + }, + Term { + s: -4.685257836802340e-8, + c: -2.713846447235374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.734397889402375e-7, + c: -1.634639270797118e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 6.334054053137115e-8, + c: -2.664956378423308e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: -2.249402553669628e-7, + c: 1.561594782622658e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.675316659166487e-8, + c: 2.655031920144253e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: 7.880679209931596e-8, + c: -2.620232147433802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.659052593559127e-7, + c: -6.173010394496322e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 9.189572239735818e-8, + c: 2.550560889794106e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.422303622810585e-7, + c: -1.197947699461923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -9.635086143858510e-8, + c: 2.524123601217025e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -13, 0, 0, 0, 0], + }, + Term { + s: -4.780696709846626e-11, + c: 2.681441490543995e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.674407417836407e-7, + c: -1.855154015898998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.595145357719568e-7, + c: 6.401517683685140e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.783874807846703e-7, + c: 1.989624774937405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.127652522322086e-7, + c: -1.592951931794071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.066295241820603e-7, + c: -2.427576974007340e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, 0, 0, 0, 0], + }, + Term { + s: 2.409263715472383e-7, + c: -1.106422103339932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564936997090523e-10, + c: 2.647831009741463e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.367363685563614e-8, + c: 2.629331598603187e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.402278747003840e-7, + c: 2.199148420454820e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.233838088588747e-7, + c: -1.341870238458864e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.546860733495932e-8, + c: -2.600940356765094e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -9.880820799338892e-8, + c: -2.401279345005456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.660652432851481e-8, + c: 2.589526306645565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 2, 0, 0, 0, 0], + }, + Term { + s: 9.444527911874774e-8, + c: 2.404671142984502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.759289890961182e-8, + c: 2.534290712113953e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.588334770554302e-7, + c: -2.025350625712728e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.238894477281039e-8, + c: -2.551140236556828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.517252380792783e-7, + c: -5.134454140771917e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0], + }, + Term { + s: 8.697813102483088e-8, + c: -2.413947442370752e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.768348588927753e-9, + c: 2.553105987098190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -8, 7, 0, 0, 0, 0], + }, + Term { + s: -1.032936133136852e-8, + c: -2.547573485121119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.639950274335291e-8, + c: -2.516645605877943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 9.494533024914648e-10, + c: -2.503446994394663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -15, 0, 0, 0, 0], + }, + Term { + s: 1.193638893555632e-7, + c: -2.180520110964085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 2.863174200588300e-8, + c: -2.466645332514464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.813443170551616e-8, + c: -2.448321741650452e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.833148836300994e-9, + c: -2.477541002331273e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -4.181663901005428e-8, + c: 2.437658034966377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -3.581421380731501e-8, + c: 2.445542078209598e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -18, 0, 0, 0, 0], + }, + Term { + s: 5.407514088377760e-8, + c: 2.398475384078052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 2.295310544621124e-7, + c: 8.803216891231986e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.091371542059070e-7, + c: 2.194277930913711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, -2, 0, 0, 0, 0], + }, + Term { + s: 2.062521769229770e-7, + c: -1.286220771933206e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -14, 0, 0, 0, 0, 0], + }, + Term { + s: 2.373094928057625e-7, + c: 5.140074594472938e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.247259559233644e-7, + c: 9.166290591266906e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.823104414784961e-8, + c: 2.395719663653364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -14, 9, 0, 0, 0, 0, 0], + }, + Term { + s: -5.584289246995178e-8, + c: 2.345228474669602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 2.303750131956734e-7, + c: -6.487864753836599e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.630531168272245e-7, + c: 1.744312234503629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.103249178595730e-7, + c: -1.126859913069190e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 2, 0, 0, 0, 0], + }, + Term { + s: -1.576563522570390e-7, + c: -1.787589707282680e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 9.617093735251264e-8, + c: 2.176474190359943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 4, 0, 0, 0, 0], + }, + Term { + s: 1.551387277469846e-7, + c: -1.799329910135468e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.507906665714935e-7, + c: -1.834817112122331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.482259014284353e-8, + c: 2.334974913840271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.300190073641454e-7, + c: 5.148551329925936e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, -2, 0, 0, 0, 0], + }, + Term { + s: -2.252324169383279e-7, + c: -6.704333003090170e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.483912266672707e-8, + c: -2.325099089231336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.186595061955728e-7, + c: 2.013673794186118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -4, 0, 0, 0, 0], + }, + Term { + s: 2.097106829759284e-7, + c: -1.029581784496013e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.288426210713308e-7, + c: 3.312734563513360e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 5, 0, 0, 0, 0], + }, + Term { + s: 5.179568773139193e-8, + c: 2.253063162595761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.263580235605116e-7, + c: -1.918342428614127e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.140514027133798e-7, + c: -8.265389276261882e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.977057584581174e-8, + c: 2.256110653703446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.139206140812276e-7, + c: 7.901869705917146e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.942548887023688e-7, + c: 1.188388694670269e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.237771287636522e-7, + c: 1.899605622421685e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -9.792603015506589e-10, + c: 2.265115667503230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 1, 0, 0, 0, 0], + }, + Term { + s: 2.259994435861129e-8, + c: -2.252492823512567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, -2, 0, 0, 0, 0], + }, + Term { + s: 4.967457041972298e-10, + c: 2.258908471287614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: -3.769321306824052e-8, + c: -2.214872952162478e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -14, 10, 0, 0, 0, 0, 0], + }, + Term { + s: -3.160875378014399e-8, + c: 2.220438477789977e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 3.380949669069490e-8, + c: -2.208547154780037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 9.505337399621754e-8, + c: 2.021299549188659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0], + }, + Term { + s: -1.546386005641999e-7, + c: 1.600063241564238e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202609860627298e-7, + c: 1.870168578164325e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.551544864105254e-8, + c: -2.003645154921125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.974864993836721e-7, + c: -1.012161117706871e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0], + }, + Term { + s: -1.924657483104657e-7, + c: -1.087240636660292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -2.154957885257243e-10, + c: -2.175994593890070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -8.298821707375314e-8, + c: -2.010310744675838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 2, 0, 0, 0, 0], + }, + Term { + s: 2.271272043029667e-8, + c: 2.160017246894934e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 7.218487500013305e-8, + c: -2.044828839901866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0], + }, + Term { + s: -2.103255033940081e-7, + c: -4.871644975287433e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -8.202938729167044e-8, + c: 1.961555161508454e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.634806143446003e-7, + c: -1.342473404790379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, -2, 0, 0, 0, 0], + }, + Term { + s: -2.003351332892475e-7, + c: 6.560924873242009e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.017648432597074e-7, + c: 5.932640581012691e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -12, 0, 0, 0, 0, 0], + }, + Term { + s: -7.037626848573814e-8, + c: 1.974541053913290e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0], + }, + Term { + s: -2.727332007172831e-8, + c: -2.063991680844474e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.086035930497850e-8, + c: 2.066131262623854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -10, 0, 0, 0, 0], + }, + Term { + s: 1.026451351420060e-7, + c: 1.791663667738532e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.881109688227038e-7, + c: -8.049883939632792e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -5.847315110956291e-8, + c: 1.959886017203131e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, -17, 0, 0, 0, 0], + }, + Term { + s: -1.892569871559401e-7, + c: 7.425082301718405e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.327088733052665e-8, + c: -1.954634602002319e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.708595918692058e-8, + c: 1.964127811945609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.007904779574018e-7, + c: -1.352046741514149e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.244435385805324e-7, + c: 1.575861498782384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0, 0], + }, + Term { + s: 9.689605308387580e-8, + c: 1.748146315348299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.402473906298362e-8, + c: -1.975913549555165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, -4, 0, 0, 0, 0], + }, + Term { + s: -5.200736458072681e-8, + c: -1.901466792924542e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.727966963833282e-7, + c: -9.473171609436325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.082043516867428e-8, + c: 1.950259840509788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -4.625588681861508e-8, + c: 1.903264524848555e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 2, 0, 0, 0, 0], + }, + Term { + s: -2.565980485080059e-8, + c: -1.941323226184550e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.685182481349485e-8, + c: -1.871229572571479e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.520351617003502e-7, + c: 1.219298474714185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -1.942094306734656e-7, + c: -6.876185986738882e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 4.778157863151408e-8, + c: 1.883585217071885e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.240321613453491e-8, + c: 1.938047951044642e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -7.626813691589265e-9, + c: -1.930180793624722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 6, 0, 0, 0, 0], + }, + Term { + s: -7.082122438049996e-8, + c: 1.790768371668314e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0], + }, + Term { + s: -2.201101342286039e-8, + c: 1.900170353207674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.807031542729517e-7, + c: -6.207029539823770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.286901988130869e-8, + c: -1.893497313418208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.808159409103014e-7, + c: -6.009841562656971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.055703371995782e-8, + c: 1.658949844608125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 2, 0, 0, 0, 0], + }, + Term { + s: 1.014962280215232e-8, + c: 1.877753615271911e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -18, 0, 0, 0, 0], + }, + Term { + s: -4.034125385855483e-8, + c: -1.826924257999004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124521367415681e-7, + c: 1.494693825887818e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 5.288981770161406e-12, + c: 1.868231318688580e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.043446030344083e-8, + c: -1.854740658351513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.643478047389702e-8, + c: -1.845930096254776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -3.115296369032822e-8, + c: 1.826957845463197e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.353852289386089e-7, + c: -1.250553881522378e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.557974843054670e-11, + c: 1.836786480408274e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.540619059974737e-7, + c: -9.718676689882244e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.090520445586054e-8, + c: -1.802304217676458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.812683942544606e-7, + c: -8.905529483313187e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -1.033611698292203e-7, + c: 1.484289294168843e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 7, 0, 0, 0, 0], + }, + Term { + s: 1.783677328365588e-7, + c: -2.780628009474249e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.758102238703873e-7, + c: 3.889738074259310e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 7, 0, 0, 0, 0], + }, + Term { + s: 6.497694026544384e-8, + c: 1.678558526361988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 4, 0, 0, 0, 0], + }, + Term { + s: 1.988553487670127e-8, + c: -1.782440151471435e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -7.302573749470521e-8, + c: 1.635959250353914e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -13, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.536496288246953e-8, + c: 1.660361844826396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 10, 0, 0, 0, 0, 0], + }, + Term { + s: 6.793908335440262e-8, + c: 1.648485262709342e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.651722281339799e-7, + c: -6.678783435874725e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058028972454692e-7, + c: -1.430034528808497e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.560224585294089e-7, + c: -8.495428971035903e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -6.337373749026576e-8, + c: -1.646141339429992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.345685070656298e-8, + c: 1.757403254331919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.665860982687974e-7, + c: 5.424008685890496e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -1.412500434037170e-7, + c: -1.026658813178932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, -2, 0, 0, 0, 0], + }, + Term { + s: 1.656851927448794e-7, + c: -5.400590298911976e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -1.766348007328712e-8, + c: -1.732863533686470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -2.706454781483765e-8, + c: 1.715270830069472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 3, 2, 0, 0, 0, 0], + }, + Term { + s: 6.048104148201213e-8, + c: -1.627093584779102e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 2, 0, 0, 0, 0], + }, + Term { + s: -6.953688231229918e-10, + c: 1.734789025292236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.857203846080135e-8, + c: 1.704098173911899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.705845949665973e-7, + c: 2.575878497744302e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -14, 0, 0, 0, 0, 0], + }, + Term { + s: 5.467609407014296e-9, + c: 1.712330311908470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.810381842854465e-8, + c: -1.699740178186057e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.121842177404475e-8, + c: -1.699696623499053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -6, 0, 0, 0, 0], + }, + Term { + s: -1.487752378738335e-7, + c: -8.279430358613546e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.680830351592190e-7, + c: -2.584700974356912e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.053227306614798e-7, + c: 1.326139662786166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.676437174449784e-7, + c: 2.209458736978883e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 6, 0, 0, 0, 0], + }, + Term { + s: -1.608633585525915e-7, + c: -4.973559990640286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.619249425075964e-7, + c: 4.439313110003826e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.162810662112088e-8, + c: 1.674726192592699e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -1.549252970441060e-7, + c: -6.278645396158300e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.524654266267912e-7, + c: -6.787848924358166e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -9.104009596412772e-9, + c: 1.665731020764773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -5.351822161831531e-10, + c: -1.657822852162115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168777338318430e-7, + c: -1.154950556524316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.544545881179327e-7, + c: 5.577064290286002e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -2.309904526668148e-8, + c: 1.624762338371456e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.529592009720009e-7, + c: -5.896831197602115e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, 2, 0, 0, 0, 0], + }, + Term { + s: 1.211649736256266e-10, + c: -1.636642407363033e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, -16, 0, 0, 0, 0], + }, + Term { + s: 4.204814873178512e-8, + c: -1.581108175035964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 2, 0, 0, 0, 0], + }, + Term { + s: -5.622902294465822e-8, + c: -1.535128445713534e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.628127165890944e-7, + c: 9.020563101716456e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -7.054403903305597e-8, + c: -1.453386272145623e-7, + mult: [0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.562603331982050e-7, + c: 3.658623368684345e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, -2, 0, 0, 0, 0], + }, + Term { + s: 2.380727590167353e-8, + c: 1.575435405406662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.017957793548983e-7, + c: 1.205773609116950e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.467410002668912e-7, + c: 5.786718518499850e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 2, 0, 0, 0, 0], + }, + Term { + s: -2.256349814669981e-8, + c: 1.559894466332790e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -19, 0, 0, 0, 0], + }, + Term { + s: -1.486453805843297e-7, + c: -5.191917303024750e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.608076471270708e-8, + c: -1.552402320386449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.123879526971458e-7, + c: 1.096273390572770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -4.571626714041638e-8, + c: 1.491478601035333e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.388887657201461e-7, + c: 6.966724488876528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -7.228797260898223e-8, + c: 1.374677564211263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 8, 0, 0, 0, 0], + }, + Term { + s: 2.347027179694241e-8, + c: 1.533375228387887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, -1, 0, 0, 0, 0], + }, + Term { + s: -2.174337303234749e-8, + c: 1.530255100727572e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -6.148516171146931e-8, + c: -1.416677665505255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.832788622202306e-8, + c: -1.511493221605814e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -9.681166263585158e-8, + c: -1.193304201375443e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.420349051693740e-8, + c: 1.279320492990815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 6.674695524301590e-8, + c: 1.377931580031906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.276438069609648e-7, + c: 8.416857081988874e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -15, 9, 0, 0, 0, 0], + }, + Term { + s: -1.423906371018089e-8, + c: 1.521716332138396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -11, 0, 0, 0, 0], + }, + Term { + s: -1.274079956003681e-7, + c: -8.425419118407457e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -17, 9, 0, 0, 0, 0], + }, + Term { + s: -9.352448205055024e-8, + c: -1.203878142324010e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.961571991455324e-8, + c: -1.222736668030398e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.274725820997729e-7, + c: 7.988485242992421e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -7.602503927523530e-8, + c: -1.294783735585653e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.819585401736862e-8, + c: 1.474473850721192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -2.508080896168304e-8, + c: -1.479749762065682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.898215498246266e-8, + c: 1.486771272813908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 7, 0, 0, 0, 0], + }, + Term { + s: 3.672998040483957e-8, + c: -1.442639012956747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0], + }, + Term { + s: -7.381412243670709e-8, + c: 1.281904347825208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -4, 0, 0, 0, 0], + }, + Term { + s: -1.632100092988018e-8, + c: 1.467995067025603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.938024302508738e-9, + c: 1.464452029937028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -9, 8, 0, 0, 0, 0], + }, + Term { + s: -1.367324081312963e-7, + c: -5.198368471842540e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0], + }, + Term { + s: -1.419899769258554e-7, + c: -2.943583003980618e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 2, 0, 0, 0, 0], + }, + Term { + s: -2.658275720310847e-8, + c: -1.423194092225379e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: 7.500411541047588e-8, + c: -1.238326510142979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0, 0], + }, + Term { + s: 1.917082833070558e-8, + c: 1.431361420178923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.570096020074145e-8, + c: 1.398130284535247e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.675648982973322e-8, + c: -1.219550606293600e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.348614175068882e-7, + c: 4.852623808696753e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -16, 9, 0, 0, 0, 0], + }, + Term { + s: -1.429365971290577e-7, + c: -7.246034661913460e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -2.475367074422108e-8, + c: 1.409596557062996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -7.845887566093584e-8, + c: 1.181359649832866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.339591099750125e-7, + c: 4.577729751116538e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, -2, 0, 0, 0, 0], + }, + Term { + s: 1.169872786881785e-7, + c: -7.873722052593111e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 2, 0, 0, 0, 0], + }, + Term { + s: -1.996316961690781e-8, + c: -1.394929492698288e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 9.822596006239693e-8, + c: 1.008079499875375e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 5, 0, 0, 0, 0], + }, + Term { + s: -9.713687185817657e-8, + c: -1.016535198760227e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -2.035694493104026e-8, + c: 1.382379331456978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 5.587149296687159e-8, + c: -1.276885460888147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 1, 0, 0, 0, 0], + }, + Term { + s: -7.009427456829002e-8, + c: -1.203368450231902e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 9, 0, 0, 0, 0, 0], + }, + Term { + s: 1.791167125834541e-8, + c: -1.379480959146732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, -1, 4, 0, 0, 0, 0], + }, + Term { + s: 1.368526866664452e-7, + c: 2.310532991011904e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.318974804831173e-8, + c: -1.362489840376279e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -6.265154354509988e-8, + c: 1.231533499322354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 4, 0, 0, 0, 0], + }, + Term { + s: -7.196321611995209e-8, + c: 1.177074521576856e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 3, 0, 0, 0, 0], + }, + Term { + s: -3.973651356138132e-8, + c: 1.320339856263263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, -18, 0, 0, 0, 0], + }, + Term { + s: -5.177861223685124e-8, + c: 1.270486774890115e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -15, 0, 0, 0, 0], + }, + Term { + s: 4.625295958738860e-8, + c: 1.288643293426873e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0], + }, + Term { + s: -1.287376817547579e-7, + c: -4.620646155331042e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -3.369133073552191e-8, + c: 1.318955906872232e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.511926275413523e-8, + c: -1.347936811936297e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 3, 0, 0, 0, 0], + }, + Term { + s: 9.957674169733170e-8, + c: 9.169776315476543e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.023628991772581e-8, + c: 1.288720361901407e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.188440029283931e-7, + c: -6.398866088391369e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -5.578927998306656e-8, + c: -1.225426496952149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.798905294910875e-8, + c: -1.310509615394775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -14, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.047944233295535e-9, + c: -1.334334891526009e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 4, 0, 0, 0, 0], + }, + Term { + s: 1.280017114244611e-7, + c: 3.738806658814411e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -13, 0, 0, 0, 0, 0], + }, + Term { + s: -6.196904563105041e-8, + c: 1.180578476991495e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, -2, 0, 0, 0, 0], + }, + Term { + s: 1.209252239218998e-7, + c: 5.440374232059590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.682886985954523e-8, + c: -1.240530671790565e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 7, -2, 0, 0, 0, 0], + }, + Term { + s: 5.874712522390975e-10, + c: 1.323022408841582e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: -3.324416786870976e-8, + c: 1.276943512587096e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0], + }, + Term { + s: -1.642795345868708e-9, + c: -1.315352030804329e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.113716290280459e-7, + c: 6.945226766703189e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -4.741706346858693e-8, + c: 1.219532813136753e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 0, 0, 0, 0], + }, + Term { + s: -4.213322260300843e-8, + c: -1.236686209279126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 3, 0, 0, 0, 0], + }, + Term { + s: 1.287977718915128e-7, + c: 2.174445844135409e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.971130150197264e-8, + c: -8.371987057709964e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -7.158435097466496e-8, + c: 1.078425415676735e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.712087019172820e-9, + c: 1.291725194300696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.218940859119929e-8, + c: 1.285925867047193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 2, 0, 0, 0, 0], + }, + Term { + s: -8.040535544887892e-8, + c: 1.007284073733339e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -17, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.161937736010551e-8, + c: -1.281002209447477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 1.105062133824985e-7, + c: -6.571719630603822e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -15, 0, 0, 0, 0, 0], + }, + Term { + s: 3.094673130860856e-8, + c: -1.245104005678957e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.246213800108400e-7, + c: -2.985102986000306e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 4, -4, 0, 0, 0, 0], + }, + Term { + s: 1.008499966512413e-7, + c: 7.819207224077510e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.547077570518134e-8, + c: -1.246511296184182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 3, 0, 0, 0, 0], + }, + Term { + s: 9.873538121414430e-8, + c: -7.970032662370036e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, -2, 0, 0, 0, 0], + }, + Term { + s: 1.082589532612227e-7, + c: -6.511940590820799e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -4, 0, 0, 0, 0], + }, + Term { + s: 1.299803599952597e-8, + c: -1.253312166680608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, -2, 0, 0, 0, 0], + }, + Term { + s: 4.844237721155260e-8, + c: -1.159650263257718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.677736446358521e-8, + c: 1.221109291629978e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 6.883622412736227e-8, + c: -1.042953370685194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 2.366955395960129e-8, + c: -1.225707118201585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.328600208836173e-8, + c: 9.999303961657643e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, -1, 7, 0, 0, 0, 0], + }, + Term { + s: 7.325247114324263e-8, + c: -9.996437300511241e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, -3, 7, 0, 0, 0, 0], + }, + Term { + s: -9.878966471846606e-8, + c: -7.482822588792206e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.704154190039520e-8, + c: -1.207372597497890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -15, 11, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233332107093401e-7, + c: 6.106445051882247e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -8.865251802886222e-8, + c: 8.578785653847528e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 1.787578332194445e-8, + c: 1.218850221285147e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -1.626235782086897e-8, + c: -1.220865923775432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.500272134007090e-8, + c: -1.221540467225901e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 4, 0, 0, 0, 0], + }, + Term { + s: -6.731725978118784e-8, + c: -1.029286935128725e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.408372759204902e-8, + c: 7.839971738259645e-8, + mult: [5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.017737634559240e-7, + c: -6.783047140340752e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.266019446817849e-8, + c: 1.190390424638629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -15, 10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.747226871110068e-8, + c: -1.197155733228996e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.174615054072750e-7, + c: 2.664484591670960e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, -4, 0, 0, 0, 0], + }, + Term { + s: 1.195201233262205e-7, + c: 1.440392812301108e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -10, 7, 0, 0, 0, 0], + }, + Term { + s: 7.260695645474971e-8, + c: 9.580447475910254e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.648000937132544e-9, + c: 1.201080738249849e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 1, 0, 0, 0, 0], + }, + Term { + s: -9.679426425113420e-8, + c: -7.113015742650895e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.175217012302092e-7, + c: -2.472713644424114e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0], + }, + Term { + s: 7.667026335867254e-8, + c: 9.177143105689590e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -7.009698539593937e-9, + c: -1.187504498915084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 7, 0, 0, 0, 0], + }, + Term { + s: -1.494312258359058e-8, + c: -1.174973459644975e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.576766739672193e-8, + c: 1.172529680623544e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.145756817516881e-7, + c: -2.894475700366116e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.264638837284196e-8, + c: -1.000711435217256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 2, 0, 0, 0, 0], + }, + Term { + s: -3.722973205748037e-8, + c: 1.116175875336720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.116326908721158e-8, + c: 1.169414463918205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.170558521076028e-7, + c: -7.234317644906845e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 1.112956797631017e-7, + c: -3.684333251564964e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.598485110571739e-8, + c: -1.074433099433988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.654091329113798e-8, + c: -1.155244769252689e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.122000084376888e-8, + c: -1.161451570427727e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 2, 0, 0, 0, 0], + }, + Term { + s: -9.050929165655491e-8, + c: 7.310871651386204e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0], + }, + Term { + s: -1.109427481098672e-7, + c: -3.437673097101517e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.203963945558241e-8, + c: -9.778202461424065e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 2, 0, 0, 0, 0], + }, + Term { + s: -1.328833268627626e-8, + c: -1.147411075095708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -7.012979756253647e-8, + c: 9.135477058307604e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -9, 8, 0, 0, 0, 0], + }, + Term { + s: -6.390107425464344e-8, + c: 9.541614835372684e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.132773400164435e-7, + c: -1.594821847189770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 2.710784038118280e-8, + c: 1.102525113054094e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.862484751628195e-8, + c: 5.620383906093543e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.101321233041449e-7, + c: 2.510924580367827e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -10, 8, 0, 0, 0, 0], + }, + Term { + s: 1.471144020850027e-9, + c: -1.129415513432261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -4.597533389176888e-8, + c: 1.022642296795805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.070234244044628e-7, + c: -3.323509848922072e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 5, -2, 0, 0, 0, 0], + }, + Term { + s: -9.533969027540884e-8, + c: -5.878373564516711e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -12, 0, 0, 0, 0, 0], + }, + Term { + s: 7.065953246461178e-9, + c: 1.113716167340658e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, -19, 0, 0, 0, 0], + }, + Term { + s: 9.657459365592959e-8, + c: 5.520762164311735e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.731114358695791e-9, + c: 1.106393473952814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, -12, 0, 0, 0, 0], + }, + Term { + s: -1.092513477506452e-7, + c: -1.943762664735629e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 2.225775966318299e-8, + c: -1.085487957862433e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -6.915728040689975e-8, + c: 8.636409457792096e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 1.442498045149606e-8, + c: -1.095498949597570e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.518245451943645e-8, + c: 1.093844776201232e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.773256806097994e-8, + c: -1.087278230664249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, -2, 0, 0, 0, 0], + }, + Term { + s: 8.393094117692210e-8, + c: -7.120218157729046e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.079515894145747e-7, + c: 1.746241372371163e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0], + }, + Term { + s: 8.273322842632457e-8, + c: 7.110984879434501e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, -6, 0, 0, 0, 0], + }, + Term { + s: -3.934269612264946e-8, + c: -1.016018898746128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.437538616780010e-9, + c: -1.082531295082174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, -4, 0, 0, 0, 0], + }, + Term { + s: -8.023012594865561e-8, + c: -7.304922270591838e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.769046271957473e-8, + c: 8.456225317526556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -14, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.479123523495963e-8, + c: 9.831347464398582e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -14, 11, 0, 0, 0, 0, 0], + }, + Term { + s: -4.409726800867718e-8, + c: 9.837801103274220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -11, 2, 0, 0, 0, 0], + }, + Term { + s: 2.655702459579441e-8, + c: 1.044751152694263e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.339837041319756e-8, + c: 1.051126808453104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 7, 0, 0, 0, 0], + }, + Term { + s: 6.225584649211387e-8, + c: -8.786043977099796e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046990651257356e-7, + c: 2.505594845759578e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, -2, 0, 0, 0, 0], + }, + Term { + s: 2.570680147359748e-8, + c: 1.044587473949716e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013996195687974e-7, + c: 3.455376156562206e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.283553198097606e-8, + c: 9.768567170862261e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.737038876004912e-10, + c: -1.065283418901506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, -17, 0, 0, 0, 0], + }, + Term { + s: 1.006450176474439e-7, + c: 3.408431756214555e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 8.265411274895145e-9, + c: 1.058653296000091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 9.364818897280794e-8, + c: 4.998804144789085e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.061273068661253e-7, + c: -1.740022164087510e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 4.239366619653258e-9, + c: 1.058149303841487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.627699553532833e-8, + c: -1.039950797723754e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.038874778524938e-8, + c: 1.030282712255997e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -3, 0, 0, 0, 0], + }, + Term { + s: 5.465994603660684e-8, + c: 8.922434710136260e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -2.602134364548881e-8, + c: 1.008915837331191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0], + }, + Term { + s: 8.726168233394822e-9, + c: 1.037870094718898e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -8.482751297101084e-8, + c: -6.037000301599045e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -7, -2, 0, 0, 0, 0], + }, + Term { + s: -3.372802053008659e-9, + c: 1.040278980550363e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 1.357178736376014e-8, + c: -1.031564502772058e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.211848322603172e-8, + c: 8.930660307779219e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.454650494976278e-8, + c: -4.034056819390174e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -5.223752835580478e-9, + c: 1.024735420028082e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 2.735785208610953e-9, + c: 1.024965409624294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 3.220236943080455e-8, + c: 9.692236139407165e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.704954577718431e-8, + c: 2.958190929172350e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -14, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.436375148601663e-8, + c: 1.001740923342936e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.159326914460473e-8, + c: 9.530223396778664e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 7, 0, 0, 0, 0], + }, + Term { + s: -4.089087772219976e-9, + c: -1.002901905105088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.415177568919996e-8, + c: 9.932105776061097e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, -20, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 1.593158937303201e-4, + c: -1.015381615448104e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.636126179807707e-4, + c: 8.488387144682473e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.066598207230603e-5, + c: -9.893318859039495e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.734787338326304e-5, + c: -8.390352101265981e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -8.830366463568911e-5, + c: -2.575562431558442e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.801448157957987e-5, + c: 2.610650606392701e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.205577674480578e-5, + c: 1.982826680767112e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.203817307573762e-5, + c: 1.609329835158415e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 5.655741211358153e-5, + c: 1.646340185408723e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.534507471688356e-5, + c: -1.650915717754642e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.572455871107664e-5, + c: 4.478479717282878e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.080440819913642e-5, + c: -2.767814264562269e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.367177825550582e-5, + c: 1.776803798730173e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.915148006731204e-5, + c: 4.468749880499089e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.357054117374915e-5, + c: 1.116723038377401e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.075014030909274e-5, + c: 8.925803780577964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.887902104472978e-6, + c: -1.203017262613527e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.111632280315425e-7, + c: 1.171466319525182e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.642677137825824e-6, + c: 3.179982997226329e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -9.674835138494452e-6, + c: 2.813785406950125e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -9.186268701528025e-6, + c: -2.682747060722936e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.109048050708132e-6, + c: -7.866867480651506e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.279883951957922e-6, + c: -4.068596995075697e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.094017434070188e-6, + c: -1.814820415449267e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.248028528933920e-6, + c: 6.629682414365969e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.368865085722819e-6, + c: 4.593925191021470e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.729401015819318e-6, + c: 1.291117088115591e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.091713052451466e-6, + c: -2.141815100265965e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.573750470532890e-6, + c: -3.118121641675208e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.335677370127854e-6, + c: -5.638124741341827e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.443539226594069e-7, + c: -5.897026243043482e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 5.150352510447818e-6, + c: 2.773028354809662e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.179531145730418e-6, + c: -1.879826640600875e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.942805758055970e-8, + c: -5.289030444303414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.389828477990079e-6, + c: -2.927375194545527e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.933405684673027e-7, + c: 5.030757069833044e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.761088492170881e-6, + c: -8.024584977928070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.477500435358406e-6, + c: -8.926284692967855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 4.190396832026754e-6, + c: 1.322756884932685e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.984170196158508e-6, + c: 1.652311999194730e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.040448924598414e-6, + c: -1.044667993877276e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.535938605616059e-6, + c: -2.179309657887221e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.148038750116259e-6, + c: -2.575567787873995e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -3.940988748575522e-6, + c: 4.855338674674210e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.780782628879043e-6, + c: 2.403965002036916e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.093397067042443e-6, + c: 1.873402349758511e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.179710246698081e-6, + c: -3.320170427834176e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.415974112009836e-6, + c: 2.512033025818364e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.995984444393706e-6, + c: 2.834306334064981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.842278482931817e-8, + c: 3.283502455791239e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.776004141858334e-6, + c: 2.717144289542266e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.628724900692658e-6, + c: 1.787281317808077e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.974306357723379e-6, + c: 9.345523950948011e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -9.466933040140394e-7, + c: -2.921453958324542e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.152904135100209e-6, + c: -2.652431820747302e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.517958956124171e-6, + c: -2.427443410978933e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.696671762809470e-6, + c: -2.273815113299235e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.447847235431715e-6, + c: 2.396962141166551e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.469574825253193e-6, + c: 7.023986248109999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.351674127429885e-6, + c: 7.873180417761629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.353756224006007e-6, + c: -6.511910533376995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.346544117109047e-6, + c: -5.218763015216078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.325857708411416e-6, + c: -5.303145686102295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.326709530856526e-6, + c: 4.760928508761344e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.782079395444605e-6, + c: -1.447895954928227e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.226143249830683e-6, + c: -5.179142263335159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.126375646540896e-6, + c: 7.578470936061760e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.042798555268667e-6, + c: 1.977197467805116e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915390075466350e-6, + c: -1.109921532290457e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.504083552282647e-6, + c: -1.619338832400212e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.370006668218949e-6, + c: 1.632242337150375e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.694411552775265e-7, + c: -2.032159341283281e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.975957013450253e-6, + c: -3.703384354945490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -1.511249010690050e-6, + c: 1.303101101122245e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.763155833856924e-6, + c: -8.644511903755968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.182396691409873e-6, + c: -1.564416617269964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.896333747581817e-6, + c: 3.795507002987401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.052798457239892e-7, + c: -1.780367336838822e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.224937949244553e-7, + c: 1.592180650002246e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.613729059441686e-6, + c: -4.901367768944732e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.677918934849213e-6, + c: -3.466930961693849e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.375726998123312e-6, + c: -6.488531117993836e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.294705808452124e-6, + c: 6.199585365585963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.089765547157230e-7, + c: 1.103412264962394e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.315338240397015e-6, + c: 3.685410933421567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.745774213429410e-7, + c: -1.228282789680142e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -3.179996318787828e-7, + c: -1.305816924756941e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.270841031747004e-6, + c: -4.313989737200201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.309909355083939e-6, + c: -2.399585740514327e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.033011599299947e-6, + c: 8.033880382534446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -7.688967076395475e-7, + c: -1.013609131672445e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.242332304906024e-6, + c: -2.155387705766894e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 1.221282311282347e-6, + c: -2.973087743833256e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.148493455925236e-6, + c: 4.834541664018741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 9.475185129357702e-7, + c: 6.900521151327309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.691857112932266e-7, + c: 6.292280502130862e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.080959301896676e-7, + c: 1.133187309983077e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -8.273114018373993e-7, + c: 7.042069865295530e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 9.498377369052209e-7, + c: 5.102501721041584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.020776153682400e-6, + c: -3.218374885049777e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 5.433204939774729e-7, + c: 9.064767890558927e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 6.641348724747099e-7, + c: -8.133244782865054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.210807661653474e-7, + c: 6.530590583791934e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.695735114509593e-7, + c: 9.317035901834994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -7.195937896489222e-7, + c: -6.897246928002560e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.902610566702763e-7, + c: 5.385116886455620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.753340966329102e-7, + c: -8.932224262301891e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.238037567443998e-7, + c: -8.750932777995061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.069329063510491e-8, + c: 8.800809740524554e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.166207945226545e-7, + c: 1.639029118614296e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.794102788402270e-7, + c: -5.761431882675464e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.333238079644016e-7, + c: 3.319425062751053e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.675852716955184e-8, + c: -8.005671032224057e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.692163303787906e-7, + c: -4.297733028151174e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.535041911982803e-7, + c: -2.530733055906640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 6.403176160913864e-7, + c: -4.663558119114892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.758161575889703e-7, + c: -1.301479383001946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -4.102072256383375e-7, + c: -6.486279007057240e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 7.300158166284133e-8, + c: -7.590823257118417e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -7.561508115537199e-7, + c: 4.554528707674339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.880426540761441e-7, + c: 4.681810989132159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 7.135560021329854e-7, + c: 1.716497512604747e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 7.114905736122657e-7, + c: -1.797646352151068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -4.726293616827511e-7, + c: 5.559718639986947e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 2.860503441357019e-9, + c: -7.295027310434516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -6.859127728053918e-7, + c: 2.429693426718835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -7.104418959248594e-7, + c: -9.374316090198923e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -6.915402609055925e-7, + c: -1.871449283778511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 6.765845251834709e-7, + c: 1.659698197910907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 6.407589939254583e-7, + c: 2.672478202173448e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -6.648003521295776e-7, + c: -1.841109796620956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.112392009851593e-7, + c: 3.191469631119092e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.354689728124195e-7, + c: -2.484466076038982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.934712335134633e-7, + c: -5.554209793419666e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.259003189251555e-7, + c: 2.367226450939185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.856661955411264e-7, + c: 2.976037917660803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.043396476038515e-7, + c: -2.194833043606585e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 2.871214372506686e-7, + c: -5.537798590560001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -4.200102230959208e-7, + c: -4.507660112352490e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.064960895594926e-7, + c: -1.397372756291154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.064459947463421e-7, + c: -4.334934502214543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.510954653437940e-7, + c: 3.753712158923815e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 4.532653058980345e-7, + c: -3.618172163334207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.392952423223930e-7, + c: 5.248187599417617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.430847810104946e-7, + c: -5.526456759191923e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.374005922629564e-7, + c: 4.531714761784032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.674154694438651e-7, + c: 4.236746316241401e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -4.990276704307041e-7, + c: 2.420360366450984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.393424925875852e-8, + c: 5.509988693174244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.110882719548835e-7, + c: -2.039427913915136e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.195179409313826e-7, + c: -4.241663714574762e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.957100908390893e-7, + c: -4.894006082383601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.637180985751077e-7, + c: -4.948990902066919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.708665182924508e-7, + c: -3.533966232620703e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.829216145727871e-7, + c: 1.682856185424828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.934118766077855e-7, + c: -7.893480541198893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 4.912239466468219e-7, + c: 6.678146873327031e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -4.681913745601615e-7, + c: -1.477583493121730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 1.821747583281959e-7, + c: -4.532713751916255e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 4.183441422062324e-7, + c: 2.478402642631930e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.794280734140109e-7, + c: -3.881931763459405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 4.553692508340256e-7, + c: -1.364525500489352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 2.178756477745909e-7, + c: -4.189463632585622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -4.561141846382060e-7, + c: -1.101667359431123e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.190487805235898e-7, + c: 4.536927391308713e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.853146232228003e-7, + c: 4.217418867996362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -2.660202956920886e-7, + c: -3.719204562644361e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.637686628442716e-7, + c: -3.718767866737974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.285941692368269e-7, + c: 3.098076003690579e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.608446375312492e-7, + c: 3.653690263544751e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -4.263516692011392e-7, + c: -1.314884635553149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.825433458761105e-8, + c: -4.401989153423385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 4.264069889247224e-7, + c: 1.107333895339595e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.240519587018000e-7, + c: -1.057059059757140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 4.228587864583475e-7, + c: -1.079044111873458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.273876787477041e-7, + c: -6.432065856515251e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.982343033595040e-7, + c: 1.522023864777570e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.162517544048634e-7, + c: 2.685792597446647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.184521978034473e-7, + c: 2.632107418995608e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.873902087240560e-7, + c: 1.417774718528393e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.932630372263821e-7, + c: 9.704407120388595e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.134984866670494e-7, + c: -3.872854117534972e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 3.806728314405754e-7, + c: 1.105041982958654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 3.869119482772239e-7, + c: 7.653599921892541e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 3.837962222898521e-7, + c: -4.938953145891154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.609747001897357e-8, + c: 3.861468785394374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.659328843634969e-7, + c: 1.144402361151861e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 2.520399832530429e-7, + c: -2.873926713250362e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.697359957054314e-7, + c: 9.103091852708049e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.769533448715747e-7, + c: -2.629685062347922e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.431098668398258e-7, + c: -3.422964192148623e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.976250522905864e-7, + c: -2.170293854053910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -3.594978568744975e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.681547964944572e-7, + c: -3.176993062139292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.304117177986251e-7, + c: 1.396174913468580e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -8.415893450914230e-8, + c: -3.360907776094083e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 3.822855109902113e-8, + c: -3.377171857489124e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.006869890187602e-7, + c: -2.686725162394276e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.143027793004672e-7, + c: -1.131624995263474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -3.238504221494786e-7, + c: -8.001163502550607e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.986615041606491e-7, + c: -1.482037437094775e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -2.178988596612437e-7, + c: 2.496149026841447e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.378799332478393e-9, + c: -3.293702252920348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.767765648964247e-7, + c: 1.662851337697303e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.173621914647839e-7, + c: -4.896163490407775e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 9.681371681034439e-8, + c: -2.990654968339441e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.437960804314442e-7, + c: 1.963803386071424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 3.050063190040648e-7, + c: -7.045388459795479e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.978471098915783e-7, + c: -9.370468360906134e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 1.113339879257260e-7, + c: 2.884234241287203e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.120626423348172e-7, + c: 2.219970985514017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 7.674372675137600e-8, + c: -2.923060759752734e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.162322418090120e-7, + c: 2.046671911560219e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.666337567374420e-7, + c: 1.185231921830828e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.877410104068000e-7, + c: 2.239786260449079e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.829191333121208e-7, + c: -1.615001464558719e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.782864285437990e-7, + c: 2.189488412235041e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.705612916942554e-7, + c: -7.371064901705610e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.145362138026933e-7, + c: -1.782744658539337e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.426608973709123e-7, + c: -2.395926229436773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.626638642378418e-7, + c: -2.252901278541899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062632879234383e-7, + c: -1.858997988614328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -11, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.252636420610012e-8, + c: -2.746394597649742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.537764119398016e-7, + c: 2.266769111881213e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 7.004536481793486e-10, + c: 2.694183422475526e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.554642771906689e-7, + c: -8.361008902577001e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.510276205953190e-7, + c: -6.359774248393980e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.949974385459680e-8, + c: -2.575562650625334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.755413169136546e-7, + c: 1.873091415934628e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -11, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.468206685770198e-7, + c: -6.978843660426205e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.532382202570522e-7, + c: 4.035619960334201e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.450895744554823e-7, + c: 6.772820266702328e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.440524720101854e-7, + c: 6.613647008402858e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.237326514127859e-8, + c: -2.399767396202172e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.452067188310681e-7, + c: -2.455656194626276e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.411158401702646e-7, + c: 4.397845866424088e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 2.116584379735839e-7, + c: -1.126551618462385e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.804654079281331e-8, + c: 2.384419165600128e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.756640098962898e-7, + c: 1.521664409040826e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.280638666142754e-7, + c: -4.026250140028076e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.924119623914625e-7, + c: -1.282694188205698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.142221853411548e-7, + c: 1.979493387378156e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.098599852331230e-7, + c: 8.678826551785181e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.157534602130015e-7, + c: 4.020088901837862e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 4.419440548497470e-8, + c: -2.145919342744587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.211205880795713e-7, + c: -1.816396456791652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.856976044015953e-7, + c: 1.110373518993144e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.122200210739638e-7, + c: 4.013541833309538e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.916565056530290e-7, + c: -8.666524338171483e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.609818504289085e-7, + c: -1.349520946616730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.091100885279798e-7, + c: -1.769109813815517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.048942762424248e-7, + c: -3.051018359921940e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: -1.949889922401718e-7, + c: -6.143289701073575e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 1.808694106027256e-7, + c: 9.485210591293663e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.668768865359503e-8, + c: -1.980993806809586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.949119671895862e-7, + c: -4.466959252050444e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.803031431114692e-7, + c: 8.579432227314319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.604252515765491e-7, + c: -1.164630778831817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.967324700488729e-7, + c: 5.301910055261244e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 8, 0, 0, 0, 0, 0], + }, + Term { + s: -3.408271645889119e-8, + c: -1.936007136102865e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.609620305174523e-7, + c: -1.105395913739521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.315217391539678e-8, + c: -1.944815721277837e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.849919318895276e-7, + c: 5.968325567081283e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.778662620935025e-8, + c: -1.679172774081627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.887672492258589e-7, + c: -3.114427523356613e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.745204944840670e-7, + c: -7.363593225039663e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 1.664695716799288e-7, + c: 8.574374632134716e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.848763229018638e-7, + c: 2.101496048275799e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.749717848647526e-7, + c: 6.291298596204741e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -1.840862896469134e-7, + c: 2.623944373574311e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.261834231086681e-7, + c: 1.312014371325850e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.800649531270687e-7, + c: -1.354808046053577e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.635397866862583e-7, + c: 7.565880913643800e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 8.343260237183100e-9, + c: 1.787394116632139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.090411949993878e-7, + c: 1.372969512136943e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 4.087769149379034e-8, + c: -1.703369357160122e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.723392307854654e-7, + c: 3.056518154506588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: -4.399096064808360e-8, + c: -1.637590116557046e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.396478545889747e-7, + c: -9.580993517457013e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.648085577926991e-7, + c: 3.650371945443277e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -13, 9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.303776391119787e-7, + c: 1.005891068204807e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -1.624308586821685e-7, + c: -2.536734892084054e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.600907314206535e-7, + c: -3.413809411143990e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -8.892056166818033e-8, + c: 1.373549613653789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 7.403115049464090e-8, + c: 1.458878923867907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.495788291050651e-7, + c: 6.268584490069454e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -13, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.718873988302169e-8, + c: 1.548082979766611e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.325398523748678e-7, + c: -9.110309039000343e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 5.511759208205190e-8, + c: 1.504477400865726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.418942555246599e-8, + c: 1.581023643154357e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.538927115365160e-7, + c: -4.290833114642183e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.540524735532341e-7, + c: -4.054547848054730e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -9.107959612471848e-8, + c: -1.292757801488525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.517967166923329e-7, + c: -3.092869107561356e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.475247941088233e-7, + c: -3.651568957544082e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 1.462302155466938e-7, + c: 3.874569452262204e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.200679134306280e-7, + c: -9.053053691609990e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.416130580031120e-7, + c: -4.452266394157897e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.483059625561307e-7, + c: -1.717817873706477e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: -1.475722730538779e-7, + c: 1.348393281490124e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.026856919721029e-8, + c: -1.460852748517963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.288256014387360e-7, + c: 6.595078792155021e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -1.246592146174730e-7, + c: -6.826715855135880e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -13, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.418593729888435e-8, + c: -1.367600357617331e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.324167949924922e-7, + c: 3.665917965548656e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.310910366514591e-7, + c: -4.111721701986457e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 1.331260955460897e-7, + c: 2.666474731300000e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.309789872306747e-7, + c: 3.536272644540551e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -4.563620155311572e-8, + c: -1.275060821358184e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.179971640509630e-8, + c: 1.201359887412808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.324207449928892e-7, + c: -1.897526589570367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: 7.451179917239438e-8, + c: -1.103124621055814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.270145695342215e-7, + c: -3.514309813482422e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.296902307174758e-7, + c: 2.295024778207456e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: 7.662661536765650e-8, + c: 1.065376830988220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.831888161250060e-9, + c: -1.303755358333512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.451904943946536e-8, + c: -1.210583853230484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.237251745897888e-7, + c: -2.704149460526894e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.242677204435096e-7, + c: -1.341746891063122e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.209443550334756e-7, + c: 2.975196330110708e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -5.657320056781853e-8, + c: 1.090738164624709e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.183496839649097e-7, + c: 2.978420736783869e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -7.064467176507637e-8, + c: 9.795886567422253e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.165843818470501e-7, + c: 3.041283468257331e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.476735049694968e-8, + c: 7.408480925701830e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.028300272344015e-8, + c: -9.761111937764588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 3.747363534487424e-8, + c: 1.140265525279533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.117541702877986e-7, + c: -3.880526515339430e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.169059824468141e-7, + c: 8.671825954473561e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -12, 9, 0, 0, 0, 0, 0], + }, + Term { + s: -2.456725316061052e-8, + c: -1.138856690735809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 6.648321989039389e-8, + c: -9.545861605046308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.391257632808789e-9, + c: 1.152672461738062e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139730584750842e-7, + c: 1.606088446236459e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.903641700782802e-8, + c: 1.081897441632498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.574319819978508e-9, + c: 1.144662803873003e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 1.039943167263246e-7, + c: -4.765859532218520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.278408529763333e-8, + c: -6.682938625896175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.010105784452520e-7, + c: -5.172051879914874e-8, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.239329226988422e-8, + c: -1.084610508465723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.054238285225657e-7, + c: -3.970825746935127e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -9.677907299914226e-8, + c: -5.665690916821224e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.073420597124993e-7, + c: -3.192719653376278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 5.326250556932261e-8, + c: -9.811968879764761e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: 4.099227245816327e-9, + c: 1.110536263593841e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -6.824108268846138e-8, + c: 8.695392455928478e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, -2, 0, 0, 0, 0], + }, + Term { + s: 1.103582162874434e-7, + c: -2.151100791945045e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.072639031281680e-7, + c: 2.290993163171202e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.754966616290485e-8, + c: 9.261845350286388e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.081278757419376e-7, + c: 1.318043386591572e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.083348357208118e-7, + c: 7.343950621704560e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.412321095048115e-8, + c: 7.924853337038380e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.064764212015541e-7, + c: -1.962158935705263e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.018392587275071e-7, + c: 3.471851647627821e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -14, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.031111322171441e-7, + c: 2.476929763595252e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.036187464214860e-7, + c: 1.167441360447960e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 9.096122226771903e-8, + c: 4.999452748202996e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -9.035759787444540e-8, + c: 5.005860146193661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.001578709936324e-7, + c: 2.383182707177221e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 9.634716612268251e-8, + c: 3.243038942199283e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.011034517972485e-7, + c: 8.746627001524701e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -14, 9, 0, 0, 0, 0, 0], + }, + Term { + s: 9.434295240237309e-8, + c: -3.691359581623659e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 7.692763888067547e-6, + c: -1.734846921001273e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.795760256474532e-6, + c: 1.727521796680265e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.818379562941759e-7, + c: 1.594081316006849e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.983443030924388e-6, + c: 1.110051841502430e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.440298465109056e-6, + c: -8.515702486696484e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.833535120274362e-6, + c: -1.087243424601446e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.125953928203317e-5, + c: 1.778609016344445e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.948666090639300e-6, + c: 6.531168154081826e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.728111356799962e-6, + c: -6.385817076346793e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.466092923382308e-6, + c: 4.666791111314403e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.337231788629470e-6, + c: 2.653273301781263e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.255966550546712e-6, + c: -1.436980529777057e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.907710136670913e-7, + c: -1.827523420529396e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.538548522464403e-6, + c: -1.209866656652971e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.403533178909678e-6, + c: 1.345694373262207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.883709311242678e-6, + c: -2.878966821763424e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.555031514926242e-6, + c: 8.869664093388234e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.030938948441313e-6, + c: -1.374769154977711e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.675184608444758e-6, + c: -3.327368467705679e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.039018579730315e-6, + c: 1.280617043169026e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.088850173724631e-8, + c: -1.563815714369275e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.703994668023683e-7, + c: 1.361883247856772e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.167144570184042e-7, + c: 1.173381745111707e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.278117051133876e-7, + c: -1.164455689499285e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.109222607929711e-6, + c: -3.182604053517615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.037886700226816e-6, + c: 4.137326906808681e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046444408550016e-6, + c: -5.480284578920976e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 3.203437413154807e-7, + c: -9.798586208759773e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.217594898170496e-7, + c: 7.501251052228293e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.597890244801840e-7, + c: 8.257115213872904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.614613829476939e-7, + c: 7.381490346865674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.335726882222725e-7, + c: -8.011379217931656e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.419627987696381e-7, + c: -6.634323661313442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.870848585667381e-7, + c: 6.070293864919678e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.713599518880466e-7, + c: 5.270295058755268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.899445229913943e-7, + c: 5.412565399415614e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.992664093185783e-7, + c: -2.100833285935456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.357160102432343e-7, + c: -5.183126901841188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.070389282951048e-9, + c: -6.118260285392909e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.191491487218374e-7, + c: 4.880052166799088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.695498963071550e-7, + c: 6.612333793256225e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 5.591927192840217e-7, + c: 8.545982169968729e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.540135003336449e-7, + c: 4.843191612387899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.590497527591251e-7, + c: 3.610595273906963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.021483312855124e-7, + c: 4.634566596545654e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.743109091569681e-7, + c: -4.715079319285718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.662698907685725e-7, + c: 1.054900222473100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.363275194975051e-7, + c: -3.321621527498935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.952166111007448e-7, + c: 3.970392132044188e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.051895956078147e-7, + c: -1.511722728723067e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.228182784000014e-7, + c: -7.066835787085178e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.801799491950861e-8, + c: 3.814514052018597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -3.381459817508530e-7, + c: -1.569806557987772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.350950874010891e-7, + c: -2.575103972972755e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.353222525530250e-8, + c: 3.435827033265989e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.485552445120110e-7, + c: 2.192221795502561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.058731529730746e-7, + c: 7.786825582635172e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.622620186792398e-10, + c: -3.070428338038201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.884482329100487e-7, + c: 7.929624778995682e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.552983678567343e-8, + c: -2.670135755889890e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.600351854119895e-7, + c: -1.006058456422721e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.756476155661366e-7, + c: 2.131185619935792e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.077147977605825e-7, + c: 2.499793939705516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.500107089032175e-7, + c: 2.197163023191195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -9, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.140412566871239e-7, + c: 2.344307021805259e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.245076354049114e-9, + c: -2.594056804590191e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.188129475664647e-7, + c: -2.297765065229345e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.900429280839491e-7, + c: -1.720339685198446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.513379951156924e-7, + c: 1.591755707558807e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.210594268166766e-7, + c: -2.105045093133125e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.673865776301793e-7, + c: -1.621756034430764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.485031507961264e-7, + c: -1.679686647930806e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.953706563891427e-7, + c: -9.988696871646556e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.081153110306643e-7, + c: -1.633653373606583e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769744459414003e-7, + c: 8.284161586361432e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -12, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.301503113817601e-8, + c: -1.672803458618371e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.712330357187112e-7, + c: -4.363412427968724e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.657158549495065e-8, + c: 1.508117910341708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.583281039091178e-7, + c: 7.122431826751580e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.621265061331503e-7, + c: -5.958340254352187e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.593309131489555e-7, + c: 5.729533885747566e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.213422827821552e-7, + c: 1.172995095569620e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.715256744312736e-8, + c: 1.586407941546767e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.354488497332320e-7, + c: 9.180932778630018e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.475122379898636e-7, + c: -7.080995660323792e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.805077643441910e-10, + c: -1.601795700201060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.441527029711532e-7, + c: -6.304869923097522e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -10, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.817056137078166e-8, + c: 1.457423329937513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.235124647095685e-7, + c: -9.642114183101289e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.764514359422115e-8, + c: -1.476533312313663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -9.045127112702733e-8, + c: -1.207798525613471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.609344519068180e-8, + c: 1.381261434005267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.360149859714301e-7, + c: -5.343818021917943e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.673736144679043e-8, + c: 1.298836459626785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.376090103648192e-7, + c: 4.490429024095387e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.130440519585387e-7, + c: -9.010676849195410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.991553043135057e-8, + c: 1.042876336213592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.842140217726591e-8, + c: -1.400318236880270e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -8.855632921526529e-8, + c: 1.107904684075624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.107327175226365e-7, + c: 8.733570405018168e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.704221202294199e-8, + c: 1.277526061177982e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 8.640963271540819e-8, + c: 1.079201143239668e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.754845427987960e-8, + c: -1.174042671786436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.230789155454954e-7, + c: -5.347520255389327e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.289744590619816e-7, + c: -1.969807047186835e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.148095425162481e-8, + c: -1.123907120369992e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 5.539777572542133e-8, + c: -1.135114877313384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.117951390690358e-7, + c: 4.321667200945201e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.078810064459974e-7, + c: 1.397429883814995e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.026753359497833e-7, + c: -2.829338162242051e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.056489872996678e-7, + c: -3.329209786083501e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -6.540269192637930e-8, + c: 8.143079953993845e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 9.588741071197072e-8, + c: -3.774767385340172e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -4.595051036988406e-8, + c: 9.223484402781075e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.810479923123167e-8, + c: 7.609781382968892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.908345194687261e-8, + c: 9.733249442659758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.781249461335074e-8, + c: -9.300960534107107e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, -2, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: -2.187517675468639e-6, + c: -1.433158579047726e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.203261901357430e-6, + c: 1.406798621909229e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.403511319056106e-6, + c: -9.259086363207511e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.384049805131283e-6, + c: 8.715615587375465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.910313015969737e-7, + c: -6.277698874072498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.675353778865547e-7, + c: -3.705361233788355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.698624793853161e-7, + c: 1.904107640804557e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.807731272814002e-7, + c: -3.743950339090058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.712623474083066e-7, + c: -2.256446389293114e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.194261707994511e-7, + c: 2.387313356934524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.734333592705677e-7, + c: 1.613467625395261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.670544990253716e-8, + c: -2.534304877056118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.104614356526765e-7, + c: 8.167904508108349e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.627266920487593e-7, + c: 1.444759080268315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.906642000437285e-7, + c: 7.450378623272112e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.781114378695587e-7, + c: -9.289007936639619e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.407262479983358e-7, + c: 1.141245497021026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.282075060165263e-8, + c: -1.488094657628420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.272556954478983e-7, + c: 1.106531163464312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.422283657086573e-8, + c: -1.591286259182671e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.199438817643079e-7, + c: -1.046718169052289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -10, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.299505924986906e-7, + c: 6.890033505924573e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.377052601752517e-7, + c: 4.829321860211636e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.880967238857364e-8, + c: -8.347424044587290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.065504207511178e-7, + c: -6.161690225217778e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.024115714914927e-7, + c: 6.469130091909387e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.627180233943579e-8, + c: -7.855476447127841e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.809015164433119e-8, + c: -8.750854345988758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.882255523020564e-8, + c: 5.217487371785617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.751991547413294e-10, + c: 1.000663770879493e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 1.898620003654737e-7, + c: -1.985604758936937e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.850639858763802e-7, + c: 2.015619237853948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.237655848049858e-7, + c: -1.267434488437905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.134081943912774e-7, + c: 1.275121675633158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.481225395662999e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.494499507304893e-2, + c: 8.348444735902004e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 3.410476217551242e-3, + c: -1.910577101277037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.558439506440029e-4, + c: -1.939674168243784e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.084272355031139e-4, + c: -9.867988080376785e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -9.438935556128810e-5, + c: 5.897620855342985e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.872026185647845e-4, + c: 2.359318022247453e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.660053165010615e-4, + c: -4.223532940433284e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.110618666494208e-5, + c: -1.594916983548545e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.428053001860670e-4, + c: 2.778105371276110e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.436347340189469e-4, + c: -5.849194252799592e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.297947439548166e-4, + c: -4.958581349745169e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 1.293260008012527e-4, + c: -5.547281278833516e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.222064916168526e-5, + c: -4.927829100959082e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -6.080486503255815e-5, + c: -1.476782684348167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -5.851958330186308e-5, + c: 3.004022754040014e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.430028667623191e-5, + c: 8.907421763277453e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.686626134626253e-5, + c: -2.283519746842214e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.781151055081685e-5, + c: 3.249678724510086e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.906267187912942e-5, + c: 1.211511004935846e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.926651206652868e-6, + c: -3.934150467723044e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.245803117686836e-5, + c: -7.379305560231801e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -2.932200776460696e-5, + c: -8.146908006023827e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: 1.311105860907500e-5, + c: 2.512995165008787e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 2.645174314447063e-5, + c: 2.417396477887701e-11, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.575869720272251e-5, + c: -1.443220705409923e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.521323533578722e-5, + c: -1.410216942028087e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.508598627486006e-5, + c: -3.221268999009948e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.487258224700606e-5, + c: 9.176966784971567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.102130861170135e-5, + c: -1.903410387794480e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 1.698011693147848e-5, + c: 2.194197109045988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.437876108257563e-5, + c: -8.656503047656781e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.518644034687567e-5, + c: -3.603247896068338e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 7.041413809073891e-6, + c: -1.064582457219667e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -16, 9, 0, 0, 0, 0], + }, + Term { + s: -1.255006665735665e-5, + c: 2.469921154168285e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 5.809690264255534e-6, + c: 1.105565091799064e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.420901774711292e-7, + c: 1.185573982732530e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -7.706990460651874e-6, + c: -8.411076380222518e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.881987214503471e-7, + c: 1.030528942459202e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -9.884205714808776e-6, + c: -9.974601114959507e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: -9.691946743050776e-6, + c: -1.492624419699043e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.621199404363565e-6, + c: -1.540239432954866e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.286987329815427e-6, + c: -4.522505671125156e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.170414541106891e-6, + c: -1.173287771587890e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.968357765430983e-6, + c: -1.352857787291836e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 8.875663361678617e-6, + c: 1.909301025853002e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.194889947389963e-6, + c: -1.455664181706683e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -7.732248408349784e-6, + c: 1.602799949716317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.503596782386275e-6, + c: -3.828302211876243e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.889085656757211e-6, + c: 2.128233125662655e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.351853077613391e-9, + c: -6.540267867729894e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.683414943826287e-6, + c: -3.427522588072887e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.628294675678784e-6, + c: -3.643415027557379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.765375487883412e-6, + c: 5.229725548379660e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 5.467486723252606e-6, + c: 3.670201392120540e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.329828474395530e-6, + c: -5.845665784321248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: 5.264942119196237e-6, + c: 8.321215609645055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.260649647109871e-6, + c: 7.660015201718428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.542375716423707e-6, + c: -3.665451843073135e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: 2.049286197274121e-6, + c: 3.685799918279283e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.975275351598458e-6, + c: -3.621439106026499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 2.536137851084065e-6, + c: 3.032163973497014e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 3.857792908217254e-6, + c: 4.768379626679058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.935255002615832e-7, + c: 3.732280694952927e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -2.065470008513450e-6, + c: -2.983762667213485e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.088299220111040e-6, + c: -1.802873944570273e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.067641426681873e-6, + c: -3.574994270167663e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 2.027584271189678e-6, + c: -2.321050310128364e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.847323529409179e-6, + c: 2.324773321180046e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.186813353098854e-6, + c: -2.680139869638818e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.882838454664831e-6, + c: 1.585522148191533e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -8.016495882806724e-7, + c: -2.604161155662034e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.652261541880618e-6, + c: -4.424332560025915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: -2.564556966646238e-6, + c: 1.531715762369490e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: -2.548804440892594e-6, + c: 2.822458608557428e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.751031310677908e-7, + c: 2.279621971626946e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196104147287960e-7, + c: -2.388161941562242e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.275639039231878e-6, + c: 5.756753959766956e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.252720428266739e-6, + c: 1.542560690473388e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.063792225047162e-6, + c: -6.146079346039905e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: 1.021419141964030e-6, + c: 1.747206056703119e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 8.060579023020461e-7, + c: -1.844862764782758e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.984996682040602e-6, + c: 4.964606892394982e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.976554508396030e-6, + c: -1.458285223551965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.893885123000327e-6, + c: 2.952019232478247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.891096650450163e-6, + c: -9.134108303631680e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.887630106155507e-6, + c: 7.127734588483066e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -1.827532348798814e-6, + c: -2.232582075037168e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: 1.805857113471557e-6, + c: 8.345263317042021e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.444180472764957e-6, + c: 1.027954013410607e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, -2, 7, 0, 0, 0, 0], + }, + Term { + s: 1.717367635549379e-6, + c: 2.557091434495837e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.493848115427644e-6, + c: -8.758109017222305e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.697235491185192e-6, + c: -2.463155505637295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.707190868806964e-6, + c: -5.850313281331847e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.611545540849839e-6, + c: 4.612239911241060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -4.559292636198145e-7, + c: -1.536303642869218e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.713676129202978e-7, + c: 1.447846480280741e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.492833734448013e-6, + c: -1.395233757729026e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.487545092918562e-6, + c: 9.297633969843480e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.466806786381952e-6, + c: 3.563773196995270e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: -1.448175074187354e-7, + c: -1.401553443619888e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.376705596748415e-6, + c: 1.692863325226686e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.955130124640991e-7, + c: 1.327657337883406e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.030221837575991e-7, + c: 1.347195679701404e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.301865840549802e-6, + c: 1.598801628721409e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.284995659501094e-6, + c: -2.360729641622778e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -1.271991296707019e-6, + c: 2.488772842148251e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.230724329672876e-6, + c: -3.807114279464249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.263718979269943e-6, + c: 1.290917313150145e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.228171170526219e-6, + c: 1.062571612931070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 4.937946728271756e-7, + c: -1.114021076031011e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.180001860336309e-6, + c: -2.609844093558562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.929590996096685e-7, + c: 5.650956928347917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.125424766247101e-6, + c: 2.159972462787286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.105943944939983e-6, + c: 2.016386836582261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -1.097562457466367e-6, + c: -2.411593336629783e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: -1.111343178816380e-6, + c: -1.408354928294602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 1.109419791739856e-6, + c: 1.552168564395034e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.750379239954812e-7, + c: -1.078006808859178e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.828272661407071e-7, + c: 1.015791767519013e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -12, 14, -2, 0, 0, 0, 0], + }, + Term { + s: 5.489793841189804e-7, + c: 9.080218476368770e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -8.201160629140629e-7, + c: -6.564863079818348e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -17, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 9.965250864620193e-7, + c: -7.506140320874618e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.780866248043699e-7, + c: -9.827550749251876e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 9.176166962300553e-7, + c: -3.939949240834578e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.780671110075799e-7, + c: -4.697578479374456e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -9.896904840782417e-7, + c: -3.078125443812449e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -9.631375354308503e-7, + c: 1.816414009643000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0], + }, + Term { + s: 9.603705505640118e-7, + c: 1.752787755391907e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.372158067353074e-7, + c: -4.854753656973964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.947238169985112e-7, + c: -5.315083325801710e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.368726889024800e-9, + c: -9.523464830803912e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 9.345765021333530e-7, + c: -1.638411973990609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.993825564418654e-7, + c: 1.196812206499536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 8.916189340171587e-7, + c: -6.307041965720133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.689907425247054e-7, + c: 9.412594797409963e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.468614341751417e-7, + c: 4.011144124185042e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: -7.274827275690954e-7, + c: -4.329103000072906e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -7.858229988316655e-7, + c: 1.766555698011044e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.846350543778072e-7, + c: 5.066673794767559e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: 7.352454354874550e-7, + c: 1.972092975110917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 7.528391594588626e-7, + c: -4.338973382775019e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.512570348664845e-7, + c: 1.939049990683893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.431214683087522e-7, + c: -9.850918123437785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -7.269938228180281e-7, + c: -1.448827552633295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 7.370351043509980e-7, + c: -4.368687989821136e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 7.296219784633950e-7, + c: -7.916406330682470e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -5.094586025867240e-7, + c: -5.140959574457327e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: 3.910198404157975e-7, + c: -6.053613133204899e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -7.116477597141447e-7, + c: 1.058938959928408e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.845881837949278e-7, + c: -8.925681294820392e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: 2.784204086798738e-7, + c: -6.230221300338708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.749419346252825e-7, + c: -2.302112849538071e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 6.547763744212320e-7, + c: 6.140789494178049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -6.451763063232139e-7, + c: 1.113415526414327e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.921624131232086e-7, + c: -4.272012737779926e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.379024574212530e-7, + c: 5.810957623885463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.104655995482888e-7, + c: -4.651441575823958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 6.181229929941620e-7, + c: -2.609900545320805e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: 2.999797545895361e-7, + c: 4.863887163175699e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.089876820524053e-7, + c: 5.476230557678647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.248568984940905e-7, + c: -1.676318415738840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.990290786171790e-7, + c: -3.714069176255686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.420747568037174e-7, + c: -1.481545325466878e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.443192756034552e-7, + c: 5.156257490215602e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.276642437556973e-7, + c: 6.689209946594711e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -5.239946538620546e-7, + c: 1.167186249584650e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -5.130330243710301e-7, + c: -1.001247569285587e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -4.517050385758916e-7, + c: -2.318728724071411e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 4.683461015877479e-7, + c: -1.857878993387261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.019666156784912e-7, + c: -3.574090790265722e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 3.576287645558793e-7, + c: 3.501596571022596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.855189602140044e-7, + c: 1.030444271611531e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.822501188346535e-7, + c: -1.008102500905610e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -4.922829370085646e-7, + c: 3.704687661517888e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0], + }, + Term { + s: -4.917067350042248e-7, + c: -2.465067732113767e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.733530550106001e-7, + c: -5.970857363809885e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: 4.675142244649997e-7, + c: 5.286839713209780e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.007451023194744e-7, + c: -4.522392118804791e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.312970985973859e-7, + c: -1.518856464730068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.535898997409906e-7, + c: -2.989319695476833e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 4.529226123482100e-7, + c: -2.425370738284312e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.416770457169248e-7, + c: -9.397153082229571e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: -4.475370201173719e-7, + c: 5.489605623169051e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.924298519207319e-8, + c: -4.320120833682311e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.471432439603066e-8, + c: -4.330158415831118e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -4.339170747532616e-7, + c: 7.720935345618864e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -9.203473546151389e-9, + c: -4.390650714560852e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 4.189682846612937e-7, + c: -1.059856343722869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.274096906006851e-7, + c: 5.245251651176522e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.252378748478596e-7, + c: -5.667422779087606e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: 9.981027768577691e-8, + c: 4.140930676408175e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.017380412454666e-7, + c: 4.074041862422364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: -3.544138202293296e-7, + c: -2.163212826572878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -3.947703306136878e-7, + c: -8.760361736227117e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.819044967838978e-7, + c: 2.802354405204160e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 1.990097537478839e-7, + c: 3.302607008591823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 3.816178388182896e-7, + c: 4.895413099976067e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.776217175911335e-7, + c: 7.564566293184696e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.743965521402740e-7, + c: -7.676039614329870e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.819043471091743e-7, + c: -2.425214857075991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.527572514923133e-7, + c: -3.368843003793804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.501137924357961e-7, + c: -5.747802321967959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.443193994638446e-7, + c: 7.335172891464210e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: 3.441945535964002e-7, + c: 1.122775413441647e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0], + }, + Term { + s: -3.267438771534554e-7, + c: -4.572095669151223e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.132977751248881e-7, + c: -7.492374050655376e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 1.637603705953230e-7, + c: 2.630423173677793e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.581986575449619e-7, + c: -2.600512679472517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: -1.659398713711127e-9, + c: 3.001174727930352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 2.926013884783314e-7, + c: -3.940196738510916e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.768405837097195e-8, + c: -2.880567729673743e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -2.875918706973880e-7, + c: 3.110724823931904e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -12, 0, 0, 0, 0], + }, + Term { + s: -2.783132219039385e-7, + c: -6.250750658006926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: -2.535600918389635e-7, + c: -1.259052377825387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.773212786462441e-7, + c: -1.869859346973686e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.749902502602813e-7, + c: 1.228772020109512e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.655940147991458e-7, + c: -3.599080758508771e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: -2.635087723104068e-7, + c: -3.423468048982434e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 2.621155158661653e-7, + c: -6.881965137940083e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.442187985405340e-8, + c: -2.590755620313395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.150025570812886e-7, + c: -1.450075116839606e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.514196490623306e-7, + c: -1.501499389619805e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 7.006905672777094e-8, + c: 2.402657939516647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0], + }, + Term { + s: -1.200229148766515e-7, + c: 2.184402936212723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.449470283858789e-7, + c: -4.439730197376286e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.427634202879258e-7, + c: 8.059554935640498e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: -1.052584104681585e-8, + c: -2.423568570424182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.066049671439949e-7, + c: -2.178700890193374e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.401832709314666e-7, + c: 2.064262249694171e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.376170293655702e-7, + c: 3.737008077552512e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 2.400612933273274e-7, + c: 8.721504256448206e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.274594659596544e-7, + c: 4.027359221726585e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.678372657232057e-7, + c: -1.440329907195007e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.980473589010771e-7, + c: 9.733340198111951e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.193649757657509e-7, + c: 1.080431034353174e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 1, 0, 0, 0, 0], + }, + Term { + s: 1.893887312274869e-7, + c: 9.771733007012670e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0], + }, + Term { + s: 1.930613302003406e-7, + c: 8.576490826279769e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.082576917372685e-7, + c: 3.537983546530442e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 4, 0, 0, 0, 0], + }, + Term { + s: -1.721991067832989e-7, + c: -1.088145207069723e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.741167548544031e-7, + c: -1.002497680424597e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 1, 4, 0, 0, 0, 0], + }, + Term { + s: -1.997693146221919e-7, + c: -1.119031703105166e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 8.347190451169524e-8, + c: -1.777103906745193e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 6.100801706119012e-8, + c: 1.862633018418309e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.956777839443105e-7, + c: -1.089671999432407e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 5.593233873991863e-9, + c: -1.958273898997735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.952432260688391e-7, + c: -1.385338929764067e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.850771013353947e-7, + c: -5.059785909331722e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.894494021010894e-7, + c: -1.060910923872234e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.876862487182671e-7, + c: 1.314065676677757e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.629637072860190e-7, + c: 9.255530231052198e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.855777631059832e-7, + c: -1.034113352531450e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.790335004367753e-7, + c: -4.205483909613039e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: 1.490662337099747e-8, + c: 1.830418784399974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.833083359445392e-7, + c: -9.299963517205063e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.721342398393976e-7, + c: -3.080995084943208e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.735504366239727e-7, + c: 1.201153774539534e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.733340708454102e-7, + c: 1.320298894975708e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -7.857654943071711e-8, + c: 1.522657891455759e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -1.129219629991206e-7, + c: -1.273043452934448e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.686106955839701e-7, + c: 2.471851645461106e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -13, 0, 0, 0, 0], + }, + Term { + s: -1.664862162531600e-7, + c: -2.283565475202699e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 1.403075799923602e-7, + c: 9.232448659058834e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -7, 8, 0, 0, 0, 0], + }, + Term { + s: 1.667383251557628e-7, + c: 1.896149109821351e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.865449003797201e-8, + c: 1.424467758718252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.675718252648548e-7, + c: 7.132916315221101e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: -1.325349613894049e-8, + c: -1.633575454754973e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.542611695285391e-7, + c: -4.676293704066821e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.638374028219261e-8, + c: 1.349456116303085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.437018056640144e-7, + c: -7.012527750429766e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.407754955916226e-7, + c: -7.377538350968639e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.038898298273679e-8, + c: 1.584322544816336e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.525409115691421e-7, + c: -3.979770935878026e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: 1.531730358292967e-7, + c: -3.075722041496521e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.274511729179616e-7, + c: -9.023139233429798e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 6.371160538645655e-8, + c: 1.423979179996513e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.427577124854562e-7, + c: -5.297859837813738e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 0, 0, 0, 0], + }, + Term { + s: -5.205683811741638e-8, + c: 1.389598892604499e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -17, 11, 0, 0, 0, 0], + }, + Term { + s: -1.461604342165147e-7, + c: -3.133664745144974e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.454428752899028e-7, + c: -8.764141416238094e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.452824293800609e-7, + c: -1.879698342500811e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.872224064226367e-8, + c: 1.268056171579833e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0], + }, + Term { + s: 1.426132788751504e-7, + c: -7.865197221557926e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -8.611871521715938e-9, + c: -1.408614284353946e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -1.395584170284734e-7, + c: -1.074312965908174e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.395687445854460e-7, + c: 2.321199192332529e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.349228525956798e-7, + c: 2.444672159458226e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, -4, 0, 0, 0, 0], + }, + Term { + s: -1.307145367804893e-7, + c: -3.775102726514317e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: 1.352659874711900e-7, + c: -1.176896027223610e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.338909268132785e-7, + c: -1.566117525206470e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -1.300499199183546e-7, + c: -3.028505064963766e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004989923176708e-7, + c: 8.724899423325247e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 1.283986989471830e-7, + c: -2.399385986100398e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.298267199316626e-7, + c: -6.412438682475577e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.209802103714024e-7, + c: 4.470667331173425e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.402586746715005e-8, + c: -1.256548046173622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.248157314168333e-7, + c: -5.244786956759291e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -5.194822049773418e-8, + c: 1.123285905751553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.223231490861478e-7, + c: 6.548991793841905e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -11, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.218387725140803e-7, + c: 1.107808994984391e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: -1.204117240214153e-7, + c: 8.728735375862211e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 3, 0, 0, 0, 0], + }, + Term { + s: 1.199916096177591e-7, + c: -6.161447118197772e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.165741672629799e-7, + c: -2.842561075322926e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: 3.385041996815119e-8, + c: 1.150391533240958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 1, 0, 0, 0, 0], + }, + Term { + s: 1.179540435917488e-7, + c: 1.456086166341056e-8, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.984909842689883e-8, + c: -1.171259839739192e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.172137021616729e-7, + c: 1.393726353365942e-8, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.278085767300917e-9, + c: -1.155968872552045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.139919462769387e-7, + c: 4.245809083559289e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0], + }, + Term { + s: 4.310453486599446e-8, + c: -1.016451136714682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 7, 0, 0, 0, 0, 0], + }, + Term { + s: -6.239724964161383e-8, + c: -8.899919758034271e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.072695373836536e-7, + c: -1.686535119218998e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.071469368023354e-7, + c: 4.092033373875001e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -9.208036637622024e-8, + c: -5.283013931372386e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.605632316322422e-8, + c: -4.500165287685822e-8, + mult: [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.832453483069447e-8, + c: 3.908645177689508e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.046069170284048e-7, + c: -1.446617374421783e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, -14, 0, 0, 0, 0], + }, + Term { + s: 9.835359224364041e-8, + c: 3.334632521223959e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.949485595722942e-8, + c: 9.925314124873144e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 4, 0, 0, 0, 0], + }, + Term { + s: 9.586182224644591e-9, + c: -1.024064003042051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.509862978638445e-8, + c: -9.192244531152785e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 5.260250860013736e-8, + c: 8.701575226566600e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0], + }, + Term { + s: 9.793531337181374e-8, + c: 2.345582196756363e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 7.478165903077800e1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.752982629002030e-5, + c: -2.347386427729234e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -4.756200485466317e-5, + c: -7.563524617772785e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.277689586571060e-5, + c: 3.128078052874172e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.620070955975591e-5, + c: 1.028457666745753e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.160281171352257e-6, + c: -1.802549159149159e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 3.965818072413934e-6, + c: -7.659670408019765e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.729618722977177e-6, + c: -3.931055634253599e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.820807804927570e-6, + c: 2.709364357486170e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.096365626249053e-6, + c: -3.758639922305939e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.105262305335374e-6, + c: -3.728693019712883e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.352411865674158e-6, + c: -3.993809563748260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -8.062375668797574e-7, + c: -3.007366186431776e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.797419573100035e-6, + c: 1.199737863589932e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.388616549152967e-6, + c: 4.187129341801609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.053128677003095e-6, + c: -6.485488355421998e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.822309497411828e-7, + c: 2.047230384597285e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.033302429967152e-7, + c: 2.039284424859156e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.045289505901753e-6, + c: -1.425004171883207e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.061719094579422e-6, + c: -1.325569463221480e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 6.053375952021460e-7, + c: -1.401571724441661e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 2.206480422635797e-7, + c: 1.349930623089126e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -8.187806711812722e-8, + c: -1.290096488728380e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.626301625742841e-7, + c: -1.126100493784681e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.310009532465398e-7, + c: -1.137961555432410e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: 1.038049286408760e-6, + c: 4.419242580290693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.575237298955946e-7, + c: -5.610470064627609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.165541148851925e-7, + c: -9.278430577993692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.428948395860620e-7, + c: -4.701613067657824e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.123101680059306e-7, + c: 7.357139001451618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.912449143725879e-7, + c: 1.226152355815730e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.909369555021243e-7, + c: 6.665934488381835e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.729082108710691e-7, + c: -6.485520847489521e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.041986367468921e-7, + c: 5.062401853406088e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -16, 9, 0, 0, 0, 0], + }, + Term { + s: 3.675311065967814e-7, + c: 4.734993855099524e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.467815932521549e-7, + c: -4.642058873193783e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.910641317188438e-7, + c: -5.202934854130205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.413338251847704e-7, + c: 1.885457043066854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.783944306562307e-7, + c: -4.134760539109324e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.416127427142185e-7, + c: -1.889982071620333e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.670668896906054e-7, + c: -2.399092404824872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.970516927009205e-7, + c: 3.207283889062311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.905115377408850e-7, + c: -3.887576456992132e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.184179530546012e-7, + c: 4.046732372664446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.159417897038756e-7, + c: 3.957922321800714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -1.126397289173227e-7, + c: 3.708844289089229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.306128749999795e-8, + c: 3.507893192111749e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.199485280232537e-7, + c: 1.613959668357436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -3.244733669582206e-7, + c: -1.381976606383292e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 3.455541471545465e-7, + c: -5.531410781543794e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -3.046657626740118e-7, + c: 1.524931278657616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.764746794627500e-7, + c: -2.903870886421761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 6.246609997909871e-8, + c: -3.309726962782004e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -2.770501199962829e-7, + c: 1.668358086483838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.585555499865912e-7, + c: -1.175632705212609e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.427406922494404e-8, + c: -2.703402556922333e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 2.337376812135568e-7, + c: -1.484982121082286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.637192735578380e-7, + c: -2.142183605979173e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.801457984121311e-7, + c: -1.805140403425186e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 6.970566741212089e-8, + c: 2.371984488332805e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.428805408859276e-7, + c: -1.294483503784309e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 3.767804217780175e-8, + c: -2.220012076039116e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.874050542178756e-7, + c: 1.127437091914872e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.955877428339706e-7, + c: 8.542217639150470e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 9.215594279763434e-8, + c: -1.894965048555650e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.566539057308905e-8, + c: 1.975933293306061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -7.911437276809005e-8, + c: 1.839186118191440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.668683799357043e-8, + c: 1.973745785222155e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.951300714143591e-8, + c: 1.865267658359991e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.213955293573313e-8, + c: -1.899504587742980e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.350900704925043e-8, + c: 1.834928903372194e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.428727773761661e-8, + c: 1.619204328391869e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.574000996534394e-8, + c: -1.584612266291311e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.645067430976366e-7, + c: 3.716748312003006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.413236049615833e-7, + c: -9.124558008831884e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.638111166661205e-7, + c: -8.556631080539610e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.641992686324696e-8, + c: 1.389574418927087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.225939167638337e-7, + c: 1.045939077988500e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.820570997845513e-8, + c: -1.557552074927520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 1.311938210759188e-7, + c: -8.576262757212104e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 7.998715919430443e-8, + c: 1.295201290683983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.079172354161186e-7, + c: 1.069437783169920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0], + }, + Term { + s: -3.858646876789957e-8, + c: 1.431177581234999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.934081955839909e-8, + c: -1.381686450748643e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.353241711261074e-7, + c: 4.414851513797379e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -8.381443500766136e-8, + c: -1.082904445263520e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.315152049443392e-7, + c: -1.853023374472835e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.149176601519582e-7, + c: 6.107245311942177e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.048384726867807e-8, + c: -1.152189430617720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -1.091777718153720e-7, + c: 6.641681151626209e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0], + }, + Term { + s: 2.454288404658772e-9, + c: 1.263460381272006e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.877691814985758e-8, + c: 1.200781517806450e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.766726734917509e-8, + c: 1.110046473257354e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 2.927011898820693e-8, + c: 1.023844800156419e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: -8.517442742610338e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.423202172221361e-6, + c: 4.045698731961527e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.510853457362750e-6, + c: -4.303336955284712e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.170192087559395e-7, + c: 4.308764511488077e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 8.649263651875904e-7, + c: 2.542464228303335e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.682304442010854e-7, + c: 9.662391089152694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.384552355628421e-7, + c: 3.274649774871781e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.318752082445693e-7, + c: 3.301714271611985e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.981644703271732e-7, + c: -3.946499200455334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.113460201159194e-9, + c: -4.786103917758363e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.033684605593818e-7, + c: -1.748611977597052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.997983911950893e-7, + c: -1.819250088819535e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.508251156145314e-7, + c: 2.310622514109143e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.196168597916426e-7, + c: 3.093112576682051e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 4.465779305678046e-8, + c: -3.193043803634274e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -8.794489166799244e-8, + c: -2.844168282974510e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 9.475564865280098e-9, + c: 2.897406801562070e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.750519382904834e-7, + c: -1.275847010273814e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.350748849023521e-7, + c: 1.460071992216431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.681754398967935e-8, + c: 1.673370657857470e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.199280357364585e-7, + c: -1.125962936393373e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.610254859692488e-7, + c: 1.205130043149493e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451786404398354e-7, + c: -6.191757014307844e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.560365966424152e-7, + c: -8.381939629707307e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 7.666951230514954e-8, + c: 1.312725161252457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.002854238950249e-7, + c: -1.066650106709935e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.309234468204426e-7, + c: -5.883407985352473e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.654102431165886e-8, + c: 9.759916618212702e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[ + Term { + s: 0.0, + c: 6.776103939048855e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.144870763016476e-7, + c: 8.136310837323478e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.813832380403231e-7, + c: -2.403737096897720e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.907146534935541e-7, + c: 4.139337875934267e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.485090960374897e-7, + c: -1.391816530982919e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.988596319788869e-8, + c: 9.378544531686641e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.070889230108118e-8, + c: 9.267584976784234e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + ], + }, + // T^4 terms + TimeBlock { + power: 4, + terms: &[ + Term { + s: 0.0, + c: -1.879329676374498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.176043278881807e-9, + c: -1.071554581681031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -4.595307483800001e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.727930941617936e-7, + c: 2.745343620327603e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.657353136054777e-6, + c: -2.085621323646657e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -8.204902394337859e-7, + c: 1.360268904304013e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.292621641941805e-7, + c: 1.163807362281669e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.486153452523372e-7, + c: 6.137821966721099e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.914773603020601e-6, + c: 2.838794191454488e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.445106607226763e-4, + c: -8.714113427178127e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.402780478979159e-5, + c: -1.488464863661735e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 3.288850195115662e-5, + c: 1.289879798333236e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.244729242190714e-5, + c: -8.519564267306284e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.252429064266731e-5, + c: -8.162049823083534e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.602544329921946e-6, + c: -7.827663270644360e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.915626175831125e-7, + c: 6.897858764646499e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.181872530993639e-5, + c: 4.902377413831662e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.254829400097971e-5, + c: 4.884008014283809e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.358476701110918e-5, + c: -2.738712076587150e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.542553260097041e-5, + c: 2.801592011443468e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.085601382934919e-7, + c: -2.711736582143275e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.971728241695999e-8, + c: -2.562928293402180e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.937055976297910e-8, + c: 2.456851416220969e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: -1.392106472327593e-6, + c: -2.041885878728627e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.754734837549576e-10, + c: 1.996925102603918e-5, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.733258495689118e-9, + c: 1.890426462158338e-5, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.305757276429013e-6, + c: 1.764239101343507e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.012301182041299e-6, + c: -1.767530002033365e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -1.394143081655107e-5, + c: 9.967180924529147e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 9.364625317848551e-7, + c: 1.707736119860055e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.469118840392478e-5, + c: -1.981637622364842e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.096273027840762e-5, + c: -6.610185746706410e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.123199284577869e-6, + c: -1.219532086159283e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -1.621314895775953e-6, + c: 1.202450639333523e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.507596708586494e-8, + c: 1.177274541622208e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: 8.421474328687319e-7, + c: -1.161710893244997e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -5.456174179904065e-6, + c: 1.015422198448240e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.215427900458587e-6, + c: 1.137331866525281e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 3.209310876282949e-7, + c: -1.065865365938350e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.955628242845197e-7, + c: -8.849804476241266e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.200206708395694e-6, + c: 7.797681991738395e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.257788301726616e-6, + c: -7.759338753012555e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.476115807731111e-6, + c: -3.525386974332641e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 3.477603710842522e-6, + c: 6.377073091995745e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.840259255943448e-10, + c: 6.786970717114396e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.485039140405581e-10, + c: 6.365002701994264e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.090157913927400e-6, + c: 1.235270213699061e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.042860443943447e-8, + c: 6.117875818665284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -4.275587117794801e-7, + c: 5.982023544175197e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 3.166688807261654e-7, + c: 5.668770282716467e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.264644253543650e-6, + c: 5.472489549152649e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.805443875589115e-6, + c: -2.120701682705371e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.438592429211326e-6, + c: 4.554629314789497e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -5.194632502687423e-7, + c: 4.461311927982656e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 2.540676014026432e-7, + c: -4.428361073759099e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.894211188728926e-7, + c: -4.388233197358297e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 6.756829563290082e-7, + c: -4.344142269995408e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.712283547676316e-7, + c: -4.345069189425455e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -6.474978379532036e-7, + c: 4.278384074034578e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.339133032612674e-7, + c: 4.088145622334998e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.500529255180113e-7, + c: -4.023851542088964e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.947300024090469e-6, + c: -1.796868871011475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -7.512736890304285e-8, + c: 3.827319907962405e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.850041101302352e-6, + c: 3.351204038532858e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.871703490669681e-8, + c: -3.369566982230739e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.031966554346106e-8, + c: 3.357328455156380e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: -2.040722555283993e-8, + c: 3.355743412103463e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: 5.283056312062293e-7, + c: -3.294812032299795e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.098570551946971e-7, + c: 3.279622300398412e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.593445881632405e-6, + c: -1.765866994996411e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.565888812026438e-6, + c: 2.380125118792672e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.481251521655340e-7, + c: 2.767849037062981e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -1.588663561397007e-8, + c: -2.632245744013602e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: -1.175812496926991e-6, + c: 2.167068833192059e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.901876878309965e-7, + c: 2.324946430686147e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: -2.324947191639472e-6, + c: -1.343779356547798e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.684306188492555e-7, + c: -2.319128981356457e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 2.330680323053497e-8, + c: 2.252246051477972e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.750193290311584e-9, + c: 2.188652747067457e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 3.479094151487028e-7, + c: -2.151074832894145e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.264116312350119e-6, + c: 1.695915017261987e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.681010209201442e-7, + c: -2.049345529654691e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.696240501942631e-7, + c: 1.890317844244084e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.760462460723290e-7, + c: -1.892597218929177e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.243676502274959e-8, + c: 1.891172222142514e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: -3.786199868083204e-7, + c: -1.787777931173243e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.635664414431149e-7, + c: -1.758315871108939e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.078893449908774e-7, + c: 1.743062440074612e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -9.763606285405400e-9, + c: 1.718923409848570e-6, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.067745659266185e-9, + c: 1.708293828348442e-6, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.246836565598652e-7, + c: 1.689393017837277e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.610698459058195e-8, + c: -1.627710881219117e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.542957868368926e-6, + c: -9.339526621774215e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.935046493347996e-7, + c: 1.510070121025618e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 1.206109417568599e-6, + c: -8.448985247383236e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.059883225874594e-7, + c: -1.439039077735870e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 4.532324824134720e-8, + c: 1.397026000281234e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.315389115268411e-6, + c: -4.444545086873842e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.994113532299432e-7, + c: -1.351344015577165e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -3.582292040746042e-9, + c: 1.363210652609473e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: -1.101691115782400e-7, + c: -1.334453094865901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0], + }, + Term { + s: -1.737839339739026e-7, + c: 1.326132407936476e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: 4.523441615258923e-8, + c: 1.324426820513018e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.856271068117233e-7, + c: 1.052472384858740e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.141846883057362e-6, + c: -3.064481099383808e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.850425666956523e-7, + c: -7.716308391287235e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.405382837199678e-7, + c: -1.164167355634265e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.047405456030390e-6, + c: 4.395506237760617e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.262845614672276e-7, + c: -1.127843378039564e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769952230938783e-7, + c: 1.090945807401037e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.585030805066608e-9, + c: 1.086300990554879e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 2.614429080165060e-7, + c: -1.051766266880508e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: -1.033363034782043e-6, + c: -3.089553010569355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.806211238829036e-9, + c: 1.051134259511901e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -5.662905605505589e-8, + c: 9.717600302192714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -4.109480362464036e-7, + c: 8.776944853443505e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.205442179207443e-7, + c: 9.524970184461936e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.358750099203451e-9, + c: 9.459040218813867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.293438895407258e-7, + c: -4.805552686742293e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.792980740649465e-7, + c: 5.203525639975494e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.476413609409792e-9, + c: 8.500506177792879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -4.018109244985135e-8, + c: -8.456171645820117e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 1.133125545509870e-7, + c: -8.222720837975253e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.016605323385720e-7, + c: 8.093555432544633e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -7.724436136564933e-7, + c: 2.434392168684483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.331881631104761e-8, + c: -8.023945116699179e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -2.194868734766936e-8, + c: 8.032068641608449e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.080301959767795e-7, + c: 7.922901224383032e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: -7.841260079480141e-7, + c: 8.468400824114112e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.066544320936555e-7, + c: 7.129690300396330e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.299142825520971e-7, + c: -4.458646991753764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.479929241443148e-7, + c: -7.374585555364469e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 5.208539386029829e-7, + c: 5.408367303377578e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 7.439333760057095e-7, + c: 6.592266408548841e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.240823854821354e-7, + c: 7.357329741542056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.615411541557928e-9, + c: -7.406902665651674e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.499358104994002e-8, + c: -7.282909501492158e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 8.444124490554349e-9, + c: 7.177786656357000e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.131165632554509e-7, + c: -7.053858627245266e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 2.232535164232748e-7, + c: 6.768720029620810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 3.488514039207786e-7, + c: -6.137750683012471e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.161522661337660e-7, + c: -2.122162713700664e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.041991061564741e-7, + c: -6.028885034353110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.622392871490373e-9, + c: 6.324273618370254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -1.288482162669822e-7, + c: 6.077464784705093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 1.160394711177200e-7, + c: -5.859829085385812e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.623169168291509e-7, + c: 1.950066655804810e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.965361660512550e-7, + c: 5.146961439722098e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 2.346397472392171e-11, + c: 5.929777356398149e-7, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.851445168679404e-7, + c: -9.411976681265365e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.292978518171605e-7, + c: -5.718631061689043e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: -7.211610236472304e-8, + c: -5.755512706014823e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.201051122384883e-10, + c: 5.710981196095047e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.983118376889615e-8, + c: 5.638722915088217e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.916379654454250e-8, + c: 5.606249873765718e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.728680398033232e-7, + c: 3.036934404842761e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.442805628636811e-10, + c: 5.267269118465801e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: -5.235380999509112e-7, + c: -2.439155523159175e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -8.334414798730879e-8, + c: 5.072745255020271e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.713097958495936e-8, + c: 4.973693406383877e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.047498731246991e-7, + c: -2.805759901703804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -6.810951351008021e-8, + c: 4.844466393376436e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: -2.963049985262084e-7, + c: 3.799249336372990e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.818031670710904e-8, + c: -4.738435115841092e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.639263652427888e-7, + c: 1.079182535389205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.305806035127678e-7, + c: -1.924478545045431e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -5.663499524714357e-8, + c: -4.479323498073768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 6.853896621233443e-8, + c: 4.443969062350272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -7.167960505887174e-8, + c: -4.434359086408897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.432192820662635e-8, + c: -4.424471785499141e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.582232394248763e-8, + c: -4.423453258168268e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.066089736671228e-8, + c: -4.402359418749904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: -5.079938789582086e-8, + c: 4.334467605186220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.782149270887084e-7, + c: 3.937449277746023e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 2.842252252043036e-7, + c: 3.059989716251866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.404865774958169e-7, + c: -2.406358915480931e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -3.929330412886232e-7, + c: -1.159343497459603e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.786521339054670e-7, + c: -2.901375540788892e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -8.098711698648170e-9, + c: 3.952298830015587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -2.077660619099243e-8, + c: -3.899523442318764e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.065887779501938e-8, + c: 3.738399886823974e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.666932352943382e-7, + c: 7.102394080497401e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.807897441624433e-9, + c: 3.717059707244084e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: -7.159276836719907e-8, + c: -3.632337014331562e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.965989412148692e-8, + c: -3.598510345043981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -7.633003750054963e-8, + c: -3.511744791706364e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.255498266315982e-8, + c: 3.483207311222749e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.243274798685601e-8, + c: 3.517148601010698e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -8.349511787450646e-9, + c: -3.502296516207479e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.412344188481355e-8, + c: -3.491744568965198e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.404489885791138e-7, + c: 7.751439747646853e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.786866427875000e-8, + c: 3.416050006321692e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -7.509506878433714e-8, + c: 3.305659907344221e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: -3.319281154931708e-7, + c: 4.460063972982696e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 3.251624815355594e-7, + c: -7.468489364641774e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.017066325472511e-7, + c: 2.638375217819185e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 2.929081060596250e-7, + c: -1.453013745729629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.733644683209155e-10, + c: 3.250281324549838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: -2.930183124340718e-7, + c: 1.253209187103483e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.532330030858123e-7, + c: 1.930659780507878e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -7.603739937772824e-8, + c: 3.090956190426370e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.126456551385857e-8, + c: -3.020302485903958e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.170055322883991e-8, + c: -3.043885908569858e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.330654938925751e-8, + c: 3.004881328904624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: -2.912320110163328e-8, + c: 3.010529438003571e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.144698854393690e-7, + c: 2.794714184343631e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.957914967904539e-8, + c: 2.985690855954247e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -7.163163424422297e-8, + c: 2.912364958647880e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.202890907858289e-7, + c: 2.707199179679719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.516451423931624e-7, + c: 2.516783394240432e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -3.858212989103244e-8, + c: 2.863390121107916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 4.048968359360845e-8, + c: 2.847288157251491e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.650093473039455e-7, + c: 1.087662873831253e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -2.851383792198942e-7, + c: -1.272119190322375e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.417053691197768e-8, + c: -2.821840050324715e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -5.814226171761280e-8, + c: 2.701618460425350e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 2.499430743838673e-8, + c: -2.702869911120711e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0], + }, + Term { + s: -2.436253355028719e-8, + c: -2.658307496254384e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 2.582078386597475e-7, + c: -6.335705882310223e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.636740864262624e-9, + c: 2.623595928514180e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.576393046342631e-7, + c: 2.010652575174459e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.126620317830946e-8, + c: 2.447211020906249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.184667405779078e-7, + c: 1.225213718387981e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 2.143894998474727e-7, + c: -1.294726792608704e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.402768775300598e-7, + c: -3.251991306706379e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.389623275229887e-7, + c: 4.096160710670389e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -9.732251167224916e-10, + c: 2.366075882909473e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.491681822064705e-8, + c: -2.318494298853634e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.240998998826989e-7, + c: 6.685429062043388e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -9.429440205051608e-8, + c: 2.107987442811825e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 6.052069389427127e-8, + c: 2.210212831143244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.858877082827522e-7, + c: -1.300492698004116e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.700378439672374e-9, + c: 2.200085824353543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: 1.820815063512242e-7, + c: 1.173159522717056e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.158831896791056e-7, + c: 1.627922000685893e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.564608400057923e-7, + c: -1.439529327710351e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.447460588121865e-8, + c: -2.084144113449832e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.944990258194301e-7, + c: -7.845999918987158e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.760073493350424e-8, + c: 1.984863664482766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: -1.878813541034659e-7, + c: -7.621849170293161e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.094887111058235e-10, + c: 2.001767034074944e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: -1.219842196660416e-9, + c: -1.975963483169900e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -3.898446068185112e-9, + c: 1.971336657359785e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 7.960801354675709e-9, + c: -1.936374676768377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0], + }, + Term { + s: -6.019664063302188e-8, + c: 1.839035093507182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -6.054303249082030e-9, + c: -1.925178543737091e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -5.060271870509449e-8, + c: 1.839017038913586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: -2.765804435163201e-8, + c: 1.880644181150420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: -1.454663729913391e-8, + c: -1.877314009719817e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.305377157503028e-10, + c: 1.870617617854556e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -1.785365556207787e-7, + c: 4.792866733970896e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.298396018086925e-8, + c: -1.837341546894616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -1.817881965223264e-7, + c: 2.726093971439546e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 4.310497106901243e-8, + c: -1.700199905886722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.918443780803149e-8, + c: 1.689475544968075e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.972400670382440e-8, + c: -1.692644211238320e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.657495385134354e-7, + c: 3.772351180368521e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.867413800715109e-8, + c: 1.675083831064848e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: -8.315847475066803e-8, + c: 1.465524064717368e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.743144526631784e-8, + c: 1.649565562920008e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 1.660045137269869e-7, + c: -1.688406156176805e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 5.364644288933642e-9, + c: -1.665255018063624e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 4.132512729729904e-8, + c: -1.579128953360530e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.172272728272421e-8, + c: -1.627376108541548e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 6.385380159113629e-9, + c: -1.610437643952768e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0], + }, + Term { + s: 6.093173688103231e-9, + c: -1.607756647575198e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.184434656960547e-8, + c: -1.568538107239104e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -6.462599327138678e-8, + c: 1.456409088115016e-7, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.065866933164299e-8, + c: 1.578177834313774e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -6.870311641418740e-9, + c: -1.576049156312506e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.056466434920654e-8, + c: -1.557393183889690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.243214972017912e-8, + c: -1.506861812012508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: -4.402841095491613e-8, + c: 1.465600962132416e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: -1.519316750355097e-7, + c: -8.364683475079330e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.881662482790455e-8, + c: 1.509492817913965e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.414702204305962e-8, + c: 1.185736040087167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.501597175268378e-7, + c: -2.909943122127777e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.526843432890044e-8, + c: -1.461210179828625e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.719308862626899e-8, + c: -1.454070601319208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 3.881543315308570e-8, + c: 1.420806135006662e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.213719160913145e-9, + c: 1.462615732906222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.455905968743303e-7, + c: 1.415427990478552e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.886021013556125e-8, + c: -1.450553838401387e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -7.799054366050354e-8, + c: 1.226731270298430e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -1.790286754548713e-8, + c: 1.436433834126169e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.307232827597895e-8, + c: -1.319742392424738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.122933550336147e-7, + c: -8.712952628066015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -5.291906336278769e-8, + c: -1.311523781911515e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.022653322570978e-9, + c: 1.309143833909682e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 4.368270650329614e-8, + c: 1.223822753992796e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -2.485042065607936e-8, + c: 1.266478812350058e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -3.132901461143832e-8, + c: 1.249632856663553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: 9.577431147200731e-8, + c: -8.490904935880488e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.251357332894480e-8, + c: 1.165518364817543e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -5.130125700717773e-9, + c: -1.243053123663615e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.157371872395472e-8, + c: 1.218941195359291e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.016049310222063e-7, + c: -6.980261827439482e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 6.786660108705465e-10, + c: 1.231205316032081e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0], + }, + Term { + s: 5.018902828570515e-9, + c: -1.227283905427854e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0], + }, + Term { + s: 5.680834893244610e-8, + c: 1.084019937830659e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.218236701639491e-7, + c: 7.759009858125470e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.115625458353717e-7, + c: 4.409594973301759e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.769988384688048e-8, + c: 1.183723920980434e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: -1.074914764201117e-7, + c: 4.900976406619624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: 9.336447719942060e-8, + c: 7.155654302661094e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.140109627092421e-7, + c: 2.137111873762196e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 1.130913618505170e-7, + c: 2.518825025354854e-8, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.029247059454445e-8, + c: 9.492188353084032e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.092284019751142e-7, + c: -2.511045717713263e-8, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.470832283024949e-9, + c: -1.098594198377575e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -7.014068945307613e-9, + c: 1.089155125104446e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: -1.055395307981575e-7, + c: 1.664549279042381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -5.104134640025141e-9, + c: 1.055026095078561e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 1.028410578169122e-7, + c: -2.241098135520685e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 5, -4, 0, 0, 0, 0], + }, + Term { + s: -2.101515829119092e-9, + c: 1.046144892349540e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.028790697610995e-7, + c: -1.455567050856945e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.381373368546607e-8, + c: 1.026990283247245e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.906709464069866e-9, + c: -1.032048630300548e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 2.161264718319795e-9, + c: 1.005894811126612e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -7, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.833262663241947e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.568326362224334e-5, + c: 2.527517340896218e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.955119449203349e-6, + c: 3.088037593465037e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.690038028220122e-6, + c: -4.009660605173242e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.319162278053111e-6, + c: -3.247125893672351e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.023704753158057e-6, + c: -8.817748062527199e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.006319569590217e-6, + c: 8.944485733262581e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.234355928170105e-6, + c: 1.179857437068539e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.336946932907573e-6, + c: 4.714556578521261e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 7.883142446694264e-7, + c: -1.940071341583291e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.036619229983911e-6, + c: -1.661955788648153e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.683739765167058e-6, + c: 4.922187981777162e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.344206868357584e-6, + c: 1.087971299880896e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.647154585198786e-6, + c: -4.852686408298457e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.323440913615718e-7, + c: 1.294942507916989e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.566914369613453e-6, + c: -1.655214011515567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.276930101913766e-6, + c: 3.785228892433744e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.276879071387949e-6, + c: -3.736798292131328e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.127260944920557e-6, + c: 5.195075631578017e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.866895584808162e-7, + c: -5.419224654437300e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 8.227353662630521e-7, + c: 2.457929685245087e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.955094744343353e-7, + c: 1.545947363385061e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -7.257174887731579e-7, + c: -2.361812575221929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.134999319387942e-7, + c: 1.666637356847343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.967622126661522e-7, + c: -5.245129256192618e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 2.760260204742170e-7, + c: -6.573881721524696e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.776143054709240e-7, + c: 6.128574568539888e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -2.271333764622731e-8, + c: 5.740446168727536e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.230767001197237e-7, + c: -4.421775471539257e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.025768001740835e-7, + c: -5.345879283988791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.757560825494255e-7, + c: 3.069256689600788e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.441279147419164e-7, + c: 1.123547219219983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.105567757003310e-7, + c: -1.317595468208395e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.093473645435261e-7, + c: 2.577999354178002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.685615324935328e-7, + c: 1.185443831044230e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 2.228115303253806e-8, + c: 3.812543481669714e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.864351311342148e-7, + c: -2.858953378009484e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.020117795622409e-7, + c: -1.481980209338920e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.129543384157577e-8, + c: -3.084062328718924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.216789966750561e-7, + c: -2.802274173835525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.800357198362272e-7, + c: -7.726014991673480e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.791912197006469e-7, + c: 7.993096951035102e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: -2.687162017984778e-7, + c: -7.716962166897210e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 2.581994497147646e-7, + c: 6.092774965336088e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.124077458146928e-7, + c: 1.285925026891963e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.061210899902905e-7, + c: 2.182071386365071e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.254663738679169e-7, + c: 7.180792681667624e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.179982453999683e-7, + c: -5.642024118680410e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -7.679758484008525e-8, + c: -2.064902826403586e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.189757719529472e-7, + c: -1.645425717111248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.523020497536233e-7, + c: 1.251146643548442e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.825107304001929e-7, + c: 3.716623189618935e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.406178441430411e-7, + c: 1.182455771370684e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.803169503624235e-7, + c: -3.318389632416543e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 8.797729230086815e-8, + c: 1.548001014114496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.809311114202487e-8, + c: 1.759598167714294e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.210983278556199e-7, + c: 1.178598349105208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.492672477762622e-7, + c: 6.774527718148474e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.522935995450563e-7, + c: 4.929216139231114e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.520469601638192e-7, + c: 3.677372380081861e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.527049782105279e-7, + c: -3.304718858884211e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.370656362513721e-7, + c: -7.153011151814153e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.795268150057323e-8, + c: -1.250471466937965e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162763316571622e-7, + c: -5.761609363073505e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.070935110180969e-8, + c: -1.087659660864708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 5.023107666510859e-8, + c: 1.187581202693376e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: -1.099010713578090e-7, + c: -6.480104840476510e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.158344712566008e-7, + c: 3.985800975142989e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.171503730230252e-7, + c: -2.627578111359319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.122347598827431e-7, + c: 4.233008150222156e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.800901160731394e-8, + c: 1.078647656298299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.140834872764190e-7, + c: 1.923792965889220e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.284995499652620e-8, + c: 1.006499475226917e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.844570032274472e-8, + c: 6.932252553868634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -9.745888759767792e-8, + c: 5.543681283820779e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.073078006740234e-7, + c: 2.391466564071416e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.388114923259020e-8, + c: -9.984088465699804e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.843179678182238e-8, + c: 6.272499311003210e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.309634069763754e-8, + c: -8.575632299287899e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -8.948811416605244e-8, + c: -5.261866988126634e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.006501366505742e-7, + c: 2.291044313738674e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.563893052582731e-8, + c: -9.016841421413304e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: -1.492869145306024e-6, + c: -1.350767063048637e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 0.0, + c: -8.183120584196420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.156142682513892e-7, + c: -3.694716235443472e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.633222214096637e-7, + c: -5.939980199984353e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.666448702461886e-7, + c: 5.899528523078458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.081313364912144e-7, + c: -3.098594932511740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.050675070627324e-7, + c: 6.250675519225985e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.488400973822257e-7, + c: 3.304924763948776e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.430608240425859e-7, + c: -3.226429801314241e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.955377323430088e-7, + c: 2.143609343864426e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.129969986406378e-7, + c: 2.506699823819726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.113612087992027e-7, + c: -2.510134081624694e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.340502382124872e-7, + c: -6.230816022200298e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.856617937016271e-7, + c: -1.265895571223367e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -7.259420177276221e-8, + c: 1.603931286514502e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.160045839635070e-7, + c: -1.179758265162477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.641230610715692e-8, + c: -1.418375889517477e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.490710043288121e-9, + c: -1.546407070677541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.537748846388100e-7, + c: -1.452996502684715e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.407876307660699e-7, + c: -4.671495628790063e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.204322694120560e-8, + c: 1.081496380156879e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.783530383772394e-8, + c: 9.407254141137480e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -4.500504087006896e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.648340159000001e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.746777656405986e-3, + c: -4.041161998774458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.093557029624033e-3, + c: 5.554793824391823e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.361460182335815e-3, + c: 1.181687075932077e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.162891170849826e-3, + c: -2.522745017923976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.131939619695367e-4, + c: -6.861397826372979e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.821793044396218e-4, + c: -2.613649542371907e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.863104491305542e-5, + c: 2.440988390250657e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.485402329990804e-4, + c: 1.399880181255543e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.290263219620540e-4, + c: -3.291410472361412e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.621504590968344e-5, + c: -5.624044556020802e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.523357154170283e-5, + c: 1.247526490213181e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 8.163683184671872e-5, + c: -1.249380965727366e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.834377367057353e-5, + c: -2.478342949066369e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.849949281652574e-5, + c: -2.031980916398915e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -4.770788346039278e-5, + c: 1.254684631738772e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.718863776937322e-6, + c: -3.356482282073355e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.814092832372423e-5, + c: -1.530884965740565e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.754830893620328e-5, + c: 2.645375234753186e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.701558250747231e-5, + c: -2.313881914520962e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.629796269165594e-5, + c: 5.632969629086568e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -2.490931113641671e-5, + c: -1.279282269370278e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0], + }, + Term { + s: 2.018933096472913e-5, + c: -1.378031831726604e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.996643704349377e-5, + c: -1.784527938068995e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.888629687426026e-5, + c: -4.434692035779318e-9, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.765287395973105e-5, + c: 2.315665696739246e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.776871223725540e-5, + c: 9.992445664469028e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.010438856710507e-6, + c: 1.728372034334168e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 9.540066931017776e-6, + c: 1.419371771408609e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.706424703985150e-5, + c: 9.299807589610649e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 6.662210702741834e-6, + c: 1.095410115848201e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.214220131631019e-5, + c: 2.112374336624370e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 1.164568206719889e-5, + c: 8.419098404253246e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.020225745244867e-5, + c: -5.356729255792582e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -1.145948767324534e-5, + c: -1.927488208189320e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0], + }, + Term { + s: -1.128660502165944e-5, + c: -1.201889005996613e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.054646076008215e-5, + c: -2.403585297649704e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -9.650703761080733e-6, + c: 2.349078873852637e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -7.801480921682495e-6, + c: -1.202640895999051e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.752043978533315e-6, + c: -1.228012460320621e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.645823375450077e-6, + c: -6.683545568691432e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 6.378385411702967e-6, + c: -3.478867534585426e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.779862551098870e-6, + c: -8.749923345196215e-10, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.358339297100639e-6, + c: -6.998333195370270e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.256301265006293e-6, + c: -6.094341943447708e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.970534761736023e-6, + c: -5.648314048028029e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 5.966645775202307e-6, + c: 4.253970919154260e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -5.907410906344604e-6, + c: -2.756964716940839e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0], + }, + Term { + s: -5.689136615863176e-6, + c: 3.023380717998627e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.471364178087648e-6, + c: -1.266377549203565e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.149914616412664e-6, + c: 4.796031121441297e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -4.575984624864667e-6, + c: -2.366505141308951e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -4.458306107958300e-6, + c: 1.191414203322225e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.444637600795069e-6, + c: -5.180879765030085e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + Term { + s: 4.406534220027671e-6, + c: 1.940806179266487e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.339827391092659e-6, + c: 6.750198223665851e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.291098887413589e-6, + c: 8.232725075013027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.340088856915962e-6, + c: 3.904774282849853e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.157318852027702e-6, + c: 6.972776367790652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.171831435952723e-6, + c: -8.519462698645520e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: -4.061806109703775e-6, + c: 1.187121023190916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.931554318680079e-7, + c: 3.953559577722744e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.360029456549932e-6, + c: 1.847050894330328e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.310605951263993e-6, + c: 5.061859037487541e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.292024942381638e-6, + c: 5.289865284637379e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.312439617597451e-6, + c: -2.789468737661424e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0], + }, + Term { + s: 3.270597535295225e-6, + c: 4.094032872948101e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.182179249813800e-6, + c: 8.014861295450961e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0], + }, + Term { + s: -2.887262057163307e-6, + c: 1.258261375338231e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.783959263665628e-6, + c: 2.583222341212827e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.411672869584907e-6, + c: 1.569760804086788e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.724793957375135e-6, + c: -9.599127107499833e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0], + }, + Term { + s: 2.705172860084086e-6, + c: -2.643357942425800e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0], + }, + Term { + s: -2.176564843468661e-6, + c: -1.125521625376676e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 2.316433447734580e-6, + c: 1.704372403181037e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -2.304807761595642e-6, + c: -1.870762188085235e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.287050866124440e-6, + c: -2.822608315008465e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0], + }, + Term { + s: 2.147193134095461e-6, + c: -2.601838474139719e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0], + }, + Term { + s: 1.939394695262123e-6, + c: -7.863182166042159e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.047725781270867e-6, + c: 2.667718896075596e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.017868310679224e-6, + c: -2.933141177642566e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.874316808825107e-6, + c: -3.770092699112001e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.832236390114365e-6, + c: 4.616165733149370e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.788207410933473e-6, + c: -3.779576899551181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.776133534858666e-6, + c: -1.319923775014181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 1.758636639426311e-6, + c: -1.832288527898702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.766884296291173e-6, + c: 1.020951563180743e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0], + }, + Term { + s: -1.720474037054276e-6, + c: -7.824883100641685e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.710950738879294e-6, + c: 1.377041304993012e-9, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.701842325152717e-6, + c: -8.589541734512259e-9, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.497920336662830e-6, + c: -2.905645019626195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0], + }, + Term { + s: 8.554448503466290e-7, + c: 1.197522059109821e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.443274673041696e-6, + c: -7.289629858958181e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: 1.232319985136822e-6, + c: -6.990245291935629e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.754527851112370e-7, + c: -1.327815214803088e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.379119406734557e-6, + c: 4.461210055182445e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.350276017080467e-6, + c: 1.989595997912167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0], + }, + Term { + s: -1.335774552198662e-6, + c: 1.102710828751054e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0], + }, + Term { + s: 1.325637326397293e-6, + c: -4.570798810681719e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.325192090894824e-6, + c: -3.103702670325467e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0], + }, + Term { + s: -1.300048513893928e-6, + c: -1.677318931029365e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0], + }, + Term { + s: -1.056482420334058e-6, + c: -5.515520265830652e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 1.179456498555228e-6, + c: -1.195831542581139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.134097774726046e-7, + c: 1.141236412488791e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.167015464943561e-6, + c: 3.561711902608921e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 1.130837985468737e-6, + c: 1.143300699641038e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.106881560899297e-6, + c: -1.470213635203861e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -3.738037514048491e-7, + c: -1.029926350651542e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.046486056907791e-7, + c: 1.034718971102361e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.045763559419096e-6, + c: 2.597570219598512e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0], + }, + Term { + s: 1.038947776726290e-6, + c: -2.081502272212904e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 7.762182522948711e-7, + c: 6.596826462634399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.981343802249673e-7, + c: 9.890527181098761e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0], + }, + Term { + s: 9.874907653366934e-7, + c: 2.762703782071264e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0], + }, + Term { + s: 9.695597239077302e-7, + c: 1.657578162153458e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.813279562717504e-7, + c: -4.071808132804908e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 9.535233565138053e-7, + c: -1.203225400651280e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 9.415629829528115e-7, + c: -8.886901277949432e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.007889747195364e-7, + c: -5.762113762212232e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.587568894076684e-7, + c: 3.692977438391798e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: 7.183286847559730e-7, + c: -4.677185279973358e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -8.310318698229189e-7, + c: -3.224616059712564e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 8.166986418590804e-7, + c: -3.303721813824400e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0], + }, + Term { + s: -5.641959548676428e-7, + c: -5.883406891593355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.086673449231505e-7, + c: -1.018592445506391e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -4, 0, 0, 0, 0], + }, + Term { + s: 7.983042796041167e-7, + c: -6.946453764564961e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.158081476432493e-7, + c: 7.661877752082060e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -8.842328123906717e-8, + c: -7.847996999129956e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 7.840726226634776e-7, + c: 3.671616385141015e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -7.712550576360325e-7, + c: -1.025477351223976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0], + }, + Term { + s: 7.131599994656222e-7, + c: -3.068342283750349e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.654380045594217e-7, + c: -1.296049145579651e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.562077903882923e-7, + c: -1.508317685818976e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 4.525251963807166e-7, + c: 6.229465108079601e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -5.407788451417728e-7, + c: 5.326572804079979e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -6.622589334894512e-8, + c: 7.431505512968719e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 7.234761438695007e-7, + c: 2.914477941145453e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0], + }, + Term { + s: 7.200131339503310e-7, + c: -7.625017284599670e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 7.085112369455391e-7, + c: 1.069412547620078e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 2.346915097403270e-7, + c: 6.583387692068932e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -6.597559454143040e-7, + c: 2.223188827703474e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.983036239648691e-7, + c: -3.556728134659368e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 6.904117535645495e-7, + c: 1.632643164001812e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 6.256141624742105e-7, + c: -1.310099283103040e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 4, 0, 0, 0, 0], + }, + Term { + s: -6.191704654660648e-7, + c: -3.820094496194256e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.034814840310791e-7, + c: -1.277334388736616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0], + }, + Term { + s: 5.858155221997702e-7, + c: 1.039386335538690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.923585221185995e-7, + c: -1.290129143168556e-10, + mult: [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.881362757652116e-7, + c: -1.439705684247308e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.162658508205306e-7, + c: -2.742399558401317e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -5.832091542618630e-7, + c: -3.600732678806019e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.928422829448085e-7, + c: -5.479747180901791e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -5.705004796509680e-7, + c: -2.679569225307185e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.699950789116510e-7, + c: 8.595030318347438e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0], + }, + Term { + s: -3.457070240617253e-7, + c: -4.500511948116080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 3.074135251372708e-7, + c: -4.740485459366399e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.537811142434867e-7, + c: 7.547541147417381e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.375489959094213e-7, + c: 7.197678845488288e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: 5.105504022501159e-7, + c: 2.456234982529971e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0], + }, + Term { + s: 5.014505059166617e-7, + c: 9.107187628337789e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.987242685905516e-7, + c: -3.146896963328114e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0], + }, + Term { + s: -4.963356063056697e-7, + c: 1.703214591867147e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.825803531411436e-7, + c: 4.042922670077445e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 3.978686076307756e-7, + c: -2.748175483253149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -3.821181396615866e-7, + c: -2.949023372556789e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 4.736028682413555e-7, + c: -5.808814779237897e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.076394167778270e-7, + c: 4.636600322384031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.691044132283705e-7, + c: -6.378276978185632e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0], + }, + Term { + s: -4.529078868479490e-7, + c: 7.543875808412755e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.473382647935804e-7, + c: 3.615427949872661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.431123120673517e-7, + c: -5.926068067119677e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 4.426533244169519e-7, + c: -5.607371035053676e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, 0], + }, + Term { + s: 4.422225736152205e-7, + c: -5.423597135555322e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.423188804757237e-7, + c: -2.597244453184105e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.292056208348208e-7, + c: -5.403521581682880e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.953450145393678e-7, + c: -1.743399690477286e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, -2, 0, 0, 0, 0], + }, + Term { + s: 3.060465475353728e-7, + c: -2.842905018990068e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.449280569474762e-7, + c: 3.351033334579352e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.143097887609492e-7, + c: -1.192405895132976e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 2, 0, 0, 0, 0], + }, + Term { + s: 1.096293295566816e-7, + c: -3.937601769949031e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.925051092570644e-7, + c: 2.781718473669941e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 3.848944278776860e-7, + c: -3.351666780804066e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, -2, 0, 0, 0, 0], + }, + Term { + s: -3.792438292895305e-7, + c: 3.527323125610936e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -7.042754417732402e-8, + c: 3.676763796477804e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.635520164281712e-7, + c: 7.165401374257782e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -3.659593493393221e-7, + c: 1.021673073356856e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 3.515418079493891e-7, + c: -7.532573173166292e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.522073916867353e-7, + c: 4.214287779216881e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: 3.540093552480790e-7, + c: 1.898713629448740e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0], + }, + Term { + s: 3.463901923789726e-7, + c: -2.392913780136617e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 7.387910690794028e-8, + c: -3.388599064142874e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.390246717603506e-7, + c: -7.200466220852520e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.346855018035302e-7, + c: 8.425469942701836e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 3.368643329294607e-7, + c: 2.536375353746087e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0], + }, + Term { + s: -4.693966640664931e-8, + c: -3.317041583514277e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -3.262399668708026e-7, + c: -7.379966597363583e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0], + }, + Term { + s: -7.468500558996431e-8, + c: -3.251213532709065e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.410004565785361e-7, + c: -3.012946164252757e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.615602273728562e-7, + c: -2.013576557202697e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.278095261815597e-7, + c: 6.990193966564654e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -11, 0, 0, 0, 0], + }, + Term { + s: 1.237352999042419e-7, + c: 2.987775625112207e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.170599659202824e-7, + c: -2.926715131086760e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: 1.858572217210423e-7, + c: 2.567942231133052e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -2.944534795089391e-7, + c: -9.515621969944755e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.029337799879103e-7, + c: 6.120904761340771e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 3.023586554052033e-7, + c: -2.768011458755980e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -8, 0, 0, 0, 0], + }, + Term { + s: 2.982076569720480e-7, + c: -3.367814608738838e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.626169429760756e-7, + c: 2.518060929027195e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.725743212334196e-7, + c: -1.202643836241738e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -2.952785468051085e-7, + c: -3.867802304269930e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -2.892985286595928e-7, + c: -3.992952625853862e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0], + }, + Term { + s: -2.522189678372344e-7, + c: -1.374748654097757e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.078194284370108e-7, + c: 2.658408912224984e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0], + }, + Term { + s: 2.834429466779831e-7, + c: 3.270344924551744e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.835646912792698e-7, + c: 1.390552593815950e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0], + }, + Term { + s: -2.536031478288227e-7, + c: 1.179538765196222e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.696860320711903e-7, + c: 5.459641365778109e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0], + }, + Term { + s: 2.682502293414193e-7, + c: 5.679529280680704e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.730453316141079e-7, + c: 2.215924393734605e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.728457725441020e-7, + c: 2.288232892378877e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -2.703276144444176e-7, + c: -2.468944216218879e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0], + }, + Term { + s: 6.482904845357188e-8, + c: 2.579345328796684e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -4, 0, 0, 0, 0], + }, + Term { + s: 4.928208582938522e-9, + c: -2.652255077718742e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 2.138922026701140e-7, + c: -1.524556766077517e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -2.617497912930486e-7, + c: 1.685249215579113e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.184558192495785e-7, + c: 2.268446877473622e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 2, 0, 0, 0, 0], + }, + Term { + s: -2.025019979617967e-7, + c: -1.556455062599318e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.406558738492671e-7, + c: -3.739700589013110e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.416570349318662e-7, + c: 1.395470796095742e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0], + }, + Term { + s: -2.366443706492151e-7, + c: -1.066702790827767e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 2.318700532866988e-7, + c: -1.463861085526290e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.115637758858684e-7, + c: -9.097643209652433e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.327994429936165e-7, + c: 1.819379826132182e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.074318932533808e-7, + c: -1.935056285929149e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.586976592049232e-8, + c: -2.175569043747994e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.175400865605570e-7, + c: 1.819530766910840e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.935794971351446e-8, + c: 1.944991946573545e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.062157430879058e-7, + c: -3.984537143756681e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.090565028455089e-7, + c: -4.621314372186723e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -2.054834223241457e-7, + c: -2.594255433121071e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.955006026737511e-7, + c: -4.662337519355819e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -10, 0, 0, 0, 0], + }, + Term { + s: -1.951426070420304e-7, + c: -3.241319493631070e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.973753014641475e-7, + c: -1.114155437370680e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 1, 0, 0, 0, 0], + }, + Term { + s: -1.934751872764296e-7, + c: -8.215088712647447e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0], + }, + Term { + s: -1.825229175293480e-7, + c: -6.042399644624717e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0], + }, + Term { + s: -1.893557604337362e-7, + c: 5.444180636033722e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -12, 0, 0, 0, 0], + }, + Term { + s: -1.823713936813943e-7, + c: -5.011064691448559e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0], + }, + Term { + s: 1.878956549750684e-7, + c: -1.547792430300453e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.823752744582261e-7, + c: 4.670076246765890e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, 0], + }, + Term { + s: 2.779429117776197e-8, + c: 1.849798861358312e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.860149041121989e-7, + c: -4.483809270712599e-10, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -1, 0, 0, 0, 0], + }, + Term { + s: -4.854751964784773e-8, + c: -1.786369379650214e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.846382950607024e-7, + c: 1.266784074865615e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0], + }, + Term { + s: -2.887942948584203e-8, + c: -1.813988843836735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0], + }, + Term { + s: 1.823436049886329e-7, + c: -2.521402837763741e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -9, 0, 0, 0, 0], + }, + Term { + s: -1.798866912985375e-7, + c: -2.504662469872066e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -12, 0, 0, 0, 0], + }, + Term { + s: -1.438333539699613e-7, + c: 1.079361067925577e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.650081377108877e-7, + c: -4.981663512962342e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.451159212645509e-7, + c: 8.790093505428173e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.681329860375587e-7, + c: 1.834233128788278e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 1.470248108480187e-7, + c: 8.336041223551083e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.650023750622547e-7, + c: -3.227906196231030e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.746927627239901e-8, + c: 1.662429496531968e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, -2, 0, 0, 0, 0], + }, + Term { + s: 1.670670365047913e-7, + c: 2.998035838246809e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 2, 0, 0, 0, 0], + }, + Term { + s: 1.620425577339890e-7, + c: 2.591885207115587e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: 1.630629719952038e-7, + c: 9.796779913828213e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, -10, 0, 0, 0, 0], + }, + Term { + s: 1.608663462010119e-7, + c: -1.144430005712778e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 4, 0, 0, 0, 0], + }, + Term { + s: -1.606841059476593e-7, + c: 1.098516124320932e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.601759057126257e-7, + c: -6.349236034956823e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0], + }, + Term { + s: 1.457384472048622e-7, + c: 6.482414839732306e-8, + mult: [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.538615754421111e-7, + c: -4.148747685931036e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 4, 0, 0, 0, 0], + }, + Term { + s: 1.502462955306129e-7, + c: 3.230741504903088e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0], + }, + Term { + s: 1.511268768847736e-7, + c: 1.887294367989224e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.195632069250350e-7, + c: -9.217259968829588e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -2.602591060598113e-9, + c: -1.506750303974916e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.475917799155063e-7, + c: 1.367750202892597e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -10, 6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.474123116620034e-7, + c: 6.626332006993916e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.421655718279842e-7, + c: -3.875743451749430e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.457126441722257e-7, + c: 1.874841400719846e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 1.445844995070641e-7, + c: 1.612376362804661e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -10, 0, 0, 0, 0, 0], + }, + Term { + s: 1.381409976968747e-8, + c: 1.446792401410018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.440151454643143e-7, + c: 1.809849276936240e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.792846166509788e-8, + c: 1.117819080513929e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0], + }, + Term { + s: -1.228176004684096e-7, + c: -6.920454449399920e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, -11, 0, 0, 0, 0, 0], + }, + Term { + s: 1.140949184108513e-7, + c: -8.163641936708464e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0], + }, + Term { + s: -1.384901226945322e-7, + c: -5.527410989495262e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0], + }, + Term { + s: 1.303823351619829e-7, + c: -4.684302124272423e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.922139103703562e-8, + c: 1.256431631033116e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.328843696586609e-7, + c: 2.285734231363154e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.886376789412012e-8, + c: 1.238854035662121e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.447263380945602e-8, + c: 1.100405110064229e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.216696768921940e-7, + c: -4.460048370378851e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 1.267153628302004e-7, + c: 2.492619658819319e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -8.486996580843376e-8, + c: -9.564639306629868e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.759510786244587e-8, + c: 1.139843643369228e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.168879503346243e-7, + c: -4.983125136380049e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -6, -2, 0, 0, 0, 0], + }, + Term { + s: -1.061003122353982e-7, + c: 6.940881483685901e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.225957692673878e-7, + c: -3.048463504406730e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0], + }, + Term { + s: 1.218516635436230e-7, + c: -2.162485967906299e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0], + }, + Term { + s: -1.211483462230302e-7, + c: -1.960519465892503e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.085490125244765e-7, + c: -5.689229806829660e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.117762917473013e-9, + c: 1.219200408409584e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.154915961295351e-8, + c: 9.882858946565754e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -11, 0, 0, 0, 0, 0], + }, + Term { + s: -1.214546806608151e-7, + c: -4.836329203461390e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, -5, 0, 0, 0, 0], + }, + Term { + s: -1.757565234351536e-8, + c: 1.192186321171018e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 2, 0, 0, 0, 0], + }, + Term { + s: -2.519117286456725e-8, + c: 1.129666575674807e-7, + mult: [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.149581644718772e-7, + c: -3.719676357399429e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.949785347752180e-8, + c: 1.105150093035055e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.124220385642929e-7, + c: -1.570639440269245e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -13, 0, 0, 0, 0], + }, + Term { + s: 8.965703857251153e-8, + c: 6.917065499833140e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -6, 6, 0, 0, 0, 0], + }, + Term { + s: -9.519456634595634e-8, + c: 6.021802419861755e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, -2, 0, 0, 0, 0], + }, + Term { + s: 2.505844178307643e-8, + c: 1.091210558296937e-7, + mult: [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.096407596450062e-7, + c: 4.116003045390996e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, -13, 0, 0, 0, 0], + }, + Term { + s: 1.094989988828661e-7, + c: -1.840361077685887e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -10, 0, 0, 0, 0], + }, + Term { + s: 1.090153038966324e-7, + c: 6.728605234335721e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, -11, 0, 0, 0, 0], + }, + Term { + s: -1.090437468131210e-7, + c: -4.946403372308134e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 2, 0, 0, 0, 0], + }, + Term { + s: -1.088399126434149e-7, + c: -7.041180407387780e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, 0], + }, + Term { + s: 1.081802281835604e-7, + c: -1.174256823626595e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.084615533849612e-7, + c: -7.360043162299836e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -1.779807126821670e-8, + c: -1.051285440525779e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -10, 0, 0, 0, 0, 0], + }, + Term { + s: -1.052212708317402e-7, + c: -1.954702859824296e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, -8, 2, 0, 0, 0, 0], + }, + Term { + s: 1.037750630025205e-7, + c: 5.841959119478206e-9, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 1.011904917286095e-7, + c: -1.997868300277032e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -9.960903613284830e-8, + c: -2.620812588875541e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.023295925887568e-7, + c: 4.781721997593343e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.013995494227876e-7, + c: 1.427709122423311e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -3, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -7.487546096252627e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.547526487703378e-5, + c: -1.543060675385435e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.088975038293310e-6, + c: -5.962676105576002e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.027900863706848e-6, + c: 2.633679807848406e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.242944339405657e-6, + c: 2.314883659732165e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.828563766804479e-7, + c: -3.025548066093154e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.882152571911940e-7, + c: -3.004773413433949e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.172379011860274e-6, + c: 2.263953250387493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.712684140213544e-7, + c: 2.315234180917493e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 1.953831063847234e-6, + c: 7.504869942368567e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.380208114481947e-6, + c: -1.190804439090284e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.916538070762907e-7, + c: 1.681094963067158e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.101358422444147e-6, + c: -1.335180523176793e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -4.806605871152301e-7, + c: 1.623117201829013e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.307554725271386e-6, + c: 9.261601237157252e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.716029583911353e-7, + c: 1.278636448681154e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.786006150348395e-7, + c: 1.275735812712443e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -5.183895714354864e-7, + c: 1.130499292853439e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.479591456847359e-7, + c: 7.847039292355201e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 3.916930607928208e-7, + c: 8.334954353275772e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.183972312332473e-7, + c: -7.927595705724205e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.602750078188414e-7, + c: -7.956631494569874e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 5.379690870731559e-7, + c: 5.310811393762787e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 2.378024690820892e-7, + c: -7.168545110713948e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.666378653454237e-7, + c: -7.139035450133539e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.611194711861847e-7, + c: 2.504227038252708e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -6.165939126705807e-7, + c: -2.719008852350826e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -5.752781571227401e-7, + c: -1.894620384128871e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -5.295639879935718e-7, + c: 9.072291914608402e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.064706347139771e-7, + c: 3.753377324389208e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.073567195065157e-7, + c: 4.480023926006983e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -2.621174519256756e-7, + c: -3.046592834845838e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.147677558069307e-7, + c: 3.837002331796647e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.174601520015279e-7, + c: 3.648620173029440e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 3.825140234289068e-7, + c: -2.232440293313781e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.010032845455021e-7, + c: 2.880806062104686e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.860961874991909e-7, + c: -1.863017721090496e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.482809792040170e-7, + c: -3.021228935097334e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.811113695788876e-7, + c: 1.048037538197316e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 2.811344379158001e-7, + c: -8.048094495844307e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.897365900422453e-7, + c: -3.634451269246091e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.781184651150101e-8, + c: -2.799433069460867e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.036883665103728e-8, + c: -2.778894162783299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 2, 0, 0, 0, 0], + }, + Term { + s: 7.703282807281448e-8, + c: -2.681914330515095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.943311582044593e-8, + c: 2.576500034550002e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.389543279882223e-7, + c: 6.422119602557670e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.284229393167314e-7, + c: -2.094002857460639e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -2.180530997047365e-7, + c: -1.059397989808693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.223263877358597e-8, + c: 2.393523556278287e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -6.642954600437592e-8, + c: 2.278681757167377e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.723128746713625e-8, + c: 2.198029491514938e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.319094683839240e-7, + c: 5.423894240332191e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -5.515070859464199e-8, + c: 2.108174672350272e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.519541430914682e-7, + c: -1.491817917398410e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.644113865519660e-7, + c: -1.204519242117388e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.975322825943697e-7, + c: 2.195089048773325e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.784149544098459e-8, + c: 1.831634617430410e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -1.206524252724812e-7, + c: -1.373529790546299e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 3.202163643506673e-8, + c: -1.760185986820866e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: -1.538967871892707e-7, + c: -8.068179053849271e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.139297187274214e-7, + c: -1.278463092205100e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.626868175751270e-7, + c: 4.408003224547007e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.415218267529873e-7, + c: -8.430118654662339e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 4, -2, 0, 0, 0, 0], + }, + Term { + s: 3.446336783914654e-8, + c: 1.524699537165739e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0], + }, + Term { + s: -7.157651073568195e-8, + c: 1.358602851171463e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 4.327575738961002e-8, + c: -1.395197365690418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.399384530111332e-7, + c: 3.450608696992262e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.290573297506964e-7, + c: -5.866869245467133e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.124376628683563e-7, + c: -7.816361838316731e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 5.793308757460795e-8, + c: -1.236766815780552e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.107780728038013e-8, + c: -1.331804394901803e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.249638811125514e-7, + c: 4.689807475662065e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0], + }, + Term { + s: 1.094594174091096e-7, + c: 6.804386197786727e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.507704581505721e-8, + c: 1.172754285351181e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.424282056434466e-8, + c: 1.095599067745396e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.245645204422193e-8, + c: -1.103389046776080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -8, 5, 0, 0, 0, 0, 0], + }, + Term { + s: 9.354278360227506e-8, + c: 7.212944413967047e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.176462398812845e-7, + c: 1.110078056843911e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.287665649938077e-8, + c: 7.073386387222357e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -7, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.598115742357912e-8, + c: 1.117574518703248e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -9, 5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.486956571488486e-8, + c: 1.093329851647016e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -6.257902793273607e-8, + c: -8.833375111675108e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -3.737210124650962e-8, + c: 1.007989192591295e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.521948862919227e-8, + c: -6.431605668062177e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.058386397222526e-7, + c: 1.118758865344722e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 5.124397042670535e-8, + c: -8.836628361685816e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.090880909610569e-8, + c: -4.472227446997441e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.760859403954607e-8, + c: 2.500215498665193e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 1.210067446595088e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.344454725171758e-6, + c: -1.537464915905670e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -3.636680270335541e-7, + c: -6.128656657894139e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.944710137967474e-7, + c: 2.635769961766518e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.898642161004535e-7, + c: 2.658732989128355e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.105841174982027e-7, + c: -3.084911304113605e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.213940934478277e-9, + c: -4.120905404868080e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.297020226903304e-7, + c: -1.484705767839809e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.201898465884841e-7, + c: -1.413514408803735e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.130175930373901e-7, + c: 1.950680482292616e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.504166835945691e-7, + c: -1.129636337807712e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -2.510478246690290e-7, + c: -1.112083638073254e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -5, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 7.586654467253214e-9, + c: 2.160348537682099e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.999286412156449e-9, + c: -1.838345871995721e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -11, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.569314553811123e-7, + c: 6.774981496020724e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.169045707765662e-7, + c: 1.162494541272741e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.555261934194506e-7, + c: 1.867470765052039e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: 1.394339858393114e-7, + c: 6.620993541319909e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 2.427925587663883e-9, + c: 1.518995586058903e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 4.582596831917946e-8, + c: -1.415867391044165e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.200159812849636e-8, + c: 1.027926365651281e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -9.443518833110508e-8, + c: -9.807489942850770e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.020446616844877e-9, + c: -1.079594011332999e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + ], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -4.222882836573553e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 1.859240754000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.181127895019563e-6, + c: 4.154845776298198e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.869842069740833e-6, + c: -4.094760012508618e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.061522754036467e-6, + c: 4.796559958351696e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 3.583592821925982e-6, + c: 3.449540376552829e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 3.677660987902700e-6, + c: -3.070664341546494e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.803159457480363e-6, + c: -2.851348956975496e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.536829720731295e-6, + c: -1.216604782074454e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -8.562760769570762e-7, + c: 7.809502655979897e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: 6.079877829112701e-7, + c: -5.006050637017027e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.754404027334074e-7, + c: 6.140860802526140e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: 5.864429308361313e-7, + c: -2.844266897371807e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.920621653890700e-7, + c: -2.988427177449166e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.119610514046282e-7, + c: 4.962456181772488e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: 3.909721908367921e-7, + c: 3.132924718407726e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -4.721036753723006e-7, + c: -5.027594973873834e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: -4.394247993803729e-7, + c: 1.678783515397834e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.384996054833756e-7, + c: 3.381183698219390e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: -2.740855966132372e-7, + c: -2.171064668484126e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -1.308885396562270e-7, + c: -3.021071161925220e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.727469784041174e-7, + c: -2.374871831362626e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -2.332848130732136e-7, + c: 1.485014280082508e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.231562030160275e-7, + c: 2.401223503034167e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.182541435362489e-7, + c: -1.477958738282418e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: 1.492814663210181e-7, + c: -2.057768905586766e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.044497019039552e-7, + c: -1.996338570930498e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: -8.116735933367845e-8, + c: 1.914653565609802e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -9.281616497629493e-8, + c: -1.620472607529196e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.738267203145933e-7, + c: 6.443349478022859e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.277395174814312e-7, + c: 1.188185837544690e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: -1.181733206483367e-7, + c: -1.264871991198405e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -9.279425697154729e-8, + c: -1.365483157889343e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.543248768149426e-7, + c: 3.117626093622006e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -9.260606599192307e-8, + c: 1.173530165471226e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.417531770409789e-7, + c: 3.149299781642456e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.396922850265558e-7, + c: 3.106171084044135e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.117094678402065e-7, + c: -7.823964262056210e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -1.063883806358212e-7, + c: 8.438091416260322e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.085414358518878e-7, + c: 7.915679218035053e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -9.076562298629456e-8, + c: -9.657053843273180e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: 5.443898647941821e-9, + c: 1.280748246524420e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: 6.952651195870267e-8, + c: -1.032246834648693e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.159158118731722e-7, + c: -1.393943652730394e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, 0, 0, 0, 0], + }, + Term { + s: -4.262744147433632e-8, + c: 1.022272182900079e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -4.397577265123496e-8, + c: -1.007371287714795e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -1.244781987771900e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.569839807918471e-7, + c: -3.870977093093969e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.571416731245886e-7, + c: 2.503988062599988e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.215820166223874e-7, + c: -1.968737563594640e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -9.179341702112990e-8, + c: -1.477487621343722e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 8.446233806479367e-8, + c: 1.050893800357264e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -2.075139302624414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 6.486018467000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.818452538092568e-6, + c: 5.329154735289679e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 4.064826492314716e-6, + c: 4.903604845103438e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.070006835298573e-6, + c: -3.675600675695099e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -4.251363921902838e-6, + c: 1.885435136961657e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0], + }, + Term { + s: 2.186211579250766e-6, + c: 3.612307863972414e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 4.203162684360703e-6, + c: 3.233230369539475e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: -1.221417853983088e-6, + c: -1.530252975150499e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.574669311456359e-7, + c: 8.606216731256249e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0], + }, + Term { + s: -1.088298872166188e-6, + c: 2.668148525607287e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0], + }, + Term { + s: 3.437964649036028e-7, + c: -5.097024386149924e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.688364359001655e-7, + c: 1.639443864458964e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0], + }, + Term { + s: -5.160254988386975e-7, + c: 7.031523079813771e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0], + }, + Term { + s: -4.587672920542270e-7, + c: 1.981609080999724e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0], + }, + Term { + s: -3.640868502079477e-7, + c: -2.003671645996852e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 3.271708233102463e-7, + c: 1.332576400730412e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0], + }, + Term { + s: 1.883044549840909e-7, + c: -2.831865339374108e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.233632118638154e-7, + c: 2.900920584308515e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + Term { + s: 1.958498795850766e-7, + c: -2.243949760563995e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.330398422079115e-7, + c: 1.656981436628406e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 2.576531932852878e-7, + c: -1.176581046051587e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0], + }, + Term { + s: 1.690073210798721e-7, + c: 2.190072481517859e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.334697849788243e-7, + c: 1.311247683437045e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0], + }, + Term { + s: -2.547361938023907e-7, + c: 3.625423491590816e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0], + }, + Term { + s: -2.056846415892342e-7, + c: -1.491652392798910e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.965628453517528e-7, + c: -1.092107104351110e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0], + }, + Term { + s: 1.849741478129941e-7, + c: 7.833360359030915e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], + }, + Term { + s: -1.861629560474255e-7, + c: -8.899131953663995e-11, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0], + }, + Term { + s: -1.364290966182131e-7, + c: 9.266984116846301e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.398831171931915e-7, + c: -8.244310274138464e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 1.239015383091784e-7, + c: -9.789602325865509e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -4, 2, 0, 0, 0, 0], + }, + Term { + s: -1.108586269062489e-7, + c: -1.008802585435093e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, 0], + }, + Term { + s: -3.150711462962365e-8, + c: 1.416793375856634e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 7.481761765771688e-8, + c: 1.239671136626315e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0], + }, + Term { + s: 3.102279755962217e-8, + c: -1.396187295358081e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.340216429786794e-7, + c: 2.011033952730546e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0], + }, + Term { + s: -7.185506700064087e-8, + c: 1.118410689294244e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0], + }, + Term { + s: -1.277587790095071e-7, + c: 8.510596745193572e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0], + }, + Term { + s: -1.024059881231252e-7, + c: -7.080054698523284e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0], + }, + Term { + s: 5.396808845825058e-8, + c: -1.021020790622439e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.010545743390933e-7, + c: 4.203894142381454e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0], + }, + Term { + s: -1.034581323676768e-7, + c: 3.566639445504492e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], + }, + Term { + s: 6.524313958857921e-8, + c: 8.756205041939734e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -1.173702283669166e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.362671694420918e-7, + c: 1.235055604850218e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0], + }, + Term { + s: -1.865197335966005e-7, + c: 1.875663086664466e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0], + }, + Term { + s: 1.955945515631299e-7, + c: -1.221445616338119e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0], + }, + Term { + s: -1.476475923025915e-7, + c: 9.172555736949575e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -5.085538886557420e-8, + c: 1.328029728574289e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0], + }, + Term { + s: 1.060469219087449e-7, + c: -8.524970623243892e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], + }, + Term { + s: -3.760275697163694e-8, + c: -9.633971252917758e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 3.178942780364286e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/venus.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/venus.rs new file mode 100644 index 0000000..763468c --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planetary_coefficients/venus.rs @@ -0,0 +1,1269 @@ +#![allow(clippy::excessive_precision)] +//! VSOP2013 coefficients for Venus +//! +//! Generated from VSOP2013p2.dat +//! Threshold: 1e-7 +//! Terms retained: 228 of 289647 (0.1%) +//! Generated: 2026-01-08 + +use super::{Term, TimeBlock}; + +/// Semi-major axis (A) coefficients +pub const A: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 7.233298199450000e-1, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.576210079946264e-10, + c: 4.322657013014351e-6, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.079643371026511e-9, + c: 2.939798258802545e-6, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.822054925285294e-10, + c: 2.640755596775308e-6, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.797661550631474e-10, + c: 1.773639085853039e-6, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.630590549585780e-11, + c: 1.683035223197998e-6, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.667018621330401e-10, + c: 1.099631361465427e-6, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.039833288194244e-6, + c: -2.453069208298201e-8, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.470321811523680e-10, + c: 7.302509808478261e-7, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.196644850234505e-7, + c: 5.056359271823885e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.816387130119049e-10, + c: 4.905715351675288e-7, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.175277477682748e-10, + c: 4.344417653222211e-7, + mult: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.815378530477792e-7, + c: -1.094642330891239e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.606442606259042e-9, + c: 3.361381122046492e-7, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.853013403969265e-10, + c: 3.323983860793279e-7, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.664948276346038e-8, + c: 2.790869561752804e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.426731642309429e-7, + c: -7.646757912614965e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.698121716831056e-10, + c: 2.267226738538710e-7, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.215965842209769e-9, + c: 2.065700742874041e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.706435440526853e-7, + c: -5.680559919213587e-9, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.438174419369570e-10, + c: 1.554605773982378e-7, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.351736076361198e-7, + c: 2.805746110240830e-8, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.249875565444678e-10, + c: 1.367075091842750e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.239758163875673e-7, + c: -4.276692858799242e-9, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.132965072348952e-10, + c: 1.070549651178829e-7, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// Mean longitude (Lambda) coefficients +pub const LAMBDA: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 3.176134461576000e0, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.003897615671844e-5, + c: -3.916661902850538e-9, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.974339674690586e-5, + c: -5.187141641802716e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.462401430068983e-6, + c: 1.381171158669011e-5, + mult: [0, 2, 0, -7, 0, 0, 0, 0, 0, 8, -6, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.371414365650798e-7, + c: -1.609800970599925e-5, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.098840608412079e-6, + c: -1.109816836222360e-5, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.432392058039088e-6, + c: -1.504585749346886e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.408002431253196e-6, + c: 1.662874277423689e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.313896554249114e-6, + c: -5.183128889553987e-9, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.788532286723502e-6, + c: -1.772553223519253e-6, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.218930140220116e-6, + c: 4.880202421558287e-6, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.105950491736787e-6, + c: -6.769582967750688e-10, + mult: [0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.977985083490923e-6, + c: -1.825531867196878e-10, + mult: [0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.797069943621281e-8, + c: -2.157201406888480e-6, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.818118301281192e-6, + c: 1.002971462485274e-10, + mult: [0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.314406444999872e-6, + c: 1.185356006601947e-6, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.316748049209616e-6, + c: -1.032982923482185e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.278842342120992e-6, + c: -2.976308209171546e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.084560513307299e-6, + c: 6.852880802805864e-7, + mult: [0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.144449853888623e-6, + c: 2.482020463506019e-10, + mult: [0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.252498834419225e-7, + c: 9.944041005893441e-7, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.108919263039317e-8, + c: 9.893063795451504e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.421195123870003e-8, + c: -9.551087447872131e-7, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.901429034753721e-7, + c: -8.128920550868664e-7, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.286096136285347e-7, + c: -1.939688998246109e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.361907371850438e-7, + c: 3.119306038065070e-10, + mult: [0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.135034353444699e-7, + c: 3.775430973525110e-9, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.080558405204781e-7, + c: 2.835246028409421e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.416624449954319e-9, + c: -5.474398982856134e-7, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.812427304540903e-7, + c: 3.250359510761462e-10, + mult: [0, 9, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.360882255718952e-7, + c: 1.901516357851608e-7, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.490782651473504e-7, + c: 1.465374812456372e-10, + mult: [1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.015238896650969e-7, + c: 1.740554176455971e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.531898103175939e-8, + c: 4.041532759271314e-7, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.724452461429970e-9, + c: -3.476188925610858e-7, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.342877757314935e-7, + c: -5.187978127777102e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.184832436883781e-7, + c: 3.094017381375192e-10, + mult: [0, 10, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.930060990735105e-7, + c: 5.273956039393462e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.358605469673722e-7, + c: 1.504098233678839e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.507128321098544e-8, + c: 2.510437395835447e-7, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.445389645963742e-7, + c: 4.167933974438291e-8, + mult: [0, 5, -6, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.926566187639715e-9, + c: -2.322954356009203e-7, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.128223471625357e-7, + c: 2.791015200917039e-10, + mult: [0, 11, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.047146950048333e-8, + c: -1.874119275875908e-7, + mult: [0, 6, -10, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.500681553910351e-7, + c: 1.358858354929758e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.937862394788222e-7, + c: -4.827147725613891e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.875840644520189e-7, + c: 2.174746335301510e-11, + mult: [0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.761251919971427e-7, + c: -4.070691405829821e-8, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.617920911418286e-7, + c: -4.235763848272318e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.468810988488341e-7, + c: -7.219542500959997e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.642839161180312e-9, + c: -1.597685076934775e-7, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.433279270085675e-7, + c: 2.428847071540759e-10, + mult: [0, 12, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.154792967932349e-7, + c: 7.312798406134579e-8, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.223371177285073e-7, + c: -1.950337965008995e-10, + mult: [0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.041549690338001e-7, + c: 5.632207142272878e-8, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.701362953869524e-9, + c: -1.118403224472495e-7, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.054034710697174e-7, + c: 3.644988017642772e-10, + mult: [2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.301282669627493e-8, + c: 4.319374335550375e-8, + mult: [0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.577348738379455e-8, + c: -9.705626632577545e-8, + mult: [2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 1.021328554743445e4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.215126068105180e-8, + c: 1.738117968643502e-6, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.406613955946860e-6, + c: 4.352576284873701e-7, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.202196872828259e-7, + c: -5.400274348020424e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.869016645000264e-7, + c: -1.767134124273461e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.629512311912494e-7, + c: 3.480217671116095e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.163755750278709e-7, + c: 1.951919600618702e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.895987787436664e-7, + c: 5.808998677536482e-8, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.132579255954118e-7, + c: 1.335726814823551e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.220904322164586e-7, + c: 2.937316237257844e-8, + mult: [0, 2, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.622071773667133e-8, + c: -6.727169664291273e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[ + Term { + s: 0.0, + c: 2.824289409513071e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.302248657651907e-7, + c: 2.046413689262703e-7, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.004637557697520e-7, + c: 1.076448560432294e-9, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, +]; + +/// e*cos(perihelion) (K) coefficients +pub const K: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: -4.492821048000000e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.559416913702809e-8, + c: 2.247486286645199e-5, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.298948808319820e-8, + c: -1.705855867658912e-5, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.351589514895478e-8, + c: -6.532662811226411e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.979690479162401e-10, + c: 6.461075929063040e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.042316651183563e-9, + c: 5.355424757693050e-6, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.335524653751796e-6, + c: 8.139548541627495e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.767756767722044e-8, + c: -2.524061259357208e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 9.932792195695862e-10, + c: 2.516918042162980e-6, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.705759488032514e-8, + c: -2.391660891608592e-6, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.942023460473344e-7, + c: 1.511762231243525e-6, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.837449280215948e-10, + c: 1.401487482242325e-6, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.703373203587513e-7, + c: 1.149907257126411e-6, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.567449855494218e-7, + c: -8.852392152030489e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.955292213857541e-11, + c: 8.418948602919483e-7, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.014782404556721e-7, + c: -2.234393573682453e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.627678843199927e-10, + c: 6.597574548412411e-7, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.899512152070255e-9, + c: 5.424537177206913e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -7.867585473840148e-11, + c: 5.275619246460182e-7, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.200719246667335e-7, + c: 9.906538210903055e-9, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.324798132877262e-9, + c: -4.267766276237525e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.714818750565780e-8, + c: -4.034798980835021e-7, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.064165249915287e-8, + c: -3.863589214241928e-7, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.093365450564777e-9, + c: 3.721532870064038e-7, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.139473300499961e-9, + c: 3.410498861597361e-7, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.061172706311413e-11, + c: 3.394909021490034e-7, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.292070309932922e-9, + c: 3.383826740337641e-7, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.312801693840777e-7, + c: -1.006766070510934e-8, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.511707992127305e-7, + c: 2.541284969508556e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.315213568990519e-10, + c: 2.903512051948562e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.848377672932143e-9, + c: 2.660725977959305e-7, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.529631143528624e-9, + c: 2.534916414328833e-7, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.324787394374972e-8, + c: -2.410222921819587e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.351636516807282e-7, + c: 2.239115967309921e-9, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.069261729904357e-11, + c: 2.224485652284257e-7, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.084475386810964e-7, + c: -4.962657134595972e-8, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.729896698925757e-9, + c: 1.983349333001419e-7, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.906428631660644e-7, + c: -6.153875998908345e-9, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.604650944029046e-7, + c: -7.346246980764754e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 7.231732314791765e-8, + c: 1.585415469042550e-7, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.695648600442144e-8, + c: 1.344991473743927e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.344883850705549e-12, + c: 1.476613556155011e-7, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.863266000560135e-9, + c: 1.442060419040052e-7, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.109904505414811e-8, + c: 1.337633764201610e-7, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.289006690924407e-9, + c: 1.269684950611594e-7, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.222944275064677e-7, + c: -4.128319480481305e-9, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.650116515847434e-8, + c: 1.074807541654058e-7, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.459725956603968e-8, + c: 1.070523183106561e-7, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.015659773211026e-7, + c: 3.130224514453192e-8, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.192519926108799e-9, + c: 1.034901675354432e-7, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: 3.126002304108446e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.223195202885283e-8, + c: 2.845168562165404e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.109887829996478e-7, + c: 6.031823041300299e-8, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 6.057729505260103e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -6.823027053624649e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// e*sin(perihelion) (H) coefficients +pub const H: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 5.066851475000001e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.230660060124298e-5, + c: -3.671173316142774e-8, + mult: [0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.690194962402941e-5, + c: 3.970022963775860e-8, + mult: [0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.584153026129184e-6, + c: 5.755791514309877e-8, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.473398292629921e-6, + c: -1.005411757758414e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.329063898512469e-6, + c: -6.810768114865115e-9, + mult: [0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -9.153363394032012e-8, + c: 3.308573316540284e-6, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.510663333485667e-6, + c: -2.096300016229236e-9, + mult: [0, 4, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.461408480679291e-6, + c: 1.788252006957618e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.319493026807626e-6, + c: 1.802170620651444e-8, + mult: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.513473029042170e-6, + c: 7.060590867331052e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.401895282329927e-6, + c: -5.476082865672235e-10, + mult: [0, 5, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.150337860435950e-6, + c: -2.716561139674643e-7, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.859436497726194e-7, + c: -3.543145995586717e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -8.448032998422280e-7, + c: 5.407063229461620e-11, + mult: [0, 6, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.392991355942187e-8, + c: -7.970711569934183e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.595478859384436e-7, + c: 4.919862734761107e-10, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.375114111381663e-7, + c: -9.116746504830462e-10, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -5.312843559257514e-7, + c: 2.850425731402135e-10, + mult: [0, 7, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.216583894357747e-8, + c: 5.141445799862842e-7, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -4.276098936007521e-7, + c: 6.772390245837202e-9, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.014283613116180e-7, + c: -8.572062488739583e-8, + mult: [0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.049925466253761e-7, + c: 8.301282549462711e-9, + mult: [0, 3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.635738137814104e-7, + c: 6.304500888427398e-9, + mult: [0, 4, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.435692399737420e-7, + c: 1.067041118187950e-8, + mult: [0, 2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.432631027183963e-7, + c: 3.530280281713743e-10, + mult: [0, 8, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.374060110436096e-7, + c: -9.695855713448264e-10, + mult: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.043126293283500e-8, + c: -3.302438262844149e-7, + mult: [0, 5, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.601812882355267e-7, + c: 1.621854645624782e-7, + mult: [2, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.895132595778632e-7, + c: -5.287808251769039e-10, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.853344761180762e-7, + c: 4.793116291912647e-9, + mult: [0, 5, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.559340344268760e-7, + c: 1.624415058263597e-9, + mult: [0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.823756663095709e-9, + c: 2.313728372290861e-7, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.259274209426262e-7, + c: 3.480884367886140e-10, + mult: [0, 9, -10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 5.391374199179369e-8, + c: 2.129523635326413e-7, + mult: [1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.130066915643944e-7, + c: 3.618917197518353e-9, + mult: [0, 6, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 6.218142641363336e-9, + c: -1.904806479146338e-7, + mult: [0, 6, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 8.039959575022594e-8, + c: 1.648365330651523e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.580190794465984e-7, + c: 7.173883304101751e-8, + mult: [0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.553397995718994e-7, + c: 2.715944773893976e-9, + mult: [0, 7, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.507106807483103e-7, + c: 3.125074144883404e-10, + mult: [0, 10, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.344749006885675e-7, + c: -6.708167285578167e-8, + mult: [0, 1, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.330010969036242e-7, + c: -3.152497668708808e-8, + mult: [0, 2, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.240613666672383e-8, + c: -1.220537101877717e-7, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.086995415465722e-9, + c: -1.224683524103896e-7, + mult: [0, 7, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.187379425650238e-7, + c: 2.669649890412836e-8, + mult: [0, 3, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.141737835855660e-7, + c: -4.272499610859265e-9, + mult: [1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.119101248473795e-7, + c: 2.028035857375239e-9, + mult: [0, 8, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.067374488269574e-7, + c: 2.597385996237121e-8, + mult: [0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.015623324888539e-7, + c: 2.667386617288470e-10, + mult: [0, 11, -12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[ + Term { + s: 0.0, + c: -3.612193139215600e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.867028992079713e-7, + c: -9.051465217363802e-8, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.299871137603042e-8, + c: -1.116710039966102e-7, + mult: [0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: 1.844861217822704e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*cos(node) (Q) coefficients +pub const Q: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 6.824113927999999e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -6.689278771253725e-7, + c: 1.542400112585501e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 4.453905328725426e-7, + c: -4.036503700832097e-9, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.411752667134517e-7, + c: 1.680825019161366e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 2.147005281926741e-7, + c: -1.008660691644973e-8, + mult: [0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.409255395043845e-7, + c: 3.252161627442011e-8, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.267661647345307e-7, + c: -2.923930640984578e-8, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.162476232342176e-7, + c: -6.158596222602630e-9, + mult: [0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: 1.381339313288797e-3, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -1.091344274426134e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: -1.864297517390441e-6, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; + +/// sin(i/2)*sin(node) (P) coefficients +pub const P: &[TimeBlock] = &[ + // T^0 terms + TimeBlock { + power: 0, + terms: &[ + Term { + s: 0.0, + c: 2.882281923000000e-2, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.692371931608021e-7, + c: -6.925832353291873e-7, + mult: [0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 1.678483619672549e-7, + c: -3.366755781815740e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -3.517209446346019e-8, + c: -1.447937482316597e-7, + mult: [0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: 3.258235857046023e-8, + c: 1.324546689970735e-7, + mult: [0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -1.053987744848415e-7, + c: -1.760649447636855e-8, + mult: [0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + Term { + s: -2.371302035730310e-8, + c: -9.807216485320000e-8, + mult: [0, 1, -3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }, + ], + }, + // T^1 terms + TimeBlock { + power: 1, + terms: &[Term { + s: 0.0, + c: -4.039078836907815e-4, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^2 terms + TimeBlock { + power: 2, + terms: &[Term { + s: 0.0, + c: -6.232661635102321e-5, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, + // T^3 terms + TimeBlock { + power: 3, + terms: &[Term { + s: 0.0, + c: 2.470048961174132e-7, + mult: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + }], + }, +]; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/mod.rs new file mode 100644 index 0000000..66ab40b --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/mod.rs @@ -0,0 +1,406 @@ +#[cfg(test)] +mod tests; + +use cosmos_coords::{CartesianFrame, EclipticCartesian, Vector3}; +use cosmos_core::constants::{DAYS_PER_JULIAN_MILLENNIUM, J2000_JD, TWOPI}; +use cosmos_core::AstroResult; + +use crate::earth::Vsop2013Earth; +use crate::planetary_coefficients::*; + +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const DT_DAYS: f64 = 1.0 / cosmos_core::constants::SECONDS_PER_DAY_F64; + +#[allow(clippy::excessive_precision)] +const LAMBDA0: [f64; 17] = [ + 4.402608631669, // Mercury + 3.176134461576, // Venus + 1.753470369433, // Earth-Moon Barycenter + 6.203500014141, // Mars + 4.091360003050, // Vesta + 1.713740719173, // Iris + 5.598641292287, // Bamberga + 2.805136360408, // Ceres + 2.326989734620, // Pallas + 0.599546107035, // Jupiter + 0.874018510107, // Saturn + 5.481225395663, // Uranus + 5.311897933164, // Neptune + 0.0, // Pluto mean longitude (unused) + 5.19846640063, // Moon D + 1.62790513602, // Moon F + 2.35555563875, // Moon l +]; + +#[allow(clippy::excessive_precision)] +const LAMBDA_DOT: [f64; 17] = [ + 26087.90314068555, // Mercury (rad/millennium) + 10213.28554743445, // Venus + 6283.075850353215, // Earth-Moon Barycenter + 3340.612434145457, // Mars + 1731.170452721855, // Vesta + 1704.450855027201, // Iris + 1428.948917844273, // Bamberga + 1364.756513629990, // Ceres + 1361.923207632842, // Pallas + 529.6909615623250, // Jupiter + 213.2990861084880, // Saturn + 74.78165903077800, // Uranus + 38.13297222612500, // Neptune + 0.3595362285049309, // Pluto (mu from TOP2013) + 77713.7714481804, // Moon D + 84334.6615717837, // Moon F + 83286.9142477147, // Moon l +]; + +fn precompute_lambdas(t: f64) -> [f64; 17] { + let mut lambdas = [0.0; 17]; + for i in 0..17 { + lambdas[i] = LAMBDA0[i] + LAMBDA_DOT[i] * t; + } + lambdas +} + +fn evaluate_variable(blocks: &[TimeBlock], t: f64, lambdas: &[f64; 17]) -> f64 { + let mut result = 0.0; + for block in blocks { + let mut block_sum = 0.0; + for term in block.terms { + let arg = compute_argument(&term.mult, lambdas); + let (arg_sin, arg_cos) = libm::sincos(arg); + block_sum += term.s * arg_sin + term.c * arg_cos; + } + result += block_sum * t.powi(block.power as i32); + } + result +} + +fn compute_argument(mult: &[i16; 17], lambdas: &[f64; 17]) -> f64 { + let mut arg = 0.0; + for i in 0..17 { + if mult[i] != 0 { + arg += (mult[i] as f64) * lambdas[i]; + } + } + arg +} + +fn elements_to_cartesian(el: &OrbitalElements) -> AstroResult { + let (xa, xl, xk, xh, xq, xp) = (el.a, el.lambda, el.k, el.h, el.q, el.p); + + let xfi = libm::sqrt(1.0 - xk * xk - xh * xh); + let xki = libm::sqrt(1.0 - xq * xq - xp * xp); + let u = 1.0 / (1.0 + xfi); + + let ex = libm::sqrt(xk * xk + xh * xh); + let gl = xl % TWOPI; + let gm = gl - libm::atan2(xh, xk); + + let mut e_anom = gl + + (ex - 0.125 * ex.powi(3)) * libm::sin(gm) + + 0.5 * ex.powi(2) * libm::sin(2.0 * gm) + + 0.375 * ex.powi(3) * libm::sin(3.0 * gm); + + // Newton-Raphson sobre la ecuación de Kepler (anomalía excéntrica). + // La convergencia es cuadrática: en la práctica basta una decena de + // iteraciones. La cota es un guardarrail OBLIGATORIO: con la tolerancia + // `1e-15` pegada al epsilon de f64 (~2.2e-16), ciertos inputs (p. ej. + // Marte a determinadas épocas) entran en un ciclo límite donde `dl` + // oscila apenas por encima del umbral y NUNCA corta — un `loop {}` sin + // cota se cuelga ahí. El comportamiento dependía del build (release + // fusiona/reordena los flops y converge; debug, con IEEE estricto, no), + // lo que volvía el cuelgue intermitente. 50 iteraciones dejan `e_anom` + // con precisión ~1e-14 incluso en el peor caso, de sobra para + // astrometría de arcosegundos. + for _ in 0..50 { + let (sin_e, cos_e) = libm::sincos(e_anom); + let z3_real = xk * cos_e + xh * sin_e; + let z3_imag = xk * sin_e - xh * cos_e; + let dl = gl - e_anom + z3_imag; + e_anom += dl / (1.0 - z3_real); + if dl.abs() < 1e-15 { + break; + } + } + + let (sin_e, cos_e) = libm::sincos(e_anom); + let z3_real = xk * cos_e + xh * sin_e; + let z3_imag = xk * sin_e - xh * cos_e; + let rsa = 1.0 - z3_real; + + let z1_real = u * xk * z3_imag; + let z1_imag = u * xh * z3_imag; + let zto_real = (-xk + cos_e + z1_imag) / rsa; + let zto_imag = (-xh + sin_e - z1_real) / rsa; + + let xm = xp * zto_real - xq * zto_imag; + let xr = xa * rsa; + + Ok(Vector3::new( + xr * (zto_real - 2.0 * xp * xm), + xr * (zto_imag + 2.0 * xq * xm), + -2.0 * xr * xki * xm, + )) +} + +fn central_difference_velocity(p_minus: &Vector3, p_plus: &Vector3) -> Vector3 { + let inv_2dt = 1.0 / (2.0 * DT_DAYS); + Vector3::new( + (p_plus.x - p_minus.x) * inv_2dt, + (p_plus.y - p_minus.y) * inv_2dt, + (p_plus.z - p_minus.z) * inv_2dt, + ) +} + +fn offset_tdb(tdb: &TDB, dt_days: f64) -> TDB { + let jd = tdb.to_julian_date(); + TDB::from_julian_date(JulianDate::new(jd.jd1(), jd.jd2() + dt_days)) +} + +macro_rules! impl_vsop2013_planet { + ($name:ident, $coeffs:ident) => { + pub struct $name; + + impl $name { + pub fn heliocentric_position(&self, tdb: &TDB) -> AstroResult { + let jd = tdb.to_julian_date(); + let t = (jd.jd1() + jd.jd2() - J2000_JD) / DAYS_PER_JULIAN_MILLENNIUM; + let lambdas = precompute_lambdas(t); + + let a = evaluate_variable($coeffs::A, t, &lambdas); + let mut lambda = evaluate_variable($coeffs::LAMBDA, t, &lambdas) % TWOPI; + if lambda < 0.0 { + lambda += TWOPI; + } + let k = evaluate_variable($coeffs::K, t, &lambdas); + let h = evaluate_variable($coeffs::H, t, &lambdas); + let q = evaluate_variable($coeffs::Q, t, &lambdas); + let p = evaluate_variable($coeffs::P, t, &lambdas); + + let el = OrbitalElements { + a, + lambda, + k, + h, + q, + p, + }; + let pos_ecl = elements_to_cartesian(&el)?; + Ok(EclipticCartesian::from_vector3(&pos_ecl).to_icrs()) + } + + pub fn heliocentric_state(&self, tdb: &TDB) -> AstroResult<(Vector3, Vector3)> { + let pos = self.heliocentric_position(tdb)?; + let t_minus = offset_tdb(tdb, -DT_DAYS); + let t_plus = offset_tdb(tdb, DT_DAYS); + let p_minus = self.heliocentric_position(&t_minus)?; + let p_plus = self.heliocentric_position(&t_plus)?; + let vel = central_difference_velocity(&p_minus, &p_plus); + Ok((pos, vel)) + } + + pub fn geocentric_position(&self, tdb: &TDB) -> AstroResult { + let planet_helio = self.heliocentric_position(tdb)?; + let earth_helio = Vsop2013Earth::new().heliocentric_position(tdb)?; + Ok(Vector3::new( + planet_helio.x - earth_helio.x, + planet_helio.y - earth_helio.y, + planet_helio.z - earth_helio.z, + )) + } + + pub fn geocentric_state(&self, tdb: &TDB) -> AstroResult<(Vector3, Vector3)> { + let pos = self.geocentric_position(tdb)?; + let t_minus = offset_tdb(tdb, -DT_DAYS); + let t_plus = offset_tdb(tdb, DT_DAYS); + let p_minus = self.geocentric_position(&t_minus)?; + let p_plus = self.geocentric_position(&t_plus)?; + let vel = central_difference_velocity(&p_minus, &p_plus); + Ok((pos, vel)) + } + } + }; +} + +impl_vsop2013_planet!(Vsop2013Mercury, mercury); +impl_vsop2013_planet!(Vsop2013Venus, venus); +impl_vsop2013_planet!(Vsop2013Mars, mars); +impl_vsop2013_planet!(Vsop2013Jupiter, jupiter); +impl_vsop2013_planet!(Vsop2013Saturn, saturn); +impl_vsop2013_planet!(Vsop2013Uranus, uranus); +impl_vsop2013_planet!(Vsop2013Neptune, neptune); +impl_vsop2013_planet!(Vsop2013Pluto, pluto); + +impl_vsop2013_planet!(Vsop2013Emb, emb); + +struct OrbitalElements { + a: f64, + lambda: f64, + k: f64, + h: f64, + q: f64, + p: f64, +} + +#[cfg(test)] +mod test { + use super::*; + use cosmos_core::constants::J2000_JD; + + #[test] + fn test_elements_to_cartesian() { + let el = OrbitalElements { + a: 39.2648542648, + lambda: 4.1726045776, + k: -0.1758641167, + h: -0.1701234143, + q: -0.0517015914, + p: 0.1398654514, + }; + + let pos_ecl = elements_to_cartesian(&el).unwrap(); + let expected = [-9.8753625435, -27.9588613710, 5.8504463318]; + + for i in 0..3 { + let diff = (pos_ecl[i] - expected[i]).abs(); + assert!(diff < 1e-8, "Component {} error {:.2e} AU", i, diff); + } + } + + #[test] + fn test_ecliptic_to_icrs() { + let ecl = Vector3::new(-9.8753625435, -27.9588613710, 5.8504463318); + let icrs = EclipticCartesian::from_vector3(&ecl).to_icrs(); + + assert!(icrs.x < 0.0, "X should be negative"); + assert!(icrs.y < 0.0, "Y should be negative"); + assert!(icrs.z < 0.0, "Z should be negative in ICRS"); + } + + #[test] + fn test_mars_heliocentric_velocity() { + let mars = Vsop2013Mars; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let (pos, vel) = mars.heliocentric_state(&tdb).unwrap(); + let vel_mag = libm::sqrt(vel.x.powi(2) + vel.y.powi(2) + vel.z.powi(2)); + + println!("Mars at J2000.0:"); + println!(" Position: ({:.6}, {:.6}, {:.6}) AU", pos.x, pos.y, pos.z); + println!( + " Velocity: ({:.6}, {:.6}, {:.6}) AU/day", + vel.x, vel.y, vel.z + ); + println!(" |V| = {:.6} AU/day", vel_mag); + + assert!( + vel_mag > 0.01 && vel_mag < 0.03, + "Mars heliocentric velocity {} AU/day should be ~0.014-0.027 AU/day", + vel_mag + ); + + let pos_mag = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + let dot = pos.x * vel.x + pos.y * vel.y + pos.z * vel.z; + let cos_angle = dot / (pos_mag * vel_mag); + let angle_deg = cos_angle.acos().to_degrees(); + + println!(" Angle between position and velocity: {:.1}°", angle_deg); + assert!( + angle_deg > 60.0 && angle_deg < 120.0, + "Velocity should be roughly tangent to orbit (angle ~90°), got {}°", + angle_deg + ); + } + + #[test] + fn test_mars_velocity_against_de432s() { + use crate::jpl::{bodies, SpkFile}; + + const AU_KM: f64 = 149597870.7; + const SECONDS_PER_DAY: f64 = cosmos_core::constants::SECONDS_PER_DAY_F64; + + let spk_path = + std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/data/de432s.bsp"); + let spk = SpkFile::open(&spk_path).expect("Failed to open de432s.bsp"); + + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let (mars_bary_pos_km, mars_bary_vel_kms) = spk + .compute_state( + bodies::MARS_BARYCENTER, + bodies::SOLAR_SYSTEM_BARYCENTER, + J2000_JD, + ) + .expect("Failed to get Mars barycentric state"); + let (sun_bary_pos_km, sun_bary_vel_kms) = spk + .compute_state(bodies::SUN, bodies::SOLAR_SYSTEM_BARYCENTER, J2000_JD) + .expect("Failed to get Sun barycentric state"); + + let de_helio_pos_au = [ + (mars_bary_pos_km[0] - sun_bary_pos_km[0]) / AU_KM, + (mars_bary_pos_km[1] - sun_bary_pos_km[1]) / AU_KM, + (mars_bary_pos_km[2] - sun_bary_pos_km[2]) / AU_KM, + ]; + let de_helio_vel_au_day = [ + (mars_bary_vel_kms[0] - sun_bary_vel_kms[0]) * SECONDS_PER_DAY / AU_KM, + (mars_bary_vel_kms[1] - sun_bary_vel_kms[1]) * SECONDS_PER_DAY / AU_KM, + (mars_bary_vel_kms[2] - sun_bary_vel_kms[2]) * SECONDS_PER_DAY / AU_KM, + ]; + + let mars = Vsop2013Mars; + let (vsop_pos, vsop_vel) = mars.heliocentric_state(&tdb).unwrap(); + + let pos_error_au = [ + vsop_pos.x - de_helio_pos_au[0], + vsop_pos.y - de_helio_pos_au[1], + vsop_pos.z - de_helio_pos_au[2], + ]; + let pos_error_km = + libm::sqrt(pos_error_au[0].powi(2) + pos_error_au[1].powi(2) + pos_error_au[2].powi(2)) + * AU_KM; + + let vel_error_au_day = [ + vsop_vel.x - de_helio_vel_au_day[0], + vsop_vel.y - de_helio_vel_au_day[1], + vsop_vel.z - de_helio_vel_au_day[2], + ]; + let vel_error_mag = libm::sqrt( + vel_error_au_day[0].powi(2) + vel_error_au_day[1].powi(2) + vel_error_au_day[2].powi(2), + ); + + assert!( + pos_error_km < 1000.0, + "Mars position error {:.1} km exceeds 1000 km tolerance", + pos_error_km + ); + assert!( + vel_error_mag < 0.0001, + "Mars velocity error {:.6} AU/day exceeds 0.0001 AU/day tolerance", + vel_error_mag + ); + } + + #[test] + fn test_mars_geocentric_state() { + let mars = Vsop2013Mars; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let (pos, vel) = mars.geocentric_state(&tdb).unwrap(); + + let dist_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + assert!( + dist_au > 0.5 && dist_au < 2.7, + "Mars geocentric distance {} AU outside expected range", + dist_au + ); + + let speed_au_day = libm::sqrt(vel.x.powi(2) + vel.y.powi(2) + vel.z.powi(2)); + assert!( + speed_au_day > 0.001 && speed_au_day < 0.05, + "Mars geocentric velocity {} AU/day outside expected range", + speed_au_day + ); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/emb.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/emb.rs new file mode 100644 index 0000000..6104c5a --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/emb.rs @@ -0,0 +1,64 @@ +use crate::planets::Vsop2013Emb; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +// VSOP2013.ctl reference values (ICRS, from official Fortran output) +// Line 3 for each epoch: Equatorial Heliocentric Coordinates X,Y,Z (au) - ICRS Frame J2000 +const EMB_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, 0.1117527004, -0.9270100498, -0.4021802015), + (2415545.0, -0.1884496475, -0.9153016306, -0.3970809941), + (2419545.0, -0.4717744111, -0.8220227738, -0.3565918417), + (2423545.0, -0.7127406201, -0.6548963219, -0.2840791130), + (2427545.0, -0.8889625915, -0.4282316398, -0.1857477550), + (2431545.0, -0.9832170198, -0.1622279919, -0.0703684529), + (2435545.0, -0.9854629414, 0.1188731342, 0.0515417480), + (2439545.0, -0.8941873500, 0.3887273239, 0.1685624948), + (2443545.0, -0.7169612488, 0.6210814225, 0.2693037488), + (2447545.0, -0.4700594621, 0.7930197220, 0.3438366739), + (2451545.0, -0.1771587839, 0.8874068590, 0.3847367185), +]; + +#[test] +fn vsop2013_vs_reference() { + let emb = Vsop2013Emb; + + for (jd, x_exp, y_exp, z_exp) in EMB_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = emb.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_au = libm::sqrt(dx * dx + dy * dy + dz * dz); + let error_km = error_au * AU_KM; + + assert!( + error_km < 75.0, + "JD {}: error {:.0} km exceeds 75 km threshold", + jd, + error_km + ); + } +} + +#[test] +fn vsop2013_j2000() { + let emb = Vsop2013Emb; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + + let pos = emb.heliocentric_position(&tdb).unwrap(); + + // VSOP2013.ctl reference for J2000 (ICRS) + let expected = (-0.1771587839, 0.8874068590, 0.3847367185); + + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + assert!( + error_km < 75.0, + "Error {:.0} km exceeds 75 km threshold", + error_km + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/jupiter.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/jupiter.rs new file mode 100644 index 0000000..ed3fe61 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/jupiter.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Jupiter; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const JUPITER_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, 2.9837884053, -3.7723816270, -1.6901903627), + (2415545.0, 0.7069925496, -4.7445829284, -2.0513981365), + (2419545.0, -1.7382880384, -4.6471837333, -1.9499553658), + (2423545.0, -3.8212272643, -3.5628413190, -1.4341490904), + (2427545.0, -5.1281915292, -1.7498001410, -0.6250207356), + (2431545.0, -5.4147718783, 0.4194201580, 0.3118141091), + (2435545.0, -4.6121619014, 2.4953666775, 1.1821569858), + (2439545.0, -2.8475608552, 4.0524137157, 1.8065920154), + (2443545.0, -0.4627146537, 4.7108655871, 2.0307146958), + (2447545.0, 2.0318689801, 4.2537285712, 1.7738331572), + (2451545.0, 4.0011771819, 2.7365785897, 1.0755125254), +]; + +#[test] +fn vsop2013_vs_reference() { + let jupiter = Vsop2013Jupiter; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in JUPITER_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = jupiter.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 50_000.0, + "Max error {:.0} km exceeds 50,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let jupiter = Vsop2013Jupiter; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = jupiter.heliocentric_position(&tdb).unwrap(); + + let expected = (4.0011771819, 2.7365785897, 1.0755125254); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 20_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let jupiter = Vsop2013Jupiter; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 12).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = jupiter.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 3.9, + "Min distance {:.2} AU below expected 3.9 AU", + min_dist + ); + assert!( + max_dist <= 6.5, + "Max distance {:.2} AU above expected 6.5 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mars.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mars.rs new file mode 100644 index 0000000..c7cf6dd --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mars.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Mars; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const MARS_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, -0.1474461434, -1.3278375334, -0.6049474049), + (2415545.0, -1.4949210753, -0.5677164770, -0.2196035382), + (2419545.0, -1.4097862365, 0.7887552075, 0.4001552102), + (2423545.0, -0.0652445211, 1.4309576308, 0.6580631191), + (2427545.0, 1.2751062367, 0.5929892819, 0.2372980895), + (2431545.0, 0.9034102302, -0.9540459212, -0.4621103276), + (2435545.0, -0.7578584474, -1.2100135320, -0.5344072732), + (2439545.0, -1.6471756551, -0.0694871483, 0.0127846723), + (2443545.0, -1.0232278535, 1.1621468626, 0.5607395621), + (2447545.0, 0.5197104541, 1.3038943187, 0.5839816939), + (2451545.0, 1.3907159214, 0.0014012149, -0.0369601677), +]; + +#[test] +fn vsop2013_vs_reference() { + let mars = Vsop2013Mars; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in MARS_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = mars.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 10_000.0, + "Max error {:.0} km exceeds 10,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let mars = Vsop2013Mars; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = mars.heliocentric_position(&tdb).unwrap(); + + let expected = (1.3907159214, 0.0014012149, -0.0369601677); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 5_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let mars = Vsop2013Mars; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 15).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = mars.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 0.37, + "Min distance {:.2} AU below expected 0.37 AU", + min_dist + ); + assert!( + max_dist <= 2.68, + "Max distance {:.2} AU above expected 2.68 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mercury.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mercury.rs new file mode 100644 index 0000000..431a820 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mercury.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Mercury; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const MERCURY_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, 0.3493878714, -0.1302077267, -0.1058730361), + (2415545.0, -0.3953232726, -0.0832703775, -0.0033538163), + (2419545.0, 0.2950960118, -0.2441772970, -0.1610737357), + (2423545.0, -0.3676232407, 0.0409400626, 0.0600717273), + (2427545.0, 0.2077238019, -0.3312635001, -0.1984945320), + (2431545.0, -0.2846205184, 0.1582302603, 0.1140691451), + (2435545.0, 0.1004920218, -0.3870987319, -0.2171791680), + (2439545.0, -0.1477140412, 0.2442561947, 0.1457920872), + (2443545.0, -0.0153852754, -0.4101850758, -0.2174925982), + (2447545.0, 0.0231249166, 0.2719576619, 0.1428649538), + (2451545.0, -0.1300936046, -0.4005937206, -0.2004893069), +]; + +#[test] +fn vsop2013_vs_reference() { + let mercury = Vsop2013Mercury; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in MERCURY_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = mercury.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 5_000.0, + "Max error {:.0} km exceeds 5,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let mercury = Vsop2013Mercury; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = mercury.heliocentric_position(&tdb).unwrap(); + + let expected = (-0.1300936046, -0.4005937206, -0.2004893069); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 2_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let mercury = Vsop2013Mercury; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 4).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = mercury.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 0.54, + "Min distance {:.2} AU below expected 0.54 AU", + min_dist + ); + assert!( + max_dist <= 1.48, + "Max distance {:.2} AU above expected 1.48 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mod.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mod.rs new file mode 100644 index 0000000..3aa4fe2 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/mod.rs @@ -0,0 +1,9 @@ +mod emb; +mod jupiter; +mod mars; +mod mercury; +mod neptune; +mod pluto; +mod saturn; +mod uranus; +mod venus; diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/neptune.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/neptune.rs new file mode 100644 index 0000000..589fc02 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/neptune.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Neptune; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const NEPTUNE_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, 12.1323801234, 25.3226220555, 10.0628233249), + (2415545.0, -0.1360931298, 27.6520562678, 11.3214894525), + (2419545.0, -12.3856600756, 25.1528348111, 10.6033851946), + (2423545.0, -22.4955863232, 18.2841471648, 8.0436712472), + (2427545.0, -28.7387978923, 8.2766903355, 4.1028690883), + (2431545.0, -30.1064751093, -3.1360332460, -0.5343057384), + (2435545.0, -26.3968325711, -14.0307173050, -5.0858772277), + (2439545.0, -18.2523466372, -22.5660704974, -8.7822092401), + (2443545.0, -7.0565022877, -27.3194094185, -11.0063258261), + (2447545.0, 5.3316427610, -27.4815799442, -11.3810940223), + (2451545.0, 16.8120479567, -22.9801038994, -9.8244204429), +]; + +#[test] +fn vsop2013_vs_reference() { + let neptune = Vsop2013Neptune; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in NEPTUNE_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = neptune.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 50_000.0, + "Max error {:.0} km exceeds 50,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let neptune = Vsop2013Neptune; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = neptune.heliocentric_position(&tdb).unwrap(); + + let expected = (16.8120479567, -22.9801038994, -9.8244204429); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 20_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let neptune = Vsop2013Neptune; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 20).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = neptune.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 28.7, + "Min distance {:.2} AU below expected 28.7 AU", + min_dist + ); + assert!( + max_dist <= 31.4, + "Max distance {:.2} AU above expected 31.4 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/pluto.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/pluto.rs new file mode 100644 index 0000000..3261bd0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/pluto.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Pluto; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const PLUTO_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, 17.6213054610, 43.9412232438, 8.4004533071), + (2415545.0, 9.1596791660, 44.4875512788, 11.1198669305), + (2419545.0, 0.2778860239, 42.9818583697, 13.3261124440), + (2423545.0, -8.6130696510, 39.2370669120, 14.8346938492), + (2427545.0, -16.9607735628, 33.1345593015, 15.4466786780), + (2431545.0, -24.0688624312, 24.6550011074, 14.9422382300), + (2435545.0, -29.0024768171, 13.9948403475, 13.1021316473), + (2439545.0, -30.6589088179, 1.8198599397, 9.8043229541), + (2443545.0, -28.0398775393, -10.5511024785, 5.1547952585), + (2447545.0, -20.7970730811, -21.1416023203, -0.3309844592), + (2451545.0, -9.8753695808, -27.9789262247, -5.7537118247), +]; + +#[test] +fn vsop2013_vs_reference() { + let pluto = Vsop2013Pluto; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in PLUTO_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = pluto.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 50_000.0, + "Max error {:.0} km exceeds 50,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let pluto = Vsop2013Pluto; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = pluto.heliocentric_position(&tdb).unwrap(); + + let expected = (-9.8753695808, -27.9789262247, -5.7537118247); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 20_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let pluto = Vsop2013Pluto; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 20).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = pluto.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 28.6, + "Min distance {:.2} AU below expected 28.6 AU", + min_dist + ); + assert!( + max_dist <= 50.5, + "Max distance {:.2} AU above expected 50.5 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/saturn.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/saturn.rs new file mode 100644 index 0000000..bcb29d3 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/saturn.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Saturn; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const SATURN_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, -8.5151099046, 3.2825565780, 1.7200893604), + (2415545.0, 2.3770579174, -8.9996266643, -3.8169867762), + (2419545.0, 5.2172917580, 6.9815327926, 2.6579637103), + (2423545.0, -9.1381889728, -3.0134497674, -0.8520810205), + (2427545.0, 7.7506635038, -5.5025418118, -2.6046062335), + (2431545.0, -1.7986439511, 8.1545304723, 3.4443131779), + (2435545.0, -5.2734506611, -7.8866680116, -3.0300154867), + (2439545.0, 9.5012015992, 0.4527726650, -0.2214084263), + (2443545.0, -7.7367291471, 4.5131027003, 2.1962088916), + (2447545.0, 1.0138796256, -9.2197781359, -3.8512664946), + (2451545.0, 6.4064088704, 6.1746578061, 2.2747707349), +]; + +#[test] +fn vsop2013_vs_reference() { + let saturn = Vsop2013Saturn; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in SATURN_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = saturn.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 50_000.0, + "Max error {:.0} km exceeds 50,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let saturn = Vsop2013Saturn; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = saturn.heliocentric_position(&tdb).unwrap(); + + let expected = (6.4064088704, 6.1746578061, 2.2747707349); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 20_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let saturn = Vsop2013Saturn; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 20).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = saturn.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 7.9, + "Min distance {:.2} AU below expected 7.9 AU", + min_dist + ); + assert!( + max_dist <= 11.1, + "Max distance {:.2} AU above expected 11.1 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/uranus.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/uranus.rs new file mode 100644 index 0000000..95310bb --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/uranus.rs @@ -0,0 +1,88 @@ +use crate::planets::Vsop2013Uranus; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const URANUS_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, -16.4159097008, -7.7936503250, -3.1804126500), + (2415545.0, -4.5170400561, -17.0119258599, -7.3868736325), + (2419545.0, 10.4746921789, -15.3005867330, -6.8500911185), + (2423545.0, 19.4279722859, -4.5746255506, -2.2790261954), + (2427545.0, 17.5128800292, 8.7263262152, 3.5736558506), + (2431545.0, 5.5570811634, 16.9308451272, 7.3365906981), + (2435545.0, -9.7178358757, 14.4546349234, 6.4686670469), + (2439545.0, -18.1327079367, 2.0613281354, 1.1596916860), + (2443545.0, -13.4822148842, -11.8237898401, -4.9874755478), + (2447545.0, 0.5625964390, -17.6846990306, -7.7533189975), + (2451545.0, 14.4318565807, -12.5062632452, -5.6816829828), +]; + +#[test] +fn vsop2013_vs_reference() { + let uranus = Vsop2013Uranus; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in URANUS_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = uranus.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 50_000.0, + "Max error {:.0} km exceeds 50,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let uranus = Vsop2013Uranus; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = uranus.heliocentric_position(&tdb).unwrap(); + + let expected = (14.4318565807, -12.5062632452, -5.6816829828); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 20_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let uranus = Vsop2013Uranus; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 20).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = uranus.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 17.2, + "Min distance {:.2} AU below expected 17.2 AU", + min_dist + ); + assert!( + max_dist <= 21.1, + "Max distance {:.2} AU above expected 21.1 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/venus.rs b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/venus.rs new file mode 100644 index 0000000..d526fc0 --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/planets/tests/venus.rs @@ -0,0 +1,93 @@ +use crate::planets::Vsop2013Venus; +use cosmos_core::constants::{AU_KM, J2000_JD}; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +const VENUS_VSOP2013_REF: &[(f64, f64, f64, f64)] = &[ + (2411545.0, -0.7178452043, 0.0139241146, 0.0517532468), + (2415545.0, -0.1846601606, 0.6292563055, 0.2945858040), + (2419545.0, 0.6061342811, 0.3741316134, 0.1298042734), + (2423545.0, 0.5740437374, -0.3938385063, -0.2134485135), + (2427545.0, -0.2299142475, -0.6331803015, -0.2701579257), + (2431545.0, -0.7188539175, -0.0162132431, 0.0382334294), + (2435545.0, -0.2164924053, 0.6199261557, 0.2925136930), + (2439545.0, 0.5874139778, 0.3983146995, 0.1419598205), + (2443545.0, 0.5935137101, -0.3693448084, -0.2037088644), + (2447545.0, -0.1985961433, -0.6413855038, -0.2759551516), + ( + cosmos_core::constants::J2000_JD, + -0.7183022964, + -0.0462742464, + 0.0246406381, + ), +]; + +#[test] +fn vsop2013_vs_reference() { + let venus = Vsop2013Venus; + let mut max_error_km = 0.0; + + for (jd, x_exp, y_exp, z_exp) in VENUS_VSOP2013_REF.iter() { + let tdb = TDB::from_julian_date(JulianDate::new(*jd, 0.0)); + let pos = venus.heliocentric_position(&tdb).unwrap(); + + let dx = pos[0] - x_exp; + let dy = pos[1] - y_exp; + let dz = pos[2] - z_exp; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + if error_km > max_error_km { + max_error_km = error_km; + } + } + + assert!( + max_error_km < 5_000.0, + "Max error {:.0} km exceeds 5,000 km threshold", + max_error_km + ); +} + +#[test] +fn vsop2013_j2000() { + let venus = Vsop2013Venus; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = venus.heliocentric_position(&tdb).unwrap(); + + let expected = (-0.7183022964, -0.0462742464, 0.0246406381); + let dx = pos[0] - expected.0; + let dy = pos[1] - expected.1; + let dz = pos[2] - expected.2; + let error_km = libm::sqrt(dx * dx + dy * dy + dz * dz) * AU_KM; + + assert!( + error_km < 2_000.0, + "Error {:.0} km exceeds threshold", + error_km + ); +} + +#[test] +fn geocentric_distance_range() { + let venus = Vsop2013Venus; + let start_jd = cosmos_core::constants::J2000_JD; + + let (min_dist, max_dist) = (0..12 * 8).fold((f64::MAX, 0.0f64), |(min, max), i| { + let jd = start_jd + (i * 30) as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let pos = venus.geocentric_position(&tdb).unwrap(); + let dist = libm::sqrt(pos.x * pos.x + pos.y * pos.y + pos.z * pos.z); + (min.min(dist), max.max(dist)) + }); + + assert!( + min_dist >= 0.26, + "Min distance {:.2} AU below expected 0.26 AU", + min_dist + ); + assert!( + max_dist <= 1.74, + "Max distance {:.2} AU above expected 1.74 AU", + max_dist + ); +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/src/sun.rs b/01_yachay/cosmos/cosmos-ephemeris/src/sun.rs new file mode 100644 index 0000000..e1329ee --- /dev/null +++ b/01_yachay/cosmos/cosmos-ephemeris/src/sun.rs @@ -0,0 +1,106 @@ +use cosmos_coords::Vector3; +use cosmos_core::AstroResult; +use cosmos_time::julian::JulianDate; +use cosmos_time::TDB; + +use crate::earth::Vsop2013Earth; + +const DT_DAYS: f64 = 1.0 / cosmos_core::constants::SECONDS_PER_DAY_F64; + +pub struct Vsop2013Sun; + +impl Vsop2013Sun { + pub fn heliocentric_position(&self, _tdb: &TDB) -> AstroResult { + Ok(Vector3::new(0.0, 0.0, 0.0)) + } + + pub fn geocentric_position(&self, tdb: &TDB) -> AstroResult { + let earth = Vsop2013Earth::new(); + let earth_pos = earth.heliocentric_position(tdb)?; + Ok(Vector3::new(-earth_pos.x, -earth_pos.y, -earth_pos.z)) + } + + pub fn geocentric_state(&self, tdb: &TDB) -> AstroResult<(Vector3, Vector3)> { + let pos = self.geocentric_position(tdb)?; + let jd = tdb.to_julian_date(); + let t_minus = TDB::from_julian_date(JulianDate::new(jd.jd1(), jd.jd2() - DT_DAYS)); + let t_plus = TDB::from_julian_date(JulianDate::new(jd.jd1(), jd.jd2() + DT_DAYS)); + let p_minus = self.geocentric_position(&t_minus)?; + let p_plus = self.geocentric_position(&t_plus)?; + let inv_2dt = 1.0 / (2.0 * DT_DAYS); + let vel = Vector3::new( + (p_plus.x - p_minus.x) * inv_2dt, + (p_plus.y - p_minus.y) * inv_2dt, + (p_plus.z - p_minus.z) * inv_2dt, + ); + Ok((pos, vel)) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use cosmos_core::constants::J2000_JD; + use cosmos_time::julian::JulianDate; + + #[test] + fn sun_heliocentric_is_origin() { + let sun = Vsop2013Sun; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let pos = sun.heliocentric_position(&tdb).unwrap(); + + assert_eq!(pos.x, 0.0); + assert_eq!(pos.y, 0.0); + assert_eq!(pos.z, 0.0); + } + + #[test] + fn sun_geocentric_is_negative_earth() { + let sun = Vsop2013Sun; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let sun_geo = sun.geocentric_position(&tdb).unwrap(); + + let dist_au = libm::sqrt(sun_geo.x.powi(2) + sun_geo.y.powi(2) + sun_geo.z.powi(2)); + assert!( + dist_au > 0.98 && dist_au < 1.02, + "Sun-Earth distance {} AU should be ~1 AU", + dist_au + ); + } + + #[test] + fn sun_geocentric_various_epochs() { + let sun = Vsop2013Sun; + + for days_offset in [0, 91, 182, 273] { + let jd = J2000_JD + days_offset as f64; + let tdb = TDB::from_julian_date(JulianDate::new(jd, 0.0)); + let sun_geo = sun.geocentric_position(&tdb).unwrap(); + let dist_au = libm::sqrt(sun_geo.x.powi(2) + sun_geo.y.powi(2) + sun_geo.z.powi(2)); + + assert!( + dist_au > 0.983 && dist_au < 1.017, + "Day {}: distance {} AU outside expected range (0.983-1.017 AU)", + days_offset, + dist_au + ); + } + } + + #[test] + fn sun_geocentric_state_velocity() { + let sun = Vsop2013Sun; + let tdb = TDB::from_julian_date(JulianDate::new(J2000_JD, 0.0)); + let (pos, vel) = sun.geocentric_state(&tdb).unwrap(); + + let dist_au = libm::sqrt(pos.x.powi(2) + pos.y.powi(2) + pos.z.powi(2)); + assert!(dist_au > 0.98 && dist_au < 1.02); + + let speed_au_day = libm::sqrt(vel.x.powi(2) + vel.y.powi(2) + vel.z.powi(2)); + assert!( + speed_au_day > 0.016 && speed_au_day < 0.018, + "Sun apparent speed {} AU/day should match Earth orbital speed ~0.017 AU/day", + speed_au_day + ); + } +} diff --git a/01_yachay/cosmos/cosmos-ephemeris/tests/data/de432s.bsp b/01_yachay/cosmos/cosmos-ephemeris/tests/data/de432s.bsp new file mode 100644 index 0000000000000000000000000000000000000000..199b1bcb029308dfa52ef2944f162de98ee9d2df GIT binary patch literal 10895360 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Ⓢ5lQb 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∠9lSZQR!RQtM+Yw}L*~U-g-pxX;UVTN-{+#=l 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

f{XgBFuXd4%nTwUzcJA{% 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
6yDv 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
l4yUQ_uJ)AR^|O}?8b8Y z`R>{=@wmMaKiIR+$hzYl$A;f~j|nZ~I^4qq4&Sv45#f7(_55dP&zlZT6%*1wr=IL+ z&Sicx=(U`qZFzX1&Agijyg$UBQOiqmaNIqiUpztb!1Ay+CE?rd?2kNuV!74CnfCo& zEcZ_S4BKyaT1(0(kk8(8gMgrC@V8b>|{e zZM)T5`ZzayJ+;@xvLHjfxb)z+*+0zBpASBm#kY>PnN`p+>tmg~Sn+m>Br#p~_7 zF38-sQO@1hky;}cAFg88ywabe{wm~tob)+}@Kt|utVNPzre+-4FE)3dkF;-w{fq;mKQFmz z?)PqNugi-5YNvl+sZgf7Wnb$4Tl%r7iFTqZxF+21`D(kd=frHWf}4BQH*m6u?dv)C zFpbYaW|7lDMVo6}dE~4z)K54wxQ26m?WM6248%VY7p3ackI=h{OXAqMcP= zPG)mhKBFxzW!uI5N3~}kKOCuKpFHc%)D`~>_XismJLH$2-B%cM{-}OX**>|BJ--__ z*zHqzP}bJud}MF^)hUIm?=phRU&ZN&@Xh=FO)=_1l4CX3@+om4PTG2JZjtVR(-$`{v)nLe|5V3L%}AeCdp+C6!y*s8>^B~_ zwR*CW(_U*)lUaK4e!IQ%)c!VP7TcBCO>vC5D{Cj!c;@65x23j>HCq?14eL3$>_E&Z z11C?%Lkr(^2Aiolx~^b5zqq&XzyqHI&SZC{_o_up?8Me@(czkskd2nE55#WTkfrFR}y^6+-LLq zy^Q@I%QmRjA51v9_SOw^3CGB!n*YbkB^(z#`|K67W2pn{LxE>=U6T*^$6Ijstr9-4 z)6?Wv!T($PT`WKH*}QAte@e9Fr%Q;#{%NL$v(7R;+7~oeGHj|epWU?^$sc~t4Y9NE zny6?pPsmPMX0h$p=aBQOZ%;&oZ)1WS+k=1x$Hf*$3>Gg+aXdAr@xmK-xr2Rae@@t@ zJv>nV^V&HZj-~@$DrygImq{I1xAndR@8S>k|F53u*`T=1UdklyN6w~V`;bI|g2y46 z_WXJo@v9v!*~NtZ@R(@cuurobW!QnWrmlirWq@e$M@1zGkB1 z`kOK3SGK7*>aeVu`rrWZ|+@^Mt_J7cQnD(U!OkKw&ek4XoFuDhMyol$W>-n0J1%3mf2tiI&t zFaGm>zZ}?X1jf!H&*5Cbc=9&^@^O4(D`ft)~Yb z)vQ=%Af9yK+v5o<<~|B^2obJib6g|ka43mKX+hsr`@9(o9t&#J+B-<5@+b;9@1Jr< z{O*-7(fyIDM0smAT-$g2wdVC6sm^^{?}RS>@mk+5DIxq^t9bdr=>Ly59+Av)ym!r% zw_=O5V`jbd&;G;r4y4XeewLB6;DE7a>rSc zcjgp(^(omm)Mo_QOB&7mzdiDw-44m=pVn#b-8ao*%f*>WllR%%8Sd-J3*8qXuWfzU zs_@_(|w#A-HZ`z-Y*In%eVp>(E3I4R3zIWk+?aOEEbKA`_eaE%N zee*Xg{q!yZ(m(cZM})7;@>57H`<=_@3SqEKKH98*m2s69s6Ef$#HxqWp;|o zhxOpIblcg?jh_yjP2QvbFk<|C>NqtkwY$E#9Bv!3n?nyeAF*6Em?lk!4+rdd<$gl@!ld0cin z`0StQ(n;Y7ju%#QTtBt{mBXJ4Z#?Q2K04sc9qt>vZ{7h5CG7>qD+C;_A9^nE1=@D-?-T%g@gL&>zW3FW#VL zpM&8+p+14;lmn|3!b=SloBii^XCil-41C$Ks&hc}!#7It%g-U;cl2d^9UAHS+N%TO=Zez8Tm z#Q|pS{ZC%_1r~7q-?!}YiZrhFop!r|Id}D-szxZO-y0PO7nwf?SyUJvS*rGiS>!t-Y23l4em_Ora_sz==2e>Bu@W1w!*I};9%20u`2kg5vEDA%i z7VfVwH+A0{Az*+1`7{;LKSuVi?j%S?8$H`+)OKk?#=}GVvR*Q~NU4`NdUbuv+oP-Q zC}!)Qohz?(&~?kiaEE}M4og-{(2YK{!J&tDORscp(t(=^Li-}@%?^amKP2?7?zesX z-6Lvl<$LUJe^EYsY3IcKDr;xHWaT#7zx%Lbr2cOedw2I9&mBvT?$bE3@yo``+rZ&l zTaF0dSsQJy3IA(4$TsQThv6C^#PG zv)B9SuG?ch$1XE!?wL^Gx%;NP6y7^Uzs%9}Bm11dinN35%4v+=oN5Q}WX4AKReyFk z(;RJn;mpJXa=e#LEnb*&;L?o$F{hKv9GIV-lwP{%;r>dk!;_*;Y}x;uV+r%jj28R6 z>@90Q{W9I(@+{|Ja3j-xZg;(7_a(2{y}YWiVWm;uzDv65KMozscVt;wzo6!F(7{VR zO>_FBddgO+z{X?Ob@hS}$_OUG} zzFhO6c3<^8mfclRI(3dUY%j_U+0B`TieT=pXZ-BC^GF@ z+cROofi|I4ibp&=91K#zRtw)}cF;?|Tk~KRJ6f;z43AwOebB;r_uaoA zz8%Q^BH3WE=$1p4(tXjLW&H^*xUcVEpa-fxlgV$x|bDSL&IWpTpR7wl4>OfxT>xMW{!Adkhv z73p?5KP+D;y;j~=cHs2vgrzkHx3r6I=Hg2~c!AgJEdztJv$3O3X&i1dg=w$MKcczoG6%{h9LLE%FZtlMi_VYD>!J?k+P%E+(UHlq z=1%zW8G2_Nx=t1Q2lF-^_?C43r>c^v!xx?VHx}%>y+5{HlZ9bk_kP}ud>Wmv66|fc zmY%A3sI=eTeWixQ^E-BdGb9&R9qie6t4u$7{|V-OyEe?L3#;M)hwtiiMELd}JLaEz zvFYFwQ(v(V{ba}e{Yg)oZpb;>&0~&bnsf8O5996{^|&O5JXWS+%}&V!*Sk+G679aT ze`>GQ#=4Z5_S<3u7Fyj1+aGXx_a8HDKKmaT`d3_y_w7@4pIefXpK5pLh1d(v^~OZ8Ipk?z?E&_y zG0RV@7&&Z}nIX7s_sjjSq>8d9)J(K5+sMD-+zPAxAHCKqoNj-=@6ZzOc`LoQ+m)O* z`L_9I#Xg%0OMkGk=-I8~FbZFB>+#+l4AvUUs!9)LFgWSB9S=UZNqferL zilp{CtX{T^L11pdfdK8#OMY%qaoB!x=DFW(H}-FuQ!jq}VwL@+u2&nl*oF6}OfO%n z68mff4!O@0UXWq4f$OzW@yBQW4~xw= zI~>~A`QS@n;sL>eEwir2vpLK^_3WP9wu}2OixtiLdR5x~#ixokA2y@?!3S$+#!oxD zFM3k)O2uns`}}=-B{v+j+b1(^g`@)0PuuQPxixFD?ttg#6)9y z0j6mQ9=n=f?tian)z_6fWq;&;aoMm0&;3y+6B7EpZtv5*m2|^eaHieCS&h@XEwk;! zP9!We+N5Py7AGiUEA!KKjmDvQy(;wwz4qJ0zWF8L_|nJ4|(fz$(+c7zB^9mqIgx1ROn2YdTNuX7nZw%Px2 z*M0W_MwY!y}0>X(ca13_S21)r*>Hv7s}4zUSwA%b9HyJ zXsBKL-hljPVa#?9&DWSbv#CCKVg3b%4aPo>4_+*)ba#<-j9i;wn6z@z0e9mU@fA%K z2h8o|&wLa#J;0o^lzTnbhy7VE<=m?$%-uij;=zhm4}<-CPv^9{-{-csH{hOjT=J@2 z@Uy>q&1zHZ?l-6(FM=F-SMRFX zdR_P6$Gs_YnYEuDI3>;W@N{b80T%C-bt^f89R8n7XkT?f%7JThOrrIitMYF_)>DA%{XM@f%pH) z%>Uo^Jm6@gs68p`)BZ2lEEE^s+i341_nOgaZHvA2Qenx~udepH>nC!FGW@jLUp!G= z#C6ub@C4133x%8ZX}tX|!rcz(AN%?u!q<{-*{<5y4#!7(|9gB03_2L`xh-YZQPYDO z2ewGGti5{RfwUfvx9S>)=Kmevww^C`D9)&wxUgE$p<%J3_S$W)_n)Xz{^q5s?|0fC)7pBjC+W$)y(<0Uy+@AO2?d*aFFZ8G zZt`i?6%*{84mw}{^CK%F!SPDLkEvQuUpoBbTz=Sh!=nQijxgNK-!tz(%(u{{xgUic z)H~8;*u|9`w9V4b>|6BAUPhsx`MG_YebGMi|Gs}S_M26IQs1-0bbq)VgTbnbXZ!v> z=v~S>Ym?pgg%kJvJOJq*vwI-I_tRaQHs%{Ojw&uKtaEkq4i+0sZVxOmJUI8o@{cj6 zKRZbBi9L+T-{(-|*Q9huHuXSH^S_<*?|B`tPb$3kLj1%2UE!UJI=ZgePpWqFRCJtf zuNx_*J8xy&{;rx+GlT9L?%(Sr`)1$Q3wDBLn=Dz+9<`HsHM{snOs(T`4{_0(`bmyK z!qKfUhm8&<&XO*>d;9Z&j&rjGZv9^GAR{cVDzm-OfvsoD&GN~d2O_TXMe82mKX6iU z6aTw^2ls!DY*O@3nrR=L+am2RnPmS$C)81tLw5hvg%`Nbi2mG{`F&|V%aWRX%k@(} zx=hJ*d=%C?+hAj)V`t$eyA#<82N(WeTG1Eu@<0oVk9Bd!REPAk>9w+~B@UL`r}!v* z;d98hI(KBPJi~!kr(2mePT8|RgqP{OrB|Ch-{U4_*_JSSqld38I`kO!SA6?XZMOFH zzHd7_zL>q53hrMVbV7u0Zesj0wKL;uK zr4d#Q>ke?(DjVfqZ9EY2_HyFt9WD-ar;paf=(9RhJxH3hGvnrdzyF-d7Ax!b|9H6K z;sfbi`{Nh>+~7RJyI;YHr9^M{zkM0|M4wCf?Xr`8^U;pgsL8Q>`PcT@Go21joA#^W z>mu`mr(N%hXc=dCcHVz%jd9*PxJCC zvjg@Sr{!92Wh~r(ZN}ZE^oug~rFL1{mftqAFJ2{_u|ewjzI*3Zs z>DldR&Rc)m$6sQQ47#`5zV*S<&3lhc-0!qBfxkG=WdHYP4e}hXRqT~zb8>#(IKFSn zWii_o6CnNLYFkA3zSpQ_Kl-=npz-SboQnGy2W9WF2|uzoatu}Yp}|vd%b~jmt7w@)zx_`-JsROb01z9_u2fg>& zf26*t+Tkpp{bEx`qZcjH?9#XQ&)Gd`&OXWPCG$Tkl{senY*fG2ly)%afLa3MTh)V^ z-tqHe%Rf8py;#>8Dm3Xp`o>t(uL(H^{wAJWCmCYqV0843;rCAu_s_T^^oze>%l_%y zh628RE%pfq_NhFLG26d<5BJ?Sj7PAvGl2D zV*aC`gX?B)ev$lN?%>1yIsZI!9y{!KVH2d_=zV~F>s&^S$fN@$hgp?36stL~9WfVO zGiA?y=XpM+D<-bqzhRC2imKNo_D;_Cnb%}V?pIW+DOXweb6-%pL&z-o<96Fl-7Y-w z2+}_`wLpY#USsoL$%9=7x%JgF)-!k>+)>^l)4RdYQ6wukWyO=L2R2_8J8|>yqyx?t z_cY=J6CA>Jo}GOvLiT{y`UJ@zmM84LOV>U;_ORKWH#a9&b6wPa$ppvOs%vHK=d8J@ zYd!74zBdUAzU`PvFO7=lMPkk>JiI|FLgk-(IG^>(}ifl{>w)pU&NP*i_nA`f9M9kIldSav6U|({=U+tec__ zuGv*t!@2m|fh&6_y=Iww%b_cw)F3Cn|A5Yf*A9n^G#&DUvd=nqFgTdw1NYzF z8zI8?ZB?pH^V`mYoV$vn<_HBjI?olFxVBW&@xSg|=@q|kAF#_i??0~&6{vQCgJMup7pK{-t|dp*G_!if9R+btLy!Q{nOfmZlAo7ZvRc}Q=qr2!TyP} zB9@;jeq*P-;eSkA_QHKZ&yDXq)pxXuJe_5FZ^dWZHFqa%HQbndu;p#gr0JDW2iXFQ zj;s!2a&+JD-sPXn8HY@h$*ZR`G#wCd+F4^HVd`K~c`)kIwcGo>>s30~q`UX)F5DJ% z@(yq-nu$~W#6|OXFhJ*3z1CB$CvA)cP~0B=eS9@)$i`in+L-F&%AQPKgr?3Dff9vnCEG>C=IUU&JQ@Nm_A`*PoH{Ig#L64TZYwFD%s!JK3r~k>rq4L!B=m0cOKjqeDK%g;LxuE zf{t$W$EUG#?RQu-|JuL#6ABLOn!Y_%VzG(?vu>+Ldi9O{7a1xVrk$#?pO@Omr8-%7 zzXW@&*in(U`#2AEWkkJLXSeJow#5DzE9&*njE2QnP5lSG&NQZv-54DOvm@_3Vkg6$*Fn=Bck#O3d?WXa8C->OCe1*3ceT+Nz zz4P7ew>rjlUrm12w6v~cwws=`e3Qt1VJq>jr0T@Knu8H5UnNie?tD*O!grJ5i7V_= zlO1cP7A}}&l<7FbHBB&4?eBpYx9PG==G;D@?W8|%VoJ#Yziyd(GfQ+2xVr0zJ0;E9 z-_QBHOKWSZeT9m3>E8fv`?M3y`uDza+JBwxU$p(^e!Bxkf(o%yi|r<`>U;`#Cug_& zP4?WD^3S#hw?`ej=H7F#|94YNEQyVM^#{4-T^T>hYudx2-kfy{ef7A1<89Z-F{ zU|w>z#(}@bSl8^E@^Zgex^33p)+zfJ>UggWPxss}*1w%!Q1JG?N7^ZW*0s;Hn^Bx~ z+#@F2?kT(F;`JX5?Uwi6$eQ_q*>3jT>72$2^#`l{_@3<9BkAatRui?PTEcN#)79*W z6PG&Nf4M&IMr`tdGaLWs{r(|*;N14L?C;cX@1MI+d;NEvj{VcOmTEYrJM91Y!0zN< zhDZB88vVL)O3lV@!TM8)ZU&)tJcUyHKT2fn^gQE)?_Pfc9^bhxiwNIqq55}IYa1Mw z1WaAiJvqhE=(}~@g(|s&W;rja&*nWm@OS@VmZ|(r2k!7zHGs;8r#)3g@$Wv^uUUR9 z=T`1E`xo~AqV-=E+kbG=tN&B4X+NR+%Db<^m+WRqZ2Gp(w{hS7qD57&$|CliQ_($h z!ct(L+xzRgmqfN5OfFg`tZ$d-IPu!$7Ksfij`C6}CFd9p9XMIQ{kpch>j3-Ik7d*H zTn@{XmBWNvWkPfOVld?bA2WImX)nq`dgpceR9)xUZJzd zF8qmvITv@Zo$K8|NtHd;G7OFAm<)!5p|Ir%`7 z=YhMcW>*{#*YV?ip<#L;S~ijIx7dgM8=g&z;FvLY{}z#XlUNt(?@zn-RP(1ZkG+=N zL62Pjt9Jei@~!UsPO)>mQ2)i!)Z1?Uw!pRtA@9NAJ5d4=zB}>)c~=V#bbh4_02a zzjJuObc?zgdliAD&srZk?>{+l=6$vEqWiZRl<>{^acy7Nu|?BAv3KsPvi$Z@UBblf z&blewr!JKpyzbokyHY*N@%aV2kAK^w9b1ED*QzkzKQNhn)pCvM1qVLbH!WYdBji8= z|LUI?=DphA@J(z&PX0;zo4hXnT3=4F|M0{A|IOV&_J?~Ha9-N=*KT|7o(X&}_U$`z zKxxO<8I$)#Z}5NOZy&ZVEM<+Ct90Q($AYx~W`83c*UWgpvHgXJW1MhGoptz$1Diw* zV`n5!JaBJ?ix1mN&jT?&Rnb{KpY~5|(|fu{cay#OJ^AkRJ1zF5ml9k3qiT1&?R%GpgNcT@~B3&)z3JENm;Jf9x%c2;V5Nz5@?ZIvfx7&2yEi2|B2M zS?f^TNz;QXt+QFx%C8<+v!cGKJ!FkTDQk(j=$&GRYn_+xEBY!r7;JSY%h7tX-^0lG z((|5u`}cQz=h|CRx}RkcKZliufqg*x+2^rlJofCelWu3$oVKgUKRc`KV8*`vTU!4$ zE(vke?Z3lw=X{Ri_q=_D6P4Kxp0{_BaGd_>07vkiynjy14|HZ+SbIP<$l(nC@_joF z7&$O1@2tC8`^o;(R<1jSvvT+EkiMpB@u7OZ(DL#G&ofT@xzu&n&WnA#@6J!ls}o(0 z+dUHU*E{iIie1ftt_$ZEJ0ASB$a0xcWP+pNE8BpnaQ6Hn(p8H z-m&o`@3VaudgfT)SKDm2X7iG8i64;uF)JS;e9!%Pr2O(yjpHvi4faI4yn|8Zb7%6V z86ITR4X}uK@!8?$nZ%6aN&6fu*Bxv;vMu$%|7!0KUtW71IQ4vOLf)-+`&Tn=I{A0^ zHTz2I{JXtBrrEFHF&48;j^AG`Qaa7_qTznu46DKooR{ssE$=q9{CL!^_FnPnmld^+ zk7XHI8Re23h0mV1nRL8yqYSR&KkprP1MXN|}7?U7iCo z1e>HRAMqbp9D0)P=A?uB4V6D0IlXO&wa05 z?=D<$xL{x4-scusTQVIFXQ?^2EsS)GEaJ8MP^)mTnBzo`rN_$yj~Cq8I`{chho-6C z2j_5=IEc!~%?|S5b-2LPaA2nu!+{rjpL*>w-Lqfk8V|#wEp7JBO9S2C=Y`qV@o)%9 zW-{)7CbueM#@W~V);yF-w=A9l?jP^xK!opNhDHms=@ADxgO{~E-CT6Ac)>zw$$!7jgd6z=FGL{^_bQD!bxDiLiMJzYjXbWW0v~X^pJbE-M`5}hoelJ9G_g$ zDq8Z{=^%ga?wRZ6m>--Merghn+#?508^^je7JD4r=m*Pz7lgvYmz#(Aoaf8Rdf{v)MzaI>sc)y$yX4p}ebbJe}9}A0j?z`;`Bo5yRygYG#$@FWp@6R{d&-?I$?9p2) z_EPO`GD{dv?fcAWQ{?Lp=^s}zBf@uWcW)}&zovsX<`z9=KbLWE&q?NE&s>ZgFV%lK zp(A(8L3IM#&8do851bLbTW@ta&tcb}d-1K-QVz27j)v_%_Gka}uU>B%w(hpy&;6&| zb6>RmNo}JuybHYcKUi&bK;t@}{TtR=?!BxN?bfB*J(J~{vyY|W_p$X7WsWP-?`EX- zrX9>)QMmTu1=WMo@|LWOD*o)y^nPV>Tlk~{uZ>=uid4)wVDq4=?5(SrgYda6Uwxb& z?Y9lQYCA=8%l^0BX-zv#TI{QgZk%|#$87)dIWd*Zt&IC0`QFKSxbLdnxno)z(-ivm zG3%x*QQnyESjQ;!BI{$&L2W_f<;m59#TZw3GX}FY2?0 zrV!(CyC3WGxidRT!Rgod-(mRq4`NKGyQ_C}9ejFN`Lz5VkAo{O&1_r0#?aADDx_h~ z_p1ly#&(KdoHOY_tas9+H$UPXO1D4y-s~!Sz#~-b!PmqS_W#tBX1L`w+xtE^wD?_m z)c(m6-?hj!%i5PY?c$DFb77xLo1F4&>FRy4=G9f92C;S)2Q=p=Kk_=*{^;Q+3+3#C zN13YZ+g)Bc)K7l=mv6%}hr7apPO(i34mff6|2o#};qXn#d&zPuW`|3B6S$T!+}OXu zi*xlYx0&|uw(Qw;?V;EHwfldiy9d4D(q+aY6zv>Sh}ee_^F5S*C5u=Mm^`@;w7jHmk-?>~{c)=oNI%KrF~ zFPr@joU;>8ke@YyYstR7GKXINU65{PzEk+sF-O&X4mU+j_4d{rOnM=&Rsn7d2rr)VqawU3y{>4+v z9VVsQvnxA#K2tW>uXD@VdV$*;yJgJXpC-mF-1p7He8UPCC%gYFx30&UaN7yLGV{+p zlzgyL>HgfGB~b@CB2NY^&t`Ir^G~(S;6CGEb1TGADD7u$KWMdj&KQkpPqj6K!HT< zCnd)uhjz_}kN@43JRm2k_qD|2&i?5!%LUSTX4+rlKl|Bzdf5IAc zlpOEWKKswhd)Q&)l1+JURcjAyx)a~C?!Tc!%inmWhx1D-wbF9-$*HJlZpc-!+w){& z-TUJo!0q3}cZl%KTr@Mn%s=m7`^y^JyAv}UEw=IQ`pCxND81;ydaa!|4xFx+m|U6Z zbzu6j9@F`YH4aRkIq~sEk3;*j<}roO-;-`{w)slSLtTyi(jk8~b$Wia+xp8ll{Knq zU&?}{iHE8a?K}kw3O;UnW?Qc{!?)1jo2|(TwXeb3dJgVBG4)80qSL{CzD*BSm#8{& zCGw@IEZ*SIJDu~G;kkkXQd{lry!*rI;QMTM=&tgI`{(eyUn2g>#ooJ*@9;for~TVk zy<4ic>DWHsfKLMX(>nL9+9q*j!z$Z-g2r<1mD|Pa4t(L;ky!F!Z_dfZzt#TN99-4+ zdHv;w&Ib$c#p=he5p{ezS3E>oZL>qHLpfWzOX7joHPfD)`oZcDxVxl}XWPa7(N-O+ zV?|l*13InViHRHSH}tN|<3D?L-=aV zZ}NtBrMd?yVz*AbZ#;AVITn`IZ?9VI+XQAPuI}=-7YedTiO2+c8bO>tj|cZ8zyiIMa()Z}$4WZ=73g*K<(jT77HuaZktE;)h<3Ow}CwU&I*e ztS&teb5wVGtXkOtlWiY)!Y67R;9JNm-LmZE{!=GjOg}Sk%KqOkf^1UqJ@;GXatk`2 zyR~oMDPJKL^I3L}edPlK4rbe>%nA~(u~WBuX0!U^!^4mFF7b2*N>UM;PaaP%{k2vMwC>R`fpUr#P8`M_VPNOgBbkpoTqw^%OQ+}_Vr~#kpcBeQ7`7qb6og#N|@hL}BhvJ6^o}718DiLlvaNDbp`J=Do z0e5M;J|oeO_HR{=COJ&qX21N=4!h;7CH5T|A@3JV)3kpq);Z_l?~8UU(lPb(o;B`c zesg`R>e`5XY8E|O@lG=P>`(i<-|}iZ_(i9?f0{?49Nv`Psmqq&-?0oN^KIUK_Y`UgLGF8d`!IyZq z%TJ%$d8vMymgcp{Zp*}yE3SH>c98}${p)T&-P^Z+O5sYi>VqLRr)qAb`Z&&-&fFU1 zB?asNF;_=?Xl z+0<&&;i#7*Y`%DHkmK3DtkMbJbPsOYzE9zd&eH=`uh!);GbbGQv7`2`dPI;z)Wfs8 zETyC!Ix=KVz1@D*-el%J4PDh5`xSZpR(E_|_PZsNJi5j!wm;?n`@ksK>-!|H6@E}V z+Oe;##PaXTAEtJ?*G~upttmUWuYR3Tj$W3d;|GJ6FY=`wn^)?)>{GsfAZkVW*SGBp z4umQSeyZIYa-iOJ)z^=2U+(Yanw}hU=%oD~>*8-N!c*-ps0u&QKNn=bvGlg~-PFH! z(JVXnOuDpx-|xn(yS=w2?_2!x8He%Nuze29*AB1YEIfE{1C#k0_9(~u|D^ZNzc1p* z`;uYp>dF%bq%s>`O(~vu;0&+r?6z;72VPt#IkjKs)BZI_N|v@aY_ea(zi;~@-d1~4 z*|>TYBRBiU({0W3ZvU|Rm?yaU-K@F$7Oe_!>D=D5@08>5q(Tu-aQn>jCL(+}R!Sai z%kFS|@%X!g;qst^k>@usJDoK>D0{5!^9Q@D2UhAbM^v}2aY(s0=j8qu#SRVaFW!pE zC^|gN2(UC;{ARy`XhN|2o_+hd#XjEA_9@*zCs-%-??D6mslOc37q|1+KjB@_Qkizz z?)L)8U&q;U_N^#*Y`xPX)R9^Hh>G3W9LI_IJw0nDvK=hBdf0a5qE82IeXxB#*?jqd zj{FaGd{cuQq9#uGGx>p$!zsD+klodv>>qWTF8{HqXg{;Tjz3?0YWBy*aUbEj>9qgw z4CO^T-5>3HDYdsY>C|z%rEIoGqq(Qr`97a5|KX3rLAzFySjMOX$Ba)rS?6?LI8^*n zHs(I}=zz?7H^I3(<{c2I)wp+TvXn!j{+dmVKJTkbl;Mb^N*M8+HBW;N@AIz@Pjs(mI?m>ax?M3b(lN72XI9Gug@dgxkKBp2 zeR&||uu$ti&uI?d%Sw74@RvAbJf42Ju9Mp#HK=5|YZ$|U|7xXLFD~rf?{B}kx>~8- ze!ZL~*YmJ2`y-}qo-rGl_OD?5BRTKQ>wQ1>|GTu~{UmVu-FprZzJIyBjQ*dCIH+*k zF!kxiqJwWIdOv245Og%_{jKLG^Us07wms^J&iVslt7O*hnb~+?tHLV2f)mQ9X|RcoJz`#T@}!*h5#|1|T18RvvdCx$+9P^tMoafQ?#hnq{ft~s2l zI8gc2*}BQb;lM2`-GCe)J_pNu&$m~F_t}3a@OhDwvT*gkJp+%`)aBHtX`*IcJ~GSIxlk$0M_Zop*~$JuB8tnQG|I%r}oR`DfbkAq&t z?du;GY;f@2z>p-On|y$+k42V!i|K(27j(C8Q}|=ACtTRUw0f8Q+Upu&jQ1z**D;(Y zw&b3{{z%hHL3fU;*h@FFDr_`6v(JzJ`SaK8kp6M`NksVaxyMfv`rmZ0bm8u9{XH26 z?|*N|zU*n__^GDwLi4Gc4v(AHiS6LqdO-U4#S*{gc@7)DKRKvXBI&SuZ|9PZ34iv- zU3RdIJG$Hch6%&`*!7Y2XZ80Sm+tzSUvU?0xUD z71GND${f!=Tb=%MdfLGS1;WfCTT~C8WIr_NQ{HEX--;))C(fO8;Ma|v_iOKGAGp&} zyS~TF%pvdPq3O+&9_HPx1mrnIf`>}7*j9m@q9~`qQRGwKF9Z&{NzlKK;;VUPS8eO-c>)`$GorMd^JP!Vq z+x~IE3PVSq1#g!*b6q=-7W7q+r*zVR&P74SwP)iUT6NEF+ixIyAba=ZMOmFE?BC|B za_0KcWZ&!=sxKlRwSRY=T5@!ltbN&wKZ|@1Uf3tNd1;n(dgVTa6du*d7O{38e>~;6 z=I(va=39NEp;Gq29Zt7?s06=unE2xV`_1#8IT&4X<-A+9;DEmn@4{~jJRH8T&f;Ky z&g77(C}*(t-1YtD>UK{;HD}t(q%W^s!{EI?b?>v9HpcJ!dZs`2KCX4$?&~2{$9Z9@Nn z!0qu9XPav|+QmDyK8D`Hy`I z3hfttAJ`G?66C1)rJ+VJ zQPa_}=;6VwKW`s+SUWB5+$Rup<2GZGqurDS zWuGZttadB>PH-={n0&C$%BjzwAnG9F&QBiG8<-rWH$S@E|MRqi_tcJsOwSt++z|VE zs*}ak;d6jWh%5V@{eERJ&vk^m_IH0+`@1kd!9Kh&e1>(U(*6U}JC~@G-LZRqAi}2h zOwYcR*LO*2_cQEUsXU4CvMdX@ep|W|5xxv(LzK!VH66TUYcI6kHQDi7aI^T9`ErhJ z=WnTXOuc!4`|~=sZw5&Yl16dQCUHm|SR=71ZUe`i{Q=J|GiBeOVgK}@%%rEKVf%yF zSdG~C^V)Mt#c^+WxOZRkT~n#wb5rdu72b2VIQY?4sZj7-ZamYzD>cW{BJQ;x%qhM8 zTsbQCU|Gg&AFqE(j(<}xHq82W$YHX`t>rcRwFmZVz1-RL#?YaAKKJZ<{V(?yhm)r3bk@%b6?I1|RG=e*E<$89_(Jlb2!@UhZ=^^!#LkeR;tFnQOh98tPRX zR8R8%+MRl1zr)pR3Bw&#_T5)Dc5m(x*)KhR_7Q>VH~Thx*^v3idYxUEy>sdli=2HC zGQKb37pd8OniBmst?~X|1_p+N_$`R=UHolFxcKMXgT2RoGi;iY;rL>u^&Ejm?2hwq zb6K$Nx^aMo_qcHOQ?CPjS%q(=tkO8($zCX~VRvZ%5%HFb&wJAC?_a2#z5J~D{*LzC zGifeg?V_9hJI|cnxX&qU!>Xi`M7tEe-mW*-lpVO^%``1h-CXV0V!4pYw9IGj6GaNx;BhVt8!Ssl_v-d%Ssf4DzoV(*kG z%be^>aA2US_Q0|9)&=+(Eaw>!)?@b3CYEAAH+-UtMK=r}H3Y%ij)9vQ0c7+kH2&`!K7+ zeh1-x*=-m1KS?>Y>+q%Pc5idsRhP&c?N3nCciaTENnx-?sbC z%ze6i)k8MBM++{c==S{thp*&%MEIVbwX-iQFvW4rk#dXmdYO(I?%p51ocep-sE^PZbeZTv=4|m=wwb?J6|1U@Qn794Jb(Qya zyK>o|pK(HcvGM^sWu1KvGj|u;aqhZYo)ax)C$iN{rhVr1z3mNgJN6j&96Yo<-?ICQ zr{ncSz3E3y)f}5|&)9K-yZpeGHZ{|Srez0$cC_ph*`aaZ_i|~G%{yN1kI;TpXTD>~ z{&Ul^SQnIe?w1pZJj~vCYu_qP&K~Z^v+T@1v+fQM$g#WNcQ1O`R3*E!+Z$HucRtkZ3(9eZE9mrdpwXU>M&IW5|D zEjn4&j{Bq9f77kU!Qp#(B_ez+J$3hPUf$qX#5LDIyd}jkw!(4$rFC)#3xDyZpDurR zV9zhrQh)KL1Ip`lrOKa595_Dz$^k3ekM>(K7V6L3yUqSqtnSJJr4swkXO^w#S)*wm z_UKqu|D%g`4H~iz`B0^HC~l--(TXGgBVQ?z`1<^2ThdwuA8-g1cpd6CF?8 zn>symrHUiZaxKY+riTvjJLmYd?dv+QCeh{l?rAOumiFn-%J}wce`cV_$Fr{&?f;$o zb2CeUqkU0xYESbVC42L_)?fk2XLkDU6uoCuoJ9zw|cL^eVOJ42OUF+T9n0QoEIlDi|ap}d-O{r{p2lH+#wQSLSdLXs+ z#1p}ZaR*+%v5S>&404bN-@8=PLE7Q-x!}%>qgU;HZ!Ih4I96?6u$&E`yR|y>g$=A zYR|X4Q256EAp2bL@LfV&f9-Z&IJ)a!(t&*vk1G9tSWVei)flAi-y60sJ52Gzwr>Ro zce+S5*a}5CTJQhX5VU`H}6#RyZ|?Qr_C8R%a8o9Q*eu!b~APUKI3ohswciR?c;Ut zRfuPU^pD-=Bf{6hV24jacpVqDktoUTlzMtcy*WR-Iev)mR zt*dJGUyBr4!SKXsf73r%vx!O%_jQ#0=v4|nVOQ9<@#bXXsdoRG*)+d-IUKAP3$Q*D zmEag9-Iylk^W0&X%*yx9cOM<#&G>3_XY0HJC&ZMN@e9Z~C{_6cM|3MWY>{Z^oOs|TVbpNeowk3KBPxnnuQB#x-+G6*;X zCfn(~-1QqA#3M82l&ouXcz=DGy!m6n1Eq2N`Y}QR2c*O_c28M#VE?{v)rP8Rv+U=^ zD(KbDO|QL#-cIO@gr;B z0`4y(#`~f~N*qr5w(kr$!090EU11?q$Z(*n$}8Yc z+V1_2Og5e4o6v4QzwgqlcUEEccjnC!75LA*e^%x!sb6ew_Dx>;q^s6aF!f2g42LeSfz>&@uHqhx2}(e-5P;Mehun*B?+Va8HP+YCIrb zS7r8E$<^VeVQkN8HWmkS&)lC6XWZPM#{S0tD}Uwwb-O;meyo4hWO^WU^9xbKkU#d{c~lUd;IVzg`_!?e*)8Y1KZm(dD?^EZNiTtyF{q)eN{!6><_p}Ahp1U&Kesxji=kOn%`{SPM7U_GyXP>F{Iw+*P z+%DZ_@sc@=v-e4?*jC8QUFIm0q!-k%DD9w3O3oVp>8b}?p7;p(W_@<(+~<2s{L!QX z4)L#+)y&O4a66c3qMVwUgQot;uLtfw+HVqc?Ok5l=KWlbC*1%4Znj^b_h;#ga`XLb z-c4!!(ZaBQ`txId7e`&SE9zLC@c&EyzJms_d-g8QcPx~crrg0Fe6aMkzk&3R^}7(^`@!_r-J+FU z2k&_qpIB$;aZr5T!IaJ=hK@7D6q=J{t{vDZbHDnW@1z5_FGc-eUKH=}-B?CNP+InY zaAK&)owXIJY#}M;6#JDqf4+e?4}UB6kp0`fcc}-y zI9|SHSNr?PdmF8}`$B$9YD;+>Y&VhJ^U|CMKS!x&-rJwF$eX6+u;!M?`sjE6?Nfj8EWLQ*^!_Q5zhC=Z>9BWuKCkPZ zwbA}Bp?A`h?|t8QU*O)c*Y{7`310Uu{`InVU%vOW&3|t}`o}L@5aGLH`K8*9{hbGw zYghAd#s)bao~f_DDNNImGyYmj#*fZS)DSK}b^R+#KXYJ-)40a-}4_^7-OFk&xd$pu2JL=#R{mpHGQ<)q)++ri1KR@l@ z?=pMx&zp@0_>-I8z58k65Te=h`=-pD{YvehlnW+x?$?`j_lCb)g8iv09_M$4D(x3G zSRZ%I_m17Bu9C*fCwulyQR1;UEqh?E&--0x{`NxVj~CY?!uRd}o!nyeO$WJ4KUDGf zCOgg+TX|()kDTMAxY`8w$u|$olVwrLRY-D>I?PnK$x!Nmo#Pc*p?kOYyXgl`QrJAh zUOxEC+D##0`&&KgkDs2&YybQMbKbjsd-s)PAGl|~Jk_p9V^)apIi7u`h7R{k=5y`q za!t%*z1x0JFJqrNgL~}3O)0ltonusX)VR0fVAzL44m%GW1)GfU?4IO-s zzws~6H>+P`3u4~cdldA3QdiQq(kB|*og#HyGtH}*MPsT6!S zGppdhnY}AqB6C$7I=9adW{kSApJ8I_+Xri^?BAT7{m+L(bpI)-XMP@rZ}x>u&~{4w zvDS{?{hawkhMaxAuj`%9JyWooR~7&M?}-cG{zYsRB77I-FS}JWJNIB(q3EZA=^2ju z{xrHL?`3z4%F1Vbvg^iyD5;EVs}sBrh<&+xF<_&{fqNX0`Bo-}_PZQd-aa`#-G1ly z;@S0i>iZ}D`4<&!|J82xvDerB+-}%cemL&kulhv0XFHfD-WL97Yi^LFW?%ezuTsm-?sX;MJu*((K!u5B9w+4r$#i>ev_EbXiGsvxAJ%j;1eW zi3h44b$RXWV|56;z0lfj+r|Bf+xzBS&HA_RRd?aNuj)qo^?nxXn{b@lw|d)=?JM4w z@AI0hVPc$OyKk8|%Z%V@7j28%d^Xj0><0HQ#7hz38^E_;ZPUsWM@_$nD;DTvI!e1- zmC=^{cfgRX*^qtB?F0Wqj64cvmmIh<*XG5aa@_+*i&cdm?VYwi?)<5TuF-Aw(OnYT zY8id(pJ_GZD&}$7-#Bx2NtE3IyGd*M>yDi&wyXJDF!9PxDLZ-pDHS>AF4+o5?Kpcv zz2{)a9m9`iie8QqpI3ZdVyfn-_ARz`bxy^Bs+&J&mAaN4V4gQaal<{01LhYKZofPA zazDe>1IFzar|h?H&#jnM>$$&HKL34^!>xT&U-2A`s+euJdhK_o`&Bu1uP0oaE^t-H z?n+d%q;=Z!y?5JY#`*KqAKa}f>N%4~#<4Wu!soS(5{?gJ8OwXampXjkm-=E$bMk?^ z34O*W`eHQz}nC)eQ?BeId zwED<}*=cH2t&!zZvg;4$t?k@)37mc}<|D$F?e3bw=-myDAH@@^TxwDr`SQ!PuAY!P z*s%DmvQN#!1OB4b@eI;U2clnd_yyKT9C(-3=^UN<(f)IJX79JB+w9*MpEA_2FR|xL zv~qMgq-pQ8wa4V(@r!oF*LNLVE782KrqTTVESso(*8AlbKDnc?uW-}TcuUQ;gXTW# zdK+UC9luSP(EM?!ilfEjQ1(RuhYp+z`!FfwM%RH;r|0E7Tjg@#HUD$b8En7z|Ijc#WnU=*?QaHS2Z7fkkPo))|GS z2X@YNKiXsaVZWbX`(nnmbNAnv@aq5h4xRlb**OIUUA*>Ra+k^&|F~+$b7aA9!IM+$ za#J=p->vbn1KC%FCVnu-YDtIMmSn94dF4~Wj)XYw!T;MesRUf;fAdT>*YSkaQx zR}P3R57KRUvBn|5_RbX%#u5jHfEUI(TNE4)R`6!z&wRUobH)ANeiHlli-=U6T=}tN z|FuiZ8}I)!w0G>{JH(*DYp;K0&7L!cr|pC-!V{$u3ip{B`c4em80P3%BDrt>@f=4_ z#Z`t41?&e;+N`Y4-TCRjy!6#MC*+nNP`%yoS*0@AVW0Dd`Em-z4*xeUPBAR`WbYth zbW`Je)&AFO7oJXFuialQ?$~ndt<(OU*_y!}AMWql(DzL6_pK9l@{Kcpx&%+PyY2FT zu|?VbAoISZyIZ0Y96ehiM0RC8bI3N+4~~8F=)mK(3oftTH19z3=SMlBClnkmUy*C* z*renz-RH-t4=0}4FL%|@nZLZrKFjfO_PLc=``6m11@_5U3KSw;@wf>XfyAp{Jg@vgXxF-PWxIK9t?gJHL=z4i^H47 z!_vFW_c=UJa%6X$nttHK>vyk%`MnS1FE2RUJLT2>^G}?ZR{3AIH`&ChBh5O^o~K#- zvGs+7{m&0uY?qyDxW7`Pa7Even|98JSFD^6aLi77Nn+8|JGGAIcHL(?{4CK?_k(TH z_diAl4@mOmch3HNpmxn{W}j6X9R4d@V$5IF=&-ywRs8yV;RDyeE({N z@qztnyM8e}-8IYp#MAEchWUy1|F@pqn}1$m|IBp%|M9{<_g(Jp6ImHtYImyT?Y8a8 zS&o~t`{unah;)qcTDE`gR)vFUik*cKYA+8=OOliP%0Jy9JBHmoT%yF`hil>%j_>Ra z;nJ7Y<+~XURE2OxF8;l1{{)t%_CLSd?LSVx*Qy{JW^c6GY3^4q*8N?^FE?n)z1jEg zr|IGUDgEH|yE6(AzQ@)`v-pHY9y}Pz8-8?c(Luq-lcuwA3OVW|W!~WV``2O9U-3WE zH`X7B$@;1BG^+7{-y=!oA{SSO`^<5cYZfv)%#^axvs!v{|HM|opqg7{`_HzTUb5Pk zV=ut<`DRkO$o{ld(S}h5p1f~2 zTL0J^idyFcDOkc*!xS$Tz7H0uuol7NTVqa z(myT^MTD<@P5y^J%*_Y$SFT`LHzVVq|JJ@j+h8Nd_!keJs;J&{=qNfU68>V#fj!X< z>ovIZ9hgsd)ug`>ci8eGVEGlrKl|7H<64$*Z?}CS&yuVE*M{1Q9+3XVyTo(<7t38w zgC6kNSBWxvy(o9GGmc1}zNcx{zIj!7rv_%JnON;LjNX#(!&u47H1c^@4T9LAhS@#y*g6Oq4Xzn{hk>I_y24> zsa31IYX7?%4YRsdme@D_vNAt7MRxyGHTIsy_V4>{xUCL&JMEa=Z1sm<1Y66&=~p)Z z5xx)qTIkg;?mBo#H&Md>t^2_*yu8!P78p8m_F5?M>s>prcq7M8MfFJsc3+y?c(p9v zq1`f+!Gcxxz|$Oyn?Em{u=hQ%>r{U??m5_=@+zgtcd^briA>T8QUq{Y-!Buwr7EidFqH2SEvK zw)pG?2j2P>IQ_Wh;UKTq`tG|klSBRn7jdQR>-+6EnC5+YJ;Oe8hNbuq6Yu>7AxYvo zLSOeS+?2KOLd`Y1kiaE{J73J%7bLhu!iq1%?(bgCZ{-?(j_1Q?R21)tKA2|k;nB^^ zuLqPj@88)Pdds2f!8>{Ofc^ukZ#nPh`mE(3=Q!!_{l5S9fB!5_oiP3Meu4LGZl3!) z>>cdB&b?G(wBPhDWx;7*R@&Qv=HH%sA;R~w zWX@@eO`Qj)YaS|YDGhR*S@=<-$Vb!h?Wcey?(eq`=&N z=bon8*|VJso_qxfi{_}5Vh_UWXvtMKUpn4C1Ft%Lk|8=CbS=ZTytQ} z`p-Etj~O}?PwUt_qwwYa6+ev^UbdQOzw`Y&8I2(8{oJdre%clFcHfet3!=_4Y_rSS zm%PB~bNN0^CHZ%^V+`$_q+RcM_zCR0>MnoMwZHV>vFH?;&^f^ePss$`{HHGH=#zMP zk;ut?4lWAco7Ce94meim9Mg$bad4Ei(=hhCv43ue=1%K{RrY%glrCvCiSD1KDI{C? z;`P4CI=a2DSFN@CW>n$5<6`!{W&Arm0W&_Q*Zx zqVO`vcvgnvmDkyNTr=4nPeopBy|w$sfs&JbX3@935B$CIynfntjRX3sW%o_B4(*S; zUv+w+NxFS>Z^*fe{ObGF19R3ST79*Pd-s`jhj_!j57mwnWs4K-7@eo;&3tofZ)#Nc z3AdYX_DU->xI`@OIau4Y;rPk{51dgz5~{5xApnD_PtVk9Tt1l zdS4uG(?h*{5xWVIx-Dnq|L?uR+mkWjXU#$We6H&11@i3@5NVat%@W1xaBR;>56^8E_uFzDT<Cy71opbM*B;DZ=IH}c5dJQ zWp}@422|`TH~&-O!D_p2w%l2*?WV76ADJjUpR*b=|0ZgU2w%-x!7dShQyiClY}A>j zmFf6-5$m^idH)VvF_j53-+21~>!&8YxV0q*J{$jN^{CK2z~Q=k#@p(t`+as@{xoB9 zn|<^04KKKCeC&1Jwbn13%4Og7H}82_L-(BgKuN-*i*sZ;jb;|Wnj-Ano zl9k6~HSMa8c^emKeBb+{rA}=pbN#`C>#S~joR@Lrtxlf2rdh%w9?QpNtiEV>-dNyq$>!#LCQrV%{QMWWFMP(af2%Kv?K?I{ zzJy)8?V$9k{(xiYiH=L}mAq(Mq~iER>dmsm>_Z3Qm_?6UYh$Xs z)y01A-}+Rq^858g`~7*B-LE|2WX~MVc~*{F**Z;Y=lUt||=yxQ%8 zL#UmC(A7<;#~<2m=?&O@`cKtCj)Yvs%NuNZh@2b6^Uv0o8 z=4yM%qmJ7;=DO~mQ}EiZ@wC`}v6=S_`#Y}hoBP0X)$Z1geQW3bfBA>g)b7h$_J2}Z zWd|!KoYxR_&T_O+++eg)Q`*r!_$I@Fw)+Rn+CL;ZtXptkxyUvHhEpL2qS-Z!%nm%? zeIP)wM+-S|JZ3h=6wG>?BG77xGwQ8N2cua zNNguQEUFvVZ@< z)u*eA50~s;A9cS{agLGw9i6JL2TFPE{}l4u`SYH(yZll2d-nOFeIDY6-Zi3H;4!sO^5G(09BWG{yz|ouzdBj z`}tGt=KU=U$X#xG@bKm7I}KtI97WGgZ%yug>TtRH#%0srj}Ca`n_D`qpLgKani;Dv zH7Pkf4tSQwdsE5bzv;Zn%NL&6@4R{0@BNNOdl5yoZ8t=+_uH4d7fd%W+uszZma|;> z$-eC|Y}JbOTkV|oy3!f)pTZgy&6oSb*;Y-nuDfo3eKl9w z$&FL(KTZGt;*d__{(V2vzb@-A+|Lq!$S?ciZM(PMm0J8Wj@hlRD{*RMtaJR8$F(v0 zN}{9q)0ZeTCYy>@>*F9~p zQ?ResPXG7G`N=?>|&S61-JlsNFM zo|o)z!scN8yrMIA3B!Sh%-3g1P29ELm9aCUEVaWvVuzo`#($yq!K;-$R420SXKmX2 zz{vQ`zJq6H1pYDV0rxMqD|sp5dZX)9jcX@(q4|pTFVe{>b2%)ohze z_CGFuA$W9Qj=fw^Q-1Rf(ft+~`kKuwfA^WF*o1F?zSl0&v>;l|ugP&1tL3a82`&e( zrwUB1X*545y=22ZzMqdAUOVfz+w9xzFyE-{L}qB^fh^a3j}-0g5B!c7?9Z9Y=df&P z<8`~bUG_I5)hkmIl#J}FxS|e~mA&3~d3U0{^P>a%g08K# zd>l~XxMuOcX}l#$jz_D$c)18@9o%VuV@Ye`eupimD(0T7+2FuYqF}K5Me>0f_q!$z zilzs4etnQ~f9oInY|RZa*%x-$Z<(tu()WGh{zbff8`?wE_s^JQy@R1a#oi>lRCkHz z#eD{nD|DlkA^qb*X+-$Gtr4!h!QOoE-S+u@YV8>Z<*z>!zY}icxYo?-MDV6Ti=A-(oVs`orp?eKNDA)Xw6VwU4E4x2+mmnWJH@%0I{LX$Pll{KeZF zr+TpeOB?IwgwGBg|9-zsN}qgS&pMTmAJW+ed={V2XJa*U_f7SS`+Mg)@^oz9 zwBJfc*xmJDv;F?s6%lupEcV|@-Fik>^8db1=LFWz|9r*nXHbW{Qsjhvx4!v3ww;&n zm~5+jOkX$n;G%<14$2hD9o*Nl>(If>#}4IfCVjD`(Fgq8=4^J~ns`98amm?RfocwK zI@(yzB_7)ErKXcU;pEEwHpNc@9Hy7p*E4DdI`qixpH^^0rJCjYzD>d|{rrW;?CvRU z`l_o|0ZzZ#Vu|D8ko zEM0&9{AUjOEW+M*lNTJ&Ybu)K@zKM9wXyg9p)ZUMADEbDU$nZu|I>q~C35Fx*w6N5 ze_rM5y}w+>>E0WaFZ<-)2rcT+xMsKZi}}*9Rde>O@3RbQd>Cx^efHw}qW^sz*$z!l z{kt#vVC(5~`!C3RJ)pxYFe%RMmP26pwe08a{Rb`ua82{^({}i6o4X;^@V|ZE(&o+W z>8JNk^ZR+@@2U=a=_rS5B5REH-(s3|e&)7s`>wD|;AS&8Z71rN7yP@Tcb}!^|C=3! zkon`M0*LVazOXIzK9o}1*f5A_B)Hc5QjVdSLgsJPa+@AcQ)2fnj1-(4mU>cBW@ z#|+;eMh+JBMb9iBGaT^QT)tqh@m_lim#I3H!o~YtvT`iHe~_~Gj#6J{QhC~L!MBf| z>c1E5`zFDo9NwR1C#U=7JLh%jeGBh4{aAgW=3s5>iK)y_(+)oE^}J^jBkj0)%f2?R z30E9$<*4^gkC|{l>euDtU(;M2to0vXTzLBP{&#BUuh$5g?vD!n{FAXF&0hTbO2Y_a z{rycUzYiYher+dvN%_e!t%dupS-1YVAmeOT+F<)HW4(~wOb7A*(w~wKvdlIVR7;9F z$hzQpg!4Wo$Jf)e+_jIMc2F@Byq0~S@xUxQxtjM+OdRIxxi9|gdS`#4mxbs4=^guR z_7ydUypFg39QZ9>Pe5sZ%`d)Z*BI{DeOQ_KL-JhDzS994SX0max9w|n-)g=V(m$Th zjR@b9OYi!eiEcW`k$cg3QgpJTnz#O4qjWjPy;%l}-u2x)FpWR12;#y`tL@m z10|uMi??^(-XGk3KCC5XhW&&d&Zt+yVf*L(UH4Wpkk>w2_|_)7&b|AZ9I_{7+)TAQ z{AcI3eSGh2ljgMVm}YroZ>Z0D#p>(r2bE_;`?@H`9*ljtKJE~QvZH;h?=A5wha6^! z7CcoUjUwGMf6WxjSj6#>>Tl1~=b8!akN%`_--#iz$ z=7_^v?MzN2&O5iFd|%8Q8U7KJ)NY_K&?sE#>|fPbfY3vtg0@)ycsJ562%5 zTB$4O_|)}q`R5(`9G?2JPk$O%a3IxQ-R7{Tio@~!C$(QX-Pr$Yi~h3pQ>*Mh^twsB z`y#qOt)`0Ec+u;9`p&01`y_&z4o{cGKG{*M>O02KO%_*%0A7 zfkoV>;#bbWiHB!yJ~t=B(OyVBW>E>dV|R&F{gOR54s71AO~N+N=fGjT#;n|Z8V8aV zEz5YJaA^Mn`GWiXZ0Yu=QV-`(-lDeu|A+E5{H9;+B4VsK7Obt?r|!eI?{|5koyDTB zN9G8=-0OKVPGIS|x3+P|1(u1;?l~A{`oS)`)bXIa^ycqps#G11?S3T7leocQ-;S#l z*#`>__|Es(@;si!!FLVwE%ma8`F^9R^`Jn04l$M@d zqK?^S-@X~JY<92{+S9G9m3V;9>vVyqI;%sh{WqVAZ5Q|3JqSsf5GT3+_ZvlcnX5GhSzp-J8<)h*QcC+rROFI0c*e-2$l1}mg zDLa<->W#88FZLen>nZoh&x;b_R z8*2_#Ipx{~$J{GOyP#$_*M53Uzo3xa1fN+I;lJt*W|zJzSv^74QB@+vXiBSuqf7q8 ztSbgf9quzN6=ay3e4u&9IfvVaMGiEHd_Vtb;_dxe->rEMp6}S-b#T3+&rFB?Sw~K` zaQ}R`FJSGO+4DW4>^k%O9Ab8a*;yC=zO&Is+|J#4qeS$P>)`M``}+|5e2wCa!ui7Y z8yqE7ZqL}5lj4}3E7t7vNA93%n9>ZH)`tfg)ni-@m6{H$|@i{F0Oj3X|MgO-`Q>QMZ5mJUoU?OXxUeD!>w|=UGzSK z*1C>x7v+7Pvzg*}SlSN$%+?ipQ<&&zw)N9(x%n!Nw%Y@LmA4)`ke*X3`-ZFgz-}ee zwY8UA4y-HUkiVk#d;irlN8J9LU$j59VO!+n3}^e~6^jR^IWSncvtK91U%+fVe{Nji4KhRNLh zHswIVzS#}`H9usT(dJ-%&s%^NB;wdZ~Hey_%6G%jg_~k!|~qA zOs7cGAjdg>B-hKE>K&B&IL}YW;OT*!zW=`~Eus#{*nL;s_bbRjd3NgZ=^LaSCKddt zdhq6|eJ-Ql%h2Uj_Q`W=dynwA?XP)NraYHheE-sk+4ox4Uf(yreuwdG)sB4}{sPvz z+sy5(n~Vcmf0rIiD~Z{C$TQ1P-$iHAbRlWSi#bfeddu%0xcSOPm~r=l1DhBYojP+a z?fv-MZu-WhH)}2& z+?Tqla80$?)P2H{E9S9VgzwYNJga_xN5R43RgO0m4Wk?bx8M4*cbABxQK;>Mi!3J( zIGH&uIkS1W8$v4wzX`c&| zPDt=Urp^bh&UZ`?E-x@`JsNrCz(M1=z4Bgb9gH5N1&B+QI4nJ#wSKa%f`e*o?OfsB zcl!mFuoa{i@82JIE%A-u^pgEjQCd^4TN&GjPm~nuKE`Xm=hUHH!tYMmG5Al_*wS9I zk6mcvj~7M}j%R08X0ad2ag5^&xgO%faqxn2l-cF;pAIxnvxy03TYli%dLd=Qs1S#^ zqM6Yjhl|IgidGuJUX@3%E9v^nm7dtb$? zXr4naPuewlZ<%^`##B2CdA=_l3N{B9pL~1$ZcKt>&c|~d@oS$ru)1(a#TDZTtE?D!$VM~kimvX6n4%Y=I^>kmzIG}j?lkp1`?*j{SUG5&*^L+pO zW7DrpTX)_5nA^lJmhn^V+-rb561xN_6}g-=Ul#X?*Yw|4y+xRi6(`jGra+^8W@0k^R93Pb_M5I4gNk z!Jkk3fE7#C(;5eX1L0e*=Y8tmw|~{CLwS`+v+XrvlwXSoC))G2t~oO2v*P|Ozczi8 zX8XBMadOA+53cQY_tI3)reGCWur~CddRNu9q#VLMu*~Jcf+0)TaCOiza zFFl)ZDeMmWewo9!Cm49W+4pH;^a=H^9pLo4^%)|3PX%A&$^8>~u;y7x^pcfD2fcpT z3H{wJ&) zs=YV&YyExS`KP&Pf7%0<`H$Oj?5k_~HTe0(_ir)rUgNd$&%RuTV`o`r?Xyd_WS>zG z*5ue;5>ex~$K~L07hC5&RptlhJl$%$QU9^SFY~E$zR%z75ZSp(!nCFGK>gL9r6;f3 z9auB>wHeP&K8GZ&xExdeo%R`*W~6TPS-4;0fu+-iZI<>v9-8ki{5G`L{ub4{#`n#> zLkl(<1auzQ_nqry!O5r+#|vxZb-Pz8I>tGjELp&-b?~O^hAcy)0}e?qt|@XCZg4nu z@O)5{ddh+57^le+A59KiQ$I7G?ZqE^YmRTbzZvhaR}^>e`Tu|7e&djewlG}doFL}vqd-L0F z`;C`gzxjMB(Ej{hyJ@fgd+e{eXWu;O0iV5KJ7@phBhCBH9!?KyYnr)l_1TKlwX9{1 zn||o+I(RVcU~1IYQ(qlb4{qjdSFMWq>|j(7`+e5x$p=1vDVr8>JL|wxw;5*xznVJm zZW7M8y#Mk3yKj`=^d)TC&n&}jB)GKMUgb5XY+#ke{&n7OA01cvx6f=<%7vsuSM2UT z5)MAmK4D)E-2X-_HeBsr*4#;#rCTw|7!Uh%+K+= zt}T~+(Cnq@#g6Lt4t;Olu9b;@=FpiG%vKt+;J`vl$MdE=F+2`4k-C*Jz zVt24!#K`8RucJq=uV44U=z}q}|MtY3`*I+%`+3Vxvs(@xMRIPI4*dt#?AWfAxlY@m z=&IB$`Ah%oy*pLU)|#K*AGk1L=d9@+_I9skCMP~O+He2EYmJ}cw|$ngcqixFI%Ovq zd%)c$xOX4J$MBZKILQ3*<7efX9yM|hJ$nEBv6Bo3;(wg@6u`IFe)f`SC#J9#?_a?_NqC{8 zw7vNmwF%pooU)VK$1(5Fo<;j6ERFt}v@g}J_L*un!%T&JZnfHu2^VV)7S1$ClD?OA z@cO-M^(EQTj-@BfFTJY2;?QgxI?2a>!ht#R_OkOLTpfCv&+Ynt=JWozMN`B9ua33yWE8R{TzzIb`=NX zl&yXxA8e_dvOOs_>R?M>$ZMX^zdM$P zJ?_r_}YA9HCH`E&hdlegSbsSHxGDc ztlP`?A<@A^;O(*SHBtxkrR@q9#oylF_WsI(7=s!1xsP~vtA7sNA9-!FaJ3GveZhnl zhlOc-_vvuoezpB^s+~4h#@5^kZ2QW#uQs}GxnZyJ;+WUVFSj4;Usdu>f-m;qeC7*@ zEB2pX&#!9m}Q~+ih;VINScw+r3)(Cxav= zmLAj!Z)wu*4nF9~`-(5cSkQ61v9iXT75f~{z1y=)#kJtT|LupStu$A0V4BWz`IPyM z{VO=`94+mwvOjdDV3u07*nShGf>S@kUhn&Adv&@h|602&H4fX;8QJ@yzvUd2UZreT z{%v-!^ogtB{&DyjMELSczGp7lkaJM!i%?qC{0zq;^DK!I{_Ku(bpGCM+I!=G`BQD4 zduMzO_dq9n< zqwQ0*==^{U4!SR`tYr2T9H?tCTCwjNvxCa_+xst;jaH-tAB5Dxc^7OAz3-`z{Oq5Z~yzq;=pa?WxsOU#r?8T zCp^r|7585;lSvVCG}^y@SNAW_KB4%G2doY3mHU)B1lpY^*z5}v4FA{5_Sv?{=;N99 zkFJ9I7lOwT;me-b&beS(s^h0X|H=ThOh-+>uT!@R{XZb_(y=>m_w55m&z-W|d$Htz z_R+=PK3C};VCMQK_EK!}eya|_`_WA8_WI{ai)%Oe*voE66Eu0wWxv2`gK<{>0lSGa zl<(Sem)Pz69@^>MDQ)*I;mYl;r(fA#m~yP_+Q06Dy#h6D=a+gpzDng;rD3Y(nE%qW zJ*dCtfLvhamR-eV2RdIoXtfX2JfI~z;~ppDtNnAsxE0^YOx^$NcFUyL$)5Wc8oV@a zEWWufDDAJLN9>{CLh@Rp7lZSTag3C{}=w)w*2<~u8Xs$h<@zY zzux6Q@(17VS$bw!=feY>$6SNot2P~2KELO$ zkc;?%{am|DuiyD-zqY{iXMNmu`?xy8-#SxE?5!tzN5?X2*?T+}nESExqFsG-*!5HI zTlU4KYDZ)VMDIH$z3IXY4%vPAr&vyDe`q~;@XQld_nJgU#jMLumd{pke3dY*A#=f@ z12^U*Px__OePH56$GYdwTn;#CdIzqWE%=owfGto6l21>}LE7%-nwIpKYOZ-@Ds)st#7Q&iDTD*vBy- z*7w>ZTS-Sfoy$Bwqoy8szT4Q~5g9=$xh*GGK6YQDylDHpHr zbAMA;-l*2Gui@a^{$xXIyF15a9{e~}dQj&XpK5&%gz4PS)*ZciGyQAy`7w+G`)-AyIX==&-Yb))2S??R$pFe3ZYoi#SeUHy_ z;TNY**@>zv<$qKz+b85-^)35fgk##*oYNfpa~w^z{h~MS;W((hseGx$?N0~z@{e7L z`?>7Ew8(>^o##Rv#I3X4zSS8!oZ4b)T?QcH4+TNGT zc|R+E7nA+%8~cR9rhMowJ!R*t6BGPl&s00srIjvwJFO1dtx(NxicN52x_H8B^2x^z zlCw_v=Sx055WG=dG-~C%1J6}lswXh3IZS-O!K0|5>~Q(cttmW@p4nf2!o;v?X}x`( zirR6{kJ-OtgXSevVPqkm@zQf-1RpS257wRV&#To9u^J230H01|& z;`VQTJeYmV?$-K{>o@)D952^S?Y3N>=*Z8vl=-Z>@j?B)C$~Jz{CptOmH&Oa_C|+@ z>4|?G=QTQym|SAi zK@F+5TI%vr;C9j=;vAkH>HBH<^EN*)6|<{qZ7vpMBDE>>Zb#GgV8G*gwHu`cJm|pM8qc zqpdSt_S+>2ZSu&BZ*uI2PIqdNa6R}wf%EU;V)KL2E;U>^X^$P)@0UHyY1r+s(_iZk z@21KF?+TOCLv!s8bbpMPB65k(q1)E?{uiko_Bl-}ELOQJ+^;4W_E`O>jXlpxk2Ccb z4ej?T?mJYg@OIzwPr~hobq?%P`E>GJd}@i~d0mpp4i2t?Eu}Zb;pS<1v_PP%q4x8Gh$~3Isa$t+0y^*LxzJt=$D4r#&MIGus82*@1 z_j|v!`-Hi&jCv$a%_G=w&&u9Mgbzha&=h|HLV|Hfu{EMXGD#7VjeGwvjx3@>g2h8X?*nQBwbg#Vo zL7k=3HkwQ^bS$srP7q7Eb|B6Fp3eVG6A#?Kapl#6Z*dMj^ZxGIbyViSlg)Zl^Q=$W z`s9a1V+?)!M-+Wzc{q-9Q%X4qd}!*h3KqxXJmzT;E59X{=2(o!~xufJ;Nw}VT` zL4VFZ;iv99XM7B{3%Sy`t8$00qn~m3bduY@3YVMqJQ=ZTmS4SU^~4(%HFl8s;R@?M5~GCuAK4ys)!q0YkI%# zbFuDBZEHGZ7r*xMksETo`xZ!MOwrl{=^sCwg9zWL%ISCCPUt*%>4taPmwiEwmY<4W zhv{lMHZNX#CHC{}13&v_a5-KGb=c`r@9|)gk;A?jee+{CFdSHI5mgcRVvl{8P2iD~ zZ$WpP znuCXG>`$p(PdnJUzl-Bzm9*nN?*p?I=3jB>X@AH0*>S>wdZ(&{GoG#vLM2M;{-620 zKY7-PEoV(E?0=}Wy%c+!Y9A8r`T6B)z5Vf%?oD&ndu?|n>5XG7&%%Ah`|D@D_HeQb zaNBp%c?+-IvdMR>SQ%3e&bNHBa!N$h!R=ryU*&G|ebk)_7pc z*XJ#f7fc)kv!CVb72nzaJLyI^$Bg#H^B$8m%Sr{AT{jQRD=^z*azD{wx=(;(|5d32Jf$gBF{ZcovxQvQRKzmFe(58trBRnc z_eZhLTDpdv*Pgd}W|Oe@-hGnryT4)%u6`3ze2`z+v2o!Pri|@}9InO3HQiZQbKqC^T;t$ALx;KH9A^t%U+&j> z9OZINXrg`e!e`GHZL!|(uf3pNP~y$L>ZTs%nKoPP;_o}^3nrHD+kN%tk4v1Uc7=}v zwysiU-4|$bcrV|?(t}$CcGp)m1s}W??Y&RhQqYmJMAI>A#y*F0##%^Sl2QIk+qRa<0^(3`d6oexZw6?2cac zd-kR7yK&$bkK`prFW&?GoHH!r&S)Iyz14Sk3eTbaqV+#4f>)>6mo8uU#_g->{+H|L z-OtteYWHJfwd1ri)%(Jiy`N=SpJ;cz{%^(R*I#Tis+OfZ$@seWTg=(^l8&B(-zkOao+HSjK)htt$ zzqZyg&v!0;Q*+RWZL64Lyz{|uyC3lj4vIRi&D$Di{&|x_=(i2WkIN(;C^*z8yn7Fe z!!yRd3qQAA+`lQ}&YlnFRQC(Hi#eR}G}@oOH=N^U^SOPJM|^raax3?}c|ND`Ouo&& zUYFBNjPv;H6u+37=Sx85-}rkG;d}JJ16QFtsg9eTt-LOwlIgg7-I?~~ss9gbmF1D@ zKXCiNR*jyH^d}_;rUX2e|6Z+oz~o}zCI3qk_eZpBttqu>x8HG_f8E~qKK9efW}?O3*L7hY&ur>` zd8Rpj(`R|^uW4VTy;Jk%K83|=UYk9hYuC0dYaiRjTsuiK-&$s4L%Uo%Rpq~)%yzS@ zqN6jO)*Z~_kDDkfE$_HJ@7MhHP6@}9$A_Jmxt2O;Kik;Jxjp%SCDZvwa^j)~_Wa7d zaDMOY{Yn31zHAWc+|PJ^i}(7q4*L)Pv%byr<>9{Oe~xoKITP*FA9Y=4ND8-G8Ps6W z{Z`U0&M~ZjdBqKI`aRi>2;WuH|J@P%*Wj3+=~%WUCdKhY&eEz42J#2r_1w8-)%Wl~ zeRKVcMVd_qeqDWRc<8#=fyzcrQA@T@_Ujk@%~R;uZoeS$sQ<=ICH7HaQ;XFkwe06S z73QvwxM(Myu{X#^xLI*T<3di{7CrHj<9{wp+_y?Voz!?KfYy{IJRcTjmB8W?wQr5Z658reNWR z{W(Q(YMsaD?w_r8m+4TT#{M45X^YBT`R$hRHbr! z(xyZD$F{YI@U{CaaHg}S!|@mES4WmL!3SL!eOy;PHa*B4v$132@! zEzu_mcMVD$ex3fYl>30ZLxaK+ZJDn3`xh&$U2Ab}|Nfqf%!1-ZCHrqJu)3SwW@7(N zOx~uu&^|Ax`7m}3u3u?C<@4&q6ou{xLY%d*siR-tAu;cIJP-SNm(PL&(#u z&+|pH4s`Bn*|pl-`v7~n-PVXBPxkY29Od}LeZ!tJ-ONgP%@q5Xd!i@TdnE0D-B!>N z=wi6PQ1#Q{zitoh*j1dCM65q%=kr$ar(7s?%tXNd+`gQ+{a{<_b*8~vV{H3kA16uJKt7xnPj(i^5msI&Sp7k?KZftr61`i zCRODW@L%EJ)WXB%;on~z(EpO4_+!=#2h%CNHx$)N9A2u={GEH0!Qr8>-lpb{3a2l$&OOJ2Uy zaNzWXFP_=QT^+9Gz3*+~V{$ls%Pu_W!p;4w4z~s9n&s@@R)5IrwM&kDp8Ci1{>_s6 zbLA|`;~)LrC&HjPY4P*@b^@isbJ#PR9Ic;K-+xr%dazEdGdDZO{9uz{fB%~~j~)6$ zw2r4H>~;uWvuvKy{mKI~!Y1loWVAc*@A$&h{Fi(VrP4J8XP$1ekC|*5rEk4(|Ia!X z^Y3Tv?bFqy7m6-5v_G-0;Mv!AZ}**_8gCm;-Rz*l|B}nAZijDh5UO0VFJW=Yfop9U+YEY44!jb0e#y-3uYKzNE9X9a z+-ARBV|L4Qu1Wh_?-nK;el59QQT)x<<9aIg=Yr;Jd7XA;->0*F4_yo({p0LhMEHjO zVO_Ocy7{1oZ-32I?;i*7$Tl4|7m*R)`E@15%oANS16V3@Pzz|-oY>uLe{4l66? zxE_5i;t;!}!1XTV@B% zxhFJb-~VkZZiSc3*w_^+7F^v}NYQ+6GA9d^a;Z(e~c-@^&}V&146Q<DsC@@j{|{tYj+55<>%-8V;*E2r+yQM+mJN1E5)hV+kBGZ5kXL5cfo zqQa!4>VV-_~a;KU+=bHiL27ZeaA}5H&6Im zxX(gXD}Gi)l%2o(qzUzrJ_kjf9Q(>DlYQ{rWv%V4Cq6hlJFxk1jomYcdvA|y-0QR8 z0P_p6lJAb54zEJqhcGiUI{cf#m9=I0wf(F4g>Nbp&#*7pYGBAb!+Sr2!!q6MkdOP8 z@ErfiqkYwmvo2o4>h0`(leE4Zd-pNejwNQp^ec0G9rtZ#%GrI zXPiTf_kX>mpkn^#%Rbwyy#fr{r|h(KeVm=%_3ZOZSp4BTn*+G~y`O{#U#$YA=`%Vy z51!r=B$IkQ$kA~9H21eknvT4cw`M>2c>93zyu%tI+F=gcBK=c^E{IY2i!ge z8XmQBbx{4|*4lUG^Zrw}vvNfKx!Fs-3g5`SBGtZ)?Y!2ObiMrtRp*_Q{{PCZAj8`+ zhhgD9?vjU$+7q4ZVt2+bnDh9%ZFAh#wG-G<4(cQabzKRLI{2H<_m9^fCdVD;B(E4w zIPD<2qU>+V%*F!~tsdX2IcnnYIH>drE?>HyGXb1f6xA%@6E3``w-0qd6!ox z?q^N@qUqdq+fHrjYTm2+d-ff^9``WcfWhv=%`3T?mm%kK&5T8a@4n_um6!FK4!-+X z#+z1{?6@$y?H<3Loa5hqu16XjHxJzUDEQ>$*+hrhDG#4+{wsALd3OA^cJABze+ldE ze05{G{Q--ad375@K`TGhEd7RD?CWmp`aFI0 z?!CAFCa?T`vi;y3wK?amK94zgW&gHPb75sivC?M(J}VD7NFAy1678uuP_6fIj$O5( z!^x8&r(?}t?hlS-~|nbDk|(`+8sNyPUYf|6A;ouK01>lq%o1 z>h_7EgI|p7PBe!6u4mxgm)_$Tk~g9Bp#P=1SNAG|50-GO`G3+*(DBTNNvpFu_Bq^_ z`n2P%J!4LnJkz25`it#FA2+4h z8||3fv3H8<{-90EEbgj*wF~zw>DpscwNL%!5rfmMiFPVHyQj4lo!;AIczDr1k7u@q zUl#tbuj@Hjn|#Uk-)Dz|Q<_iD3aM9hlr>wjEkS>SgPD2+qv?)<1M-IS3C|$OrC#kpHl{tuv&ZN zzNqm3CPfcz_J#93cbqEu*Y@H|+gpkMu7SgsHy9DVQo=_6MWoXlIi>mQA1G!z<~g1E znZD!yfvLK4ZeBQg`+(iO#^5>MN)9B?{BiMqweEqr9uhk;%O~vrC1P*(rM%r*yXvs|KH8lh8S_uhEr=ii^i?5vMfR|#=kw`H0Uz5mPo z?t{fI*l(Wr=jCYisrC3N6E(+cN8&$DjjKN}<8|JaKai#3FkNNHAd+t|DEMmBQ@y0%-UB@F_+UD6Mq{Z=zzR9&yELLir!>wy~ zhuieUo)e7w5-tWT7r#|^F!*&x=&O73j_DPVHC5dbj;gX5!Lr|$I9R&5XPi8eeBf~3 zRADVg(F6ZJrk$8^`SyOn8ULNX7nF&1aWvw=2DK z-R)iBcKhf0mb)8D*h%vR`TYL%2pqo0eG%c?_D}4iH+Q3>WbgXrYeP~TuQ1Nix#uN+ zFzefaZ<{7PJYcc+>c3u{rUPcKwzU;$Vh4)jGt&z0C~ zpSv0*qOE1Gpsx7u-5cPYzQ#Zu!(oa>1 z7tTy}Gd6C2q`#}`U~`nOTBVq;qwdEgq1D!sj+371ANiy?0OG5Bif+l-rmj^_-YxE81A9h6(; z>-WR(>476BBXSs4haO;S%*siu2zD@$-jH%bNyb6r%UtmXg4gV$eo0a=pUP9&w_2U;``ESFPgL%;u{)X~I6*(H^x)Q}Y@7G7 zS&r*^ey_QDO3E=fUv$P3)&~a^Y)@#eez@Sk{x?6E@7)YJ;Bp`-&gkHi{kcyi@BfoI zWAFN;-b~ecn*II#vFrsd!S-*TnHO|z`(-CmdFg(C@Zo(o?CUsLeofuC_p`Oj&$jS= z!jDf)b1o@3cy4d>1Cf9z$7)`C4Xb$~j=6elsk8D=9+>80Z?*o(!~-G4mon!EcpaE? zzwz8Ui;w$vt&85ndVh<(;!{0Z8YoJJFW*G{I(?VnecPdgS;ot&bYMv z@&V7kQ!PH;U+W;uY%5r6UE;9wP2J)OKY54nX9wHdnLq3g%wgO7@caJ#Or`uvUB8R> z&#Oyp)6q7y7e3B=CTt_0y>?@ge^coxyBpim52wzp+$Wblk(qgMlw;B?mkVomhunYe(z03UZfxp|tZv-xwci`Pgd&RURnhrM)EDSnZ zrtDyNYEGctyJz+iiA*nI=U3Y^q`f-1?p)6PQ%?oExu%)zH$E6q&cX6%Ujf4s-`VfB z+nFj!Ocy!==^uZ!MTGB$*KgE!MAtZa9=NZFlUQ6n*83!_JLz zU7j!ZI+Ujg)y&zHbzsJ&{fVh|-Ut3pTsBkF>+${#4|%tBn%%IsSbqK19seozEz5Q) z^)5=<-*IfVz$JCV{i2sI*3C(LWG5!Q??vyvV|FQ5e>47CROfi(wpC4OXQE?CMd1Qb z7vqDs?}*?9G&zQ&CXA?daM-6uCX{B&PAK{-O^z?ofw=dNc89558@_}#E% z_kLF2f_cxw=GZfD6MuTBEW!RGbHmcpYn1m}?{($ac>Tw|FSF%$%TAhVx6DYQQs{S< zqd2RZMxI=x<7u_uZmEKb2W?d5#w~mG;y}Y|o@3Mg%y7`rIu`d|qr`#h<^)yU7k};V zJZ6jU=3qP^nICv-)`cDW+aHAQ`oz~|-@)^6T60OLz0jA2*U_iB_gfw2+>l@NW?%EC zu+#2+wc!5odJ9DOvVKx=YW0pjm|J3X^Z%lvgVj5{EeiGvJN~K26VF@w*CD`P)9=xq z4F`5f++MhSPs4$@Yk9U!Ph1@&rH!{~tYUQd?tUa~?bVz64MOuo1%9OOKRe;)>PhlB z_I%8z(x-lq+OO!lM*UFr?|r3Nx3?{_J7Bl-W?J>9q9(^L4ypyM=Uoq~{i17jDONLV4;;?YJ)rQH&!PX_x}_Dnw%T7z z{C)J2{=)r>#P5Bd7~yC?b?1a1`Q?W89-a?N`_{hO7d1EaO4-eQ`wlL@a89JA#PJl@ zj&FJ0a*j-f_Lep*S_fk%;baR@H-Ay_0-=lWc#YmF_o31-= zktz6VucL8ywpGYBdu9H^%X)bx?H9OFATH`6ykGpn|I$i66?=}u)<@39T;1nbyT%M@{kBi^ zYqC%C+0W+w6#nk;jD6atCvJ8rj6T{a+f)7H@g)1;6d8Ku69Eg(>E#yle})s zS>pTILG6O9b9erf1Gz^wrCyN8Iic==%c*$9?w)evw0#T{_c3Y5hAv!~@5p(-;nU`f z;DbyaC+61wlRY?X`59B?w8sw8#|6(EQA$2=Ud%ady{pz!qG7T}iTyc#oq$qx#r=OLTK;YL{$-!sqs}tLD@X0_Dc-m@C9et` zzRG%t@a6p^rgUt2*Fnp);?KvYyB++adPw?Px1r;+K#gb7ZPyMs9Xym;n?CVC*XMP` zHx|Y@=*{`>pgU9MK$iOUk{6XH?XC1IY_DCaxA$?LI$KLGVt?_X>=R3bWbE4)37_kUjl$GD*E~Nugk5y0+@tr* z!Q|IR%Qr3y4!q=ACJ-L!>EL}Sp2>JSgTqs4!QFZl*Y+Q^H&qr1nPIQ-q5d`hD)0TD z4mnqMm4DdREgo_7#LX*q6Yur*X|JBW?*?!EEMDdiI~$3j!_}?6j$%yZc04De58hU| z^^4`%=L1O>`g^u>+;T|tF0k0A+JB%)gzeszT{;flFB5g8cKx+4{~vu~^3qfLzeOmz zH-vTAuZ(7Bk!UgAzwvjZ#KNL4`*zvbN>w5C42Nza?jy#-u6CKLc_h(lsOCPu@l>I{R$*uib zOTWyET0h-Bwb5r4>!i^ATN3_kWZchV|McDVh{e2n_vubAyv^_>)$VY7O(Y}h_r3pf z<9L=IX5ROQcb{ADk@kbap$gL8S7Q!dk^8H#K}^|kr;)?!-r0v7e7l)=V#{j|m{#_E z{FPzoux92HgB|KG_czBitLJ^2U|;L+cHsRx>-}G@rG2~W{d(WAW5(yc9NS_ydjemO z{pYfMaf=r{`Xr@m$I$~FnQ#8_a^O|4n zo2TcJ15GpS$M5X3Kpi zbboWI&HQECvRts(Ad+R@i%W_DVGnB#PRPF!=xXA8kms<=>`f;`9Y3uO^T~L$$>D4p z&%cubi3b9cnhtCUW^uS{TJ?I{_KW)&<^RR)dZ@SG*)U#OIm&4Nl>I9@*B>~yZ`tCg zs|k3%ya*%y)|vedv5G|x#;2LHwN?VZcm=SPb@yqE;6}e z-lkvrc8?gNg!EtW*cFRMHO)I$cd*5Kiq1lR1;=II^RE{5N;u}dCZ*Fg)arA)0{!NNgj(>dpaNnEu#TOEi zQtet&C-|jFN7$*%@C|M`A!)Z{qw2i)w_CyCdsG+^zCTVEa{U%-bUe1;74uP_6vu-H zE;eMTJIz|pYj^9kZrqd=RR`;)RL2|X`#S#JZNyw=CF$64{ayT&?r8_ue=S{dq^I)0 zmTx|mPnpaP-1GThWZm^)e@aco+tnB5?q~Bl(Bm$ow*UHZtt|Hu0! z%-3)6Dmh~>s30+EY3ellH==EFmqUW>&uO&Yb@u&bXQwiEsr$9V`=)h=yxQk5ZJ$jX z+n%Eb!uQEuU8wjmrr@A!fxMGyRFtE(t5DJ9DI$&~izagHnRN2NymeFW?*B6JfS>!q z2imb-2i*3oR$n0UaldA4wYiP?R{Lu{w?8G{@lw4Zf$&|?=85_A*pV?>T$Oc2lI~{3U}|zIUM}*#OaCShyBas^1HSO9@t-# ze8B6>vEuzYQ<#&OE}Ghh+;q&}@Q=@aj>>XHgPgtSa!hn@g55|-7tr3&u2S)zGLiQT(|h- zq>xYc-RxJrIKFl6SFs5@-Dp<7KgRt^nzM}a{#C`2vm#6`?t97kIOL+(8M}v{e%uxi zoM!il=dkR8*`^0QR%cF@i%)PosD8MwL-wIV;L+RMg>H`zoGxFtLTb*u19q;pMi=t5 z9WL!klKDDU*`b>gzwZdAq)OG)Hwe2QR?WsmUl3+@?4?rJ%fWASI;br z`S`^_K4%H*wHtdKeuoEo76xV?SjEvI;N<3gU{?mOX7`1M`~N4uv1w1bVV@DIJgw%- zWc$aje|l@h?{?)jzf~JGgw#gmcI2G?r>IuQ^lacmMYyTaDpa0PP1}J9OwRZ z_?UcV@uH_24lFLbXY^`L!+}?EEX7Ni+#GsLKc#(jWpr5VCX*3x=jQ%Z?G;B^wkGf2 zv0!(@;@{c!$AA2^*kmBHKlMUJQiRy=ee+*VXN~VVU?;(^`T9XklVf<#^0QW2ZU-NI zd&>GX*8HH?svi?-*`7GC9@TedQrztj7|7kwV^VeCZq}`C=;e7p@$0>Fj96UIy{uxQ89_YPrhyAs> z$$_L)UXHo5|Js-PF>7z$w$)yd)vBnOf71T&z0;=!YjW=YEpu5=_r0=xLfi2IzR+v? zP6Y%NziEZ^kJEo5!uMnZt3a`S^FhgVA&2@*TiET@- zmTo!l(4h2oc5c4Iiv6tj%BzJPs`HfUrEdP(e~9g@leO3$`@Bywi=ItzvDa%=h>6cLnFqYq%vH)*Z|V?Zm~pZ1`jh=Kr$bJ^W#72p zq`x_$LbKWataHJn%(a&LZ+3rJdnWGJzHVLCM&37{tL?*m$93a*z@$2Z!MmoxWD1>{l9`0U-nHb_1I#$@~GVme*cFD zuR!|8ieC`n`})}8w`DWC4z^cwXiJB<9b7l@dDfM7Lr1CK*KaJJe(k`ur*F5PcAR)X z^qJq@kL7U=-IsP(Z)lb|5OVC!okKHE+RIEl?!4k}oqfrZAKE`&hVM6taORhPDs6v6 zUg-2m^Nagz@5CiWS>%oj>*@Q^DIYLKF^m2U;o`}kQ{!23ZpyQUne>=~7bl~E% z?K>s+%wfxIPa{v;1qTXSSY9R;c{*6l-+xChi@_nIFeGiW$F=?McD@N(XF9{)CHRJ! z>pt)OM;;g{F=@TuSMoDNc6$32yToTFCvDB0y>Hw0>B~HJ2HWkNoghCq&)3m??Xw4! zr=t%B&5Fx#ocZ~{FW2J7H9v1UykGy+*j~2(fYX))%lAUM4(CJOMm&o9Yd?k2c7;^g zsr@OR`WA{hcGz$1cejh(X1qUWU5|~|v(Ni#b>?mDZ9Hig|L)g0#*UtS*{@O*YtkU| z$G6`h!q=2HINYqJ^B|k2{QesDU`JM^{@vAlnvSRKJ}+>5fBV1;bGi5TZ-+U|lP#Ng zoWaOJ_Ypgue^)GF!{^D;_6d7@oUU{qx4U4s;c@)l zh5M$4w(mOpFU9WZrW?^08Kn1Z$Syeg^F+^nTc1 zabWQ0OuH>L;lO3-X47M`t_~St&!+jE{=7fRLnZ(A`B3{ngFcywDyjAkXV1AiKh@oz zVsY*7~-jgMbnI`Ck@zT{VO?_9n)*?H+5FRt=uv%4|p>FG-Tl!FslImNoXq7DXb ziF$KTh1qdZD`V-;+|v#-4E`_BZ)iO5qaiJ@d4q`q--q3YG}hkP|F&wC`9aK(yx+df8W=BP|vBHtNKvP!9qXxMh(}zk5HNb`P}ZD?MoWX_3{pjNpUW)4!N- zdI>u2`IWi#LB>9ZCguJ=3xo>}+zew$75Sj-Al9+`%0`OIj_C|+D z>}URz^X9Vct9{HiZC~5JthW0rTc)fuJ8NIczd1W)56Ripc%9P>KEe!cpZPyQgs;-c zY11AY%sx1~_VoWVD>EEb4$ttl-^=E>;S$qp$AdQx%ww`(=-uIWfSJ?(z@6&SqGYyElK50c-{*=P0~y!Bf%WdD4JgWU=l3;|85j*&4_D<|=7a4^`RIjL?_ z!GU!*4lZ64!Q}8sSVcL!^x^*6fg;wZ!P(OiQQzE|c!63;sT_FIw`ecFpXr zeLlJ=`YU%^?DMj4IjGLdz0c;{LB)Jhj#v4EIaKSZ(~DWVGK~ zz{!~P!MS|_|5om_Ft6ITuZ^)*_Lud(cU-EcjAEJXDh$q@+M4$r+<)V|j|krzS{rlk zw52(o&i;8MM>f;ZTIjFkS6zmKkHubO%3Zj9z(hqzY?@T*fwVVwzwfNoJ&-28Y2mgX z-TO@^pHz2!)ovfS?c6H=rM~u4wF{IZd%5lP3S;wi{vNR7YG3^DOL&Q$){euiZ(Ako zvR(V?>P~C?WUs_f zSrg8@!`}Yvw_oL)rS`k}-pbAh*Rnr$tK;#zUl;65>$MhaX>H#(f6B~7mn38NIcNMU zdr+jjuQMxVi~gL}gXiD3O0X67Qo%dBgD>Cnke6_N6<+Q4U>66wves}kE{Jz-bUzVk$qrbH9l27lZ z9r$gt?al7xl?P7E>#?tsHaqZbUv+QP^bh+jf7E(OU7x$3^#0|~2KSF^uOPx#_VWaJzv&&07b4wV z*Ut%bY_FQcH?>*spi+y>N*m*+2lCTa=Z&oniDPKEuEbs5j}B0cuII7@yG43gNN+mn1TGUmp<8(Lul09&{LIu~`#gswK^>2N+R0_!**7EV$i838 ze&orwPunLj?ZRB~N8$U_jHk}^aVg=BvRw+@AH8U=j=X8rW-jTG;{k8SvfmEa8 zzXVw)9k^v|;I5P9bznzaLBOOBANIF2e*e8_!dCm!zf3<>Uum;nk|4i7(%#+vRpxW) zO|QS(aTl5V&vstEZ{~rodCzCH?t3v=|M}IskojZt^N8?$Af#IsU)13kxvkVuS1;t? zp#-r_8t+UGs>QWdNE=-~V54Ev?&ZAB;ZKnG%h;e2hllqYH)s^dIhRv1z2u#oEWc0oem9IizgOtlAMmqSGiGZ2ew_{-n`9;D{o7@$k`qnN?wgohvqo*n z8N1)o@~2O0Otaghu~6~v2jhdwUBwp7k56!X{7EG{%j$u{mN)Sg?V*nkBpOz-O3j#e zz&qi=!!SEthx033mmEH-?C_2|Y_a|CXZ9WIHhvVIS#E#)zs9!JYjgL9ntA@baMW!7 zf$YYgMNb~=^L_f|dbQ3@JB#Btk2{!jg4+)tPa?vXd4=bfpGq~3=1*KreV*qXoU2)- zcIlkKL31@J`;B~G9d5)hIfk6r>%cles>tzE_5rC$H#pq{U(8T4%RMwVy8Vvxh3t+F}uZHEdLIC zt8)}nkn+EooapEh^w-2Z!T6wgc7xL~Sy(ENUrCEukN2fY8XPMCdgro;4L z4|83;5{HImYN9%`zS&<<@syow!FZrtE&G?_%kBH;dheV1>VB8~S{9xwlhi})zg6d4 z56a}*A6mWSqIv6^eJ0cF?#Q&~gWC_Qk08Q#+qtB}PZDDe9-jC_qHbQ%!AYkJ-c{#{ zI5u8?zUN!dUx%gs6F6`3Z9K51=l#X=H4O(cGC6wW6x|$p??wb2dcffDbB&0`<3~65 zuND@$pnEZHe^5!q;xE^-?Z3~Ssh?6LyZ?3Vd@s-SzxEaTDQ&uY^?+S&<)^l%ZB33X znjd6ux4IoHdd4+-XPEgxzO?*qC7UM>{F@FuvS!@vFsYD(IV_>-z@pERd9RMx99Zws z_Wgu9zeDPd-%btjo9(~c7EzudwQzra^|4R>E-vl60wJ3g!NTG-?g#~Y&h+fO7&J4P=|KKb~s=0VB2mdw)4haBRxCrfWJ+~BZl;q7Jq zp{WN>UH`z|`PKM<``s0?4afi5*Sj!JTq?fR{$!x^Pk*6F`>)*GC~-ON`##Bn`gPjp zmF<(3%s1}$yS~rA_=2LYKBRw~x*rj~i!b(bEw*kx*lBggvr{JH;Ka|46P^|sIZl?a ztMq(*&EZj5e&y1nEe9HfnJzKa<~yi%Z#*A(K*(WHZ)}>!qF?)47a4GEklkZnmb)!p ziA_HOfXu4a2bxq!@?@0Rj~$-eeY#)xRO*4G>YX#@en>cw zUh?zDQ8_gSiMnoWw*SZWi|kdOpSfoF{zJc0MPubl>@E82s(*1R?O(Q;U+(Vr&-<(| zofl$jJZh(%AU@+rL^U}5%I`viuhL_|om=O09pvOvS$d1#?ckJ#DG@804ITZ@UN|ec z^4ftWKdr5+r6(Q`KK`s_vTvLN->2`>dGllrT;}~PZLsU4{k)iq+a{^j+52zTF5bH& ze1GQWMP}^VrR}37_>XnFUflO4MYvBrFMD5Q>kqEWm&5J;UY^A7Q|@z6T~WW~r9}3@ ztpW*W4hMX4kgxi>VkzG4m|JU7G>}8bojMXY{5Qh1_vdZZx;_sT-*O= zL9_o3@fr38M!jL?SG@NN^e;HelJR!mr!5;3v&^s9$qTz3y`(dHU*w6KUSBQ-+szKH zKFbl|>v-~$*u}SJqYtV~Vu?BC{rSL(HBtNcUfp!q^SCH%fk^)Wt~p2af92>p6g)Q% zQ)BvT|I}~Zsvx&h`$gW*b@0~du>TUYd58WhwWzz4*8D153S~%aA0Bqr?~>Zt3$P)o{rV&&->*XlZ&ocM%ybbY3f}5 zAjST2as}IlMY{X9DJ@KlDtl#jt$FK|4ObWJo7?y*dSkbf-A_;5aFv#Cwq=)iwRQ`q z9Bf%B_w|Hp)WJJ8_nGu9nH`IgI(2JePCGnl>dN;nZalyuW}?o#%*27+{n3-H2k-3f zoLnjtw5fH!)eon10pU3N>BUW^#x9EcOaA}Za9i}Y-E)CYi;ryR+4sL(;NLt$Zo4L> zYfVdj{RX$sCa*_?@55brsw{#{2QAmPJUY^r?8tXc({1)wSw|14`8St0-aNpxf8ivS zIf)K|Gxp?7DUm*qk|W-HcH*u5O`(R5Uqw#0XV&BRSP&Gt|Lx?PI+x3N?D=M{Pbs*# zXP-{N&9mQC((Fu}la{OeV&B(jxpUho)ysP~tgHPIx3m4=*$<+jz3XERzOY^Vt4>zg z@$`v$_mKKS4yz3(g}wEzIUuP0T;-^$X$-+Q7-oBvBs>B04D zGE))~f)D=jYq-7AU(j)t@3i_G5&Im@>%O&?U@tiE%73?)(miDd*`B%&x&N;356j*1 zX;V;@{mF*Y9T{gO_H&rD$?gOzE8M=8um`fJ~&4!#LRC^hT~a*+PT#;*c^2iO!%yF=*EEnqrNw8rv3-G zXUcVddZux}QoU$;`Ll!jZ}#*r{lJ`Ne{HiXLw&8v{;htS43%ZS+8s?&+VK2F={~uW zrrv&26YUIk?ms*0;YZuzn~Y5lcYfUabjpRtGvj&=1|7RTN4M1Bpo7lrtfS4Uj+!Oi zD#?G=JFuO3Bw4V&;6Ul6!`w0-7#*xPH9ik0eYpSG$+QmFS)BVVGn%i2+dA#vQ}^@A zUb~a~Ok;PN*DdJUx8Ll(HUAlleI5dx9`Dkm_iYzl^&(*UZCl?n5mIVbYYsl)NStoK z>3ndly?f{E^P-NA!k!AuzqrZ4_pJ%zLFU8*uaX~sy84RQLBeud>f#+2_ut&Yc0A~h z@%~e8mJ{A*8|}Z*x=^E@>HIz!593`M%B%L>oKf>zPTgjoq+a81&Ha~cExRW#F>pKs z?jN%+MTGC0z%ASDx1>4FFA_Q@Bc18EA?A9vML5I36^7G_qpsdQ;NW|Ei-T_Ifu*iJ zZRhKB4@g=alF!ZT+;6JX(_y9BVShGSM7j5|uYKt!=1A8a-1fz4Q%z!|4%($luXT6L zD6!jNu+V_(ny{T^F2l=%>rU)7Uiz;=X+!tHjP9go8ymeHA5UI#$jn5|(Pg9jnrVj{ z59sOr=Z`pCcHjboE%P^FtpgIZtNrf9zS__A&Wzt~&eZ)(Dogm^ZS~xLHsOabu z(C_IqQNmGe)jR)-yO%gD&P~^5dy{-1q_tLZ&K}VN0jv_I+C=Z{PuD#i=smr2|MmH| zk59Ymu%CU$;hiU*J=|ycy+V6^eWsmPVMEHK(-C&ZzMZX*WfimQUfX0@TJ!=Oz6a+c z!uM5sw%LEpM#sypVxr4zQXDo>KSbnH`Q z(R1WajotT3@@SLEVflU21N$6LwY47nzi4Kb=K4g(NP`Myi7pk#T~+fMxitf$2evPseQ&dm>w#;HS*<1=zxN-MHh5pzzi7W!|i#v1Xxk2;Gy{=Qa4)nHE9ek)2=JGMY*Kt)&pmMB* zq+`5&{wCd!=?6jvjuXslTg~n`WmK-|G0d(8n%)#!)xb*0h>)fsPOMu6~m^S?^%B+x4?gjGrE`;!R(@NGb5ZT>c{r;opKCc&)!{ zB}|iXP+c(b{~q&e_W!q+xA*8(*t1>M5V?BUWB)0qG;{Z968qED;-9Rozp?MbtcCG! zZny1|Yr2plc-qk}_pQ(w)3YT94d1i5))i(sre4~hP|+;qShGIiE`!B`15@v@KPu!{ zc!1@r`-hmPAqVDMTD9<0(WCvbQy#uKqkh)@<@IkV@_VP*>#E1!6DbR}?@#jbe^L0; zZh}SsxlfOd>?{5Gcxv{=Y5Oc!sjrLr7`|`k+0dWax&;TBHe7p=kQe26Hl`)zW}}GX zll@bR9^E{7;G~DO`BKqI2TGRvcSw|b9azI=R`K!Fhy63{3l~#X6U={G_t~U-{=LWR18$$0PDO-o$?Moj z*RnetOXwhD2j|~Q>D>AC(t(fv4z80bTjy{zAiDK*Y>5L~lj$Lj zKe7%R{zTj=IrL%w1!;lRjCKe1ce{ok%8Dr7A12|aHcQ>ye%hw9XQ$2Kx9?tQVEyRb zNjrD@-LDzW)$O~KHlMRpKGxCBZ6)LNbvceD`dO|$@3;zWuF#WA04)TEBnF&r{Ae>dyP; z`L4;(I(~fL68NxMk@01-1E6S8*7@ym>3Qqj?wXW3ukl9OT z7lpk2eT8RwcoEQ8%)K+G<{bFH{gStCtju$=@{A7}cmC6368?PP)a};g-;q1p;R!y-zrR)NUZs22n|)7j8&&UroB&S0E4vWks}_25LKtK0!7#VT z9{D*%2XEB1M${h_ab(xrxmmjAufvMTPx_fGHXb;~IaT<2bi)B>7PWWh?c5x;2U|%@ ztYmPQ@-O2@)AO7Ads2)8T@}Oj?=CYNmAGsYYO%zSG^EW^E*XBRN>%u1v8&;*T_dM9;@b9~=&Ghc7 z0~QzlTuO|vIq>H228TLpeupQM-(R=Y*<}A!UiO3<-@^U9S8Gc)?{T$Hu@G?G{l>ul z$aMZ?I^`esEjR!Em~HN!eQwbzMI7@>9M2sQtZO?e>1f%<8DH^B^Pt*J>AQ(0haKLR zc>Zfq+2G)IZjP_{#MA>)5)spO9W*|$dd8vFUmyS4$7qx$6qRnV_xZ`Su~2x@eo40V zyZ7!pXSZhV{8u(>l}cZ3 zIQZw3TAD?Z|-*SK}WWto{?tF)edz)XsV-a$Yy}ra#G3(d< z1xF;@`IPtA3p)sYQ%JM2=k(gWCXma0zhQ8UL*-gN`{x#XJ8Rk&?|U%c^@vCNw0*+D zoJBbzWsZ@8l6`0XryW$-eR|K7X(|WXvYqCxwEOI^&F`S1so~TEx7%j;vqoedcz+>w z&gpJb2d@i9kAx&V-7oigqWGhj4f}s(d=k!o)nxy8<6@arc2@gWpH&ar-tuD~n}^5^ zllsecUPZemb`(t9H#?*7PW8%s$DOCP75|$Od~i;@=lQx7vIkwF_s=+%^w?ol;qv!I za_I-smo4edIiGOAwL9?V4-qwoe_2m0t@j<@Z#px4^47rR`~N@GQBmhCvEQ&+OjV## zX@72$n`K$q=Y3yn=LrXd9<>XS-{boBF{FPi+kgn)hx~W0l`QN!7;7CDse9V>Ap5uF zb291;9aR+0d{?OOOZ`QK9q77mkXO}YyXtjq3pE?(m4aOB1D+^X6C z?JZW9x;wqNy5C>fV@CXs>Gt_P8?MAY_ug-G;pD@2OJDDcRxlEXe0teV|7KG3lQ*;W ziI@nS3la;l`*~36{$2-P$6x>F?2Wt-eel7FEHTS}pAP76(A!de>!!o&)bsht-2DgQ zj=WVqcSP4=<;`D$rAz z_Plv;?w^t=jNU__ct6IMGm%=`&uxxcb&YBharc5J~u-%Z=>OS_%z1h$&I zO8oYIui8hu%}Np}2P<@avl$(u4j$*w59;@2b`+g-yqn4Uw1bwfdYXG$;{khvy)#5+ zn>eT~R6Kd?%ANgc8av)RwP@WxbG`VZ`A1^yr4@>H@+v9r|H}C={`1>gc1E?ToA0me z*%x5#yt^@3%+8sW)3lZ2Ke&B1u@n)$nkN@r-#CWA@6<_5F`z9W69; zGZO1>9*|yU84}o)=&Z=}))6leFGJ&?t2O`%jbY zbc1>9pIut=ly&ExeLWv}EBEWA*_}Hetvavzi>-o%llMYaM!SdSuU&Yvx&5H#^nVkk z&xtwc=c(@dOhMW48Rw)>ufjtP#z$k>z07J3s4B}#UobFqSikGuh9$pW?4S4S$|TjZ z6YOuFjc}~>w%LExM|7*2#H)SF#3X{^*|*qTHqehc?p(Gn(rDYsjB5sVYL^5*9awhC zc1d`o-+}JZgEmo|dB?(o53(pc(f0@ybiC2PmifYCpF`JE@oP3;^A9}x{b29g)5;F} zME~e-{d9f*>|@DUY;INd0exO(r=2AC-(MTH>D|Vc`z(JwUze7++OFO4&f-f7S^Eyw zPm*?CCv8`-h@I*0tw-SS^)5h!@7kTKh23+r52mkM{Po(p49C8CKlG;*vpFsbyp<+# z_{M>lV-?AVHu)cza^{q>|67d%8T%%EjJb1gf8J)X36i%{?UOcj?B5}$vOljQ=uWic zSGzkVC520EOZL^(>8%!@oM;#K^vT|T-S=%hdomCFO1)tF%e{4tL`cs;`I_ay{ay|S zFNZFduxwRzv^-pHoO64QGUPH z(>W6sI5_QB?MhmmUwv|);pY>z(X!q9)>H?6?W?rdwtXa7q>Lud0NZu@`C zj}C{L9<-Z(IH2M~Rf(Oq`J_wlcZ=IyPE&p(adzikACoR;;|1LZ)!f92XRY;ioY$Zw z@xxfnkxOd&zPlAo2e{+c*Y3JpcHp|D-<)J?tpk_r42;_gUhV&Xd7?t))~Wl~_Rm=L zbhqdJZ*HcB&I_;ad!ldhF=pBVyM?!WrY|eax07SmF-qXluuJyQ`OaB*Z?B7cx3l=_ zx`WofK4;$)DLNM2T6jWzvV@~!wW-&ajd3 z{qZ6Tw3>Ew?l0RMlkR`tVgK}I$Ay899`5@usd9N^bGF^8`-k`4V2QNbcznA@e~Ofy zUd8D(vav_O{p0{l5<6yw5JJWyf|Krdfc)e-Sei@MzHp^fS z``c&l>8RdRv3J-g{YP8wgeOZ zmEJ7=u+rD@&;8s+GjmBtr@{j9_}$YF6if|PV7p&=pqb%qv5l|U0by>nC9xYn?0@n} zyyDe^x%)l7TWT&_rnFx=@+XhoQ33nj+qa8DIBwV(JR5T!&G5I{;oYT4vF87ulnG0&EEG**T#Z9<@USWH}DtxdF~fEZl6|qLt_5| zEf34>3vTSI>sY2Cc)D$$;b$hc#$%3lE$`HIO=guG?Ch_e|GqrS@tgRGjdIyij@kx> zUtfAWIB-dHQ<975!UM<5f@?4?Pyfy1<9AD z_{D7NiUnPnWWT{$Ftb`9Wxu(W__X8e4ECF} zYwS0D@yt#{k;U-+yJL296|A=@>G}nIJ!(ANf zb>i*orLtq}zNqg1GtEUTt@g*hu--}5b7~jb9n*iFpS&^K(P5Iq}S5sp1Gs*&A!LQO|LgTH3RqGmIolh_tDcM zb2?YW9^9Im#;|8*(ZM~tJp37CL>+H!-YH{|{nuejP-M@k_>BjS@6WT*v2HkU{&ZPa zTa=rF*_BqgDiH>U=Wy_3R$J?`cQ?>?KE61VJ$gTqG?ceVq& z96ovb_wU?NbzpUBo$Q3S)(6gdZc?f8;dcmp-TkVSaihJ(srOf-85ZtmyBz=Wfr`8R z#Y-C3FYY$5&)xWc>!Xn1py17ahs3Hgepyp}~aJ>zYGT&7Y2))>{tzTe`P%-Hd#PTN?v~)dB<^ zIQ}&1vl#!{Z+lg!CrNFOz4gt;H$q9q_M5WrMIYVnw!f@Pb)V}zK6?YP{@%D9OZT0< zar4=A)@l1b-L%>HL9EPiVkXxYPOkKWXA2{^U8+Q%&|-m1g#b>#g=*|Ixa9 z%7X9vc1%2f^@{stJIB~JGQn*V_dP7V+r_vh-|^h19Vb^V4n8<@uE_d7-LeO#JwB_R zk@(m__nEAnct*wnMX{#_f7c}(SgN8NwUUt6T?gk} ztIm&acRhIf)nP;XYD32@n;v_8J9X_q!m9%h=3JO?VCBz}`ky~y9qx!84tH~uIpF!7 zb#lqqllCv!PUL=RsIhI(&bVY{Y@B5z_Xy)vgiyBQEaKo4Mx1)oW?{j&IM- z*LDuKGjGooOrGR(aN5m_Img7Z4+{C0emfWT*&(6jkWJ&erw*rWPr9#EU2vfOzUT6_ zyFDFj+oRrUu>QBNcqq|fz4PjRmRlBa)i4*nlI~AJ`A>-{7NNfwx+KmbJ+FsXD&q_{L3sXa(v^b16(T)>e`;Z z>0p#UWuY%q{{i+L)1FI7>N#jQtz&)b{l}iSKsi3|*~$G~8%&n3_}^|n$D&`<*3)Fa z%v{Hv-#tI=^LNSLtlW0Ojwx$HWcsu2efDA|%!SU7{_#}@MEL%H_Zi=g%{EpgH`d!8lR-RY7vP5r90 zZ(9R%ip0U1gIeqNr-rXfJ9za*&A-oAq#fM?U848|t~jjjP2Mj0y#Ijrc7CJAk1h@Z zk7HfxPk!Eiv@uDp;c$}uwZHeD&4@{{Pq{7`Q6jIqU-Q=attnEk>{Kfxc=NX`*yqY2 zQ`{BjY&U26q*d9AzuBtKu;-dAlX9?QUiG<9o2Y~P=5pAaNo029nowu+*z&YPip;Le z<&ljCHrzihTQI@I;iW>m_w#3W_G|csPER?~vOn`E(`4?-So>V>(^;&Hiu<`sf2L+1 zzhyVCx9-9HMLqkH@?Ly6@I=UNPFtK=$0t^B`>fv@5xz%$UgclG+;nhmG>0Sq)MUrY zG2TBno|koG+4G^*t@h@DdFIdcYAO>Q^ltAieSb*$Kxb5W#Z`w}`!8BdJzLE>-9EJQ z^1>}bq5DrhxSbVaz+>NH=eD+f_MUx@%Xk~>9MbG&(;d&ToG>h>{VyX!Pf$^`hhCSjvKYtg!&{OaxnHOhzn7yIdIGOaDIfGp+oWiv}N{h zU+g!05^~jY{{;K8Vr%|{besK?&P~`*zxCz5{#eg1&(3VNoBj3Fq&doE`}+6HKcjiv z(9Si5cm3v~wR=TR_VdIoWzkE2lg3UV>J^CIMDy;q~qSt8V3ZLrmbhcba1~(&i0a~ovHS_{m%OH z>{Z_X=K||81F^4mEhn3$LeCcM+Z(2`<8^1E-Q(j*sg_GV?d^DcdRM}%tG0R{?s?qx z>^WGi@~yN^!Qr4&-r>A8ZK{rUdyO;p?OgA0e;r$j^QwXaU$T;e_Q*3jtk!B?W>orc z|4E-lz3M=X{axqRn)ACj?ca9&+x(TMPwtDdNtmyr)V(juN`2nf$>#f}Nr*}Qp2BXo z+j)_0*rEq}`B@@A$egS>*s}PexAHxwgZHj{ozQbl)KTa3ucoC3HaYN^=9*vso^YUO zE0sQGZ&4y^ytHKXzQXM( z`;vZG?MqM-@QR)F$X4^-D^(_$_2BSjHbjK)<9TPq+Ww|F{>iD-suRm}T+m_N_je`3 z!GhF^{pauBJ|OpA?t)=p>4CTvv)gU!bPp)EERqzy*Sz11FDq&NoDTc5s+Yfn#Q51y zd>@i$#?512SGcb0W$-~e)eY|NmrXCRV{)CD^uIvLt|BV-bc+3CyYlV0w&v$uja9Ror|9x6 zr~I2OL(kjadGqTIsvW+e<91omF=y+AK*p&Oj>U5=wVEd{aj;@Ce!G-C<$&T*i8by5 zVh0ZW4C?fAyt99GiQI?fH#+wx%@;U7{e{E+N6xl!6?Y!)^KY~E?mm!fm#x3C+$=cK zZrictZF4V6*{yI7>dABb*=8cZc{?U~=Iw_9kg6~T?&dMKbF6!CK zxboqF-nWb0%WRqs#0Adbx@{+NK=Y}vU&;SZ_T>-V=B;bkVV^jeU&=qR)c*8lUNyxj zTK0Bq?Q?ESykPe~+&9pvuXEqVf(nPk8L|7$f1h&f%3Q^LkMviIZi{I>xO2t3T#Lhr zjwzxKI}bOhI39^Q(cl$-_`v$hW|~QNx(~#^PrUoF#Pz^G$X1?l;QQqwfx=&v2PSqsX--ZxJ1~v= z$Jyz7KkR>P@T(#B@!b8=+e2lWN)`8){?CzQU=XyII8kW-&FO|6m(wjvfzoMqUOCyP z<|+8vaoqaU!nlM3T>h4;A;R~_Ylbs>W_LIWm@Zry>=5WUS1sMCW|Q8*=Vg~)dYL>u za7s1&*3uu|2OQ7vn7{H0acF*&S2*>djDw+0<8BS#YxW5>(a9X1<@OJ1z5i}F?zz9< z`SzDul9Ky{e#GY9-hX2szrg({rmnVq7x&)Q?VIjwC$%^8k8MWD!ONDGbvkufj)&g0 zxEu%g@#kA0V_ zKkPq#v_vdx@izPAEBRQD=C|8#(D&R@I@R6&)udU)|C+wr$(L{AUKG7*pZx-ny=j}< z_BHe=efCs@^p6b{5#h_dX-C$Cs1C;+J#!cHYz#Sg-0S!i(;ub>uZQF*8q{1mpzz@c zi{{OB4sRRxdg&CEIEX6!+swo->!5mntD}T<2cKldDG7G z+y~d2Kl=1bZE$r@8%Ko03U|i)Oi?Bd2ef&Nd`&;uuf96vo=oP% z{VM&!{JX*$_BUm+p7+&q-XA_S-S)<`o%__PUvAvzea=oJtl`L=!fAG;8_yXfKG8kc zdF|=?y$K19vD@D#C-dKSxKR2!$gAn`f$5W;2OVplcc6d$<$HhA3>~hVX}r0`TE)Su zB6PU{$8&qXMe|Gz=?u@ajm+lzkH6R}`d0DYzN&8-ldFYx+eNQR zGrW5k(m#GJjR@Zd#`5d#ZL4;S(XbUdBawgb`Kbenm**QCG&6jW7o7UlVd9M56rV|Z z9h$RxmdansJ>Ysie)i%x?*r;Tlg+rhuJ13kX?~N)b<;jtc%zA3(Ik7%%DFa5X({_v zM9!!z?l#zeUGkCV7KRsgPVSPWMxTz^ExP;v=gy*f$E=l-Gb^Jd3SGD9k@Hi-THis^?{U2Rk=3N{0^DahOirfp|5wj4-E_20Z~ zNxs9?)eE@pEEI4k$W`KD{QGl%K)Yb^FZDh4GNG7CmcAey(U$cLCxXW7wz9G6;JL@G>YoF zxp>)r31&NQ^V`MtLM2OVW1W=u&;PqiuczVDzJKgx|>t_Mq9C%o4$H*{2$-yG|H``Q89D-E(&*GxFTm-mS$_d=}0 z_u4tvytQQx%=v4sb(;T_{TIKpqQ`ev+ux6JI%0n-Y=0qhR@MY9Y5N^#-%MWW?xgJNuZ+BYSvlNJq0`mu!V;f@!c|vm&WL6othmLsLGRjUhZR~i9(?zoI(Y4r ztN$vy;J|+`E!)nEo(@%BGA$EI{@I_`mOeVS`|AFw&F-b_yQka#oZo(#hs|gI+3L$x zrYSG>308&dWB0mjCsQPG%_(ozz61B?tT>_{VrM+nNiapw*D>h#Gf(@g(FYxNpO1Zz z_UVAY?_1?Ldu}>Bz8og(`?K%Be2+VpQ#17(3jD(S+rIv`ublFXF>lAo{f;L8bmCvO z+dmXa73?iG+5gRpWsSnAkNY?-#+&^!Jz*!8VYt>}TlYQ-?lU>hTOj@8%WR17?K;*P zxUi)2;HmzdE^HaWj#~^r$J##Ca8%V<`fl^f+Xr&(F3q#Cif~vH!X8}YVCdjsve)ti z3&VknzLl0HPj}nvq@4DD*j2RO!15czAto97C9l65`OG|G$A5X}<$x0l_Puy=HTK5# z6uY+-JM)`n#z=)Y)IbEGf|O_NATV z=89uN%NFcA*6hPwqv~eI#hULny^q0e`@H;Bk%}n?z2aM%PMSv@bl=WcbhMP&@%8G5 zo9s1DJM3EixIfpo@qlccvoLd;i9=+gMDL#OclIZ&4BT-vq-FoTUB@OE8N}Lu`o4ze z%L9e|=l=zyG%dVkH(yO>X2`6bea9E?H?k8Jw0rQn!jV(w4|x8qmk|-ZTK}i?YX5IM zn4sNwLw-)OW7OT`QiZ*;jx!$ZcTcLmc_8z|;q}Iui4KqFd2dvDA${P=yUeCusayLs z51(sJzB|pnbDq|-2+Yj#M(*8ZAJm%oWg|F`IS66lv-{TZBFZ7T@YMhq00B_BKcfu8> ztvrSf`wwigF~9#}|G(K>eGwZc*n2g8sw!!+*}vh+E{9VQFZa0`#pp9n-E7x&Biec5 z`_g?;jn0$LE!MT0k#>JtjnbRF$vn-E_H>pW)Dd;c`{5RRQ2mtf%%%iE$Nziso-fec z=TO)8SNh1&`~%;TUk1ypRCWk!S}s_4=lXuH+H>MFbgJyXhZ+6nm6zJD+c&Rcf!@n~ zwQD1dJ5H~%i}>;OxAyVOeYD=#P{-tps-ie1R=j6ftbq8+B zG)_#lS1!HvNH$e@Ka0C>^f}?LcG~8A+E086_Z|CkrRUX@M7vu`?-X*?9_)Se?WDH2 z&=p(74*Li>hn|B@QWk!K@9YoihOrpycBndf{*{-QH)Fj+XiQ}N{pAG*x}M%x6}y|k zq2lGf6Vpo{?w?c2Y4K~8!G7zDd{GJRPWw+^4Ssx$`P9CDX;zl2lDqfidx~3Lu{PiL z{-ZssWQwGnX!OD3o(}JAT?DLlR~@c7c$PbS8plbegI;HT%;mZz>NxX6RFD3SO%9ct z7r9t}N;n|eEx>rvm)XI?%j8bUu8aE@D7-qXcFbyj<3lkP!&amH{j5)w)~B4`ci_0T z_bS)weNh`XaQv&V+Sm6j|GbUWZQJd?TMV@pegdao#_x#mZ58>mC|ok#u|obXla)xO zsN)ODc+imcnPWQkT=F^)WL^tkl{LS!M^G1jL z_T<`S26O!E?-`cW$(Zrj^WIoHIJp1CEHB>h$Gzg*MPFzR?=7d5#*-s#z5yIb$K-Iuu@VpqC% z#e{XipKR6cIy_16uR0hIU7i1Mm9JyoWS5!?CX$ZoC(S19?VNGo;oQf|=ZjVy_%bus ze1EOkfd#@f%|53-?2lx~UDf@3?taVr9=_q;3j5zP@YQ=;3)(v=D6TNAzhQU%&Q`_$ zbEet7DBH3-I@s4vdf~NOe->^8r{B^yi16*V|D>5btHbfUt#aBc#X!gS)b`ge59%FE z*cEhhs>#y>FMPQT=HB->P;S*|&Q%)X@c6{^%wl#~hrj2on7tyd*=tI0%TBspX5Xpw z^VM@lul@0Vmr18aOYUE=e@$8QgB$za8>ehNqtUi+$p#IjFEuW97nYsa+-zQQkRvYV zVpdC*qk^;7#2r>rj>o?}h;+|-aGE)SIBCe+n^vN{(y>gv&Kw%Ommk<8=2xZVEr^{<83HoDuh3Ol@TivMoMZoycgkh*%` zr_YituLRon?K&0aDt8{zKh}Sa2;Y`i?(*0E9ge02k)0BELJqFdcUWEd+w|am`=W{; z_LmOmq}@8VfNQ;j#+o(qy)`8cKeMkW%gvN=Fbfe+Uf=L>|7RyDhdEUT_9w2I%~HOk zX#amt*UhOKmi9|`))-ma2-r{key}OoqVIFzm4`nFT&lYP=X z?@k~f^Y4l)%9ej2B%@N+j1V`b_SAUY-Z#p;{N-toW`1rsXUxqJ+P4f=yI3(x55^UtaYP&pZ zX_AV=?g&d27M|z!&buOxKXl2nuPE;nc#)I8za{ccytBCZ{?Z*kR{nT$XWuDH^Cqt? zyX|^KPA^#X8PY#~`4ADluhvhG-O*d^=<2tsltDB9;LOL0Z=5F>9K4j<;CZ3(tAlcn zpMhb+UI%|Y)fDG~yaOfo()H7my${46zw-TW>y`b^iEIbijc(en77tR`%0J0|lEbUw zu)Qh!pR*iHZqG2-?|vb71()ngyBVu)y>0$}%#JN1^wP_j^^W|0Rog1W6CK;X9DLU{ z-T2@^#>(KFyPpn-zxF*N)ws!_#bdSf*W5;j3I^|Qxn;@+PI$|23fw4gU|L&zSKPv_ z`yC5^OpH>VXYW^f?|-droc-_RKFa3Y>ieG@c`j6D|6|{#E$eF^US48Xo3-!LRL&g7 zE8MeTJqt`#A10 z7~Gqh3GN>+zJmx~mAux}cM|ajk1SX&^l(bi!Gpj1YVIBtb`FmJ#p|2<_sB{hs<=4s*G=rZKTpAJ}-ttYNye^?~qWuWgLk{0^4|xfgCLS!=&H zi+Q8Q;|2Sb)`w}9-SM=4{PK^hXQY9B^e3SuOUpm*d#CZ~eOkz_eHY*EEo?nd;#huO z>}w3SsN>m-f|rlJ*F30b;eUP7$|DZ{zI7aV|8u=V@!>_47FKBo-Yk(8G14?XuyXn1 z$Y)9a?05cn@%Q)qP4>&e^-j&^o3#Ie!=0QOM-ls(9LM!8+bG-fl=t`)eY~|#;#-!c zVAp|B>+2eO9l+u9QobIc9mCTcjbEe$ejHu3fE8DhD5A z%Q^e#e|E?^a$$|@i>U{C(h4uC%*{A(t}XSqNT{j9o=<;P@k%}0|NdpE;*<;P_8aAI zJr>;6WS?2QpY72PtNmA6MSm#2_`2`zZShF;+n4MXZ8u!&zJKDrB{x;?+N{ra)La|H z-FYDRV6owotjoc&2PL{CTIR<+c93-BIQipM)`8}ak5>2QCmdMdUnwj9P1Qj$?d6ZA zODFd~6RZ3A&Ue}VwKV~Kokxo8BfKxfrY%+8zw2m72p{{Wef1~&lcO&lu{$m}+f`Gu z7976fmk{AQrOe)C>GrOJH(07f5*S?%#x=LPu@@UUp57{G{^j+x16iv|bj>>^9M~pr z^1WhttV8bKrn}okWe%)5kawL~=al{3)}wvWpR4RwRIgxLJ0om=+992Pum4Ed|2UiMrfm}q!oN6(nKqmc zIRDh)xcCh#Z?Odj%D&FDdilcB;a8`C(9Q>c?LX`~P<}l2>VD;Kx)J7cr`v}G?BZw^ z^VuIK@Mxj^@n`#_?LwyM{<~zyG@XmN!gSU?bLpHtRWE|=W?YDC*Z=C{Sjzl5edhJ( zgF&Jjr39ou9ay~6Y)0hTn-1cN;+-8I`VKf>HFT=ntLI?f%gerU?r-}Aats?XyH4(( z)|xO10Pl^2-o@7@~dukHD9-}JTn`kS5|x9i)qQGah!_rArSF1mlOg7l9s zoCe9+q!?`^U=; z`#Cl)n!Tm}KzOO7H~&=^hjX)Ev7R~pc|WJ7&c2yz((N5A1di>ymu%m6dP#QeBAxyD ze$RYO552T|8>e&P*Ng@GcvJ4h2l*%Un28ui9ejQ4 z4F9E0W=BCD$q5D$ryUF{b(Xw!Xgpy4OhD&IwTZ)uhKH7ITzB{T+$pv)f7rbLsZb-6 z*0UIUfphLhUK~)^|KK%W_L}Njb_f5n)|O4~*~j}e!LUwVoBXgm=UdSq0$9z|fi^i2V4=gF`D_a+l=&-|?HS#FG%z>?Y z5^Vo}y19SJl;=www@kB7Wec45~Gy%V=*-(K;JQ7Q3hc0W3| zhrRASWcxH{>QmP{_iU5v z{qNNWT(%zy2>NB zk(=#OYwm1m-&wk^;>i9D7v5;wS(R5RYCAmIJ54n#)TFcYpjn%!K)qe?!H+5DUh$*} zIyUa=`S4J3pTnuUdrkA!<{th>xvwQz$Kbk>!K7;$mu7?oeJ7E^L z;wQ=MgV$;+Ryu9Va7=n~^9e5-n`4TH>qhxwHx9^Kvu}3o3pl_bYd)2WQS(4fSHF}0 zfrI;NoNPo*GgIw#d-$BqIh6OmvQqF(6Z~pd9&lf$=1TrP`%7-syCx^v&7XIA^8bQg zw&xVS9yFYD+*bC=^Wu|cJqK471w{tWvOmZs$gVS^Q`ONc?6V?E#d?RnqN@-7Eh#wg zHEi0Wk`M-moP$C|FG?To=c@bmT1e7#|AnL^%PMcD{eK+ATQ<0!+V^5{;G^w5-TVGz zr9HiO)oh9Sv{_f4_-nf24rYTwbLZ@1;V7Pr%KH9DRr^Bmm2_`e4czJINpSNzmZ zcMM|am%JsI>A0UqCh)^=hJ!+~{)dfU-9F&Aa{HM+oZepGZpK0PyXYuf8ATNOE)e* z-1qLmTLX^Y1$G~{&5PRcC(>^BDPfy6lVt2Ty4|zypS%qY-<{hL;cI=&mVK37qod5R ziUJRr6vvE&53WTF3I_u}yi|C(@!^5*?uq*@I5i#Er1a(1_XObsk5hAQF@$`!f0CJe z(dFt6`%}k7e|pU+wJ%Li4K3NLWk2D_-(7wqOd_xo=CrfZ+Qq;vk|>+$q!JllBrOq14wJI~7quw74dd~?3ge|EKsqhs2)(2r9OA6RWC^60lf&w-XoeU;;L zT@To5&AWa2*zf&QmG>t7k6E-o@8r^^?af~HGdF5XvFTB@zdcubU)a7Eb~ktyOn<|+ z#7@kuu8GMy)K29_x^P>`>%AWKbL8#pst!74T3jtU?Cbbw&63Rpo5_8A->0)Z zn~KC{?0a5Sz{7YTVqeAbW%17!9@0LS~W0#4V8ivF=(#_-?M}e7DoN!*S`lYcme8haTix zZg=qNKhuL3)}(#8%5>>KEZ?z3F}CX+B=(!C__UWeoanz;bW&c%f%Q^DtJ^bd?2I#&_4f)Wd}-b^t7D+5#f*)CN@21 zhKa*o4oA^at>IbWRWrgAr6C4-U{7IIpyzY>(QuLSfg2xB+f)7q!Uo-E3 z`rN+nk*>xL|Fo8_I@6`%AagUZ{XPG4``If@x4GWWv@bj@*(vuRe}Bu}%#S+S=KB|| zS84K}d3)ckib;F_#_X|6)(G1!r`!eZzdc`$2w&wXHl=!r)sAMCQ)d)f<{xB^V)~oc zU~sVUmY(&!d0!nq|CK54&)w?~=Ql^bT`2#6>1vgjzvv{=kPZ=StsulK^g`(y35E&0@Xa<=+@!RKG5ILiLmr+w_- zt+?)Gc2g!@dvenx$I)?Pvhk7S5sp!=$HMt0C?3@5ez`4j!ixiME~!brTRYo9qp;%S zQsWYb=ws=A+i#z@FJ*16-?xnMz{y3Ad3{>8?w^%C(e?WE9(%)0Jho9TA@*}@*KAIz z5ZZrP{Qe2$nm7A2?iboV7B2yZ@4`ih@V$L9!_?t%{6Qg=ACAeBiVm`Ws}awX5pz`d z^6qqz#a{;--i>$fUD)-pGv|Q!ppmDlK>&5xM_GcHY*Shlh=6)Fq zmdU#~-Rv`jKTpnP$hL3JnH+O#mE!(a+nG0~_5Rp5d(ykhoU(`PQf92@PT$hxSmS!W zHQm?a;NQ-rfzpQN2dla)twSB3I{ew3WV$A9mqS39Hq%O->H~i|-Wvq0w>mKSRw843 z6~Du|X_M^cNw2p5wP>^6#>)%#FD+PlG}zJGK0Laz?}Dm<{Yp*$il=8j?h_L}dC0G4 z=RT9YqBajtl{nfR5B(}uEbMsft?UNjH<|}EwEVw3R6pvlVUI%ct$XVozITc&E-X$v z;CJ(J?YA#R2imh$OS(J$+1na+@Xz_b(O%GCSr!k^r2UNE>>J*km9js%LN7m1RN3CS zc!iw6_1pU_BF3Zp2vsbwhaLr3<%|6$K`#ORrPT99F?4$n{i84oafv0j|8tDg9 zld6u$s;M0O-X+5NL-Vu4qFwLZU#dDs@gAq=3v)B70vRy<$GNYPP)V@cp}fx@yUt?qvAi;4*36i zbILS%!hy+^ypNk}V;y37g4DUYE|~%Yyb0ShlcI9G;!fM zc~;84>W@akl>CePmbpgd%vcz=ue9HE~zhu{WU*>b&=b8JgEmLnFc^qu_U=x?+nkznz zJg25i{c$t;;NR~|ET_+XJYe8D?e?#^Hysp@^^1!=?>n$8+u-(P0euG_w|A4xTz=a( z&0Ny=GV0`h?)24Kf_vNTJ6HSmC!R6czjH^5!0sa-_LW9`VmmqcxLpH7fRBMs_rCYp zw=R6kf%K2hPeO$66Sob#?<+bF{(kxR+q3Dxj#IxgznOYL!!dQme3f0#ZXYl>Be(tC zvj~TUGoL27J~VJRKmUPI%F6%y#XELQnlWd${k^k3fh9Rb`-^?&*p-;e*ni7N7uv0T z*lu~##Ncaz3-;Acy6*o@CB?3znVEgj1^IolR;!mR*>#@Ohy0 zia5QfgZ^<>B`yT_ZZoKo)U*~i6R)5r2#(vBgnHFSR& z3%LC4>_vpHyw7WIhF^^bS&w@9>a0q3tSdC$l0RM6G0fww|DUp(2Yz!rb(V2YbWqK6 zP}Vn-InXA(SyBG<&HZ1+BQDl=O|vgl&G|ZQTgd*|DIH$UC%Elj7W)12a^ADgBKzH? zrEzI?><0pOZ1CZ>W9&HleeU#cd;PoKM_pamez1vKa(P5h%t3W23&VUpWyiiP+cF z#lGnKFI@W+HroZ8n=m^~Dc!e~wa)7CcMZFeem>4m;h*>V_++j$>nuH({KD%an_2Kd z33DET&IJn9gQ=fpKd7fu1bB@+Ymz4!q4}2J*+Q?_XQ^TJWcEmHj4b zF>X0V>HUSj%0w7fz1YY6ckZtl?yKzlqd)KD^3UAoAFymq9;=dF_dKVzcZsLK{R`&~ zMEJJ-cl-E(Bl}>LKeH` zfzz4$CYx_RxPRTgCHrqVrrIlZe?O(WQfa@2+kB5@d|&O>^8Mdp{xoM_c=1Qa?{gFF zo@RYMtheZi?b7L6CYOf%we1VYoUNnRbMW=Dr=`2y><Lb((j<_b0Zh4n^0jkMZxDcDVj|=+2sh$!kt?rq6RasK4XA z?cE2Wjw@Im&TCn|$)U|Mx`_Q*!U0SE#cN(XVR8tzj-B^t_r?8nOAWs)4YA+e3?tqIn@x5zIp3K;)$={8>u&tF#J*P ze39}4ei3g26R&F>Sh&PYGHLg#{fi#B*~Lpu+b`_z{>JsH=l;{nb~)_uy|(Xljr#Ha z_Y3X#WZUoCh8EcUefmtcOHS9Wp3T&-wrKZWuQH+YE9&YF?mOQd>G4U)@$Tv$`)19O zaAfIO^hzgUiNjRMRqt&LQVvL-*t$dQb{Dm@rTUCoH|~GgYRuMf5vZncwi52`=$M^O$X*w@3Sp?Cv@Q9sW~qm z)P1&3k)P@F{r?X8OMc<=Id_%Xt6hIJWy?h^`<2OZ^JZvYu(Lj4#&ThC_ddCO$3>@$ zB<$N2enRKX5v6_g3b6;v6%>D~vuCT~1^pka5wu^HMu z2R_*GntE??J;46&gw*0|zxVU{^(TMvU$j5&?^7-xXK#CzwArTVCsplZ9sgG!`trgq z#bt`Gzxon8y8{|r1s_7~erlcwocHS5-q+zLde-Px9c*0`sQmV}ucOz&*vHjIl8&v@ zI{vQ=n|VOZDA85kx9ULev0|y+>&*@ncAq<6^yI_-dRy(ph!1o3zicx46L?B`fBcNl zAI@6^?KiHgKK1n14ZBHOiqqA>);CO(+!d>~H-oe@HtuKd|K0P4*cuzZPuhW4K%qhwRr$ZcSOTWpRgvvTN z=VWC3$h&6$-t&!s_3Kjm`Hk9Z%I&@PU;C8*o%f04ew(|ACdSG)_xbOUdvNtm>%L3{ zn+feJTZwC#bENGTpv}p*vb-f3UsqmN$VKqTlUGH`*yI znRR^MyAr==yJBbTJFrh@#qN_4`%q}J-#O!DB}2ZN0g39 z@2LYmUxfEuOPh4y*ozf137fnQJdOCXnT_?se%7Cc9#Xrv+czu}6)Vp zLG^d?jppqp4$o@ZHIpPi*^Ay2h=F0H|+0Un``r0$9ey%xq|_%{%ZRcaOpz3loPe#{AE6HmNwwIAMHyo6vK6*&6F0(VSHKZ+lOkHqb2C|Mu^C zc{f}0{i|wg(~Deg?Grq}A$N{tuU(qF9^c~-NdNe0E+Tvt%1=MxF{*al-K_9xg=hZ3 zBsbr=4Fv`V->M$_*1h|yLrU+H&w){U9b#X+TV=92{{Z9tDRcd^y$|GF7RYd!eP+Lo zsFKL~hMV?FQ;NSUI!?5|8S$!fUvBDt1+#0~N2Lw+Gsx?BnWnt969`#Zu;a@yyIt?( zA02&C?>M{hx%>VP369bC?FE!J8z1ah#wGh?$EO1m4z88$zP8E1@xkUQ-S|d_=(hex zE1Xmhq~2Wm@$ON91FpGO4&HCyykE`rsIW;cFamTy=J!#V-9KW1;zJqCz;z8$UyBgOvy*Qv99ili- zV2;DhZMz!J7?(J_-deTdxnHL}l~ zH}uub{lAr3xF0(N+xyvm+Vto`mi=UlcN-^KDeXUaBjP}%^pAZDj?9m33p-@DTc$Xw zd3TdzxyH|m^(#CMiXKT?6s>7~u+2Xq<7>%Nha+A*`zP4$a`?-hQuHvm`atM|-nGY_ ztqx@P86I8N&hK!kRL|Jv%nJL4{Vyyz4lme0X?1zx&e=Zp{ae48UU;N$ug)qc4*cc_`gnBpKYR5nVsp6?H`+HGOi_5lK54(Wnq36fECu`f z>$Nx9y-~6k`rkdXVbh&`=Xr#qn>Zl-V>N{!MFo|Jr2`IJ-Tpz0;tzj05Y~=f+y;n>wVQ znqqG{<=OtdVUKQ}YG1oQB;5Xxtw)pngDpDTRt47kMJ#seuhsst@5Cxa{|Q-_?3Qot zW2kvQaUWB%*vTJj^Bwm}Om$y(H~8SA3YLoXQnClxR=;&Cihk^HiQ|2_Qfcmi2mdQS ztCrav-bSFrTdH4SikI=Qf&Wgqup!qOqKnXyy>6z z3Vz(TXqDH}c_l~e<_1li(JNX9oN zCF>;L?d7?CV5Ml_p0jon4p^Pp^}skJ)?wBJtEp>VNFVrog=xl@#8dWh$8}3n6DsYQ zs>3q6g~Rr9bnz^EKTpbDnSJZ?^wNv_9P_U~-N+NY&rtL+|GpKWc1o9wza-219<*n? z|F2sp`=EZiia=ZBSBHZhg?n1oKXsUylTa1Pw%~vbi&aLCsF#CEVnlu0jz9LguFcNb z3|IGmfAuo&Vcc~4cky%77>s@PZ+t3|$ky|CU&@y9u4ze^>@GHMU7)^Y=00cn+9{vd zL+lK`@BE*(&c`wNV}w}5o#=xd0?wIVnm!)jy72qK@xGf5zqfn4th?KHV9v6eUcyQG z4#{E<=B$77%l>a$%QGjPllvztFl#z2Yq#fe>(CeaX0l&XcI7+<*AM%SY>dlGaz1W% zD#JJKw^;W+rMjt2elsBb-+bb&Vv!`Fonamv<_Bv5Iuq!rM?2y2-%7?3ji4!OH*pE!%DRLo0UM8%s{T^g5CfjvO7qv}4Ccp3Y5e|LdLp2B0HAS7eC#N0E zTdno%DZh+kCHMRHD=%Jl(DhC0VsGp}U=wuy*81%(4(Sb>Gd+%e-XEp$sqEp59DDn? ztITHc$@Y@JAHEP(*4fYJ%O!mv{iWSgp2fx6D;DhArzGWA^3c`Jza({YWjvD|`-2I* zPfb$}-s+UL+MpSAFd(J%z@v@Kj=b+hc{#qFa?roO`NTx^#sg2DALlhsGjVYL(mGL5 z_wIf_maHw}f1382UC*(284zQCdfHpP?0SX$HaW*GKGVHrw{&scUbdE=ePQpbwRc#^ z+D&Ktnte3_a{qCAFd}@VI9`W3|7<*%-=Hb!wlUeU^3J}~vsz>wYo_0CI}fLm4Tmys?OmuX!tb2(!FDFkhgUN5+YdTiVw5^%A9HZp)56_n z4V4{@@4jCut#io1_DqNRjkDDUZYtm0m3P&^;k1;<#egj@_D^J2DOlJ(!QMOTd+qJ( zHv6wXK4!Mq?8Uxn=h$Pq4>s8y|7#Q0om#rDd^v+);WGm}jicY@@op2}XEMun?YGX- zgDj7>n@`aVJ}9TYAX=$V&@neeDxv?^UWe6;@u4qk@(nI3~NVx_e{~t7Gj0KOLD9Hx7Kcy4&kN zXW#)%-5p|Ve3}PNC~aB3VC}*EYx4MS8px&EA1KaLQ1VgQe?xW4`5d0FcGf@6T{^lt zbKlM9e&O#ICEBG-n!s)saASL-?WpJmTF{m*s>*GF<`7WAk( z_DH^bmSMKu!JePv@Q?Wg2WBq)`&xEPO!~KVrEiUR;v)lh;?#{L?K~DQW zU)QiWcj3?C#MV5$<3jM%{B(7^I0==7e8`!_X9 zTRUHL*#GeOq1wmujrOa!`?=mbetzHln3dBn%hl|A)B8R1ysgzfk3ZVHwU_tpy_(zc zN@l`0aQOcAK!k6TNWRq@-*m^K?^o~W@n$;y|Dv8O9d)d))86f(o5q7ke|s&%7hfmu;IU^a-zRtLz(G5~ zC;J~}-6*kBma=Jk$0TBRw>_eA(YIB5kJPZA{2AVT@Yw2gsV`c59B(yRtXpHG=D4SY z_j3|!+ky7x??tw%*E*mSWgb&;?$!Q;xkXDh7*E^JJIk@_!!6JKJv;tf zvHf^;pZ%oEtM-I0vU~0AkyY4LV7Ett>Gu-{CA;jSoC^Y8G4ETqcboLPlDdO)vg(!9 zf|MPDl(n9h&5>|i|M)AXmdg?co<9i-&FoSROxF9|Rk>a4fY!;DZPv5z?3ei)P(3rQ zYyXL93G5~Uj{8G-cWjt{;^Dq^(S2WhO^WT<6TUz3ULIwq@kSx^c(1J8p@%#9xhB1| zWnf@P*y@Z3U#o^atp6Mu9ji63HnH=hI0`+yZZSzp;oz-x;vaABdU)VZ{H8^<9!&@M zUYbA6sT4Y(U2t`i$Ewfv{=M5muW9YHUmUjK(v<6^_A1jaZ@c|O%ih{$PGvgN1-oY6 z=VhxSd-mPT`nY&feB8b{g6Y05D`oa^6|Gw8%-?#@(C=Q!@mGnCPjb?Qok~<3(=WF2 zmYqF(pifuTJ;kl(!1T58_pcmtJz)NV+h6h7@BK`-R|@TNT(rL<$Y@(IyN^A?OZ)Hk z>}vLhpI@<8)_G}n^g+eeUG7WlI=Sa(AFU6u>#Nvw@{P@3Te&amm)?-AI;bpp(JSwZ zujApUHvuk&l8*b<6!v}JH}k-=j}xxwW>y`DtNn3*>j|?1$36YUtUi9&FB$&H<g7%FiTRv1--n8TWy*s^BX}VqVtN4sFYy9litKGh66g&@{ ze)H`R;k&i-)J40#4oByoZHe7S0~|laUHP@+gWf^5?Xm2YrcVz9dtPdrHs9{RE^!2h3@PVvRe1Wt1e-SSnXzKtjKcTeogVg*yRyv+|#ohUGty3E&C|x_`vMl1(UfC z4k#Qi4Pp&lc;J|oF>&B)7b7Y}4idfdmdXuZR}IX5D^Zf714F1JOr?`(>p|PY2pt+kdmTt2=d-fPMMY zf2a4fpRil>IL_*nKfga>cGFjIofhy_JUD-^)z#yP365RG&nFq* zxa=^)yp8M1-p2=o)>o>|%b$1PT-#$KGd)v>wsVRqt8c0}w69&W*h%EMy$qx6{1-10 z?Dw61sk0)nV87?;Qx4v~=KG`DJ>w)_-PpG$YJau!s=aobC8Dmz*FgHmkBt%GyWf?^ z;2T4=I*-ve|6ZrUgva++g^uzVoZrmngs_!TC=`2 z=XxKg>N0#Cn|N%0-7F)sprtqMm-QrICteCwgq{i&I=_;xdeNb zH+D`jtv4UOJ7zaA=gR-J%ngox3#&{c?j|^zPKmPIcEI@H-N)LA0n0uec;w8+KA&N; z!@;N5e*Fn+bYOY1LRLs!?Z7=W1P<(6{=zG^a?}2!yw;Joe$TU4HQvp+d3TKc zyZl72@0&IDpE;Aou66$VzE|IuG5Y^pX}3whr~F7;j$_7GLlfrK2uD`Ehke&JD;~V~ zHd%Ie$%_MW$(A|$ism?YI8~hsH!gAb6e_}bYr~oSOI|N~;dP$zKynXfv1Id>{Z5xz zKX=dSwYR;ld!FHLu>I}j8-6$(72fZXv?i`S<;}kL+F5tL7BqtU$8+@%;meVE*hTJS z!ohdbyDl5{79E^*!I9tPxR_&=`SqhyME^Scw(|-)thnibS2p`?Grjr)wxyzZ+IQR> zE;A%d)3*6zf2)Ffw$byO`*U(M->;2{w!fEmC%JommVFoZwTaJDRT~E&~narLC8P+LW=uk92SZ2!M{BikH2a{W?XZyCv)=; z#R`4|5JjEMMApp z_Iv(*^Y-07WqVzNg>AbID%r;x2+Zwlxx25M`ReKKD>m!{)ob<@Bz}{aQq_eK%J4_Gle*SVlx5L}{ zl5N?FKldNFqO@?e_8xndIX8u;l<4f&5xihEPr-G6c2nPMPkTQ5FUCr7OC>k#D^fUk z$a&u6eR{{9E8G(-bF{m^@Op(!`oUWVPA1-et9*{AY(;4bN7Qxzi39T{z#s z^DzAYi_J%l@6x6YA)#;NSDk&f|G?^grOD6N>_4@)h2^kXll|*zTW6+ z$me}Wi(@CY8eXznzxl)UIsYc^o39;J#Rd!F1(MzH$F#4ldOXE8ZOW z*x`&YkFeLqyaRqlnx8iEB^*#Y@=0gv6;+29-nk2J-afrwYxTzJKORf>Kdnz>m{DD9 z-!JaFS>TAu{^=2%wZ5}H?7PKTtK9B-#O}?^<4dp)A?3KBG;O);$ov%_84ov>1_S{W7)wwHpC>P? zI%S_3CCAl0ufje!zJtH_Qt18%HFM{_%a^k6?_fFps`BDKzuyKm_4~v2Wr*u{|4R+E zbI-r=bWxJ;!Cy&CW@Uoe2LtB!)C=AG>hP`ie(H_+PaT{X&9hGYnSbEzs+GJ`wY(hu z&+zJaeDvp)me!yMyiOQ?08-n|&N>UzgXdy%&A3&dKY-Me~mbHg;Tg-&}vwA>3$v zklK~L1I%vcAFyoHclf;Ip6--szwAFvn|q(_---PbmOebF(%){s@l$JXkF4o_t1w5& zsT1Ds6Z&7T{r&SXyI6haA7M|r_RSOFnjUir(my^ehX`NRHT!cJnmP}zl}LN`;&`y* z!kEQ6?0YmEkM!-HaPaZ%1MfwHZ>97^I+(hDl{alMaM+hx%D>U;|NbX8KNRJK?6yDc zeBqdtZ_)ng$+wCgr^?tbIIo}Lf9ar|j*AWZt^@P;rDQ(dzDFq8u6p6bQ`w7^_nim` zX`FSe=Acb?qU!ygw1bQb=RK*AlX3hTXmCdV&}E0&vzXb=ruQGXw<7tl(n=Qxktbiw zRv!MmzbRo`(C=?~_Od?{Itvw(?aLK^<+451-Y?_xsA7%vOS@FXr=?dj7wq$kxxw6E z?PAv|q5F{S!z0^CGZ*QG+NT^0`Jyn1LpADPg<8d>oky7+mq%C>nmj$_&~&iIN=3Ty zz?-)J)5@Yv9JciARdBVvyT8$ICQDau)BdgdU&}^v#Mtk;?9`nXudtt`%XjBF_FHyd zSv{XvD|+_5{oDOxb-t|K`S9(AbrOu=^0!qI5x&O-n2z`UY&^KuU@BAaj$}sz#yRV+ z6v{d-4(rxAUv%@pC-I0k)7$Ra18#vsa#n=3C>5KhW z`8^VxD<{~OOTW>M{$jJgrKpT!{q5)bZb?rw;9R@OPIt#?#~pH|`@D221%Aou+sPT; zH>h>Gy>~_gQ(0_x>A|`q(iw)T!3Q@j_*=iQOwiHUV&&qmul72u;>vlPnwo!Lm6NXE z`6OkBt$UZ=J-7b)e*by)r-Xi1+AGC9ioI|{djCU>dt8&$U+hbCp7-kS?v-{wRtkz; z`EiZI*E6-qc z+%T;@PwnK51D94D?f>Euc;M(oIgvPF%>!KhA?uecKDgiazvg_KFDdr@A{*YDzgOJP z`K``wCjVDE$LWW%LKV~Z-CDKE_t%s}yNt{WFXQoZoIM`XRjHLco*+vgS>SnB?=@`K$!`+p~RoKBQI-0xz= zdpg6`alhu8D8=4jr~QQ%@u_nJPw#7g`XDz#qi5f?i=Ga~UrhI{4=(=vMq0rx>HXnI zu7=lp?`j8?zS&rFaIakbc7_tCgLg_DQdd3~brhN=(ceC8lf(B_wYMJKN;tsvWa3+a z8YTyA;T`D_doS)krmJKA{gLDTawn(dZ;DdK1c6ajJH|sCtx3fC2DCd0d)x9mp7nXkX?moDp{)nf` zdLPHf4@~)8jno|33(h3{+TV8I-p%gNUeodebtMJeHmceOoT4TLs6TkM|6`EKHYe|C z`x|%#8@V2O?)P2lyFP5%)qP8LU$T>$x5%zReX8My9R+rNYs=)TRSoUVJmEiWl={*3 zPeSI|&)Ibc%^qk>IkQ38(f8GoRXXz|91n7^>~PUv;_&Q`L8FUL%7I4X`7E9f#105q z?A?^L;m&^d^;ed5)^+Vy(l(7YmUP@N?PLG{^1g@rWRHKSOb;%x(^_=mo0)L5UCDRF z6{{D@*!|u0#3i1IT7J|n8+ zP}wfxAMe$4z&m#@w;P+#f%V&2xtXtgwx8qnVawLwo%YuxP6#x7F16=RQ@woPo0fgi zUA@BzyU*Lj>aUHvFVwrwu*q-9Z0Ur3<_3=s#8)cqyR`CDg5tlHgQ4eVvSoisbPV%S zT9jL$;`n&x5(~kXhYuWc*X&YG=sCb`Fy)oSE!P8Vv%+;lzWm<*&9!!Vo$;dmSSn#+P%|FVs}aTY`d!Te8fGz zs)O+icODe-_&N5Q*a=?Kmvo%3aa?w;`m6&J&xA$!wp1N(eLUGE?Sa{WM}7t8)&73i z&%et4b^n*S`%U*wuepCqY(J;t3h!NdLiYS#dqc}hZ`z4W`|Wzkd%E3+rnd+7Df`(O zKU#l%g5*!|_(LuWB79G-(NSUS=x}rtva{4)9^iPD*Dd4pf4zf|YmPlPGktns%eN&J zw_Gg_>^{z*-=`4j5Fv5Rnq`5kgK<==RbtaM`^=XvsV}~l*e{;_&o$4=XMe)v^_sdF zQu{;nYGXIW-`wZ1{JEu2Q0u;=sH8uM%=GjeX4&?>COF>&y4j}Eje%hNGAPs{LAU~ zkz%HY-`@zf-||OAQ%C5V-Q+d@!hUQ!vF}v^w*nK>%zcpxwXZ}IBloR2?0aInLjJ)D z=FfXMHb*&{>=SFYuoZFK^8NAA_g79G$X2jWKGZhpz^Bhjr;Sc{9pKZcWY$S}zh60% zVg0Yt9rhN79l!4{>97x$_PaJm(Zl|@!isfg_kXkd|8LR)yS?l8F>YvKz1-EYFTMQp zgS!X7{o@0E|MtVre|Y5=@K#Eq!*Roc+E0?5p$CP3n&0B(Fgv)DgZcb7&x;45XIe`e zUs~^=HTT<9y(J|Mvrp`FJF-T~VbUqh`OM9q_Oo$jEwws%V1M3Y?J3#|3-_lBunK9t zvbMkebb^ZK83Fs*X2(S^mfqtDA43T+b|KT0twpP!QB7;R;A;wuy1 z!IWKgHWKll4?Oa^vcAt_*#Re)=hBmsq8v<~TrG6?Y~rx?xb|~-=1=xLb4+GZdwz{s*Y|ZEEqOi3bDy0XyK&~T z#o+$&fkU4W;Ttwv)ouB?D#y@myI%xl<{!M4W%}e{fWg6#Cja+=pT9aJFkRuXGv4bE z`D?!3pVEQ@t~-4nyX1Qx&~x6r^JA@k?=kImD;d?5>SJyB~i92%XN&MZ*^4H-C-;3Bpw@n8& zd^K-b|E}(U%e>-85ue>0uG~wGm{jxI{`G>b9Zw$L+%LFtYhP$q-S@y@c zEf?MNP~N}aqiJro)%SfD+kYDb?muMLuw7^0<6}*ZC(4B;7{quUoUUb7|6S7jpf`tZ zfZ5Hb4ih#jX%+n0>2Of&F01#v>I42WRGICHEDx;m{H*kEF2BS6{wvXL5lif6Or9KK zuwcRdWe4=5qILc4Hyw`AGZxafPgLEVue$NmKJ6O!Ckl4k_hl{ikT8B);&^qv6MtL@ zuVaGKwk?ehG!I4`y>YsD`Z0$ThQv8Vz3UyW=qlUI6-_^&$ap;dK$Ove`8OBTCBOM+ z-&B{(cu#kOecJ-3=`a3F+@D|7`1<2^HT!*&p1iv`L&<(m{pT~!z3=UtdME0Vv@f`S zd|=f*MEF{Hn{lU}X+GE*|1#IJFa2O0*V!erCmT8bj8ot_Q+mZAdE=2)DknD|VB2!$ zlFI#jhnde6RnL@iImk*SBxJw+vEO5jT;WNrJ@#+E#P<59nC$mB*BSTjvdjLHTzdsh zYx3D^csrR}vTWQ}K2>tkMvck)-ZaWzxXWGUxQrpzG|?^nVDGxKEz>V4A6y!|_q~eL zXNRaG7xM$JO*>$tS+nNF()0s*Y(fifaGE+uZ77|xh~@cyez9wL$Nbmqm)YHPLYuwG z-mXZQH|2)){z*wU`6|0U?X#FFH{;o#i+1vp*3SMVGHGAqHa|6<<@t_x&T_8v`4xQd z!Hho|eql+5j#fsmZ+zCdexT>d%Lx%5`VR=Ghq8vU z#5!Ej%<2^1D}CTz$?i8MlTX=)^%UmKd|Gb*wb6`MYij6z4)%2wU!0}v*VU`5{H(jU zFLql>M7c-sz8!z!%pR+R+Vu%F#eduEdobvepK!fE_Q9){7-h`Ezd3w(E~2o1!c&KP zXP&HQeK-Gr^sA2|7wo+po_>0=@a4SU_H~*{3U~Gr&gY7&-GqgoO>akX*i8rxzVGjqa&U5e!nbOLsDo1!*0Qg; z$?Ul7)s@`+S57%hI++pX&);}pO|I&$b%7=hHEbH;8Gd*7@4lFx5~S3$-}j{ddeg(v z_UvYxepxyy?B8}ROJCy2O}p)zH+`Q|(6jHyhQv!n6Q%9?99id{n#u$&f7$jU!q-35 zYx<#IjRy-avx`UXPj+#|_= zpop9M-}2t-dnq){{-wbt&G?v*{YF1I+-@Xs+t&&T*LpwMy>G=HzVw;xX?7B4%F479(wcYPn^CD&{E^`zQWH@U7dY!tsnAI`u^t_`Er*0g$lKTC|zWTre?#|hd_Dg9V=xK_nlb>~P zzr-%4_xEq4*t;&8syc0|;(n2C!KrMVU+oSrd2+R3XY#&@R~D$BTasw^!}Gnae$30g zNjw4}zWodL&i+%Q_f4|rpv~tis$YEV4x0Fu*}L|uI_~{h+;-~II)}M@nJ@BZ7aX`| zYW|<2?61Ax|F^UJ${+5pO8Ju5o$tK=)S}{tY*9}8nVSTw(!5Xad*U9+b^KBHz9V09 zHk@QN-M7AbZf)PaFSb9Dj`S2-e%(7Y{+evc`kI4l`qn!=k8?V>ddl*5imyc-d6<(r zUiWTt*bvY)#o=ngfdKae`K6vr4jFP`YYy(axL?b_BWE3l^Zs>L`ZgPGG};u)W10JZY3goZ~47oc8yMV z)c1eP+Q5En1^_?jP+k(%S(m)>osD%%gdw|(~dm23Hdn#=qN z$v)Z#7Cn2kt^M<>{V6MdPTiU^ZNEfh_xd+aJ@;z_x9T3Xxw>!qtd^6jelM~s7d-Uu z_>%&=ez8>J*~}VtLJKUK7#x1?ot?wMcq+N>;9+&A`!D%b9Q_`-39v4ZaGc`WP;^CV ziNlYU7YTnOQx34W?31cs8NXuF9=e(>E-l(qBo%iK1%0usJS^AX`2)tjHHYv1U2AxG%j z<=@GUAEx?WD=|?xSTDl1DD&{c1D@uYErPyH2b?*~5~U^y9aTBG4qm()&1Uc~(eak5kmc?i6-R$*cCqg)M-K2*?ylZZ)pH<$`P`v>?_3YO zx7YCe$^2)3K$4I^pz5Oi5eF6S{A>5McXim--`b#N?_cd5xO3`DJ3gyN>ANMY4S!}z4q3YlYLDrDnDt?ZvJpX*B=t(*nU0~@KoiOWwchJ-h z^#xT2d=6gO8u`=gK&4by#2?O&`&nl{(hvGRcmL~;KNCWuMfOkJu(rxLSIEBPT`*_Q zmYa67uBW}aQ!(AHx;^TK$S+^JI2C(s_HIb{UYmjl-!^V0@AC~Ej(?h0_EvTTI9^+7 zSmw^JfAC1@nRmXXPY-l^1&4Z`F+9-Bvf(kiPpHFR#>+0P$7CJeuYUNiv*((9&y~5a zzE+jkdsvs1{@d-df2PmXRV{0z_FL<UZ%!EM8kXTkQWvC<-%Jzwo6Xcx&@dY#;NWkycb%)puZ zo`x)M%C3yucT}WILHlRkLDh(fiktRCIkKMiiSjTOaXjy+d&>CdsRJL9a^ys&PddOb zu+M3Bk?x)H&F*f~ z1xd^N4g2)J#-5&gr(@qOF3q}KTYN$DLkGON5aG+;^+mjoy~A{9;AUSu$;K_;GTd%JH=&4odO~Ha)sh4qJteyze;jY5&6wk=k*0 z4(#V!-y7r;Q@H=f)i2Ah&a<&!yH}KX;d=r5KeHk)^8Gt*w_oH;wZgNueKY;P7Whw0 zbUY(|f5x>5IgWZ^Ig3h4_zu>G)*OA9`T4-xMlE)Gi)9BkDSar4z8mEbz0B9~fuO0w zWZ~`aTfTp^|1p#Ogjwi}{Y7e9PnqU6?mrNt8nsHrd4E>ye5K7w$L#jIedWG*;ey@m zOUu0`KbU5B*1O_|m9hB2>G@|L|4mGAl&{yiF5qy%!Qr^3z~Nhu4=@&JZ*57OcYyWo zj;e10<_;#}7xK}vGXLP&m479#I~W}N z|KhX#Z2oT!a~^IBQJ?4F#zqkT!K!ExK& ze;PNpB{;s?w)vXhZR3M#la1wOG=4fT$Ez`FItah=o+`~O@!c000hzWr~f@YeFJ(e`a0VsE@Vpt(P*uH&hA)%Shrp5Hmr zL)O}<=tXinU(9jz|MT`{R#JrH+?(<-*RLra^qlW}n>F&qf$n+YPoEjhb#Mt=cKwrK zi9?Xk!SpKTXZzL8vM1<&WjwG)Zt~en&71envR_cv9MWfR&y-N|t0>t1AlI!Qx$L6* z9j50P#5=#)_gC`%p_JVn;P#nODI$E;ANySEU7L8Y-In#ohxVd_33Dyp9?BDU-2Zfo zzuM+04IhwPrZHkm&;)#S)fe8K$C zHqV1A@^0M`5i&nm6Z)>=A@?(f0~2R4E8pJf@cx4K+Lec^4?MfGGsBzR^1vbc{PRI8 z_#KoYD=IBT7ui3y`l2?acfo$gH;qf#Yy#|^0;;#{SgL1VdN-E2^4F(*;gNlfr%JZ% z`^O@+(fmz`qlm<(k2k%z97Eq1m{i}WmW2r4#fPNc`95wws2uZUVN^}}!FlKQ#gtDsa=g}Hw8LEE zii3F5N}Ib|Hy=34aI2*CWxm6l`IQzf3Y-p%^Yq(3Z~L+TTtN888yb7;gKV4BzV5f$ zf71N-yPeH0`yXv*+tM${Xa6tuSoY7)8~45VqG=McbJD)|_J1Xvnadm}yi|V}8jyal zW6Hu;)3zxeycI9@c&o@~hnJQ23{DD6Kfn^}b3H91{Xl}han#&zCJwSPS((>tp6^d} z5X`;2arJ%)moID=pEla(zc@O%mfL2(Qi2d$@s5xC^@b8B2N2-=M>NGKXx}q@Y|v#`x|Rd-(>JEwhu6_nYg-8b^k4{33K8z-|u5RR>=7G z#bLV{(V3tAvekpbS1JJ!zR7*IZ}Pu%9SrXOk|4gp`Jkz=n!j|Mq2vE^F)Lr$TtBev zV`$y|75xVa6KwQ1-i~p2FPOIUz%uCr*T2mCwQ%(*`=6)o%Hiy_Hb8orVBI$Q`TjG3k$swZ1=ZUnW0I- z$MJE>ACE- zd&9JzZPS;W*l#zzdhY$CcKc8cX@%x2)BWii8lHBnf4fhX(`J5d^f9}K9m|yuR(I`_ zsNQ$T;w_|q+!u-n-xiUW^mTom2d%_UM9=*m>{w~?-eU7|4M(fk-I^W`Zy)eV6}6Tz zj&ji3W94M4Y2aYEs`7~N`+xh>`Ma9`^6j>N)i&Y!Lj9us7kN#&`6tWRKTOo=E@(Mm zcV5C-k^AwyeclfzO=6pqWH-C$sPngO)qTou?_UkST66Hm4~Mk5^=SwHS7mNGVlCr1 zHH%ZFd+}w5$N%s4! z9Q&W=XzyS1;Mw&{&tBO5e>U6bz4wBBujCI_q;tF2oi)8<(VX;rFH2&Pn{9Z?!L)!h zp5xL{2Y-D0H=*?{v*Xp)4VPXXKIP!FS^D{Xrp5!2jg9-n-Ax=0o|-CpEAH-oRZsq9 z!CM;l?_!&okzO5bpLMvYbH1X&egSh9-u`_z?Uo4lYf7Z`>|^5J#x&Jk#;&7EX5yjk zzrp&RUcC;2q*<^jg9A!~zJ5*>u{ z<3j4s${fh{;9j9(baOw$#_pw?UQM;Xv+wS8al4THB^Unwvv%aRUp~7*YSM|_`)b1% z-Z|ZxX1B%kam_0Qp?z+$nptc&KJE>FblYIooc4p}mVW!^bHp6nahHkfp0%>$!sOb> z6HJF3+8)1EemtT2!1t`m&TI1x9K81nnR0i(*nf8Ef%cto6YN>@Di85$*zW&rTcL19 z?fJfs0#E(!S#Gkkw25Gzbg^XLnF!UJ)$eueWEHA)WG)Kq)3%p+y=g+}L6MF%Y`G%A z2UEpFdGZ31$;c%v<+-pODm?KfwB~! z(Jo8#cY5CKi?&MxH($5OJ8A2Evp368wCCW3v<+)7|FS)}>_ceJ$_c8D$1J%RZ(dyI z;K#$jFEq2@!1=$^qm@_uv0q)Et9-ir;r_o_T}m6*yY83YUtug1=d^#dQO-Q&tTIz`=l)JHOAC9(beP-LBc7 zdw|n!SM%|1yZy@}neJ7%b=gZt#GLlv4zQoF$3KS2ir3z?yUMaiIGa z{5*NPjfL!%PN>+p$NA;nX`545zcK4R_~BrJ-ZU0p$1U>&cs3fUIY#pM1?wAj9C-We zME9hy@&nno!;XoTXdh_mEZljX?e+eH#{d2W)J@x8Ead&3>5b?98!{T(u0Oc4FI=&w z_i@l-yQTbZS6d1f+TDJV!hOuy!0yJBk{P@$FZS95Tb?P6sXN%ueeOX-zKY|krP&f! z7D_mJHEM8dWLx4e{q=-2?u?WJE&F@qXPAf|kP3UVAoSjy{SHl%;jst1_WOPKqj5{e zalgQ)eOp4eKHPULGmblLeVLuUqr%hq*P`wEie$8l{z=#^%k@&r{QV7_e&e(e;p-d9 z`0txdqho2$JnR52|D=k}MSNt<+lBY(f9qXb4vF}%2-dneS=~U;>l?NYprEL?m^>a+K(Q@(Dm2?bk zG~Dw1$E*Wg&w{E#_f#FotT^aUD`b9PZpYnkuf;y@FTW@F|L4!S`wx}8dTexFaKD{E zdqv|KA^YCNKgyWC+_dZM&G&w`WV+oSev`PZ>3()ocX;fI*aklT;lL#YMEEjUKla&G z(c!qZ?B@RInE{R>id&vvmD4{s#rpaFc+;l`D$*M+JJqQjnDmNs+xPNNhlK74_affP zI{b)?77KT7RizT^S#fw?#LovPR@S9h&t z-*$nYU3q#QcCV#MStX5&5B7;QANac>%aKR4@m&9MNyqOyWpA81|KPyl3od_lS1mk{ z;rz+=^zV=ZN!#x$8*pCRKjY}>mn#h}*mp&W{4{i&VLxLcXHM7WV0(EXh9kL5U+wPy z+;l?e!O4C4lbQqc7S7za-jzuz?nvamUkNI^Z7=5?bUC?nX7sTr$3L7hyPY&e94|ec z|7VZv=>y*kU5|GxpLF2!+U9Dm`(6i*R?m_&-SuvN-^Rby8sgS|e37_lS7jn$Z}WPZ9jop?y?e(64|ZP9j22Bwa4g6RI(7E?83&__y@#j2 ze0+e@FXgjU)Vu>b%U&|}b6Ggd^F4X|m#?aW#(FO{d-3P?N}tW=G|aQI|0HqDREVo^ zztF*Bx<4w-_xGQVTEu(w%D#vGF_PEk?6>Qkae{HzS4jVO7dIk&H-FZv`;k=T$ZWO$ zn`&qNLAjXJxTOXL2Y0+)Bk)7}n}hbuO&L?T_Btfz%WdKkD?DKICp>U-q4xnN?qYeS zUGw%oVOdda%6H5DYOUWIMx%avA$h~~DZA44hnwY|lYOMOzsN}|$LGR(yI2WJ9{-ES z>?{hmtDQAyaJ;Iq}*ip)Wa(-b)sw9t((Y>^1zax$uSJK}%nD_RU@|4!o{7 z#veO%uEVo)ye8KSN*v6Be@W!7f4hI{^xQ5X4yFT#auZ@r|83fDk+9W`cXOY8*6|;| z*{y=@#cTEyXsi|8zvKq9@kPBi`+itXO<_El#;rvM z`IW7jwjCCC-0K`THQ?bNhe`5}=WUp{>A-pQqbs>H>kcfc_SNE1a(8fA&(5;u)lYkU zl~bQT-@Lj1iD%fsV=bBXhhHiNW^-iOvx(Hq?GIJie}3!5wF&;;_Sxt-o{CgFY}fE- zg3ac$O^)0*Cfz$G=ykAn$r(loF7t!)-sWs(z~ID@ zwS}`S4p@t8ShQ{AcVJ$@@|tPEe0$H2O-mW77VMujZ^G6c4+88Ri|=xtFw?VFvUNJ( z=lFS_RNCU`)Ky#e^>t=-yL>8ftaafDvXW(Yl>F@|8g)bS;FG;V>mz%QJNUks+uanp z-eK>F%xT*j(hq2#ZJx6Eqv3&@+C8d2wEo-2i)?b;_hpwOX&-5U3Q50)#aSOX!8O8v~5?zKIc1#oSgMz+i7+O?r2p{mWChul|NkT zysx^)-s#(sY5zJL_Uk^@Kl{$eWqX3`l-kN+2Q-ElbuJsrXTooJ80fHt@Hy&zJAO8 z{m8_jAXjYPh2rP?6J4~qSwvRvKc5#Iu>WwQ{S>Losn4u!_N!`l^cOt;urDfkbwEJ( zMZ2cuVVCw=Pulm9*|{xaM!sW``Drh1@sNW){B55kR>>SZ|6~^Dq>#rBC!=;hxS&;d z;A(T7gh*oifh~VEp8eRU>JTTOllSAu+5Nodik36@E!lq{T}f8Tu-Jb7?Khj$kE`yt z)-1RuR{w6_$%BeZ@9#WpH#s@OX=Mzge=PO}5x&dpepmP~cOUHgzev|J$NAur8K25; zM;bbY8awju^|^kac*Wmm$Z%3xsyBzDDMjs4a_r=#Q{KJ8X>2Y-;!8aWiud!vW+tGKx-DsNn z6kh{}#(bt-`)2;MUn zkJ;s)I~%miyKCRapLVnU{)6<7yB;FKS8e&fZ*J2%56X*l7p~+Fahw@9Gaz%WhU1pv zwQ)P|-###T_p?i(Em00mYmQ!Q`KIqM?Tn0C{ege`)s-b(qF(Q^-+py^-5>d){rQ

YMH#>SpNMYX|U-oC&4{8o>cihDH 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

N=|MIcWi_Q+`o&;ZVS@3!PVdgK>Pfx73ujHF= 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

rRsW%Z#}qwd}<9M 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

DI3-GbRT*evg@>)TOBA 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�c?aAN-|y1$i#ZVb?JD;-S3?KMtiO9-cf8rpT+7^fRjyk0c+t$U3+9dqob7^ugp8|ds`aB*2(V({X9AO0Kk#kOv+kCNKiygnyfv^@T(u<3 zL80#Y!Q=zt2ll={7Qzs9#$LSBZ57WHgZ+sO2j48%=CMB{*(5=?PsskY{nX1o92fQp zPj7oUDYnASfWyx2yMncynD?qQt)B@8Px8%Q|6)(pL9TCQ%d#C=9jg+mm_BnqcBqt` z{PVob+ygawSLQ#@@^N@pb=i!Y@xJ}5r)vx|j-1|qZ9fZdBJAwoh|4IMKjWNjm4V-8NY`mtih z+{*_}O*p(*GlDeT<`rp-boHzh6gbEB zAE@Ip6n$*$Fpg-v*z*=;Yv?{wnAx)A%4AM78x4k+#aefFi~(x69n zoMQD$TsF?yx3f4{km0(AT}$1SXF8s*_d2bgyPxkw#z6^9ZT1&-kq1|>Og*5<#_p&P zv{(F>&IyMN$0{DIlCL}9AYN)*QflPjenMsH?aTM}pPt>OoRb^1fBk*i*+sR1_GvXL z3F~CU_iukO{k-+@%XTkv`TRHPcJ8}ou;^Pxk%67-jSnS1;!lFxXIonk;VY0FaOeEQ zhJ#mr?$hFZp5iE7_CooEwUpzEDV_H<6>c7ASfj5eu{GL3^YVSc=kkgN9u+?Qs&xJG z{?nZY&R++3Xco{(9cyIqwH+?0@40NB`D}lEeo^knT;cV791f39UjDSit}?Y@ ztIFY=eGeIzWN~iPvAg-!EwOj&N82A}C#HQiDnF=_wDaEbg@FfWMIAfal_2E!N9O7R zovhssbLIq`G?<%x;PJT`E*Xsq4&DcgEgT+Q-T!g7)H0brW%hiW%i@?5RQF$8Sy4Fm z<-L8YopyJxzd7ITS>Kk3kok%Gnib~=x>ictwNBlb7nv{-+&`Y1j|kr+#h*w2A51z<$Fi zGj9G}o@jrM{nq2-_uuS$#`4wi!2GXvmtFs**1qnxlfImv#(6)R(Ri5al;*}2fSAM#rR#I@_FWavJ z{(G+OcM>t5`RUlh{R>6<_=6_o?tghcUiZ7a^Zq^aPwIDWy}U1RZjs^s*1ml%3o4yC zYya=PbExx=dWpE*m7~i}-TAQ9cH#ahUnA>l52_qkmv|-B_Mis7r zdbIa?_Pn6*!(9gz`b3hf#ey6)mOrrDCadP?b0SF2!G6vGW)|iZ;iXjv7P&-k(J(PQ zpk|p>yQA*i{;gp<#F)3u+W%mtlx$yu*Zz}iLOq=m7uanV+3mn?x!KO>bx-YFpa1>`IgRpz+N1!8L9z2dlb+bB(8}Pp~v{WLb7BHtB_gqu+-YnyNJm93F=p z*{-daexNP$z@n2IS;m`6u4-UcE_< zcT*OKR+lIp)cPHI^i|8F169_~_v;rl9Y`0dESB5()BbYh@9VQ$|JX15TCixz#RK*+ zw-(OT2&lGSS>5~dxRtK`(G|xvs(Los?VfO3XSda&ebVwujF+}%@B42#&tmQ&wSDQX zF&3u%%?IUf{S^AKG}-a{PJXk59mkv~r;1?hib#qMu4QdTm+P_UY%c1LlwZ^Qv5} zKk!_2i;+O7^?|p!mtFpAf8MWq|L-H$4|De4o6gcvJ=@;CS1ibhw@Kc|#SD2QJnNpOv|;+rOCmKjXol zl>PsEytsZnj^6KRE5+E-sJwsO4S9z?(L4L*wEvmipc7}uSe&IagCoiA_Uq}YD_Zjo z-t;pxJ3S-Yk>~oMdFrO3j=SEMOYoe1e1O$`WfAM-#RpCvlG*D!Kjgse^>U)G4}G+k zUpFnm&G@GM#Jc&Wj7#U+J6|d_yOa@PpBMQ4^xWik`zp%jZ+vz1&ORx-qdMFiOZJ^! zdFj!ml`;ExEDaK7Zp}K_T$Xime_)Iw$NB>$h58^&WIuq^fBcrbVo91o*Il|siPvwDKntGRK z{mT>kR`P}k7EGSHZ)(*Go?szJ|JYU<5xznPgA1Z}wK*O>A-d9)A@<-?)85Q|@n#1< zpPqcmM|8^pG3K>F(a~ER<|}rTc@~s9cr)(TvUYy7pTqOQZt=c<`|p{hdxg{<+Anrx zzNy_@Gkc!-8b80b``a6z5aKV>60vtSsjIYQ>)W?)$-Yz9FD%-}FtsIN14EYM8V&P; zm)o-)zc1T(fX!a=;0NEds0qSf4;X(?{W8aX(SesI=AU27mg%s%<6DjFYD-g-z#|4WXaDSYAz;)VwBbMud z4!`0uW;k?dJG>E06wuiI#C~Sqd0e`)mf1Ku__xPeC74*6IoA}IJ($B@Y(R8;9z6_!(TI+wGMU*y!&rh z`pbd6?`8Z1za0)&vy1Z@uhkw<=Ka|3&f$6BW$>aKUlSP}9F{JxuReX-KI-k-oYtRJ z`_IMfPpJ#c-+$rlogcXxZ2LVIduKllW3)df%w;Cny4B8RSJ^60twzWDX;ap3nH1$% zZu)qq-gDD~GwS4K%J#lJ&}mm#C-P#a!hNsH`t{5WOaAJX4Hcb4$vWzS9aJKYRD9V~fk-_hEOIb62K?UIUi zoQaVyaGao8UA)#J)N#%&jyR!ZDhHp+h&ju-Jw33nAWuPR(J}|;+K4UdHxxNY*jk5H zeN{Vf&E$QSAS?5M`nijD-<>+w{S@~TSNAi!?=`>GI@x|v z^c2C<2czv5EfdRDe5k*FrqHFlvzoj2iI+^+XcK+Nj_>03>+e1{Iyy(sSre%fa!~9$ zhe2G8>A{n!G2;3Y-Z~t$ez1AT*3AxnGIJmN-CKWPe_hC)DVt;txJ(W3WS_+Au>0-j zML~fF_B$9%ej}|qZU3bEPVH~Z67Aa=JfE;{SsE|8_lGWxTa}|IP^#s*70t?LFVTUMKG)V6QoetGg-h z`Mw2SRvH>|`QZNX*V~BjJ#gEj_T~H5gW4Nkow=Tza*!!#t)U&4vE%Hua(yQY4>)wM zH<{X>x#56YLW*VlpL~bK8%m2WEMYys(%YlBdj0$TyW@(^CMfT;xB30|-Ondk`){er ztZH~?u>ZiN^{#$_Z1!2xbYEP#d3c{4%ag)QZ&UWEGF_g;yuZ-#V1LlN^@lPJ)@g1^ zsdAD#c**XQ*YTep9p0~Qyl;4H-hnOJ-Tg%aM|2y~V_5G)<%IXF3ChQlhaP~g`JKLTsJZOrBvCe*fue?9{Ow;!1vE5}@CcVur ztt$V2vp%GMeD@e4e6Q=fYOB|GA9U=|vb+7*;NTtav+gqU3>^7?b}gEgd-K4e#}niE z`CAWcU(IHd)EMTlZ^eC^1Ixt^7zD3PI~H-qzEJtkq4x#m`^94do}P;G*xwMk@?%eu zkbTs_f0aFN&hP70D_D0;v%>Dk+`Sjm8Ex!3OXE-K3M3vBP~ncq*p+qg!Fjt4XDeA9 z-!Lkj>i_%5Avve-r9SuE1I-O0o0|%J9HjL;KEG+WYp-at;ze%l>HY5**nYe@J<&eo zNmMFRjQ4&HuQGkUinn%7DJKiBH14zWXx%OKX-C8?aurb-t(KT_e z2d`Yr!G#fG7Gb@Y4wy=f1S=;?>W$1dnM0|+teYlc+b{_O|R|KUKK6B zF#q8Gk9pU)`o)^ zhV+k*ZbXD{06W9f{%0KrjWmSoAH58BoD-a!A^Abgkxgvz{RjQG4}AXo^;2?El0$M0 z_kW3lN)GOfp^~ldzV8=YcjHP_<5v6G^JM4pzRBC~8KkhfZl$b!w(*~!H;N1QOXZG}G)3v2t_mSNi`%P1S^~~BQv#&8`U8k2_NYeKCe?4Z{*5rmhoq0LqV6bRee}HA= zK_x}U+euMRa>_F8QJ;_aJ1TwQY6uB89I@EQKjee)dFySQ)}+GX`wzGjME2yXwb zor4J9l_r0usq{7+tn8O^4||*9xJ|MDexRn5V{E~{s3N(W2V(f*3*)<@9cGtFpGeeG zJRq9*DJN$4<^8LJ-rStWIKh5e%RldrQU3ei`aQbp%gbi3@avx}zI9U2;ANz$v%8o`dC%Qei?RU7O zZO?l@zv94UCima>3bh>;g|qEah<&!-Hhk-=faTrx3V-VUUs8A2-xcKfyO8VpzI}Pj zL6Q5H*jdF`y6Gn5?E5Sn{lzwh)$YF;M`&TpD_a@1)OvQ)@`FOok6G8u2s}7HVb<;0 zsX~tOYh(+i#_V=5;53T4){%YSQ0V-*iiHXeTuPQYx;L)w-+45$bpEq4`}iAsrP!NP z_aEA%7n?Tw-aea6Kc=s3o^QwKcFg1B+{AtNj*IBMy&!1!{`sABYq#s*@rSAHi16LJ zZli9*^5lbCwn^*rsbo5Gz9_lqZ2QmQ<$1@OeH=Fr{7q};(e{fuur1tU^+Fx31A_bd zxAy2A*f0L{&XTMpiT1NZSBnYVezwns>6+&J6<_UEMlP_ny4Yiv<9KLF|GgwTZB54N zg)_d|9=o_W`|YY}d(HK#%Rkih9AxBN9ct~VfAD*>&*$8Gqil3@M+}jSL{4_*iqGae_AQakqNgh?{gCg{oSJ8 zw{NemCo31n*S$p&NjzGY1opY`=DvwtcFxv+;d;-En%aXQ-{&=+v$Q>!q`cz$j2baV z^Ch3>Z&%yspcY;z+bxrDz_~?l)6;}c_N{Es4o7NT+Fz#hY?a=J#Qky^4QgVECi^Y^ zY>-!<{+J3{vL-+mju)IV-l)c>I@{B5~i&a99>Z}Nog zO!yYhp5J`b*6gnNu07kk4%*+}_V2QGkYkTiKPRuOnq%`_<>L>R&pEJ0@b}5}T~!B~ zwrP|e^)fs#SvZ3K)YNzTr}b&Ae06@-e&b1o@!R6P_8SEMUGlkcncYR!$@2Qmo9!6x zFKIfxt;+6kanlAPJxjaFn=iIY^Zd0H;K@5sZCH2k`no&o;6sd1*V&|cTRy{aN=-=Fn%N0!zacJwUTSNgd}!N(|PUxQcw z-oKuj`}&NX7)$D!58k?%r9W|fvZHkJBZEzwl^xTHmDvusoIG%*EYMK*z=Q+5&n|Jw zF7iAOuw@aSbK1ZChV2KngAUK$um3$xOg13NetA{-{Nh7~_I>}gYb6Xn*|AuK+~4?O zrCst}=@XK_g6!7SJY?1Q{@(UIOJ>BweH90FWB+FV&<}KccX-PYqsJ1CC!TQ&@LDcE z@T^Z>S^9hZ0gnv#V|f#;5AX;~Jdt4Wd4Ilp$m9F>=j@-bc7yl^lvn|0>zC zT(`H`^JU$gk7@gh?`k=QyTt6z`SV}jV!85uhp6PZrF?hx?VH7a;geyqUCsKrnpM-1 z?6yCe+*D?qchJB(Y3I$k*^W1ig4_3si#l@tS?VA4;PC4i z)+yezE8ciD`$Xo+eS3M%K2^Ulb)TWjw?Rh4rJzKg>;r~aZr26a_)Oxse?7=b%$FIUhH42TmRhQ+Q0ql zvR@T_tU9!x*~(n#ih+au6F;3TI$!+lTN(vsx2cKP7Zn<$>dlfhFqjQ-CK{QS9Cx#!mG z1L=jzXA?Do9Qc`Y=LfFUcGz|6U~tFuC-!=tFXn|ZE!cnZ{Ia~n+N%9~1s$7wxJ~!J z3iy6I_2@@CUG8?NtLf+L*jl&#pQZrmAIr)i!guS|R5z}9C60M)zru~b7aTMQeAl!) zM(dzX{5dVV?7NiaLy*4*J>^Yfr;hJ4+DP`^)8nO}Jvxb}QQrR+IIhtjh;9BX&q zw*Oi$lid+hyMJ5q0i8o}`TO&CUrRpxooW9YHpa=R<&5?W+!x#Kw`{Q!&St%_(7e&H zCTQ#WL+MeDcSV0Qy!vQ*uIEHl2xtyyK>X_=m@_yo0m4hXs%OBs;e|jK|Z82lx`DG4$^8UB_ z=NCDgS{l*7S+0J-CjUlDz+a{Vte=jY5HMI^e^_z4(a(e__I%ZiUG-7=_I($xicfl_ zx?keOmf{7*xA)E1xHDMv3#5O{%83ZygKa1OE_#r6(0fTMoAf^|rQR?6J{W&%3=@p*E zc3+*`f3Db3;<)FaYqff#_CX)HI6nDn8VBFJKWXGmfP6zNY%2b zGav4Eh`HDL<9FzW1MfTQbUMG}JLLU#zCEXo?Ldyhv2z-}@AqfA*33A=y3^jz&hhPM z^X&be>=S*X$_(~PrM|X%B*tdHrDf{DiLVat%L{E*v5-#Qcm25f=G$8e9d+c6T(v)y zaqzP;gVZcuxr2MJ&nhkwe?s3G1hnH6OS)Wt#^_aOeSz z6<3#^zoO*uLhJ7HkD@pBe>`S=G3IIiev97XMd!C=+p|agV&gQ`*`MK;9$IT&zKcazI(xXIo=jm;=KW-Qwha@dJ$M%NY~G&)8eG=zYDXZMVPDePVPggU5ch z1!A6n zW3Ml7WOY>2{U7V`{*l8Z1I8nVe$F|t<4sl6k5V6pl1VGA!`bfGtGqoeT4jEE|HlbE zcAM8uv=Wyt6Ag%dFXccCX#GebWq1oA>Qo{xV`wdX&H2#YJtnjh-3-z^t&FyqAeLwD*f9+;hai* z^R<0Y=EVtqRR{M!`0;tlt=~=dcde@B{B5{ayZacBwKOv`+ke}fx17Fw%YUDHNGowvnIPze!-6oZbn(U6nQ##)J^Ph0|5EjjD_o?>4%dPkMo8pWdR{8Bc$Z+%C{%XfP zyUNtU_UC-R;p8hGXn(+C(vjHRV*Ax{ANe*nUACLMd6~`2A07L8r#>`DKW}7r%i$;M z#Ru=f{fnhr5aHV;Zqn1%*>JGl;OW)A&nb>?7F_Z(Xb?~ z_Ws=c4tuk0pIO9L9B^ga^Zs*yw!^G>E}VY?p6y@Gz&5X-z1#l1n=e0?zQg`wOBT%A zzWmxg{>@AhKXR7Xb=3-gTcw+`@76`bBDdcPc81}a^4}^R@15>?VP&>?`9ang{rfxn z0}oE!<|Z^hOUSWz#nHAWe!Cr-<0e-;EXh8w>f~?3R|yIZPW5vfLeE{@zwn*KzT}H# z_O>}HZBmO>_jBasFI?z#Z(r~FB_EC$&bRwnwO%zkD{)_lO3<%!4V-pKtGDu|Dt`or zZ|{6W_}aaaQf8Z&eDINe^wagKnT~Qy%<)E_|2iDqWmxUXb@RY!ms!iwdSVXj5L$mD z-B9bm%9fLNTvZS3m(;1caeQ{7{k2U-S5@R6?hBfbEcR^cSGy~6Dqos6_u3t*xo2a3 zF3CX1;|DU$D8y-#4dVbD!-IpVN#+5w>55(=XEL)&=@VZ`ZN!LkL$LJ@g)+rdR zbog=MSh+=M!GXp@9`&+rclIASCY0=T_Tm0YU)Qa{yYu$xa>k5XsfKEXC-gSA!9_Wqdqa=GN%KYO2Q{!a@RerLo1$-wK3d1;QQp@ZS^M=2X^kg|2o=G z_rNu`=X-wXZnpo|RIy;!tjYG_%!Rjqq=wlC@xJGo_f5$D)mavoYQN)l^&1>>e1DYN z3Ad)+J+x2IE=H8;)a}rZdxbS7JzcY=>)_sqmS1v?L5>G*t(UcxQFDCPVE8gdXzqdc zg`c`t&96F8+*Q%PF2V4?f?Fy4F{|J0Fa30E-_qx^_U9GGw;hc0+J9Vc|3ucbHFo_c z>eB>HZ?+xHP;FQ7y>`pKf0lM3-i#gQPnhk#Ul*A#tyy=lY^5yY;#o$HuXy<{ zI=q%}{9$}6v&MIUgJjX6U?2DN19okv1XG3N4`@ylY^YoKV87?|)3ZOPPuQ=)+PU)e zE~ot)TSGj9`|s|X)To%+^KqITOKa1-iMP}3mfV=p#wo06H(j_Z=0EELaQ`i~6cN6z zpK_NaO>c6P_}zDKb5)Y#`+{!HrTt0=MVe}R=k`82VDzb8`A1IEfqp}Y<_#?W?S&>9 z%*p)m$Ntg=!?-lIgZ4oSzFYM7Roh!^R^|wB(zRDxb#&{3$7}3@jAx(xd~ead5>}bO z?gKgdUdvkE$g|ejH{0QqSXf^3K{4&?kKgS`cHD98U&x(x%8niZsY(^8ClBPex|gS) zpKzcn<+`ftcFzNICYE$`75v+;>icwaf7R^$zE*837tKksf8MZ9F!!yY{S%Yyix&bv z*$KZYKm3ewm0hGsSj6+!!FKM4E0%Ka_tb?hX_Qw0+ zN)8>HXPiv?d(FOgYV^9pH#7Es44rm#`+}JL%UbTJt~;f?zpKKy?;Pu$ePMC?)r4Zx z>?|igs-4r6Waqi?(7li+xd+ea+g)C~DBE$Wzl~MJFA>MTu_3>CKR-TTbLEXz$?C-i z$|kX??V1pB;GuD9Tea+Gd&XZnyBDmzX}>py^~dGk^X->#I;!yohu9|=Jg|Me@Z-J? z)3;e`*WKOMuqf~F{G=uOx}~leJxz<*CsW-L>;O@{6Gu`AE$Ho6HaLSqsIX>y) z;>!Gb;Xw7ZjjR{?rXJXB9kd`v$LBy^P|t*q+*kHD8VlW7wDOoe`{M;C*fJ*C%N}yp zySvQWey4eg!(`Swb|PgD*qfi8+^6jA?Ci)tZQmyeFgF1Lw}ZA(3cy@V#B3qteWc2R80$5p3(*;;@Y2$41WFQU}Iw?x$Nk-tV72 zFKpUossH=^ul(CJv;5HhPsKOmHotPQkDGYJy)}sm{_TCbFf27~d-M4vT zZ&-NA;(gUq->7b0kmZ;$F@HMm>TE}&sud?z?UX#o6?LF>uFBT~^R{`#&0<`1p#8vp zqmQ#P9sI)bBqm(5bnsOCx5nA_mA#(v5r>e8+xEBE+MZvyy<>kKbL#z5RaX0#m$Tdw z72&kc5I9@ECiae9a?vf>2)};2{TJuCz1{2NXtv~g$Z4Mh#|W!z- z&kij8@QUN_;n@ccsa-QWQx@d#zTW?Y+c|9quN?-n{**tlH?VNq9a*$sf5Ig<7N@mU z`w!MT^cvna+3&K+(r<3TC%f{^=R8t2p0ndfHRSWU)B#SvqGpKjee=FPe|LU~qb2jh za}9qB4hCwhoP5ko>!4$O(Hxh>zZ|~0HE)+?+u?BIwjckhl)3{x{6ChMobfmi9dR?{ zmI;$XaK?XDq1CtT*`{mNH7}~)FH(PdplA!J`hl%k5#~)p* zaZqop%H(5nIMA_P{ASS?{sX(UZmkvhbjW^j!=%25utoMa<6Zkm2|pWGFD;gq$iAm8)34=-%E6Bgh23IOPY)bo zu(!DLYncNVzvhY6eMJt&b(SB>KB*tLy|_?B=quBKuk0Va@3t(o=REy&|H$oSI9p;%y$-9{39k}T@X`c(5;sJ%6kFp1T{kMPWZaBsB`l9`leRo_aQ|R8m_ijkc zy4C*nPd%fKFU;YypAZ63``+84K_~&O-1rFb*+=%c^o^frXhhW>mEBkM>6xpX7 zocKn6Zx*kyq>?t3C> z$MR}rq2tUVx0HPsGY;x_>76sXC42C>`R}tTuRl8cxps2(3C{TkCag8E%~Og#VCXc# zs^hPLL#gwoJ)EoF?62`jkALphyno~N^4F)?%k7_UK3$*QV!OX)=k+)4oe%APSu&gc z7CT_q@TjTf<+;9n%TgO%R^H2YtSzy7e>x!S;K$kJ8*bhdKluM-SJl0}j~rrLU&hW_ z*?b^=k$*FAj@1MT?OLjXJyOn0!i&a0aTWPAZ z-|O?uol{md*|j`jy&e{_)o#k6+dsNlA^qdC-ff#pw+(Zc=W$Oar$YQd;~$M;m#{PTHD@`W zIk`CPUw9~$sdTmb{u;fS58L^K?B92=DcxCme&3;w<(IZ5R@!w2UasX?Z*6z`XZd4q z=fs0MYQ<0WZp}KlNltj4=u1||w-eU$%O;;8+Oi@zj)1oVN=cHpZj_a z{0h+eRcUPMp#Ht!+3~5b?9+aV8eI)Lxc_GC>$A%rHQA>{xYW(ow%EV>a)g7{j%9Wg zPi0KGl(yM<%)A_2WZ$@N=ecW-*7Vtd)9==Yi14*I-+znwWyeAHFArGWh(%ROh$!|vM$rn62H@0^(A@N$36+e|Yhhv?PS?_HOD-@p3Q3rz>Nt@bx0SQnSA z$=ko;_UtMB^JVQD1TVeIUblE(LR5PErd56W_|p_mc|QrY(_Owc>)Hf?eO>NdffI5Y z4)TB8*T`+1dQh}_sh#}-ImaK<6{33OE;oW zXfD%_-+Q@q^`ch4$vC)JY~flzy~u+hHbqMpTeCYBb6RISW;o%nKF9FZsXMg?l#bsD z{v2%Npjzys8GGm6euLEI9R@NX`vWITlXQ6=VBcZ8-RN_#*#2Ly%x)e^x@>nrX?{b) zy^ej6jaSzT95=Lkn>E?5nCUaP{X6#zB7DO{9aC7^8x98i*Eq5BXNu!Qdu5|U7AeQ% zEx&lerEea{)Nl#5w~BU%nj8Dv%3JZks?E<*zqef8zmvI3@?TfK{r(T@4nF(;M{$B z+ACK^9JFbz3RrtW*-@L>;_k-Q{SH!Q&r;v|RUFXR_u^%gp|-<)M}AE;w`cngzlvG? zF0m=;S=mvfJ2p%MunP0zSkl^?um=JfMvTj0T(mZMj8<_kHdy-;=aa@_4OTdjL)ZDRHT*VzVjD*_c9 z7G2t<>Us3)ezET__OR|Nvp>FGx#89k)%_c1s|hzU-`m$Lxiq@q=sdfhZ#2^q0uuMl z-k5n{I+utY^WN-R&vn0p`){q=5#f8>Y%-5&ee%K8!cW|N)iWL0{y5f6UHRAH+N6YS zY&$Cfl?Voe+ZT)3bbY)6<4(=?@^ZE2c z_uwIY$?(0WR2}!O+<5b&z)FXU65KELlolM|bZs*eue!hgx9y4P6E8g6Kkur@O9$Wl z{m0|k*E1V9@4wO$GB;H5%D!}_qOK`Z`}Rp`%g$G8e!TaJdsmr>u7sW6Q^9wa%s=mS zUHU9ST7M|+{{ zBYpx#m-gozNqd;kleAyK_-1HunaTd>H@+cXj$Ga+Df9T^%%bLf4_!Wm3BJ?cC${|R zu07vg**y-if0%vH`+zJ-5n=nv zOB3SmC;=Ly>7gAo_Rd;pZNaV%M%v=&|^{8!96qndZ&a1Ifn8a z)|(`)<~Xt0PybH!+yhU!7JZw!rRso6Z?^CMGQ$JfU2D3wA9}anPI-?a3)AfVkHSUI zbH#e?FP~!J>gcr5?u`E>#p`@q>_XN}`ufST+V1qXS%v*yE$xa}GuB5WT(Fh+-6!It zSa&e=W?I&bQ$~({J=MSVypeD`a@Xu(h}i;%uQoq)UPq=M2vOZ=_tr`Nz_IYS$J^FF z*zYpq`%BBJ3Hxs+?OdUL*lE9}?uV3f(RcS9J|N`sD0jLY<4P8v0|ps(9!1G)FMes* zz1O|{;xy9{aQKGyBEmQ4S*mL2j3&p`_e^J{7bZDcB`mpMK3C~ri_<|?kx7pZT>XBk z^I>+=0mkG5d%3SLIGi*5$gs)iul+{1djDL-gZ8dWHG8DiSKBZ2<25mK*R?-=nSH^c zwJYsrRa#f87%$#8ExNz<&hngna$BM=AI;R>XZP^gga>iW2Tja>*u)-6cJx_1r$Tp? zvSaKnhuG-0lLxpz?@HskKjA=QjQ6f}XFU(_8GTHeTk~(fVcCrjRz|b;+uxhHyXbY2 z{W_<#ztK`g_5!WbAKI0EvP&}EdFi|CD!U-BtKzLr!FGY>=Gz+AitI}hxU;QmQN_XL z3HJ=&xCc6ZG}vgd;GTqIV@K{wf$hr=EU;Q}`mRjFfsLLsFYG>HeV}>b>g&bYm#g6vEeM`C%eHH9~Ph=A6>3wW>ZI+ik@J6ZwwB;Uw0%g=I4_GeVP?kd6P;V z)C|2hAC!r6(2mmjGdEkw;jPCG>%#BX>|l?}r%Kg`4F}#nUGZS{iY*SeHCJ=@ zXO}w6JATxW|NE!?yIxw?o=y6{-*g}EiUlQy_Ai)K*_CqF)Baty@Eq^t0Q>K=uJWl% zi`XC9tW>3OYtcThPsVJ&jxXNV`O&^$>6}4=`>sn=8367th zW;XbSemZd9tSdb!^VtFG=>@qdYiAz_@O$*r^hA)up5^g(O+IQn9NHElaVY$Wy|hf+ zkuA>`?2oc^c`W^)YQG?JF=N0=ll^OEF>A1>ezx0nUGj~}|8sUS3=b>$TOs{pUOz$NL!y!rEZ-dpCvgO_>Na)0O7I{4u9Q^|R|emNuuI|cba-0q+@Z%6C*HFXE{ zMCA1{)_NRRl^5Y1xPZxF$M>0`FK6DiH~PD$Nrb6!{|4Xv%00#T`;UMAAUQkp=RWaG zT7FkIG1|v`S-J97$0oa7-rZsMw%78xBL_080h}|!K2G6 z2mSUQ-Fk-k=>dbFJkGD`%N_Vb&v*va7CC%en0z~|SmQwNyGeGd-Y^}QrWfIp{Bn`~ z#FX;f+QKRJ9fdRe0<|>kP4h*f^i0+EN3C+2w*1$Pef5t$5`NEt^pC$weSU@BNPNoOj`j zeHu@Gd5fPpXt(Hoj!)!|M#uFjlh@B*8FJ7i!8O|>#`K`%z6hpojPD#0Rz8_;;k?;F zpF4zK>`wiGcjuCGr}9f25Og^lv&4wkVgIw+R`;_H?q8_Hbo#Z<)ct`n0Drow>*CKb{ z3$AqS-+X*Sw%|X1`$%cd!Ywhp_9X|inR3IQ?=!G_DY>k>9^AjUtBeTW70V5dPFHR_ zsDJms8Ft;2gWJTDX1(V#c3fs!cr@$zUWezFz4f>CHypSe7QHgyX}&{=oPyW}WsU=H z+Gbr{-}i3+>5^H0M9%E6eABm2^; zgsKcYI-Q9x!ueIkN*l#oY znd82w0|{}yQ~aJ9I9M%QRB>+0oBamYrti((*0|r$?a%J017-Ht_I#IJmS?;Fa-jT? zV2?+3e}fCvo3i%Xg*ou9uI}#JH=EbXz2|baBh%tL>z2oa9Xud%Xp#Ru@q-Hg5;RSA zK5}?^c*P`(d(8(-?M{Aq|19LdZZ+i@3~QAfCTQ+{dnNeB{z=@yRmxm_`z5PPuX-D1 z+drJYTxq45&VD}c^PwMjX4+XsExwlaVT;|IjSA17J*fwu|8SHK5x$4sTwAbYM)$#A zomF;Ej_Doj7q7Q>onYX2k40cDL+{N4?@rs9%4fG6xYzh%`7Wt22X6Cm>;CY7^(#&Wx$o~*z5itr*#Ux&8bS)7=7Fj{TrcDBt~2g84E?fId==BToX*WCB=BL|kE1~r}=a}HF+{^*En z^l>oTIhV&;^`^b~enTm>4X5@`QPYymE}m%5?jXb{t?s>l)r+@UOC#Rfd2}52SWvvj zE=n}IV_{wIKCP>=H&U(r?5>rvRcybg?|8<7`HZGQ%)!-DK7^h>bM8QuQG3(xL)RRH zH$K~9w5jJn(pHUC58X{2a+)Xai0MKK|fPd7ppZ>yCrx7THc> z)QNEX+J55axr=I!@0Tf*&*{8<;Ja1*>!T}@9DdBU2-^Q%(P5otuvb;%_x*nlR#X^h zY_(sYY3bq7lefP+;Qh;cvt;ecOC3j3PW)nCu|*^DpnF!{oOoY$$3%bsKY{zb3Id_BWnSK|@pvlFV&8sy zM!w^F%TN35-z)dHQFIThy-pOf?ty@9`?maQo1<8fW~Z_7`hLgEt+w3t5{SkWiwsk=d@|K=PVDo1+A@9loeY z9f-Ahwm(F4gLsQqw|%2p!tXe1hy6@}Yu?YlcXi*Txyw5j>|boBALwmuyDNL&Bg?Ps&am=>-;GO8thu_x*9#s9VQM0>5$dN(f#EPB9yB%KU9}~0k z%|380rY5<^QNdyTrM9k_yRYu|?N4AbU0G&t8))>@MeIcvXU3YR5v#YB9+qd-bWpMb`o=1f5)Oapk)xzY1v2(UZz0k;X+|c*m zW=;HG2UffLQxEapJizR5J7zam?13K%Cmv|pX&s1Q`W|m8c3{7>=KUSh=O)_Uln$PF zCjQ7i`G$s+%ZI<({c#sDS!d91x5YPPyD@jN-LeU6ZcO=aZ7X=BC$HjpxA*shjdPCV z_Z zxc^VA<*Z*%^7nJ5O5`jxb>82Xzt`-q>y>?Fj1^b7Yy0-S%X$JN&h2J`>e z#)$U$ZI8NQD}GVV+O(|p;2l=~spq!Y9GvrdLd@@0F-M-_F12{RjSij9I}S96BpmQ* zYWCt*`e=W@b>n3ovrGG(Cg|Qjbth^6qxah{L^PW04@!9*D0t`czSDk(U%2!&?|b$# z>kgNk{=Qx3D(5YW{bk!`f7pIX#~bkYL+UO>_%5CyeUSZRp5ycPcRu~>&Tuqf)b5jx z<2<;cM*t6SUj?e7?rSn-BH|sTdm1p3!yC zhiPWQvFsqn*UJ;8-jq^v{E#&*X7iJ|2bk?l=kT1WIfdTV&_82h_dQN` zv7*c6y+?KT_56^mJ9tX`B{9KFo<=zMTU#HFw+21o^zvP*ay_u(-_PeaSn{T6Zcb`PZ&V3v|r`wtKGRSXF z$*|LyendQ+Mcr;4Qxc<9)Maq^`YuI;uSkSZir2 zw|)AwM+bWT=C|}@H61W)+x_IJE|bHR{;2hLa{t;-Xy=-L#O9!V-yR>m`RA+c=XzdT z$>gnTuhp}!O{{X6U5ViTjRBpD_Z_M^%5Z0X?!F6eLIS_P4E< zPA5B>f0){tvsBsfYs|i+p5-SGoGVCu_2%7#1Gkb6)tEo=JYcbF=02Z}fBP4tvbx4T zpS9me^RDQB>tuV?<>8nAx*OR)S2^0Yb;c(kKl47{-e=z8`n*j)*Y5tM!Ch3_mnSX(~c}YaKc+T)we0+K!skQ_qB#E_EmK+WiDvnviE#9 z>*86h1@@jdWvV=ELhOH6d&}I?{<6>HlhVZZ3-0avBYW6Cap#hKkAyQ%n>ohp+c2?P z@vvmp!3Obom1!k0jt7lo(|*YcIT|a@uPngyW+_Dd()Z?RNbFSp&>epv+j?c-Cf+r26*Vf^>{)V^NUzO>DK z)AnWA>Movq8nV7xwi*$>^CRSaJ?q;XkFLxyYFZzA@QCtq%gQ9PgH!ME#V=P~cR)8? zIrG$^Ee?I#I0f1>OC8kZ{Ii_#)E2FwP3l8l+_Ck$g=377e?-J9D z(q;zOTm8BHJ4sl?elf?vY@PGV_LVKUG+k72$-Yj80G3sz*^YNjEf>6)o9%eZPG!!1 zQ>la3JZ2a&n0-B98meyPbZFrL=NoL+uZ*%Brlgm|++ebDP~Tgl+}8QhzEteJ*{kgB z`+cllE>!y7v46>%oIjpvmit3`16NN<=CXH~e=s$8?;SgyeT|;qr}f%>Qu*?AC6|li z8!4~jVO|N2cNL8+qHlgWpfYRc^xI|64)9zmF8eoi_5oRKue3!{!43?&LZt5s>p0xq z@BZPX=@a{(wrZCy#x30cz{t@%OsIPQs<-;`aU~}EHQ4Vp&A9W~Zkus~Wt#VSyUAuY zj!IgP{xNGBB7Ap$i`+kHpt`Z`w*A-c)dCWxP5Xnl#QLgN=kH%( zJku`W`KNu4X9UTMooBQ!z4*}NU-d@2N8e&@$VWFi23+TV8vQ)d(W}47Hcrs&pq%ce zixUsMIdGw9QS7&(T@Gr0RKg}!)HvL(Y7?DN?z>49Q|!wlY!dbIRP4=|yJ8I^)%IVQ9{PFD`Rn_l&;Q*u@zZv2 z|Ltu6B77r%evM}4EI9bw<_n+F&BB9oM3#NM$)fCdJ5g*`v&v70o6NR*Djse>u=uxK zy7|_^0|)9tYclIS9FC{U?41&DZ-3Apu^64(SN6+BUl+REKE>WhJ5kx_xB2VdDnPdupp z&f!)MLtL`VW(S#%1?o~y>kllEx|gKYAa;OxZ(YZ60bYk6M(0FTP9EHU`(J4G^6OLf zmrv)Mv%D|S{$Z^*&lg1=`@WU#6TDA<-FN1$Ql+@pGP|7i^~vprOB`=M`ns_4i0;Aj zjQm^F_iG%yb=<-<>%>(D)2fF?x8qhiu&zi?ib~5n@MPMTBkej02kd^H?=!` zZk7tO-Cr2C*1(7Hv7K3o@pRjj`|K7M2AsF>?%Vg;JjVO?v24ec9+~0o8DR%wR@I3g zT_k=mu29rDYs(`C%eQxI9}Bh|xX*M;612;|6E$wC~IjCHnn!dj9#(u}?o8B*x z?A`An;+|vrCd@Abwu~z-hFQWr*s=Q?v7y))17|vz?y%qPo|o*9Qc>!(qsE0)FJ*) z=}R#W@dMXNh5S|pow1)Od^di^Wsm(9iIy`r{&L&z9sa!K-A+OKjY)ogbz;x&D+^iL z82hr)&gx@vREM^iT{LUUyd}+v2M>2#RPEW2b@1WqeCtIKY>vMF%>T$8edI9pK+T!i z$L1WEqLsSDqRq$Qjjh1PgIliKC+&Dx)0};3zu!l`zQWLn_CeP-X)uU*?>BkB`TWUG z@9oxo7WYp(w%abe>b2A*vEF_6Pv!sCD)+Oy!W_Hm*a|&I)=OUYHxyzHx&?+=ByBo# zpz`oFzDHZGIapo$Bxbd==fJ!pY|hEirVbyKbm#3__R@Z0dF$p|JO}qjUvD(ox3h)e80Zohj!MAS8{l2!z?x}8h==1QccFXeO4g}t9*r#3P$|s=)=^rl@M1-&G*`@VG z?>i2aPq~QWyjSVbzWM}iDNqc{i!`1#ZZw*%|Iyn7nV`Pv0 zzTe*9%`9cEt@d^j(hsI)=k4#Yak<((Mb_eU@WBl4wqTvqgVs4SR@d*8bM!gZ+jfWfqC@tS*Xb7@bRGCu zTdxrP&e0)Nc+v0bzn}JZG<5bZ{n}$MdZzN$3dvym2X24g&3~e}zdEM-zR9A8cI9k$ zoRq)M+{fMOFZOSnyWKIfpXvf=XITm3h$ToVUKZa^%5(O&|Njt9}L zX*jt1i}hp`wp2&PlkrtP_az-;R?BbuEPnIAhqHN;RkdUExV48o-#4Nwd z`z3$&2%i?{w^s-`w=re5-+uR~Jnz*DSnXrB%TM{GyKSG1z`-x)YSQe&?g_yn$EvIQ{F7e>xpyzN+j#I* zg6gE~eMNo;QhzU&vU@aZNn)rM|33XmlQaaK$`4MO^(%?BH1ME$DEqQQl|qj9T3Gfv zs_k|Nj!zcTvCKZOQNGr{%TU4LvZuv|`x~$BuiBXIvw3ovy@GIFegKEs{*&%^zP!%9 zyH9v3`$G}Fd3Iv&PCb9en7EJa_VT%{Zo+m;!<>d4nl%6THVe@jGgS`6|cr%_=bzJB7mDBFR3J2|LtE29e6&zsWSuwkr z^YQ-V#>H0(u0Pzr>85agxn05js`W2*daa%J`*}Xw(~O-JH;H04&47+%C^zr z?A*q!rv(!Z+|G0;s^9j(K2hmQl#$h?{foj6>$~bD@Aut#MQlTl$$pNuM-$4vT;3Oz zmeRRnar3^$^|Rl+GS%O=^jTA3kL_REWY*gsc5eI(4&T^Ii159s9Tjr=VxHsbqG+~F z9T|>UJ$p<4c5oiNT=?kZC84_ql7lUK{!3OKFtUpX4pi4Y5WO~vhx5c1`z>AP1W(CN zvHy7b5y#OdVfM|RERGiY3ELN(zc^|3`r~%SV%u+SRH?AbWUZg%+b3@4S^u^;BXy%~ zHDk5=$NsK^;-rfywgc;NM) zz_Xh_zT5wa(WI%^Z1#SB!{a{>MtSWQy|aHVU&D4g``=SorY+xMx7qjn3;lc5cIuTP zo5hw|*#&Qysl;@P-R|_ulg16gbq6h<>|K69+t|_O=*ju(-b*-ICME`ib1ZOB$$2H$ z)R2B4^6}?)Qp@BIOgzdJpK#{E{@RF3*Sh9U*st@oC}z!Nr~O8aTpu?-zq4=2k200w zsu^}NOTL&LK9FH2kndTq{ZZ47b^4|qP3eEY<%8>9MEJ@C+GX zxo3P9>`*#b_1y4=>g-1ca{CPgbTXR`Xh^0R|LtLR$bGcCf@RfTd$A@c@QYae~{H>)|vV!M+sB-`fQU%Zcb#xK7Ft=xV8s<$V*A6MJ=?#0T~ zSf}QLe?mJKxm-FatC&xoJYbXHKLokU;Om9 z!NK)&x1Kxy`N;tviHJqg`^p?@S1-y)?22=6s80KDJXy)%FOQJ(`4`vh9bcDLJG{x; zpZRF&{!J%h_g|GWZVRHF`YCpmsZz1;*>ex( zKRvSEeq*-dD#zUi*De%s+$ZzsnW65J1Gxv!-*&vX_(0L8=VE15AqOIZ@BY=X_-cPo z$#`Qz&Mo`@j`rb6jtlIU*CZr9(F?JUF>yTV-S~B1+}!A>6uJBRyd77{m%muD&rjDX z#>gsW-<_ZRi~fJjJh*X* z=J*K&*?Ws0czWf0fc?*)!`WV(BKH1I-@W2KL*r)OPA!o-81A`w!y>z{2fob-b*x;t@WAOm>obiTvK(Sx%ej!tmgX9jc2Z*Sip#mD}zT(oolQmaiD8ZTMw-^+VaW*Hy1y@$+(h958Q*lC6M2#9a) zvFk|wAjq@A#j%p3;0lLlf@9*nwO;OVpAYc-e|S2o<=KHb?C;Z_*3LfQqs}(VAurhB zsQjuMd1g8evh9Y8qlBK=^Yy+8QM<8l|9i{p&A*+i_peVYdHUblWdGE6PvWwtf3e#< z+bwg|wDWfEjMZNS&b5R47k_IJ;d{n6qL=YnvE$UwACIpPC_K3GQ@VojLCu4To3b~2 zeDTZSyY@k*^r_n&>}xvvm~870^w|dQxRLE~;IrCnpJ(OF4ogBLJi`lb+c)1&y!$_^ zd4E*H>+Xg1`TK8X9hh`_;){J!*+$-8FB$D8=4cg{XKk?aHvX8+o!aR5)@u9y!@DCL zcgMxAzb0*Vu#G!>VOrmt11A&=C#{&e%b{cb-sz?8H4agx8w$>@a5(ViTK**K2L1zm ztG@m$y>i5U;kI3KU)n6P_kaEQ>w|R;`x!kJM_Cz~?w`|byLsE+Gy76Z>n=X`KVjFN z5-o5fyTFlsW5*+@%OQ?d%yT(gKdBs)s?TTTzV_sR8)NrjhNk5Xd^b)=HAECSEK2wv zXI7?pfOU3bdgBeI1A5)31L}7#wGX{^@Y&+pDfTl2VgoNMRIp#(md46jt+qcu>U~GV z>}&gS<}BoGblw3D-=`Uf@NIwZb^ell!NGf+tjoHu6dt^|oIn1jFS*ZVYlSBLG3s+6w)*nc8h)=WlAadZv`rO+UZ+RTz=crxy zrgCWi$LE)3|7n=A|5nDXW9kbN?Vp`Gw|li5m;J+-)&pObf8DplqEs?HY`I;)G5$TZ zM@t+JoX`jgY1cb=I`z&1)$JMww^~P*YyZ0H&|a~gy~1*(!-72m0xWfT2mY2ZeY;jG ze}IAW^v|Lt$jbrL@|d+Gk$rdye(nRV@dovgVr(kH;)rc>qEWixJjnPpclZnJs5 z&tHV|?kC1paQL1LMuhK_yt?=|UTp^(6t!Kyv!@)in|E-_PC;YGQ9u<6x8 z_H`T^4m@Vtu_^j;zQcn>>%#9G<2*1+xv=}v>9_mu9~4N{>Dyud?!z>mjGUbPmwMj4 zPxRH@FWMIW=#d_)edg}FFN+k8?9;D1_(}3a=spoii`iVYg^p>LH{@Ht$T&DJyFo_P zM)sgc>CHt^S3WxQ#)m7Ftj3P+nWwIz1(Xzc{Q)kdB(ndb+-;a?B0>> zD7fXrAODiDgQ@DvZtJ&;9}Ej!Hmzj+BZs`Xl^>70v>dp%^0LE&ijV_s5Arj4o0S|6 zN+~Wh?7OkwsOhb1i&oG6gqMqw6PIP#vqisS`(&WA|Gw#ZFME zcb#q}q<_5C4iUa>VF$hit?NGcC#hs!)FGXN{`Mzs+-fs$)b5kr&am+20mjP?wjKYP z54?5REVSWjsKdmQ41Wsr#Si2wymYknKVu&o+TFO4(PzJhZcGT*Vz>Pp4jh;+(=TWr z_^#luz1jJFTKRhIS)NsPLGy&>g+4X2<1=Jm$ha!;An)gpIEHmu2mh{A$o<^U=J@^G zOqO@s9ythhKmYxB%bWvyoKJ5G>hf_&FBd$T>2b|Iti!?Jh1#k8!e@`W>YGorcifX4 zcIUs>e!piv>kVB#*!f*d@Qan&ZC8AuzT@Beo_$-yWr}!={Ol&%6d1ZB>pBKHEje7G z7<2GtpHKafS*H$cT4JNIZ`n16$1jTwUQX{h@OAwHN!dJ82a%;ePk%LdY2P*DRQ9ds z2li)ho^0MUsmb1iXGQ5ARg3*4wo^7F6m7Fx_~z!F`=7VibtR~7owBlFU+sbmySz@@ zg46F@O+@$}GkAII)aQ?wxk#!IzfX2Uf_fO3=8H``vuk|p-aQt*-McW#ks*n8X0sZX01$z&ef=e|g1vTWo* zGhOY7Y|DyX{+iDv!|6Q`1zGim!p8k$~O?nU8*6A79&E1;w!_NIXxc%EI zf(TzNrWazjTN(~lZV}hZ;7N7lnw9(G@)=3TyN!zR9%45SXa#PqTd_0BVa5FCGu+A) z4^%!lzHYhk<^8S-o0fE4>9beco9L~S?YI9=>voNgEv)uJfd_kE3vb)Ehg*!%DLu`u zIckA~#IL7&w`-q1W$^8e?b9<4?=(E^IB5Fo%Av@Dh=Wmo{>%%ysO-2|K=YEU-F^p~ zhB+Uv$y6K=sr&V2+Bq$UZvDeGr<9)UUvB&J5I-_?2Dft8B-`5r4k$9EV-Hv%!B0_ws{>E`BtZ$q78To$>$Y zy>&v48x%~gzmwSQ@Z!PcV}YvK2doWmyp2^|J@uQ|o}( zp97`*><9MuH(q(hF+b7XjrVqEo6i}$Or1sv&g)<8JOkR+M`up3TYuJ$^PO6vj6@6;vlS8xvY_ML9B zzi-RxqHo++_KDat7cv}f-nVY51JljFdi#Q>*gxQ($86`C)hTGn{{$Jf8q`72s89H%Uvx#9d~&V!*R!|T3F+&%DrbN#Xj+LZ@R-de=$oe&MU?rZm;oT%_Ht?VSAI`Z35FT9JhP5TD zb-+HJD=BHW;epNe|H77Wyx(73s?~S?N@f# za{0ruJNs7cj*?K}m}&R?bM6)wj!e7VYdMzww@|nHBIT;my6ho1d~L5H!k2ww<=$sg zn;awUZAERvjpDWUNfj)M-fG%>&@+2a%F27mjsc2YskdhGdC(!ZgF1>HTE;&ZJ+PzAZMgmpv94z4QJjyQN&( z+DXN$>_j#nOx=Gy&~Ey*+s_U>WY}l%QhC!g+-=9%asnLGv2M&irc?j{)*D|1eN{QZ@qi4`Nr*i=J)$bI_DMH$(%{B z%bJ^Fm%O#|;DTd02R(jhJ27v|c0BrtFZouph+}E+?Vk+}PY$qbjuk7ryZFG>TJHKU zg&_xaS)Fe?_4cd%R?+M}qt&Bzq}};%`xJa?ft@4!6M`+7u)Jo=XLSG z#G@|zwp^ZiKrn7Q{~8OQ1Glqcudzs-+s|?5R>+)v$L;;MX;`p4nrOdv{T0)$L*Dke z2cOPc{^F9|YUvX%RDYb_x9^sD`)#)A`+T?FaqEtP^pAO0Bf>W}?scDDOq=70tA4jt z+2amA;8eA3NH#n8tfDzrhJEFM{6}H4j(^+Y5b^Aw7HdkW!?MjxM%ku+_gkF4vEz>n z!+{@{&X#m1lF{wHjI_Z-XT!++Q9OG&SP^X9~o zeRmE&mY=aJ+cAn!THqz*m^e_L0_O4b9fH@PP`HqPbsyZZ3+f#Qdqam5p#9azc~ zD>@~0_JMCAjU4I+f*mvpuS8D?*KyceWz2l|-DCR$|E8^)?zd?F<(>Q8*A`dr4>y?D z*v@RS|DipPyp;b}JKGiVZNc}>+qp4pU&mDh=^uZciU?oPg`d>CE5mpb{F^a;mBRfWQ%Zp&l=f1HScVoZBBTI~2U# z))*dr+y1sl;Lq#RTlO!lkmUN(n7^MjJHf{!^!h&K?KPr0j7;{QW|n^y+q2GYec-X; z$GMG;;`?LYZJZG4xNU~!34S%RgY#LY@O+4RbKqak>Q50_c9k!h2OjkNGDr@Z)mPhFY=pM9-(=aWq{nF@o zn`d^Nt9t0cFRPc7M_QX6Oh4awoNVB)-{KW#&xMrL{>T+QCqTk z)0DgeuR;qN-mH*25FyI-<-nT%_G}_I!`N$=?f+#Rf35LF=l)fbUR*tyA7C$XyP4^U zHkW+H2_UhOrRb${U$m7R9iz7$;VBt+3|COsAIhe9CC(SKuIZ&#xR3h3rgeo`cL-NeYTsxl$uaHY z^TV6%o-DX3tma?8kAZ=qVQm;9d_UH^p8dG9`{3NJ*Q%EeX&=1Hy^_hS$-vPsGK7nH z_00ne8-s;vPc|PoesRuQi7lZHLTkP`FA^6&kXWtJZR&Hz{?2NRj%ZQ;{WY7Wv$goS z?N6zcX#JilXdk@!oK>md`F(0{Z*5&KS7j&r_vJF3w!$Iz1okK3;uvVt>glyQ7w&hx%fA_KCVrJ}7X`*KXN= z{+!S3I*xj$oM#9t#T?|GcG%=)`-ubhr=_2LI^&wdnu&RJ+TA?|7G29&v%A66;Ywgr zY2v;Y_OHA5DDWLQu>bU5H{ZDxP4@GB4{I(~ve>U8pVhhe^-ep*zAm+WlegFjUYfIR zUtPn#f1+pew*80nkEc2!!gp`Y9?R7~Iu5RVw)wJWUWDWHJECq`o7EgG)eDU8HQhe2 zwizVBq9%%PFR|&)x_?2RM@yU>ez9I4lNm0hvwP?zg`v8E><&gSm7}9#L*}B z_J=kwEAG1OzF*w%!=~j*0rqXtH}*+h6x}acwqt4E-Ai^4R~*(jS>3U3iJyvKYO9f* z&TGxi=(025{&B4iB79{mwdR($HXQ7*R^Qnzl%FUAd}Oe@ciMlI(#wv68@XQ@7Q{vz)T};Pq*w)Q9N2LoE~$2%mV>yWaD1ltv;E=CGF>Ab7^ogPI# zPRS~>&z=`#f5BUA|FfkZR)##gv+q{$*P!U+xpquO`OlnYC+z$5U-@Z&s<_>X-1k8Z zhavmBQ^gVCyLz!$#Jb4jgZrO$1z*t3bnKii6U)%_$6(bI->cYrBKE+6 z`ziu0{#pmDBqnZR`@es`z>PO6n-?b9&;HsN;*)pN?(~M&>v|r1wJTO!UDSATf?aOA z<-UhP$#(nx?zZ}Oki+i!$Ft|vrasxbRe){($&8+Zr)%DZIYeq7G}OqQuX$e8@n}TF z``o@24!ces=C7zII3WA|-;rBX&)qg>E*I=~?>zc?f}8VxyO<^x z`wdt21$c@~=*{ihw>ov3wub3sqcOH-%e-+qZdbPY!Gsw*SP}#(DDnal70LRR>sH zD(v20&F#rrDPUKi_-IF^)5*QP#!oIDXzV&zxzau^e07jx6wkMNlO@y~_t|Hj|D!bj zK-e0)tCd{U2NIk4H$_}DJaA+CJ0^Ac_xo*r?q0qiWA^?xUEMFV!o2n?ZoJOXd}gnm zn}_BGeVeUzb4z5V8s*g3eO{k7Cw{THovjUL@X8g>Yzta$e^lkHJNO{*^~81E#*VoG zP0d-KBpe@jq&F3An(t5$wSiY;dHMmFSuN9NGb@|Kh>^1?QYTS00|QzjZ@y^Z{e+Rk0+w|>1 z`1lUX4Dr0>lbal${?e}!^+|H1tZd2fsXKO1=6#+40ZaFsa|ulpRAiUltAEK6T)- z-N_zPxrqlZEc~OoU(M@)M~%nvnw9_dC#~k(w4GtreuE!gIehvl_FhZU^jBOkvj6cd zDAJhevz@HZ+`D5^MkvgjYr>GD9ww8T(` z%&QWP8_y(%v29y%z~P2M5LaTuf&J~Z^)D@L4&1HQ-My~i^M3tJ{Tmod=j_*uaoIIx zkF&k<297coenopxIUDwQmQU4+&SK7eyWc)JP$W=a`0-h}gP}%_a>ds;2Zzg( zmbmX!axh(SQ+wi#YxY~XI<`KkE!;n0tHFNP?zsKt;ty)0TUGXN(!IIu`{~>J^fQlL zxqi6Bu0v_Qbm*oOyQP8dk!oEz2RCpYSTK24w&NzLTdxz+L>whOo{1&|KRNK`^1szJ zFBczhDKCpv%nCWsJ1OXM#=LL#Pv&iVqVV#Tea`8~*=aco>|aXkxg9PXV*lK6*77Xz zANyv+oBoeuf3VNUEBq>#{nC8~lRX=?En@cld7bz@c1z~LZ7f`zhJ7)P6)YcKp8PK8 zC}%9$O|4+1! zv;Tgtrp5cH<|BClw35WJ?Tr>UuM)`32`G&U@tt|rWb5~kEtNJW#e^Sp!ETDYj zzUcNgwIi}i_g&E4@M6=~Y)973AGR#%%yyi*r*Nt3d#QuYTVKpj_y2kz`O|vC&j||; z1lkyU`68O_a4_~|Uz4Mi!!hpVF;Rst>?7N%@2hRzvH!%xW6Om7JNN(ob#}vw4d(l` zk47=;NAuX19Gm?_*zT^Kvx%aD&-pI9o!TcJ9z5ylc*~}UDab9sk#Sw#-qz$V2fY7r z9FCv&?10h#%0qm9vk&MRtrMRn5aJNeX6iJrLdPL|eY;HXnaB1a0%j{+4=>tpn|h^H zX>s-b6Wx#Vs?HeiKdAJ?<1X_zJGUJT8efGj*ctr1F?WL)q<`^tEh2mm{`r2ZE3?>9 zk@w&|cG<#%F9Kp?W)^E6)VL_S^`Pi)hkx_twNLfh?$DyJNbLCW`UBS21513gJPzD1 zkbkvjnydo#{} zn^#w?v15=gYOgPCbgWl@GV^_Eq~lM6emye-vxB$qioGk>cypkXOMAw$8@n9rUiduT z`Mlb}SpD-~F+s-z-Ft!}_UrQ>NKxH;iG%x?{T!CNg2&Yt*=M}uC|;oCvj6PaOt$&X zru*|vuL|+5KD^>%c!>{X*WuOa~r_i@bkcw!;4T?67`@wkh^M z=4!@In=E8+*LAl@Zl~J*Ra;iSHFCYOFK)_P^?xsPhNz4{-y7px!j_e(!2HGL?v)o$*+xfeeC zJYZ+;TbIiIvC&b^drsc$fY5`=d>OwN8kinj^yaa6=(KkZm01j@Lso8b=$*Rz)`dUy z2kiFzjIez#ctAg$y+&yzk3+uj%j#>F5A9c8n(do)Yx4dX7Zn)a9ZIx6V9Kx|-h<8F zQ!ey^a^ly0Y!5S!+lQ^R^XXNO-F>XY@yEgZpOwr82WLk%Xm>5wIGCwZzSbuCn!|4wkOOAiMH)Id|=4G2LI`hB1(eK=Z9Z}2oPuTADX8N4Y{k|es zgC0!^un(@fkngX~X}@0Y-?Y6l&-dN;F&3`A137`M zga031)9e>9cFfT`8Ta|ePKV0;a)&8L*B@wDBa^0aDBt1y0oS@85!?qPHMTC15q!J< z%8{*HAwfIrcdof~eZkM1{Shjc3aut<@84EZ6!U5ii~Y+71j_k`Tbh7$*#An}Q zNtHnR&_YKpqkS#x-!l$I9A33(^%a?ejZUk#O+5P1A*AM#L+#r62Xu2jwV0Vl9yr6k ze7RqXfrCJhRyX6-H~X#rU)9)YQojG9!OE`@1hQC&wjr?XTVUKgUNg%id%A@|`xC zI{Q6C4|?f}ZMEaK|M2=n%4R$7rA>!_Gei2vOY;!nyX^a=W7@~M5ANX2Juvf-*1;`; znpYOr8aT3B_}J%cy?NmJWuCiEQ<@Ka>k4%fm>lXL&>MPm3xoK9jo;i}M0lOCf6VMO zQU@8GC-a?*F;j%az4W(EfBMBd_DzbNkv>cBOsIuCfb|KeIn-gSnkTmD4tT zrlf=XjZ0L8S7sgL<;3896W2;ea+$3_E;m{`kn)C zcJ%3MOfhx%@|DM?+~S(o3J%SFoKYH|zU^Pk8h$cx(-!+z>Je8yaOdsM zs;Ijw&?swP!M#HA3-_vhb9#6@Bc*!wsVpin?w=cGclN$`1efFQy>BL_d~TW0aM0;y z-;XS@)Pt|LRo+y;FXuQ{yeBH;&IN~sa@wa(%wKEb?zrZ9vcUE2#~u78f2!D+TYI44zTtN+ z86$_>f)z?9p5NPl+H(5ER~MZ3Z&v#I`uS6T`<3NWSmc(9?)Nz*$vt)7CA%{>`0wwD z?bzpGRZ~7g%*gJ`qa_>Jw7-DcXQeKP@Vz##*K>AT!$C%wxz~?Lq&lwIacst!<&uu` zwpnLN(yTX5$_RpI?cezx2pZ&a#yE)GC`R)HZ z_mAMt09Jcxj~&_HZ*ASjQzOx~Av(>jY=+ObkAL6V%6@NpU#D=ta z>?!q%I4BeOQCjr6vZJE2|M}Ux`yKMW9tjTrQ+~iq>59aqJ}rj=X=&?fo@e{3=U?Db zI@@K>#c+RVN3g^GxP4!oxZ|$u^JS^q$+3Qs-Ne@O2E~W6_U%_UaggXyv@1A%UZHON zqrG~?yXFXllpow&zPuqOD)6As_wx@9bO<@FNL#mZ>)%}t4T2{VivMLDF!)iVYR{zL zAhP4@_@YWx3xm^tCY#5?;EgTLrs`!UDPk304UXK%v3 zc>){NvJQ*eDX-h&euncdIDBLE5#g(?&}$PLmV8h@#r}ASex{?Dubbpy^FI!s1kc>N zDRT1w&nFJ$!|ZVfn0Mv&H-u^(*zx0k=<2uo_or_O5{jIcXg`IY>&UC`kL*mX8=gqN z{%Tid`*z`4or!jl3KyAjZIbOie~E2$E_`omA^0bK;>ksO_qVESSdr0laK}+j_9+{+ z4!X>~=;w7o)$ws>>8*n~D;zeptof!~S#V%+{@R1PUOnIMHj{z<*u#hWo3}c@?~^Iq zZ`+r#MApZ7|7z#P$|tsy zB^tiWtEfHLKehDmG7g)A`M(@rq)!rayf;NUh4bA8hn+u;CN*#+9Jumuk6HD2M~&X*tu@(yLE?$}aqBDlW^A3`^#4ZlzR18eze>L8?YrZc z;j={W-Y~s)&fSU01n# z;9Y9dg-gDb2l~arpKh1ZJ#c;2-V)J_ZT7|->$Z0b{k&rHg?Qe*5P>JvxMWfy+K>gHO+T8)Z-vFbyxaF~$RPDzee-MKQ;A1WObTfg5?XT_rfK~W_s zX~|6o+Up#g_AFs{2u>D#s~G*y-g$d@$F!9P?ZtPrZ;$q`v0vhuAY~S!Yu_X{Yx%dQ z6YU=6RHQF@wq#%9`b4%rC-U~abq@6v*rBy=veEIpjq=S0zdPjBsDDg$l(-n}EH+8m z@l?mwAOCeu9f;>EzbL0S@qj_cv^!F^UI%t-GI1ww`M2L$(d1v(#+mzr-oLCo+L&VR zqqE^W>whDA<_G!nE~=4s_g~8Xd-RS;Fy_uzmQhZz~SecWG(b7d0GcKYKeNIn3sOm}39M9X+4-v)Jih zu1lP=U)MO~)XpFm`+2+VF2pz}+FO|JcG{Bq#BRm8=MCwZ3+z_xTj1Id6<}xhVW)GL z?tgIjihfuCAAdO4-OCs{v%^vSZ%d1hmy6^4H-`)-2^k(V_g-{n-m51EYUk84AE>Kv z_^w`DYpN6P&=}U+yYh^Z!{(!>pYJ_?&0e+IR`h09(f&g_*6M`4kJ~>zrto0PDwX|< z1U8x2@43CNai+O(6L-1YyVYV3*yK{}EGKl_x)PXk@UGpQZu9-wj)A^^JBj&UFF8$iI)v0p&zEd?P-*8t! z`p187A;PzAYm(eXvo=T5#h*94i;X+@jrFy%Pm0;W6So!RW_?+Fpy1^6pC2{1I$Yg; zsLUd+)FHyMBkRw9#sl9TGO9%e)Lz|eE%u8ibu;>dF}uGS?|0({jS~BTd^h*_dD%Er~E9~=bKoW0Tz- zy94L*4kzd_*{`UGmuP5QW#_Nn?EA2~(J|r4FJ^bENJmxwmU($rW(R-9Do=~~^7_E^ zl8Gfrzjir@?5cAx-&XCw*k!7A)Yb98VdX8Wm09@@Z12&%(6Qo}eNNTpRUOic>^;tx zT-JZ;x?fVD->}8Ybbq<(0;6>&_U@}^3ZIj9<%HdbGg6<8`U@P>dP=9RnHu6KqrP@~ zti0;MWvS|`HcxzVKxO?m31!w54$GE&t?g4Na`@G>rC9L2)&aTOd&-TsGacZ&V8Wwt zd!@a^VF8bo9aHREi~A2{OR(Ad*S~yZeNAou&+wGCM1jlu>|FMKC{y1F4&SpI5aC%QKvbz7%-ud+Mey6MiEqa}{>EDg?eq!=8mjhs+YH(%qR zWWWzOv7T!V*}6}Q_0Ozu2#L7=>f^z@111|7wwW@?9!Q>OmgCj@-~LH&dtIT`iv0@? zociPI+qr**k~GJyEdlnIqQWn7$Z*)(#M#&V;e5XDZe-uhvoSs3@ZCBa5x!fdAgBGt|PY75bbMUdsgEK$&esp*)`eBFV+4%>$ zc3%GDaxLP()$pYC>^TMw;*+8bPu+gA|D$-Ue7a@HezV27+1~M`_F-RU&3g6DX8%zW z$r)!iJ+-@VWkc}4eY@>k66@04)qD57U(P3y(v`4Pj--~%1E&OZI*s^k!N@bn>Sw}r*doS5x*PT)7&cnLdjyu05=F9y$@ci-IHbnTE9!QyV_)_=5 z04Wo0js2Pjci4Na{7_-w=n#GNN8$dP2X0}_leTsi!sDr7HiuT zHcj<2v16EZ`(BP&(!u80uYb2K%R1<~Zi;AyDZArEw<2H7-bW6n+0U)uZ<=%9){2}D zc{6+*M4x`P&5^rg&te;>eLCUfe(?j>`r98&un#e?cT+s>wg2hgUpyP7KibvDKkSmx z+i4drk-ar=QujXQ#ayps*7({5`4``Q^i;#qdJp%GMCF)+zZXkQx*d7s!0E(kfzGwp z9K=swpJ`asb3lIWC(EbHOdVD%SaNg1&FA)4)+-0;)gIXYg>!~ZfoqffS@u7F(qt|6 zZ@i$f@I%G{yHBq@_iiw@M?J}@&k_x=y@WQUcJCv*8`DmbJq^}jd$+_(LIPlzq# zow~)|W`e;(sW-X%i*+&_CRWMXuf23^?PSZ<`}Vm!e|l|E_r8yv9}Lc?hT3&Iz7KkR zTxg%28nP-c&j=z?3e68CmD0lvXgGXXj%;(Oo19fZjMQgS@ zI^o!+xO4z!Qm(Aey0t+;>s39r0+;t%ZvzTTfHlQwhT z9JUj?7MA(gZ8&>2wrAVDy}~j}Pt?X_9@Kh$?)Xcd$b%vme$HI8l-+ScRlbeW%Hs~^ zlXVZYgx4NuI4~vjg@BR6rD?YmZoa&?zg$6#_0m%N{fo|*DRZ^?+gr?BBN1CJx-OwRK--N5j&_{4~2dr~5^}1i1GdTXE>{MW$P} zwjwRt&AxOT-0|ML(%n4bpvfT*{eL%=9kV669an$d=a48Md;P}i@&l%SDsOt`X*s+~ z|MJy<@!9@uUB<3Q*LK;zQ~W#Ua-_rl<4K8!PBUHE=lIe-erx<9JLV82d!?MLeVc<6 zq)r4Y+j+zZ>-lW?Xxmc1UQs=!{NNAU$mICIz=JM)CJbkLg&b=yB)Qmp*yZ3fRpP_^ zS6K(RrzO5V^F-d^!>i7~(4MRN>qEP4Pq8nv_qAO5KdVb^f9`4a+XY^C_T5W+|Kjb6 zId=XT?}LjP6ZTo05iktS5wM%6rZJm~VK=z_8|sb--?$S-AhkscoWxLC*UsoML|ePl`~6c6KKr@DWdAF_MX7PYSM~`U+7v(gPxHQ` zmwbIw@96A%Xf$E&)#%^0EB>$lXZ-&bIQ`lhA;MSQxz;xIUY=v@9J|Ra)ftWoTziyO zm~b78R4a&8*1mhdg}L@OOG4#=v*#RHSBvQ$sIFO~-t}{v{mCg0RwP`RV&CO?hjdJA*@W!`eGh5Iv!1uLN_(|Ix}xi# zAWN$Mud6|hl8)011;y1IKgX8Iz4$f%z|?uhZ==ns59DiYlbQVA@W99J{=S)h@Av2Z zo4Y1)&g}g*0cvX)gS_^uuzp?@YkA1d>0$K~rCVF=R$lpds`zV-o#wp>t6bMv*v);z zYnr?Lzir2)$ENd{>JEBzRz6w&#@Mms@%NW*UnLxyZcN@fD|o)c#0LpEQ_iIy$hjQ8 z|Fgp97= zf3IfRE!Kbg)_97J-3854hD$gg=bx#{BEr|>j_5Ovz9vVr%iO|McuC= zId0~DF3t;=A6!qd|McbU5)FN0d+w@VyF|P{+x1L1Cjag5D!atS8sk)#06T{%(q-8} z0{eU>)NE;uuQ;f3>F}%@{eg~K52tyrz98YqI-z;7zs1S}HzMTzzH4qcaP^+is%^zK z2hyjOP8Oc|dH?E)xxO=e=Inp{AZTUYdl!2#)rpS}7c1JY-*j;D%}Gz}W_?MKnbfer z?u>gPr+jCCosebg#ONqyaQlIm0};M5k3Af(_IEg*Y{)l{Wpi=-b9v3%U@60cv96A# zmCv6X@ZQpWg+aQ~LH0+oZ%<0R!{)zAas>~R91dmmI~+fH&0a=oXMz5b;{BWURLpuD z7QbJy$<){Sg35l|6ZK!~SKi*|BDMR)UEWH&Za0l@e8H)9^$+f_;T z$A`X_-p4gX92@)gzgScCcT^o*|+UW z-Fzoanz6wC^sU}yA)kZot+~}Eh}{0Q@65{M|NgZ;*rz#NpLxp6rTg4>Tocb*AHDC& zNpaTem6-?sO<#GyXMT*M;tz}e$L|U{%JB4t%;>s!;FB2ls^4tW4m{e>CEaZAb0CIe z37dHGvHg#`_HnsQJYj$Jt0kY7?IioPEP?C$E_mB(nydW&m44h#Q{#&Cy$NUc8R#l- zH1C+cZ_OuzZ7Zz7{bPpLPv^tOA7m5uKeSSAbKD%ce3x2R+`-%X4k#{4F*~TxbK=O9 zz=a1Mv`d!a4=gOXkU9m;O^I}!uDHlg~;C7yLI2?k{>s84=&wTqVxNQNPLdtl=Kzn=T~Pt zuAQ_;kUv-Y;A+WDDUag69&nG6bas|qc%Zam?tvd0vK=OG)O8QZvT_JZ&oJD->bd=t zqnWDplXvd7YQB2obzA5DuBL**!cw#SpPt;Xtlr9N?^5-!=3MVxI|u8auij@n>;(Bb z>u#NMb6hghZc3hWg5zDmU24+#6*9#`~KT7di?weYczJrFnNx zS1nUC3lEk~QgJ?^ta;E^Bj?>)r{4}) zg1a8u{MqKPw_`iEomRtv9QJ8JosZoQBuXvYc1oJnLGyLQt;@oq_@7U_P=C$4RHF=6x9GUFTSIY6cvtD5r5o0@7xUtbup!L;VUcN}j1s*%R zR=JoROrN=0=*7O*2bKq{FLsjI?XdP@p?^tJwZp~JeXOk2jt3qcx^7^2o$tWBU0jks zJ&xN;H@KSp=UHUGYu&5=9$Vb^=U$U`?DjL=f8@B>qjOg_@4FSmcS7#(3A;JJ*Y6aX zS>X7_@%O3a4Iz#vUI%+t>!}_zhS%{eQmp zfiLq#k`An7I`I2x<`WH%)%Ke+&M3KePO*Qpt77H@(N}i4U5npxepK5(=e_=6nKKvn zJz4NScYOi4f6UN55fQ$7I_B|QQ!YGsQF9uT)S<$IAJtd?&fTr-D0J%qSICAR4%gd7 ze&&1aI56kzt?fBM1qa;Ubi9;{_Hb}Y{V;KR%+vi(ud`$?{eF4BR?AK~{uNX0^=^Kg zc=24QeegQTEnRo@_ve?szTRVa&~Dp=szT}Z19lJJUUT~Ww9#?azu0NrOF|DGI29vl zA!T~dEU8JfT?&J;QzX>M0o`?Gc_v+Qul+BoUP zvGVl?A}U>kqu1p-i2D1SOnAX_z}@9~?f#%Q`#l;B7R?meVgKjXD#JhZx%>B**M?bN z)7(G*&DLZGHx~Qfui|&zu{*L)BsBB+EH&$Wd!i;7&QmIM3~*xKagsIjVCMG;3460; z4lXTBIW4p8qeDY=nd*br^AAj4x%lXTl86Iq{;O#I2r_VRUlu*1?ZKP~#a5rTA^i2Eu%|D+nmeSe3w$}Zlzxp1#sjE}Z|CqbU&UeX* zLvJU7`^OC0wutam_yEz}f{W;ukW_M_}9Ls_Hq=UUB8-KoAoOLkAC||d zd*zse$CiKOeCd4Xz~Rfvr*-qMIlMa=_GWWR&w&Y-7kOpxFm*^^Vlj_Ne{R1`ir?i$ z#DV?X&MS-(wVLd6O_do65^**M+FSXA;V|`Rg#k4?sZO1KwF9j6$ z3r}`*GynR)&M~1$y~J+jzG{Q(8pjX&*cnvbp0l&z#hf|tmnFr78TlLk8J@R0{ zch^gn+u0qz|B)9uI_tPYimQQ`jAQKq!QRf;AXX!XFO#G9#k{(=zi`KN{qE=H`{#9L zAFWXHx3@gexZcQ9bpQHoOuA?M8Mo5r-8`G~a{zZw#kj z%!9WdeqH;NKfSZz;LRuEm8q(!j?-6fE1%OO>FBcN+g2uln+L?rPukoQigH+(AT%j{ zz2bqluTn4Yp1QQ(I#s6Y$BSP39n0RhnQrjiFT&TgzCxPSzTDxrwa%Qa`&{ehU3!+9 zW_Rf2Q~8GV5B5$Ce^>D61LMB9MWWN!{O&j?WhUCLp%QVhcwP4AyLXfwZ#Z4|Qn|O! zVWEw|q3O5F4}6+B}y%`?_HHqiUzDeHj@qqFUce+69R@pM1LeyX~#E+Y7u?%MTX6eXpD45qR*V zl=}R$lY|_fmWS{A`)HSgw{N4@*K1h^V(NnL&N(9Q(6YEMW^vQi{geE@v7OK;v;XMo z@v(ZP+Ww0DuG*8B@9dk|{(^6v!yLQ9yK$cVaS8i=X)T-UuBc%5D1ysW(DEIq|Hd$T zA0m7!*5@yE4N5-vHa=J6o>8Xbn%1u^#}@r|a1LwfTO@Jw0Do#y@2sx41Ft#$O139z z9SHK2e-?gr|Nhe1a-5CJ678GbUwf}^{oYP*gWOF^#&3320#~;GXP9KSZ1(f7U!9Zf zZi}UDt4#cAE25#v|NZEry&p4Auo&m`9K7_lV#)S+&4a=BmljOCr0V!2Lb^Frdxe8t zeWI6kb-@9D!-~#34zKsyIbW%*eED$yJk4Vzg4+uB&t%e9XNqv%KV#j~xQ{AV_ocZ6 zZ@$sox9{ha<~yqIneAA92W{~?CvNwEuV4C1PCji+hBdr_N?Ka ztuw?N%OrV@ z#AN@2N#aaSIal^Iv-zDg`ro{-*H2Y2MELUh zeQ%w2FVB%F#=P3KBEvEM{?D?1@mvS5hTmUWYIyg6|8~WOTZNSe)*HCQ9T3z#a3E_SK^V+{!ivOV6-@|ruc4n>ouC~pt zRNkWGqD8G8^Xd9u3)(I1_B3QBv`+kDtE|D0_no2c;K3^aHwUlYTnw516vm z;M3CE`)>94OK(w`ZFm2~ujGT8S$3*Z8zUaqYTGfdtCWebyaX;Etg{f|8_@AU>t|P! zqekyii^uv&jxAGu&QbfTbTIm0ue1HeM+bTi?3gYR-*jO8^bC>SRxXD-vFcOJuK%<5 z<=idz|KUOVgDwY@wI|fruUlnieJ5Dg{)}`B597Z~yQKD*GYb|j-PfW0(70QwVBhl< zDi7qGboU*$6IV#(Yd*-gyglF_bBd$dTd5lk9mDm-<7|7iWxn|>1yXs@Vo z-k0Tdprk3zrvK!>{dw-GA%*NS_n+k5zeQR<)&91_tlcv4#`eJnCAcQ$eYRWdwIrV7 z{wlkkm-$oFVgl`KuKm8A?*7X5%8!?>$HFTP3Up5}eKb4Jamj^swa(`x9Cutgv!bJF zp;gb02{s4%)4qAWT=IGUKUcjUS*COLZ^(3-IJ@7~K5YNvY|G_} z_BW4u$#w33Vs|z2OkDc(1$KVZos7@N1=x9Nc&kaafX_!{;C4WS@3p_xrj~6Tj(-*E zB90$&c9guGp3kggc(CN|jwwPh@>f!l{2RO+Wfz z--I6->w=Fi-M8|5@`2=U(fek<^EEvcpLy{08yT|;%VQi(k~Uk;xFG2GqmHGdV!_1& z;&orwTS`njaNyORNp%iB2WES{+P`JR;r*wBIOcZVJYnD6bKr$v^d$Sq5B`)*zvykh z{^A`+Zm&aj+vd4mI4yH--{cINQ!-zt@0;-Vh@(O}qd^j9VvX1g)&rd(YD}+J zF&x;ji!*4N`=R|CGI{kqEaL5>z1vQ7UJtZ?a98ZG!C_(h1Ft@Y7`)%U?=%ZvP@KTB zeL2QK-LJZH91GbJlB!Cw9aGOAxTLa1`rsG!cbopEe?4&N`&4E3UkeVbd&%gz@n5z> zYQ~C>Iki>}z8XoB*`1%;&prSD-c9CR`(Ifsej2`@bAO`P%eb!dru)xa+SkpJ%xACH z@-_A1hP!s!{71ga9B#MU)3N@dmW#V%cB}G=myQXJ!q2Ak9{>9FfIH)ArcXzo9ZEyZs8L*`KQ}*!g9q^)0^)KHrF8_3OFt_Ji4v4M*jRA&eAsktcRSqde)Yl3uiAlW zo`&6nb&dxbG7e{-UCwvl%az8OYfq2cPuAAo@a)e*d*!lz*RpEQ{b~xyXO{V!?*Fvx z-d5Rni}&q6`bhV#>`6NzF-xiaJaqGKEU#jZLRBUrUO#BiG1Sg*VucR%((cveTuzOk_MOb zk&pZ0y`2^nbExl^ST#}AzVpJqmxkdIyqk7{`)}0;5#cNS^Y&hrxWa=o%(S(=_7)!0 z>9qA~i|G9@3F-aEwby^j$y+2pX~*2R0C>{?zabe0gmiK(y9XMxfuH*<@f53Y#hg96+e1{Yf$^5U&c@LCcQk$~#%j^9o*ljD8 zf81`baWX1SVQ=pKU0kvkSO3-6U(@kSJCTdUe!f|D#4-CL`{GN5cc{DS?7L`k^jJS@ zq2pQmDb)_5`@VkXnY5_sV6x;x`vd>P4$j=#X!&~DBL~L`(yI-uTMx`- zo%OvmH~2uQyKdV7DJ6%!E^!w!1#a#?(<*6nerx-F-gwoPjX|0A?6DbVU-Rqie-~$^ zTGG7V?m$8F;~2+HcFW&S`y=^snyBEt7*yR>!4o9=_pcmH|!Ylr$l-VJ_gW%&k< zjhAoTvc7clKnu&hB*AY@2PF69?mD6y>agqi65mVP#SZ8%WzL;ybH?7VUuB+Ff9U?D zH8D|M46gep{y4cj|Db^Vi6`;J-^s%$=fD|(Tt)tq zrVhUEjJ{a@cxKP=%2XxJ^uYee==XLr`J3#Y&9RuDDrm8PquuJ2>oy*?lep!){=LLz zyHw42Nz+^E_qnL5&VObN=^wv#LWJ+in}1CA@pm4)>343E%kc=urtFLBKX<7)e)8=J zW3Re>;L6v@OPTDG9Rz)f{gwzTI8^=g`S!Q{+y3~l@B;CuE%s}em#Ffu%H98AwZZ56 z>9Y2QixrtOD%S36IlXZIg%w@<)VkQt1)mDG%bnk*URWk;cE)lKzg?G_xzF51N9ApohuyxnZ|4VFPP|u=r?HskCfrVB4k4lYaIqs=2!VNQ>@29memj7<0)k?$MO%x%?gb#LH)1 zc@Su1XO{b8lG>RE;P&rs2}JlZ=I?){)7@~8^_c3W&DyDsuh0J8VpAaL_&X%!T?60E z1COW7K6vk0q{AG}t4-(jC?2pre6Ql*hD-Zp7jQ6_tnan|sx8sJqtSPN?LEuK8yQ&b zRaLKT$*WP8k@c472iq-nt%V6Jod-34TNfG%MjZ6N za%scv`^t_|PKG*fj_q?u`Wh^G{B-#Nz8bHYy1H5pi%4lpzq>I`BRi+dUi|8> zbG#`I`;T7pV2}&Eyw6g7bK=4S3+?R9&Tubb$=WA1|Ju~~$_93u%`R=&zL|AjoNC?7 zn*8#ESFSA3>$DF%Sh_D}!tv=sj@oP~u^+GQa;R#K>pXcl>j2xTVE(5|7{8>gIua zM%z;4Psbg&oqau>GhOSzIlqu&nS1x|Z#s1U@AEZ@_LFljx@0f^WcT(E>uhVDZ+2Ns zvo~x=nq>E=;>xL)Zpn5bE4hrVzcAW`wEcc5b?c}t$Mm?%Px5;XifY$QjM|}baQlLP z_qSYDb|oW?Uspe>;;a^yT==H zY5&jnM;+XZ!@8vnR1^1s9D$Q{8|H8jqx|{3Zzuuae2hHyu;CqoX z-@m!?z)gkiLF;&Q4^-aK)m)&s!`^9`NBK;nsrIs}0%y9Ohuiza@mjwAD{Nn~aOX{h z!V`AKWo3Q_=T_L+b=LoNQ53hcTkdiyUgo6jv;AL1XBBrHtag2Krja4oG41_q*NLKP zj(_*s%?rv}aA3^`W{cwF>I297Tql3hH9GK+zirji+V}fC_Fnk?`P}UN_UZwJkzQW= z-}!MlM{YZ6x9R1U(**_F>{wSVOy1C0Yu9mfW^wa02RrULh29#KEOyh+b;}kp)E!in z{i7D+YvO1l_LWWZhlJz2)mKmOe3|E9*s|+g+4uAVZ1a8{F3(UnF!k2**@;RI_Zz51 zZ>;8>xWDD*u_Nsa&ij8|DlgcVaC_frrdDSE4YTb^pJ|6?)@RvSs%`E$#;#|#gKb0n z4Sh)Ypgju_zAi89*8gm8a(t|Rp=g>~lB1`IzwJ9N<%6d(V~(%i`slz!_nG@@Vww)j zU^i7N{>JT~ukp2ht;m1-UD2$w5B@!9zxBe`j@9dH>_xSM3xk4m?Ze(#aCQV2?%V8j zdrs~DrTemUr8(K==kNQdeBEieh5kNO>r}g=?9B&{Juf-#$D87K-)UZbP_we*nF;He zeoa1g;QpEO3C!^m51cWd{_=Y{VG+*j-5Wmd*R)Lt{vtPL z{~y+kYmaKX*<0D=zua_F(cX3c#8ro1Ke5}x#B()%!vedRz4ww|l?2$i_+2}tb%z1m zKKq@I2w#ac^K^IDbU6C2!#c)-G4Wd|KcgZg#A9;rYbu{A1Y%yUV!OYMjk>3}3O3cjFsj$4|kNy~Gwh zIdG^??Z5-6B?ok>!hKG09E z|Y$oWv@ByK-!Z%HVuwG2X=3Nc$DeKf&Ck*7>!OY}L7aXV_!pPwLOum%AW8ki|I|G(XR9 z+7%JLN18q)=l*GREC~7AlK3$0V9v^vOW#t=4su4SdDY0xIB?}o!;%-}TOB5+7A_SF zEOq$dqq?d+f&GBs!CkSR&N3XBu=G^>2irsY`Db2Ciu##gZ#!9MSr>PZy+EsG*yZ)Y z_C_wxy&Bba?K^z<%`t`eW&46Acz5Y+&T*7ARS1gD&363El5%FlE9ry(;_Vz63cemF z-26RZ`t=0|el2g;*y^3*aM~nFCv1Y1gVSBErrWol*~dRJcvfD#Ykx~;=Hh^zo%=QQ zep|2CG~M65=!|+1Kfitb|C!P)*rJa#Up$-Krk7cs`(Q&x&?frq3dXMdEmhD$9 z+^}T7!PZaPYh!Bm%apsFZ#iYO|KCog#}k-;+8x+>zm###1v}&LD({~ukpA&(X+-#L z3KBdP-B#pypp0>Lx@qCTjdfSv9J#Dtx<y~}HXJl|s2)V~TOZ&H-?uGpp zvl5x?cTV3MzGeSnyLW#7_IR{6I`*@tT~62*;dq)Oqp2an>|h>Wk5O01>jM^rEeChT z?sf=z%fBI6s@g$Z%I&P|BgX^A?h8&fSMVL^o%*cnS;GnY?VVTHTHY+QkCo&wkg)UK zf8qU!vb+AK`-P@xIh?F=-PbvLv*B#}lXhRD&X$X>EO1<<_EqgsScv1aFAMbkdaEA% zBj;=_>GkBmY9_rvg^m>t9QT@-uRSVsNHG22qL!_5;G&OE|BfD}1OElq%n1@&XW!u_ zY$et<#h&A5Wa&)}j{O_~t+w0c)c0%3%i6H@o!fVSh2_DI&yfCc_Q%=q_JhyyH~(i$ zFFeSz#^`jzj>3aU25SZMm{lCZ7&-T|HU4l|;OO9LRk-7TyHip1jn4c7r9aD$tZ?^m z@H!;?SmfaI{a-$tmHnE2dB4pT-Y5Hbr`fBd&+nO59bzB(Dt)QvKK=a+7xr;(nsnT5 z--n*^$NUHE4BW-v?z`IPsGo4hE%bZnLE&k6=T|eE9$eABTvbZ#y@Q+LmPt9hn;h22 z7aPsxY&c*WduH~nW9$burWj9qCdlJ(p8LPT43#7MlV07M@waZ${_?*OH?Mq2w10C> zNpp$TU%Tf&#T@@{|FSP{|C0QrLTl~Lcf1U^ySv0u&co>Gkv7AF-vq>7wYO;;+}Cqn zR7&Q$!;#LC1M1N$98P@7Sij_7-hsZb1^3eHr4GD(dvuDN#ee%y;re5V$5-ut{r7sy zg3ylr>HpUqe8(4PpP0w==FnFb`@NT#8N~NL+xKbaj>~IyO$3*}*2fXy``2rOSKz6( zgO@&O2A!Ufd{8>e@2A$;UwHZ4Q1Hr~bd7wf=yBj7jB!8Tk&U{7v}h8MTnw@j2+^7}{b{v|q2POO?5`yW+pbjUi-Y+wEr48JiOW7ZT$}5((L;E_fnCc5 zR~l>&Kd@}VmGCu+1`fsF^$MPOr@S5pUD8kL$G4(r}AxN2he9R)t+*2lt%`mf!GL?BL^xkqy@- zK6029_4HX}R_lSyv$CJPu?RlUetnT<8>^Col&k+SE%lrGU(U(5yL+>3zbxmG;$wW7 z_F1h(g-onE``gwT7}%s8v^&B+C1U4;jdrqU)!qn-L;AiAS;w91m^W^ltO*n+Fmaeif}d)O6rocCN;4o=}HZ*Y%fOnJ;#LYsqmF z7V|Uq3dfZvDE$rFAF``&3&VPs{eB{j7ldaD*k5pOD*EhqZeIqE_@e)dtL@GPIOQ<- z8`+&%GVQ~X4@n1|A8}+Hn3r{M4wt<5`5Wwx8@xleWF$Xw*cQ@#r_guKftFx5uJ;Rk z9HvcXO7$~6V}GAF&w+K$iTzTyzi=^iOt6pt#+|*T)oXw7&yZ%Hdmrt37pb3|?Z4e_ z{xONF;M%TznN0s5%82^fdAI32DK=1cEGnG;^S4UO!I+aXlehx+9Qf3Dc+J${YYzLY zcbMpT^&EKHeEiDRo2Cx2D|kzMx}Mpu$v*HuRp`L}w~H%7vc5LjU*KNw@)eiGegl^l zrWB{6cI;nX?t8Lllil6s?$0JF_4{lT+HPbQK>EkGixAdxR~hhOcD$KEcHcToJk%kgOHxBcaBHXQ4=-D1DZ zO)N3HGk5<5FNfx}(X#e(TGp{1ee3oK9>0Hgjda((UQ@-|-D`vGdgINcysruEi<+am z_u|2ZgN(UHSUG;C9NZy!MgFFMyyJTH22qC<7aT13=dbee>^flmba~MJUPp&Uhi6Qk z7eDQ1GgO|I@~Y4NS}f@r1bjJm(h*cU0srhoak zr`@e&0f`+APxspB1a&T5pLwwOLBvyyKM@D(PTF?8xykOh_T#s8-gU#|>J+U# zAb&Z1_l$Rj4&f^NK?bkx?Z2mHCm{AsasLn2XJ6)L``L%j_2PGVFS38~{>jDPY%ke~ zRJLhd|JJ_mB4_!nbuGqr2esEEI=sFH?jNuAK!oq_teL)xdm0Y@2>kTtiD9bagg9uN{STC;BYrTt4CE8bU^_1arG^0#z_ z`0jTJoU-HLa~Atc6C|qMr)=Fec<|!i-Q@?Qg^q7Hz^mnO>7%jJ_j^zG zPsrG}&&j9D{>ZV!E}IO8{ZAY8roZ@iX`k{d=>tDn7TP&EZ=QH=Z|1(O%U106+^A-^ ztax{?LF(_lWed6Vc2<=iT(NS(?zLut2QO4=tk^V1$k8Qb$ImGzb~zZEtFhkLkaghP zU;X{cZSoFr>zwRX=U?4F{cE3!+3!;O37dLeE`Fr8KTgPFzH;5|eXR@j2)&p(+wS_8 zuV=Q1C+uTQazCQ|K+Nu$_UB~jFW=A8cj!^8d7 zuKp6!y^Hn-+wG3`Om^P?p?VrqLGIOkLOK(t9JlP-cZvD!yOwfpyMG&6_jNY$?z`U| zqn+%`vTwJJwL(;P?Li^^UC!cB)(4$$XKlPYPt0-a?TkXEa~mA=v~5ovWlT7*B%^Gn z+l1HlD<0UHq(@xZ?`xXe;F*}Zzff+Dw$d$={mr5KXRn-dWuFCa^@Jq~E&Kcr>^dFr zReRr-^BW3+E8p4Ha?BGd;JXSAU+*uo;Oz&+oCRY3_wyW^E>&zlQkdar>-Jjy*jBEC zPMsYq*V*1Z5UQ@zRz9Wjz(P*(Ppdg}5A2&AF)?@T4*TACVVU>wQ|;$e?w(gI6k&h% z5O+(Iw1|Cx)DNzJ$tUcVor!MJt*Wq#UF6%BG>OCR%#NdZTd!={>*IAQz^}OL;HtH{ zo++Zij_0kOZ`dTF=J?Qmaxu?>1qZt2?tFb+QGMXfQH`u}7o!6KOrNgUPkp~X$V5n~ z<;Cp%b6OX?3ia^X&%DWU&$P(nc6IXw7ulTLW+!&^*Ob*4Ywb7^UEXqvo7y$0gumRk z?u+e~?!}EN6y_ojPi0kKT?Dv~_O(+c3 zwU-rGx8%#7wtbFgO)IscmhIy_b=CNwOTj*2Hw)1TzWV!itz&=R&eVMHTus!5T(K0# z#}}L!V(XM0Pak|Hn!WYZfn>FhTh8Q7Jiy^R@ruQCuLDUt&h7KK_iz7npCV1+q#664 zb$x!Tc_YykDd8BRy7u3jKPwL`*}$CZv!mg_g-RzGoOE){gtz_SEsPd|+#8bQGDL-y}Kfb`uduQsS zY~ujC%co+_yCysar{CA}5#d`tZ$7hiafjp7=7Lqaw$6_3deYP74Gj;z)b$Qby!+%p z)P6x{&9_w!+FjOvf>{$Bc3MT+Jd#v)5XkDaj#_%nUZ(0M)3&!|`~BJL1M6K9_J8De zIKIPHbw7hoIg?!G?S0#(`)u93t=>*SruH_IMY`SQV=PB97H1z^qqZ?(>cwnFgRd|A z=ARRGJgO&`7_;@s0h8NXgLu@J9FPpIUhv8~EQ%&8BOTr(7QH6IydPXRYkAeKz^;()w(o_oaNh_tMxn z^Po-LLE-8hF^=0SBK|dP6LfU9shE|0`r?6?$9GRQu$p$jInk0K#@XjUIcLB(o9%n{ zulQGaKqTX&{Q?)3lMkj(vY)f!m<8W8Z~LhmTqUy2HrTzExcB9Z>G^%TK6U;7nLA_O zy~@c`isK;t>bP%W=Yk@h_=AqyWt+89%?^5aOLcVrm~`OfnacOI z6Sq2iW+?PA@GW&vm91XPp~!h)k$wCz@sA7#c7FA}n_+rr|Nh25P0RKv^l?Z;UdeHk@ws!sJ}ujkEoQ~PnHn+& ze|8<#607)nK<$UowAWh~94Pt1d5m*Lj>A+&>*dcDTRFTsDl>6!`7?Xw;w>|CAMM(| zV575b+U3suQ7&IY-nX0VzbJj>dirjD`|#?UeJ{V=wF`YBoU~?Ut6h^!jP)&k562s= zIZ8L}5*%M0NZ;@L|J#98o8wdu-+y*Mx~lQck2A9lm`Q8*cWw=JkerscqEANG!El{( z{sH#K_9_{dTDr8B?w>S`&%n5=X8-S;9|wQ7TWTaaXS@XFdf zMmY+v4=AyImu{}x?Xb_{PtM=xRSq}qtecT0>U4mkhQ(RkoA1EPIax>arBB-DW*cd{ z-d$+__d#BL%^#orvjYqj?E+2r7u%j>u=%ja&NOt5-Q9$fb_=#WouRtE!12hJnZim= zA&w5I?VGklsUBQ9{q@?jMo$i0R-Sv-eDewijyGri{61IcVA@f0YT|R90~huuXKB_m z9oQfG^;CP&dV8_Y;T7SnQ|$kir#-noUwD6);*pdert15rIk#N?DspDu9!Kqk`;2#i z!#7$H5x#FP&#nD%q43~0cD4PxHy0j!%qC+et*+u|>AipVz04mDR;O>Tl5X8`;Ks{! zoQMDA9XNTra~8L~hr=btj{*E2UhL;OdxZ6V=H>mNTFlE&J500p_P@W-{aUd7zE#h} zt2gNHKl8czwf%-ub~&CwQblX_+c_!CEUr1-=vc_&c=@10*um7J7ZPXuFgbYFOmo#S z&-V^Kt813JKHun294)-Bo~Pl!CilI93of%9P>h;5L+mZLgRy+gG2yZ!`yCv1eQwg4 zwEwk}+*BQgB>OYd94whie%ckE3JaUs`(>Za4C_r(zpu5Ex#a&{YFmlp?x)X88J`;- zY`nqPn_Z`IaNX%|hBv*hJJhlNdfjBU!XZpPb&H*F{(%qIHFhk_ zyFcII;(^m?=BoS$EGN!TykPTsKUc%my4X$I?Y;M#r+b;_?YAzU7IQpIeSg-=$J6Sk zG20hdoS3Qaa%A62>GY33uNv5~yk1t^e7L|-NbiPeiFD?{5|*aqwhPh+om~rW^UeS0 zP`twb(E_Cf2jtsbjpmR)#vS>k?`{TKJ%cQ3K$ zUbX+p>@u7EI~TV;oTc!>F7{RJgBP!M*qs#8{wVUfd*9#VvNk)UvK_Uq?%TZUXxPE^ zw@R-!oe(={sGiTx)ceRG^Er>f-C3;%X6RdGFJlQl(D5LxSLUOl!?Op>Q#aV(-0v7- z^5WdT*8MHpcdxl|Cd2;YuYId#{n6gP>dz@24erBsrd*FCe>ZQm^GIgZsry|E9-sVu z1`)n>90LC}SbGk-$NR0z*rIySc{$G}i8KR8mBTxqFL`?Nz}0IjJmveE4)}B|D!KnU z#3AF_4&EIdVh6q{s~>)1e8zr4^5i?83M2MMeqm8L9_O;3i*wmK|3U%#=!lnYY?|lx z#r)qAR`Rdf?yLn<{JFFGc78t0Gu~PzALLQgE7qNpbudpRYvy%+4o7Fp|HXZwj~q^% z|F>k0&71>Tc~U1rm-;w7d?R4{zxky7iX-Z!kD^cP_j(-VeKdQ5J&)hvSah4Ml3vtP42 z&gWRKdN%*K!!f;=6F2>@Ibc%A@$l|rLx)>B%PdUZ-rKLelO>jE?dN?nn&)x+6!5cO z^SnxP`C*a$wmVLroGE+BE=}+S_v@SO``+nJQcL(}U^mrrDSPPjXW;(v>rNJ_jtsI)4$9t=jvBSj&AHq+59oatSp9Hvq=SmZf$MTN6%X{--K;LF zy|mxdrmMQ%rq^DK#lNOe&3AwCxf%S`XIbpMoL7o8IBwmiaZWZ;$s^5fuk?j|C$IDD zE8taa5|H?|SHbVqwOx{(2k*AawkW+0Kj^=a^Jv~vWk*hSm6ICN_c=&aKF(aSy8J-w zxj);>-)cHsjkxcvd*$i=+=4CUj(T187OKoid-EOkyIM?oa&+;feWp@tr}}y>w0oHI z?&$y8%zbsL+#KJ+W$hlY&h-CW$ZDtGb!Js$d-=h;&sH8>qZ@c|*|GN?dlm{g*4%t! zF1LG^1K(A1XVtk`2OjyXkJ*?e?;vRXxb0=y)&2MG)$Yi8UTXi*?$uXiHue42w!RG9 zZ+3g%m9~>j-@Rtr{Vfcf5&JTJpLp(rxp9R&cGDBu<{H$4&yQlr_CtiPVx!W#s__ukcQ>B;O%>zbvRIfXG#UI#Q`BcWJSnGi9qZd85=I-Cm zw=Pl0cuS)F;luC$`E2=N_qkI2KD+Way90VDsh^S_R_uc|se$b7LS;KXu=gWH~5FQ_Xx@M;mK zUbOg!{hg<+xfQ=Y+&|^2B!lLRqWyc$G)>%}>Ae5V2jhYV6Rz%yYM(W2M}FVF&x^P6 zt4RymISCxeu1(>$J9pWZ$-0|mpN(^x&*w?C2j4_}H{jB^uEWMrDa^%f7TLQ3W5IboR|je)`w_($~Fq4@y$v8g7957uG6>@V%x`CVl;3o@4V8 z;lpit8IE}|OhEw;xelf>3w+~sxqDz&3|GyRWt9hx^ZeB_V9`BLCc|MPD#??7DzvcDCs)Ll-kB{QY+Z;!NRRfZ-mtxS#2XE?_OJQfcxrasrmiY2aY`6W^5c| zbf9hGf!`a~zTdw{bm^A8Omp@ZGAGSpb@kf+;n;_Jlax-{9cw?nz*A(qT{g$+-C44A zc0Wv}I{fUjveS&>4%bc2A1ixJpiZ#D8bkvVCIG-(IvY$=}DljUh75 zM{A$)oj2?2{xuzBT35LDl6;C|K$L=BOr^48(%FEiW;ae95Ya2zno>XU0EdP~UgSEj z1IcgKu0HbO-~OD_Qg4=U&e(rxfx(Mr!!&!PEt971e`jpp(p4}+`1WVJ>zAn|kry33{n6~Yd(Q}&ve-Ei99ysxNza?AUscD~Q?|&<0G-+nKyM1~v+tS?*O7{O} zw;gtJduqovzaYEz{sOy|vnNlwvM|8Ti@S1r($$yX@V$K=5x&;5#p1NGIvls!o4LCF zbaKp@@VxAeGk!C# z+0Pb8N?0pWvHykf-lDmc3H$lFR1SPjQr++3-{*3~|Mosf*KWT}4;t*MV~*!XnWx)1 z|GFo-uO<6nt@){9t!vqiS<<%8XRjA_T)sYdV*be|2cG%(IZZZRa^Tc_l@EIjLk=vn z5SW@Q_S-(ORb;bw;T?Nfi+6(m-z~6bQe9AZa7D0v!vgiy7CsF7bLR*imu!EyuSX`< zCCFvjzH8Uxe61!$@B8pXSn#`i=0UHtX4hW_VjQpV2ZgGw6m+zn`2ElHhZhh0R5Z`n z=RNJfjgNKmF)ls_qD@WKh{$f=U-xj&g|Ny=5`~#QA+c%e^;+teUY;DXnqE>e66v`)u`6MEIU`pZ&$~TC1az&63Dmi}-_Y z7Tn(HlxlV``>mz$1%vJb>!czbFRb3`z%M3WFYZz5uusnAgywIq15By&4swYy9+-KW zxiv}a(EfHg>%`uD$@T?Kw^Lu11le;}uT47IE^L2G_{ zX63Nu`^h3?)zJtf%r^Xtz2Y=*n4)?7E>%UXhV)y+_qsGKc568wG%Z2T16CAfKv(H-G{{6ta8!x>-ym@vY(!T6Wp=GSh6!IRmWD>VWqg$k%@v6POcm~9SE{_f>V-rR8D#ix5s&3^6&j2A5zKfIgGVQuJ>xSR8D z*)xgy8>Bz)*}s3`B^UGP{Qa2$T{EA0ve;iXWU-x5$7FxtNsqQ%`aHW$#^>vfGV zorMn5+4<5`(sd6AP%`P4k6mi!I&6OLbHo836Ye%Z4Ws|n50`>%?*-8tr| zzF$U6u&|`;Gl;wI=^;w(CN>AcMB?du8;zA^1{jq_G<%Aci_tU%!mFa9u5U_EVcZUU+wQ}-jS7Hae4n=?XIO4 z3a8oo7ERy(Rx{ZC#KZPGeslEq|A^c%dG4*VcA?QvG&bq&xAQ*J9k*?NqhqK^RPHjb zu!H|Bwx_VZH95HW+m|Az-1iQBK67@@+rQBvW7UW1GQNfbZ{DkZC_Kk_!0LU{^<_u6 z9gey+OuTmN$o|D|mN8DeIC1~J6H5zsaU|KBaNArtx8$pxUeV^p#<(y0GGmq;dU|!8 z-Nr9j8-&-FIBwi{_3m5`qk{@uK3gu9Y8(uUw~e`6ecd6pFqubLV1>gAan6K9wfqA- zeaGkVU6(lUW3A^p2iE`g*B3l9uPa=$|JFw<1Idl;`#B#f%(8P2wEy5}zE0yQlf8q4 ziNWlSXZxfV=x@KnIK_^Efq_9<9TC3Xn-@Pe`_guhQ?uSctT_2#_m*tF8Pdj%Iqz4l zHq+bUu*1pv_qDt04)pRw+ih;nckmUi`R)Fg|A76@*iZBCz1sghoR4esgzfh4{wOZ* zF3j6+e@{qz~RodCVj-{i8#Oyoa^9;erDfew<(E|1<1>!Ckq@(;n(Oga}PwJofI* z{-SlAj?*TG@6SE|aI!69iG6zHzEu}OZT7E{@~rs3<%Qjg=?d;0<~!^>g6$Ta+0?zy zAjZ5s=U0~FHeP3S&x>IPBThyge7HvJ;LAj9G^4F$^QgAO=- z-~ZdAc!pskOa9EP zgBM?2w_EJS;b_ch@wCbPk%RiKpPP?s%{d^(eVJwNavz6}GnxKAxqZw&KjqurJgF1= z7Z{n#tN2Z@zpWy)?oYJW{+x;K8*jvYvb!qO@8K=A&CXJ-UAlH}=f3ZO@0_fwee7=E zFOT1CEbAyJqfz`tHRj-5;TErLe>Wd+jQe->u=zEIz7L;wa2WI)@X7X8T>r<^;bZ9O zZMRoHwGaDI@+5u6{{7dNoLZ@Ju+hF$pnjbKgT?*=W4HB5Whd-jCrBQtV&7!9@6R%S zgW|e<#*5Ft=6z`cPQSY^O^1iCS&pm8YWdECACHPHPUebqj80n?T$iKfc&k!&M@aGQ z13S#SS?1IvJMg7mx)?M=&Y?>Gy5vFmZ~N!DnqJ(-yv4rf)75pMUb*{=!?%Pg`^nlL zKc1(tIe){xmZKVLi_JRs?R6=-SQ!&)cj3^5pqXC;_DQT$@?HI?;b4bBX1n66l!H%y zGL+uYly~&JBv>Zdcfny|fR6od*{%ccpZzZIE^>5uecpG5=h0957yVoupkCT*kw$(@-1fNjD2@bB&UR~^0bqDD6+Hm$VXelJ?(Lwi=w@>}!9REm@>?n#lg$Yd$w~{kdqz!6CTi(f;;*azFA5wixP8{W0ujD;(Z1RLdK(V@{&UN4t6i$&^}F%0r52KodfC#;?sDEd@aV&x zix<-(9U=vm&wlbu@qon9(@Bgem-a7S^4qJHsn>qZ@e5B5eD~RJEj8^r<7O6nBWb6y zOtr21n9n>2-)59%m$*X8C9dp&?JnOEiLIi)_j12G-rJzod9a)7uFs+C;Ro;cy2kju zPy+-!zrLgTE$zkUg+W$kAtC$6npf zvH0sF`wOM^4=+u=G+RY|zei|9f9dC2`__M2@%7uQS#~Eo`{%PPh~M|M@_y2ZA|bl~ ze&h2&t&sWo=sHCB9$@|zxX3yApn&5WsWXaEXHJOe-AMWpy;SbyUv}pf{oUc3^@}2ij znl$;!pY2!oE!X-NblI(M--3*2i-mJU?1U~J(XrV4Y45$uo(Wf{zq38>UevIDcI`pO zm8l0-GFl%j^37q?St{oE_qFf8e|tAL7;ck0BKSN0z|GF|TBYkR?HLdLVvtC>w7;Ou z`HKX5+WroXM9Cu`P4t!{+ugbwR+t>P|L5KF>goZ zf$fg}XEOZPIk46J-fhi$JMGV{=j4<*IMseOgG5qyZiKyH+CfA7KRqzF|+$J+wVu;vTu7G=D1GYz*=|k#Ywi~ z7w(xj#@%l+2>K)8*briH`)Kk!2d;|^S8`1<4!9lsIpydUg#+)OW<1;F_i+Cr-Cf6b zx=!40>%Qi>l(_T$+I`y_m-gM-=kIk#EirYj-5%yw6B z5FEb0H4)*vVx`r@Lk&%i>-w3k^0|^6ONAn~l$t0X{5|PTndIR|2WY=_Z@FsrMmQY)4?m+)$e>XQyh0Z3r+VeQFdJMwM8`h z_o)M&n}uX#CQLlg9=~x>)KRYklbe2QUHs|a{sjw})|;%GzMq+C)(g>|H2WO3xz9=z zOzh9wS?!(7@WoEf=s=6E+iJUt#oo%zm;CL{_dh?Eo+rG|ME{wOg-gXj`MJ)@r%wku zvV?2*r5}-S{PX*(RB7|716jK^?#aE=aNw-+-1tK*wg>j}-aNkY%IE!|3b#sD-)_tJ% z!|DIi;PsoT$o6{=5<48Pvc{MyZFO>7Ji%OifrH_}JJ#lNT&_JiAUXe5&~}3whu06j zonB>^;IPdj`p+{5Wru*-=XBV6uG!bxzy8JMSh?RPcA?dubqV{$x~#l5wX5!5f92+L zZj;;lm@oTH-Wt?oC!zG>zgKsz}xl?Rf6@OtF9o!j68)CVS@G zeRAOR8K$^j_Dc>-b~n*|q84(1=bf-b#r@y*U6RrnH@DoeH;xl;o5HftUcJIPb>F05 z`>wW{pKJLU_g5SW3ORD};l9QTch1esTeeTHL*U~_(dd1=+oU!e;>$d!5~p3+d@{x{ zdfh9##j^z+^;7(0Uw^-N;M?{CkIZAI9SCP-V_M_lbKstd{-T=njr*BwYmXKGJ!${- z=be!AS0~x8IkI;#<5h3_)-^gh{}re2TeW9}NR!@$eYL!q(Y3E<>|40+-S)ppkpA)P ztBCM@Wc}&|x!%+@mqE-gke`@xRS)V6t z-l+HA#?C-;3ZR=j;{wy zrMkBz=Po!PQz6gw#w^$2E64HKN++!xg!d$PYR!3SpZGE_q44DH{XYf$RPQi#?N3XZ zv;D84@qWQ6wWlXf5U}rk#56P8%imrKOS944s$q?{vuW|R@dQJ7<0D5hDY{$zR7G2f~-p4ijU6zz|M1M2f|Jz0JS$D{9yQ@(tvwr@$U>BQW;?nTF8Qeb0UX2Lf z3c&)G&ijRqE0!^AwR0~#n6SXqJ2y(>;QVmKpNlvAc6hg9|H<1%+Z=)}&YE0#wc&u@ z+grI&YVHT#aGt&NN}1i^?)mq^igmZ_RRWcZgQffSC!`CU-sqLT|K1Oy{!KgB?K4xR zc_ef&*>j33moHd7)2_Go7_VnrqoaaiWoflxgyXs!?F%i-%nrsMninFt`PG52#kvOn z_V0GMRu(oxy1L4t*q2lAS&h?y1M?q8&3M9lK+o(zjBD5_`xSMpF4fx>+W$$>Joeu^ zV1Mxc`{oZlO!rrWy$$!>v)Ar^>$wxm(@)yH_AX}C-cjKA!eIqhnRtlf+O^>cQ5C8O z8y`!gR5Ly~puGM_QykYyhv3IW%z}#x9ZnsoXrJ*^_rUi3`tj0nOb0F+mc09^ve7<- z|3T-w>M8cOTh|mW->SI(vsU+`?kM&BSvR^pSuP&iH>0ljC-WLe|Jb?_5xy$iu62Bl zMF&-uSN5z~S$OcY$-g_n`6`Z+1SYm5SpIOBb2)a^^HnMNlZz`R?&miN7d7WkvVYc5 zSpWR-M?0Mjr_0vreAzd{ZnDkm73=MUFZG;aTVCR*?HqgL_)4RLEGsU_DduV%-1;np z-FWqN2g5iK^A#_bJ3K!Ad_san{(-0M%kCI5N*q}7V9L39FaFv8nDF%JcgMB+8~$DGG9x7wy$;a6z&I-Q^Dz%I~)IsS zR~LA@*r|GT{$nUBaJ0(knY2YS^WcTAo~JISOCQvfkpC^%|Iy)x`@Xvo_6rVN`L(O! z%&f2j>CLxHoBbPdf8R@X zdTDoHgV6I=ZQJc`tx+iEitOH(dnE9R@r^9UcN%%3d+vlC^p(6HlrmB5;4XgoT;HZg z4rhN}WZm+k^}wPUE@sVHK?hnZ_V^heRdfhQ{+4K$b#wm}wfs3I?k)RIi-sLBa>}sR zNlJdr`cQj+;Q54mJME6y37vTK{>G6FcC!;6e=f~~^p9`rAj0=c`^;NMq_GaX^kiZ6 zGxqgrk2t#mPb$`pV+bfz_J;gaThhOIdH@V zibg2)9N6r4$GeZm%)x%*9I@qgPwlUT-%a8U+Q0v(P=cY;vPSzwr}oU@|6#trI!liG z)~}OxGH*k5>(*|xJ8k{tjj>SOz6o*bmQI}u=^w9VLWFOe?BYXflsgZ$No85SQiyci zy5MttP?DNsMu+r_*9Er^Oy=*9`_q@~AbctBkEf`dLvBO%PwBs3_p_}i;a&P{vwiN~ zh?)$|-2Jj`4K=mSvi46(o;vY<*s$-I7@zHqBOUt=ZR#&uawy2I)%M8ja%H)FT%C+f z*S|CzjDGX%?4n002jy;`;4n6mchu!iX)$lS;2?C-v^0sM>%jEd+gDsu93B21xw1ZZ z->3bj+D(*RZ0WZ@+d74Jt4e@oF;q&C{g2OoFfwO#ns{c_EL zEIZTsO=k=p7G7A|yW`Eh{ds2>J*?!{ws#M($_$F|wZC=4?(Mfsk^O%%`rGHGcdZJCt0;4@_YqWZ>Ec>C;GqV~1vy$uJocN{B{b4_(r-E-yE z164^!jsx-1ksLP<#Qr)lf01RRgKqrK($X)A2h=wn=VbN1v|s;9OjFs(9(%Femeo}! zefAfsb3VQ^gT;P{WNmsf$JTv?bAEH4uuikfx$bnJc*}R&WkE^I22B6<)~9%iM3{6Q zEPrBgpzuie!E%8JXo;HK_#q+H@Ph9fT{68 zk(p}p4*h51Ilc#9-9OV#eahw?rS?DfPSTEaQs18<@w;%}hFkk0ItwR1?3ra}66VJL zA}4;|n@vZiB`IKK(21{(yQm<4+v{CS?sLSI#9*rbAzFF|Ni|_KW^+gmT1peTiU+w-#@!Y zox4u(+I+K%muR{YBs|6L;QEHSjGf7LWe2^ImDioOEiT;eRF(C@cENR~7jwIN4(6JL zWH*Ya9pruLxmfOos$)L;bd}|8%N@2Z>ABX>Sa6{9$CUiM6Cd~Y2W?fK^!MTZ`1m_t zERBoz7dl*FsVH^cpMOK`diJfW`#6(6v&4nBhHpf^ zEZO_<{H!CfOKT5`)G;l{xN3D!TSI+9$O#t_|rTuYhuH@)Nr|l2F_^sXfugQLqJ$n}@KfAIocBkjYn#7iU$+~mS?p&t5 zFT~Ag)(rjowt3AD`{q<%1c$G53nF}Tmqz_!|B&a{?x(avG9$xLDAOqQqXqZDQ_Y!c z7z6Jf_{$klUUaJRfJEy;Rkxoy2e=jP3qP&dW&c!wKV9haRQvn8Grt|59bx~fSTx~l zxrqIW?~~3w`*y;v`pBY)@Fnqt6dR zgB>{>tqr4u)Eqa}u9TU_?RKHl{nAezt+PvNitxR%-o&mqzim^t*;m^y zJVskuIqMGUBs}|ajNjDJ%Zcmnfxi-tZ)UAtzSU@+gIH~F$t%x{11{5Sw*5b+a3C^7 z>)z$qhx=J~Z+K@IF>(L=-HqyZWSsZ^ZQsLQWp!)c-lfq(C0z6DKGdI(*E*kV$2Hrk zQ!`T2uHWrbhO-|Fxc%@t5)r;{x?Fk>*Ec!-a(g?8g)zx--UEf3l}^eBxtrU*%{u<* zz@crN^uPQ zaJJVVU)eFYP$BlM-01_Crf$4+Z^6U^n>MycvflAJaB|JF4$I&F_A{67$Yk)FzW+|q z^Pf|mr`g|4KCwnD$i%*L z^n+0zUoOTtP6*le{9mu2<9a7hd@4uRQz;)*b*KPN= zI&5CCHl@nC)M59F_p)Yt`3^*+O#JT@&3M2@>eZda{D=0tZQZ5ud}*3J(?0q2jCX?U zXG*4&u?Gp;?<$q~{bc#UeKr>i`8XCW-}i5B@tqkmxsHFPUR=Z-knOm3k*m4i3z>tP zPhSdp-2e4JQNo^#|LzM8EUG-U=6GwagYo;1hi>1raCe<5JMpJ|R9kIy~3h*|x8PkuGpu}AD$Aj#tC=%jjJ zIKV}U11IvC-0qCQmyO2%*@?e z+4#twn|Z#L+3IEcJ4$*y-*eaQe;T{#RQz(o{rx(o%?h%A>`di68&f4O+BNo1y1Yw}V1Nz5XGNZ4S>n zqjg%oH5^cGYk&RxkK2Klw>R7??__sanZxXOHS(7Ie&2&qD?R)7Z`VFtwAwU(|HM4u zJbpQD`@|eu&Wb)J`;51~eQj^1*d70@ozmXi=%`tIeg`jWgd_j0TDe{IW(OH($=wsF zd38XuC$--9{%!}UTW&iXovR$2w``2syw2%B0H^L($#uL3WESUndA~np|L0M>Jl}$a z_V$x**KgAc-0vdfcC+2ybbrQW>AQ8W4%?miJ^i@c%9D1xwb-xl?k;fDtt!gUVhVBm zwCPdS(KgkC2|7Ebm%n&?;ElZPnJFeK9gM#+xQg@?I=nj*cgrDB@4$nKHp|Em+6wNQ0`?D8|EGU@93z4o{@IcXf(x9m*O)&ut;{bTKo zi16j)&MWXLD>}$Et?tRpC4~pY&OWtnoTTEoaq_H_@`^tk-dx+8=DKIc0TmZpvHqak z1K}(CqYp}ZIP~qvd#GCSX8%>!4=1ZGU)t|e$P>YIYMOoi>kQc$R|D-Qt(v^?T)O`L zBKHq&A3t5RJMv_U_#^Foc3$ymO=p%gI<`-2`sO<~?BIl7RdbG9H97cNaH96Ujqe>6 zO}Y1XOTk8m`fX26O&4f5@Y;7>%A#}M_h&TP8g~?MJ6y^uJaZ=Q=zjk5#<{cPC+>gk z!8G@lP?Ei``r5mTE8f`oUt-yv`{VPzlP5nO>#^8iclba=!_T=Tj+J{WQB z7*}+P#=+IX^R$g_UUzu=LuQf7;pGm8CT{L4@yI`5YAbU5pPu*uo_U?@N~iwWTQbfo z{>Hg(f0{&nr88^${;s>z4Pr_I?JpMAvAn#(VDEIKNOZCDvwfGAn@ud$oCdDnezzgQ z_u!|Gh5XX(2S5K(3lH;6J}4U9yF5kK*zxvTcJ|von;iCEt1?NPu_eQ^%Q|;CM{09#{Z1di3UzD(P!}A+?`vYfRO8N9yWxw0ZNC|_7O!fk| zRQ^4;KCPTA23yzL(ybRrpQ zn|u}=Pz>HIbK5TLz^N1`ExTHMhx5A9lb5}FvtRqz2ZpOYa{DKDUMhW2T5NA~FZh5L zzs>%6A5D%$9DQjg;-R>}=lV7~%e4LXJ(#-pF+MN)>a-=xQT0*B>L1U;4xT>Xr5aZz zcJP@;llG;WM-D9Sq$b}~X*+PKrA;C-E$D#odtLUw>l7Ur-tEx*QGIj2vL2Jb{gUSW ziyUM7y#J=#Z`GKv()+yj{=V-WvOK$w+vROJwKFw+gPqjXg^decApPUhF^KSepW4)W zQ?=*d?A>K7txJ^-mS|ZQ9tt;bJmD&1)6Q_~fGc;$;IBHz@{Lmt&TIMjgT1*960A4j^20miT#^jJg-c7_wQ#=JMbW^yV3ssj^`cR z@67k#@DjFJkapVcb@?orfUu2rowIzOKHX8fZ#t*jzQjsM|9G|$B7E2Mp3i=-)_G7Q zQ|+0Kd8Fg{wyS-S5o(UIo!4K?%)5QysmCPa3GgF_-ZQQqZ+QgC^|Bijh>eX_;LPPAPAD+{0 zXCS&S|N_=cacLTdGn8}d%dG3x(V869rTZWJ2UTT#KHcnHMiHwb2vtYv$?vs9(Op> z>KlA$Z_R;?G573b4;nhCt#IVM`Rd+&=Qd-1;}{eBBhg|?kqo}}Ct|I6C)$rK5FW4nZX-~K$d_yC?C%H}|Xuj85dGi!Sq4z9eF{-fGE z)v^8D_UF@tB^`e{ys!MlcJsiu6VuzWc_STKxV?XJGb$Z$w|>-KWPE9VK;{*$O_O@; z=WPFZuy~Ho{);;gFJ4o}Vy|tK8E^e+%f7j@%G$-X((Ee5?x@w>(S4lE`_;K&H z1hq4c&YcHu`pCYm-xz){_hCXj<2z-?6tB(ew*>BUIQ9C+qLnq}2Tsqk{nXc^>9FAh zQ<3+kr~CJuTfUp=bf^7f&i4oQ)H>|H{$4gXd+o)2p=KvC?iVhw3+v!${r5RzU!F(Y z&`eik#CTjwyi|7Lw}GQ9n;jFbI@g>Ldep(okhnYNjZ z%SC_g4}S8~VQv5Y1%)a%5BM|~MB1?@9H>lVxx>+-bs%S<)jY1e{rhz`KRudvG130G z?rZP4jEweI%dGa)dwjFAboZR>mOI5RP3_XL2eXsy!dETmVAkQX`+Vv0wOy?jZP)pq zoYp?I=b-+Si`*5tss~rqaBi@@sp{D29%+9!b-Ba-@*^T{%>@TCeRgcxIOEg)(~thj zE@FJNpQUL+*p9m5{pSTgoe-~f-XAgd(ANxxYx~+xFvzpH_U+4F_Pf>alcb&Q+U9kq z6hGL0GD=WUczAQ~=gJf5LK|ui3e+|J{JzraV42Om@{-kJj+=#fzbLQU;2`Z-@BHRV z{DDTU@{@m+Uf73klNW!OeQCdw58u2CYtr^thJCnXz+t-oQGd5=`u{8Y>R;{b-%!%B zuk4o6{4^u2eXr&veb_AV-&XRv$-~r%7r^1my#*1z+7+(?lYZwpF8urK($|y>$IWLM z4;rR$A6#;sV@-JY-2=kQJl1sGt~{V|Zq2=upLGs!PF(yhQ)IXO#92)Sg38nEA8I^) zu6ZKD{$u-`lCx7q>@9Ot;{(J`+AUR*xHNxmh27m(Wl0<4IPA7F|5|L=du8wX*=K() ztm``Xj8l3sLw2yE_g5eDenB6=UC3K+=PtRcM^4?& zE?voUn#CC*yQML*sWp6c2OW+sPQGPt>L`2T=oGd85{|cXY#Hw}&T~lFkd<^OF5^I? z&W=*!7YYZ;4BHy&a~|#w^o#wzDQn_>rml%WHY(2h6OZp?5c+g;pKJE#UoNxf*)99u zGrO1}$L_L?`;o8idUhran+{w2eg_WU+ntE;4LEvfeph{y;|57Vr$gTp9XtO|yW}3A zeDI83PuHK*j}Bz5P%3-t*K}ah2etiER|z_VtoX6$vpR#rx6Cc9V0t zHUv-P-nZf0M}=Ds6$f7|i|sw}IMDG+#T)*R{SuB3!W3A3a;-kl7U!u~!q9kNX5J3< z4|cW(T>c(7G57W7{VZE|dP^;vy5x)L?g2A(cI~;{mmG;K!IXPyAv7|lpH$3<| zsEe`h+>-+twtpk5%4!`p?byGktUSSC>XOdVo-}2LdJm&4m;7t?X*>RWyEUhJ|NelV z8}~^h?)T2Um(+Srb-!}vjW)KgxAwhhdv_s!VT)a@k+sy7tr>Q$*D6|Ox@I5Ln;d&| z@8fL8`H@q0d`%GE>{^-b9mXlrQ3c^?41y` zFMML`cgfEg2PIru^lfg%I110Z7PqiL&~a&g{V7A0O9v+SwksCYPdo6Satil(XP*P2 zN7DGVteC#vX=R1E@}yJtX^LT2z6(ya4|-*GJMNsf{S>zYOx}rm_T~Nwe5`Wl!oK=7 z+nTk~X700@lbBVc4(T6PnOo#TrxsYzLTqMI@ zc-D8P>wLlXmoJ$pYnuz(Cr54HY<%I+zE82mNhx2J@2fs+pJ}3%>$vl==c08U*^coW zbhj(2%N|T|Yp|O+{p*3FUfR=+C@(lr`pB4f`Q=;(2eoaI=C7?B{=MB1<+J;Vy;Z0~ znC#j;`)4ZtzwM#ZwO{|f#sAU`hWlCcCY;*hAZWik_?B#O+C96!H5#+}uQk{S<=-t4 zaq@J$G~pGCgGGX)?t#!tkK}(IID2Zv`Y7S&2jacmE?kVBbwIl3P3jtfaEBK^gQA^g z={kITym`s4kVp0(?H5izsJVQ<=&Q-R>rHF--+Z;doh#aK|G{4;>R&$oV|QW4v{iG> zF5301DSFBFvdIp#{=u6Y5x%^$cC1XTD0G}snRjGsP~pL-ugTgnoEit`9Y}a|+wX66(43`j+9}?6;5hF@gO69-4$S%=cP8~6yMtTkjJ62#TlV*-uoWg+P1v8m zPxkIKrTqP_itAe(%K7ZCEI1#RHI>O;o>O#MoyP>b?sSu%1@(=NZ`GSaNvPbgQ zJ9L^I++((&S=H^;fn%xs7xw(y?a(NAN}q+d%3+hyl;-pYP6xPR*u8dE@*a30`%pov z{j|Ns&iCii#NIRS(|J6|LmF@c6(rVcp6NaVs4}pG!7;DJ^ukx;dJM?~dMq zDSudOSgn{2?7Et~Sfyi={a^9CU7a~o>{&hv9oSQ+xj$j`n_pW?)c5i-Lc77?EB$a1y!~*&n<3VIWzoT-4+?HioL_j5QF*P;%B?DnhCRxrft)`a()U!V zsh!(#ApG6sIl;$s4jj{CJO7#A!y)@!crVYixBDOadnouVy0l+;B1_p~jysI~hQq$~a-UYuUG9*1K;(2;Wd4C9&r>1`;5lKltp@>s3>%k`FdpJ&FpJGj{xQAaUk}*o_YNf1hJ3 z&RTb1g4HW&wfKC8zf6nyeg6v_D3|SxmOt}y|GHeq_(HAi_6F@LYhQEc?|1SJWU-J| z*>Cpob@Sn6O!lAS0wU{7kL+twpP!UF%iqpJ|6&TCLV@GMu-5W6^UQ{%p{9&!0=K0FbV{>EODx+<7e!n8R^EY+vySL*K8)sjZWAhc6 zGkTxH4$hx*z#uVN>|o6Ij73w+A31DUyq%XbsOdG zy!vnMf8ViY!{xzD0Hx1XxvZqI!{d%v(yXjFmONxM>$IeU`0H`x7|naFpDSP&y^)1fYQpl!b3-(-n1_LpOtl2sqa?w=yssdrk@d4FKMZ1;qD{PstB z|Gt#3Kf7=F*X!%_Woqrhg4OgY`1R~&&I?cR=}$SRmt%8WcVgDT2aAKW);;HNG<^Qq zAwcetLvPTZ+0x%;ADCPA{D0aS9|sSm)_+dD`|NpZS(jalIlh0wDYb+{Z~N^T%|q7q zihAvTdiu1tBIjqj124m)6Qj4-y_HE_Jat{iKEqY}q&Cj-vFm$c+|HxM?KrdNj47{r z%)$8=*_A*2nRlRhV$-))zH1J~GY_pTWA8c8^Z%tP&?O9IpfBx{)eE-b97Ur=J&)6AuZtqok`{A;*xG&O?;k4nEQa)t zyOR*%8#?2jn4o6o!T5&Uf-K)iM<3a%!Onhaj&>2{uRU{aA21b|E%k6yvV&6fsvv1` zSqEun)`NF;e%*gy+5bK4>o(hS7d`rN_eIWrM$5x9Uh2r&TkOc)_wdKYebE!M9J24W z?~8wTcdgW)U^`i6$LrM>SobA<&hZS8X*~F0Np#!w%P9w^7df<6`^h_+CKn%km43nD zxO~i)kb9j64u4i!^v%Q3p~uC|ykf(r{ku>5PRA;LV zw`CqkUD|*2eEO34Q9brAHp`3O&-dBC!^Y?8qf{3AZ#oi@*G_HO7xz*n&rvPSZb|xu z$jZ`dd%fI_iLUNu-N)2z66qS;c~HASeR0IR@PqcY`Ala%C_CPM{bfg*)jkI{uE3cW zbIK1Ca>RUM$klYPm9

u>9$MPH&sU<*PgGzdedf{@3KN|BCWm<##a`_xW4ju$W`K zz^*Gmg5Pm*#=cx%-duNkCA+fkAK0G?vF$5$`18y9Ncq7_TQXW!a0VVsjpzG5W2=zk zeGR5%EbY4--hSHMcQYXCz_q9Q0vEiHa|rr-!ECzY)%|PK{rpaLmD*dn?E5NMt-ilg zR$5NqrZVo%9T5OlH+aLZmZb$MVaQj!A4-vjq_Thy= zGRX&3A0Jt-W}oTk&auccdDc&dZKd!2MXKFA;2bXdrIfmN)k2YtJ=4s5()>QfuP zfB(fmlOXRKiS|FHJ@oPEX0m6LaM@fG`pxct+}tDXcc$1$e>(RnV{)?HKN&XC15)S0LE_c|_AiXEArQpD~ z_1^mr=X~DpFY@{$1KXqhJYIUwd`=hdUvaKT?r5X){$fF?#CNLK_MLY;(ic|Ux6fn^ zv%6fpl$}Yujo$f_igpt60RlG#AMN$xRMg(LyY^ty)#bM|>Z}g#%9CepT_@&fV(>@F zdD#XBA-Q<<6(8acxKFPtKI8S=zG4ku)u)0>`<*U+VGsPDwqGe?+T;=u)BUpVk_47X zUfpNB_fhDh&X#>VXH5>SU#YoI>4=s1=VMHE39l-Ts&jn?r{CX?C&JqgW&bCBddijW zc=9XPoP&uOj#E8)&$#zJW>Qc02Btv=?luu)BIzD*eT2VY^91 zS8Lf1JhNR{FCF0B(sl5Caze3nL$KqazYz@k1=JkdBce`R+`RC>wet4B7q6=ic&EP4 zIl0T|KzD$iX%G8{{grmTNk*A-_Q%%TO=~pr+W+w5@`d^OQCvOB9QnqM*TH8^}v??i;J;8WitAq`EACjWX{ zirytUvP4gBl8jS6xQ6%MiS`SR4%9W3MR)r&9k_SU+hTc!ki(PqZxIR}3=VnIg>pSt z9B>$ayav(QwwZI;UI)}JZMNfjJBsiqG%E&2IDLYtRT4jGU@tXZM z%?m#9=W6zU^i>x6@0Ym$&nl&W>d&hCJrC}-xOMH;zF8->SngQYYPUvX2gjbq47)vz zFQZOaW*6uacT9R5f_`k?FXmwC;`>aPXj=Zu9AKMfQI#%qrZA`MdbU@4C&VyeQ zrX8p)_0acm@i}1Px0G$$510KrC#M{GclVUNZPpzYO~c9dYl{Mza?g0%w>8^mXumnU z@2T><(=W}HeVO)4-&yoZIS1R{3U*WAk`}gq@zpLfDJgisjJ8I>X_}Mtu zv3)M@b4SN)$0Mb|K1b7J5AL4qKB;s5*8}~6R_#px<{yyT@W3fsInSYm)8AP6ua(1< z0}7_wJfGN4FaLdTqvGEEixU(XIi0%puZvkB`1-TKetikvzxuNU?X7lA40UX{XLo&n zN&W|+dON9?QBx}`JsmHs{QZ2gS%Ra>;;JOR6+aKeC_CQ|Rd{~DFk;2sWcyhMHdQp9 z%gzXQ5GcNT<>yXahm(fFk1wk|vajC%V*i`f%lDhEImOeSP`iKG>+H|}xefO(KQgc3 z_lCcAPx=;?n}=MqQ~WSLr!5-NKeo0;gm2QLkNxx93mvsztld@`QFw5DQ$n=P1NDQo z$Gv0YKKyogb~11A{jFOa-d>6FbhKMG2e#j8KQt+n!@*DItkx9aTlRr> zW0#a)p0NMiL)K|beEIvM70V=|KMU9&SGwi0Xf~65k=KEPo&VbG^7o6k_*OMK&TO_a zS+XYFu`Frn?$?vd4tBkBG4 zNxNAOjy#FpTj1!icN^ZxuIOCpu$*b%hrswk zhs)lj;WH!k5A@8?SAM0=bYPvqmHBUMHruPcn#XoDWs3bH)tHVArMml11PgxO)Tq9n z_1cl5-MjYg+i!DLC(?B{xc|m2hzQ@0!F|80ZWSGzs=fP6&aA?NIi;=N-EXQmo(O#W zSm@(-htd;@Y4#6x9M~$aKQY`g=fIlX!iM{qJsdXn{|uDa`)>a}-UBb*wwOe=Z+fK#SM#t%^Zn?$2 z4?D}|e|zuX?tIaAq0&Z&&2?WI-U&4vX!BE_y3zf`evf2pwYjp~ z4m{ICJ}ZAYx_|$F<}SyA3Hy(5mHoINon+s%o=qn6-EBLGlW(T(oAi0#*MgL0J(i7j z0jF4eDmqFWP4}Ej%sgp)aG~l0Zth@>gQ7CWTy)HCI9zBH-5XfG+(Fo4$GYWN`3LM> zSl(*(h#shk@O6LQ|IglwS2BOs?DhNAX7Qao5#6@GaKom&^$P>-je`%x+RpuJ*TL}9 zbN;`l`ljc5!UCpZ;n3lm`3! z{i<6yIY0X=@2|S{<*!FJll_}TJgK{lj_j*qn9c2QG1!j7UTgNgNBNG-H!8mr+GQTR z=R2pO@T}B9bt`%D5dZVii`T882QJ?_r+r&W-{Job`=s^n-|Vl} zIIF*^HrRf4IJ0ff+amjq1yTnuoU-0O^Ky*h-1D#O_Qh@Rlxp5;C!flvz!=xHuShV; zsXH~x@xoHApo)KC2Oq7qdic*?>|h!5vR8UVj~v!zStwqwZ#&?+RdLV4e}M<=>r*<9 zHY++vA96f#a?#EGYwn%7*L}Wmzp(T_VVAOW`(QE2+x#1}_iL`1dE>$MQ+8~gp~hk{ z>+Kw?1aq&hhV+kD??HqwA3MXH`DQ%_qrYEYS3F1Ipx^N>b2C2!N9#=jx7vkn9msL9 z+V!))@xZe~f@OEzLL7vrX&!Up7dx=dj&=Sd!87)^{2pIxwvXR$^MCQG{!32#_pZ9n z6z|7xKdT^kX=M1>eO`y^&Kv)#u`A{~T*B<7XSXT%I3xdul!H&QTV(zFvJQ6X>%^{? z<#a4Qu4J1l@W^3m)N7H%C$kUa-ruq@c%6>}<1ZV9q|}}EQ4_l3Y-Eq`_wHX)WW1%{ zUhT@H^Su8(_lL`Ekr8nGY{w^6Rqt?Wv)$E+H!kz0bnM$Tr*d)gL2o-5v77d1{r)@D zI|(ZXsmC1D<6+Bilj=S2Hh59qT!w27#&3h8um0>luxojSNT8LOgB|azFJJyYwom+> zK8d|$-+rgfFS9tp8}04w=PZ!9XTJYMXiCz7pmTPMGaq?3t=M4Kq_s2o1as}a`!Szh zZrW@OPQTTY5aIj#wbtQJnwwc9dy6*!gZnmFbSYFj|B4_`h&v&dMm1ONrR|VUAE!wn? z!TYw+rp)$zQ^b$7o(c}KbG|Ui!+M$2z7@}W>dzQ99?ayvztHVW%0cr_GS@an$vf_R z_IHnP^aY2jg$3~^PIMl~yq)s#zm=myukr`I87n{SZ@Yhf`&_dL_CIHQ^p{=eXaBQr z)20Kn<@YZ)`S14O+I_o@JABVnMP}?v-1{++tJ=%X_S~@-iaRgZ#!ISjJ)V?xP}Fy6 z&9j>k2aojiTN*oYIQ~mh`S)1kxC48-+#Rh+H3z(>w#d#}W$57gyoz(}t9$z&HSB!A z8Rcld)ACYfwy%%9huG(Lcb*IHKcaP@A*<%1o!ES<^xwYi`-EnmH``fnY^U~p+8mb) zU%>5O?+irv^8REzu&b@%V9Hr8Q~QWi$8YBS^QOI%aO_#O_uK>Kn+IH#BmB*_MmVUY zzU63;Q94la{ml`6rc3*m=~l39SM0H`;>`Ul@8q+8hL5B7VQ&`u9KBOahZk?zcV%N% zYJ^gn-JJdy-@Xg-`${gvul#eL(e9P)iiN2uodpVYy9 zai6SbiDJ~F`F6&=zi&M($k?a*x;2~6OwsPk89~nFiF<7;SQ+BJUM)ZP&X(1;mm%=r z|CWD6UAu%F6}bxMFjwtzFpN`Dm}Z-Gploe_``vIrjhG=f@zyBYB+rQFw zi13wfN-ep>ntX8g*-%dg$4tkW@x5=>`2TcxwCi+0vc}B=PZ(`JGkPW*NLhd5iP;3L z1GD`eoiGX5zkg{*!6fyEiT2rLFIOtdve-LqY_AMR`eqmJp!KHNYpUG>d+xHr^~rYo zv!`mWJj-CGIrVsSV8934=qI<5o7eOl?AYc}xK~Q$AeX1NVA^d}$9BCJoS#*eI~W}f zmHF9Pa6tRd+o{XE=y2ZuqR}#6^ENo}mdW!Ayp2Dgn>_WoWZpA-A#)9*Z>5*^D^+bdwIMitf8#vW577#y z`)dx}?A~T{b)V_`nLC`DTJ|*@Za=oDKy#nv;r83vOkehj+|t>z%Hn1nSa+#xNP4Anz;N}k zt#=n{#t~_a-X0Pb;togZ0r2Vb)znxBB5wVY&Apfg7>ZIN0wTI{1Zm6)U>6_u` zS1Vw*_1xq53insG`5YIx-gR{y6qvAY>fx!uj(k&$)j#s9Ic~fWdSB)B!UHznN=^Nl zYYx0mSL!==$>>1co)mp1kq`Ut&k=nxv3bsZ*+WjRt@XV2YoB4{;IqGIcPw##pv>MK zc3vj}Gv}?Yw`*6BG@YSrYq#_N;zy2GnC#9dPcYPxt~>Z)a=WVGLQ_Zivx^KrFiJYk zuv=94ci~)zV@hgf-5nVRKFKUMw3bmk@O{PgKJM;^`!h7TW7Q^3-2bEeo`}D(^ZvaV zdj&G1ZtfG%P+3=ccD~)3dOe4!8*=Ql{-qiSS?SuH>)$PZ#PcaQe9JEP!`lyv;oABW znwlIv_n8KXKTUL;eWbThF-Q5J_}MwLWUoFtV4_y3zs|Giz}$6PZ%FG1J1qLJr};_- zgTs>@$K}r*J7jNAlYJ(BQmy^3S)uvN_PX}GQf}t&U##6{(Em}KckPOOe=@o3Z#5L| zll-_ySu4(9p9pJv?AG5+2e$;7%-`yl;#e1P_BmIAvg4`EXWjR;pFXhbjgaW>OA`-7 z#T4xLt>AsY?5aVdndJZdYuVp(ZnK=W|Bc?_qK;qb_Opy1tl@cSV!y~io%!dKFLsaW zd{nM2Uv2ldL+)KsPk`N{qDRFZVj}xiWtB#SIaVC(HRg`K^*hk9M1O{=|1Jr~S35G> zH%?rA;Iv&v*G-ki1GU|g*Keq@Juuzt;(^c1U-o~jd>*r=c=rBZ>x*_8Z1S=%5zccn z^i#Iak29M(UGJIQ3%{FAQ$iQoIq}IJm@OV)r=!>3yzKc$aQKSVBf|IJKi=>Oo*j-0 zW#7t#EO&HFFZx;P9&dP1)TCpr(eWn-7A!e&_t3sN2W_iulY2HMIGpf29Jjt#*Q{-CV5r?q?jdT`Zu)|2oEz{e4v7%v3=~D=TsD7Xgqvm39z-0R!m07~iPk7tc z8Msbae&yu8UEGtElcF!~tDk$U>E(l&`{q5Ko!c%1=^t;?LWJ-8r-AbwT3Q|XPtIH> z$(eBQ;K_vVt5VDkx-?qvFdJGg(|o0PVb0@?Ple2y;B<-zv8VXq=%{s`G;7HqUUVt;hs@?R@`5+<+M z7aH~`*3K%|kw5D8w;h(*j%&0%_!XDS9{eq79F@BK>j9Iq3a#av<{!B6p}JbMB+uc^ zstNB}_^ch=T`pNPU3qN3%W`SK^yz!|ub#Vk$CR+H{oB8=K3HpDu>at(V8=Dz1nn0r zV}JNz+C4j&ESp{W$u)M|QRlSwuJUxW{#C_%$0Wh=UC+au_lCa?=-)N@;j8=nz@;_$ zKR+tYI#B3w!YJinxP$5OId*Y3bsbK6KKA7L{?L9uZ|_u2gBAPr&l>l1bk*)x-{Yp0 zyVGEQQg1`1VdFo$`t2<~>V+5WLhSapMxAX0x6i_^^})-B?e2Ux^CSx$=U@7zsvTE& zFywto?ecBv2hWPs^qpq?<1lm4>r*1#TOF308B{!rYCMp8!(nSlquT-b#>#&m_i#8o zxU$=__w7ylbwYEM=jKk_FSYBZ2FJI&{fe)Bx1HM{WN*&+>1DutCi||LrLyj2Rd#hZ z7*s7v8Xf-#m^U7;4|j}g?J;bdV|LKdC&#?u`pW|g>W?&Tw%g;N&Q<+!_MA!wp;@+e zcU+wh*nhG*F_oM5K4$XaM>{F9UJ08a@wD*2}?rrVu;QhbediO6-GTr~ea*15v zq>FapzcQRY-aTojFK_q4Y;S>M;p1mLZt|5`s!gz3QE)rQwaK5w=cXJDD)6+OkCQN!j4^In7f zMp@G~B=o57KQ^oA!U^Xc`|?yXlP{G(`p4fI5#igGexUpVNAba~-O66-QwtCBha6n| z;g5>r2iK|LMK``Xh{c&UKL5DmfJsUH9n)3W2W|@<$>{y&?yzjq&NDY3z2Bd5^@w?h z&87Y2;nS{#c}}-yHt%oj-QjParLy_dMj`$E%^PQYD~Y*g*I-d66ux+m9c%Dfr7gvc zj$&?(A680)AMCUHdgsa}lY=2gt~yBYd~nzpb$QE?UmF~j=E>yF6mB>WEXR7|=GPnh z@3rte(fY*YuxI|Pymz+8_G>P%PYn^9u)ko&3bHYxcn9uv< zCd$<0ByF@i*2xv^Qd8o%_CfV7buE*FAvaCD#k@2QCi~raaWCbD!4{iy-V9af}W z*8EtNf1tWWQMhiq$N^0`juX2I{@DwC|FuuvXv6+Jj%||eEN%PMjx`61YzwrvJ@s%y zP5*B@b#ae|1=pYMyS9yG=TFy};Pg997ZJWL+1%m0zU>De+b%ujD3W||r`N1zRt00n zLz(d()W58A*xmo~{breU2Qoa~J#}!)cWCy@f0(sd@W5&5x>YeEFZVBIns;FC({1*% zw=ge^Ey&*=QzWM8)2g)p_{l|9=k=KEGc5lI@M|5}_ptpl-=9lic9zu++u}G=>flUSzsF+vA06ucH{@?GU2x#yx~3O1G(rzt2=EU|d!gr0yyA8A z*>`XD^Bld;{X#R&-oKb7+hj$NeV%>U%&=wF`-^8hUdI;r+O9I?)rnO%w%9fFPP{lt zuxp=xF_(ggb(W)Mj7jiX&hUc^E-3yiQV}~iL$zYooSa7v(JY%*{#?^`U|GxAI=NGU z2gGg}Jt)mpbeQwB#P#czoBPix=0(f=Y1rR-Sl`3ZFx`IA79L^wdD{EW=mv(qFgRoP z_*I2c@ZxoL&8ParZe&CH$7VNs;pM|M{)(A*ZF&y2t_XIj(vUw`Cmgjh%+tWJa^}=rNy}x>YsA!HDVOinZTF58OCm%JP8ojQxV^JO7G#CF~E~p?XiG z#c98I@{bKm|MJlFvQ&&zqdp@~Hf?-P(&MZI@eYwlh5<;d+&!V_!?4s&@EEZ@Vkr zU&WbD+;wGf-IujNw`gGMn>d!mgm#@1I^lh@)m+EQeFunFf z-l-{%?NyhFE^4*gx8Ek<%Pc*cM*Br~&e>kPV!mHH@_?l6;q!Jp@n&{;fg9}hb~e2h zUQ)Af&aNq-d*tKpgT=Z#w*sQZY9-$NL#YLLm zB@6l4zso3Jc+FdW|K{B~T+Y+(+vPY1ZOs2Tec$a4$+=H7-0i+xmt5ce@Y~+|VN1T;>$4x!7Jv;MEHIpDW#i{^)Uh7J>#bm^>q zd2fGIwwjUbGZ*^{!m}jWK6~3s=ZY_Vw_A9BxmVKanK2jbT(8dGBctEG@7B7FHv}S$ z?U?rM4${@S4{o2886d*G?|Ms?o;}zrY&4Ele541;= zmj7#uaQJjrMCp^J(gC3$-MaFZ7x&-(emzI*Ww*WiQm$}25ug3L5@q&r8nM_v`>C*9 zrGLvlk2lF$H+)j4Rg;$+Z8@h#Z1gVcJovCd>4j@~_(8=p-9EYB zlpSx+&Gt=<%1D8T+`+H*nO*YuT}S7CG{oez3K_vR^I#MfpMD zj(78dz6TuiT6#*hcE6D0nFsRkxpQ|p$g*?&575dwFmqMR%%dyh9L!HQtL)Lcy5A~H zFn3~fsePV6LXPt`_5Cp~L^;AY-P~vUf!FX^@Jzda6>=p#&2jsVF>EVUp7zgnMWPvR z-27AE@dvRxJ@E2j_GRNKJ6$%nPwXm#wV!7w1??d3A>^ZppIM)KfJmrH2Jl^Eg-%)jp zIHmP7jb*vRUG*1d*S8lO@M292?2-Gr-}OPsg|mE*_8ZUguoKTH*}r3}eWPQa^Zv~j zXZ>v}zP9iEjhM5|Hhuf7*|cwTcFWtn4Ev}xeHWkI57~IT-eatGF&4=?_FSz!xLzi2 z%6Ap3gHw;Kus^g#%yHKI1CsRp8d6sb6ec9!M(u zD*6sizuVdo;rsrr_g-$Be8;fIs-n5k8IFycFDd?g#(i+t)WvHLWZgZ$b=64evtZSM z#D(%-Ha^igu*A*Rp#8-j`=3sCSy^{ZvtP7%!4#*ENc-hB5u28M5wY*N^8UuYnv-^J zfuiR%_Ey+wq_h7uROhy8pc~Sb>Fb%K$>mK{p zcspIPt8-W|#ZO|V9p{~r4@pn!?UvQZRWems*eN_&`_{^hf8YKWMtL)o>JECDS+s1t zWa{`RWTsjqv!r8%{=;9ag>xNR9#u|votJTd=jR#jGiHhhoV6=Awaj|Bf3}13JKrS} z_lG#%zxUJ9dH=P~jKv4oZtiQ6c{^{5^#Z#u;S;@;e&pCi3CLD8zSOk)Bc&F>seT6> zzG23Q@crhJU7OR^Uz9u9M;Qa=MFemOVLSZ^?D$*nv&8_N$)iH`!U}+OKI@C%Z*|<366Fu}`jx zuiV#o+f99~a^b!`{N3^IPwVdcyrN0({NJX78(Z(}c8*AKOq6At_aI8yQJq!g@SN4B z4-}QkJv;Y!;(@=O(^Q-+ybt^iVDIoy`oG_i???#iwW<4qRZVXDM`hTzGRN{glrgpE zKHL>`d)F5`>)qPA)dyDFy=l--vI+LLdnSLaHPVG^U&?av6@5+>2Y+v$;x5V&GcjpiX7>m&m}lm z*gCOZU7+j`qilPp+3A}7bwQ>}NuKrl&qZ$CUbHuH|GJN#+vRQ4_Pd^tZ0PN~weM`Z zVfNX{9d>HRiW*wiW!jZ}DVxf#oqceds9r+s$85)vKjIJDJ_|Wk9DKMq#p&q*zxYSf zLu;2DsBS&EB;sxG0p_*}?PgOR?~8IwN8IC5KU?mHST z=(y`h%HjFxmkvCCdZ&#gFZZ*pTTi$(rq zd;NgY4`qkE?Qe!y7)$*)zi;KqEqcW(FYdFyy;k$7#H@WgZ5M*7_-zaL`HOOLAC>*}>)iv-K_rPj+}M+K{`;eVc>c@tQ_P#Zrfu=)}Fj zdcp_#-#hczzF<6XJ>1Pc=<31!k-XMFR?Nt;Kh(79_n(!)_A}2*<`v%*vVY}Z#pd03 zY~S|JPng%EwJ+-97F4u9%L1`Hcqin~9D~*S?JeNJV`dqvV`}(g3o>{n;FsIHx zP-xE*di+S9gUsTIWeer39a7$HvM-H(Y@b!+Hdm8(-~K2aq2o0fUHjGAmwHY(qql!j z?~KR=fkO7oHR+o&SKPDH+-7><=*mjFop-zrKDzGdcwMwF z8>_I@^8;STZ)n9a&pMFsaiQG>sR)O*>i4<*-*p|HJ)C~y;gN^-fg%=>YqzY}fA-^t zBR@9Q?!S{Xxzat!V1H1|fsIT-|LrdC=nmEDzGyc!_@;l4Dx`mGW`+n~8)v56%y$Kj z4;W6GUq~)Ic$j0-*55tq2P@()`R$bYULn~ z+{9M~N}LY)X@!9okKD9>ainx%0_&vx|CT%vNxPZ1Uop3dK_yGXeo;uwNl^bd`_KhB zmIcvvV)rX7=j1jz?v`;m`8O!s@okPm`TM122N@Z1oW171JaBhqwfdphJr2@__2som zl@2RczuX^O?tI{o+u?(cFYp}5@KJj7BgTa@o$eo%72TpCuGdl90@qlUQ+cxFpTkO4GE_M*~pJHG2 zagJ2`9;5xfXI`x=nWVn|?@``G42L)ETeKk8zI{HVe|+s>7rcDffBb{3ib?UojD*=j z_xlSE?mL!hp`f7Z_ae$v)uoOMRB{3wH;PB5nos zh7bGSGA^Di#BpiA$&V+>U-PEhAADSO(KFr8e!jp74)ynX`=1*u-|cnmx}Eq@{U$q^ zJ$6B9Yqy+FY;=5ob5rFM$MA!>+3ZI?EHgRS(D8ZWc9{Ff^=41QSW(O^huI%3*qsg7=B$s5rCCBw}Id9*- zCGl(iE2@0n*SG$b!i0Sr?JnP3Au>6?#4*|^JxH_5dJKs4RH4f(76F#wY(hUc* zGqOz?n#&zr7u?vqurvR_|46;Uny11CzR4}Hz2yJTzH8#)Im;()*uRFU%Ry&N>;A;f z&+jUa2io)8DssNu_0w*;yWEuTYoG4p5tqnuww?vs|E`@c z_UD}OUM_xUo4xfE3%mF^`TO_!U0hgtKym+i_xX>qJ~7${pBGBwkUO$((FNzVDkhP3 zOi=A(D!!ChkQn--=@9sIG!x#U&aM~C@$Z#|yWwBW#+d+Xw4&W0Qi zNVuE$Ypb3Ef8sq0`8RL&d)#nhcCkvafBhkrcYbn_y_#2+iByC2{_@=FMP(;n+udS) z`16kO7Q0}z9SiG@b?&QLQBlq>kmb03&C8IzBH;(C@~-r1a*7?~j+EE>miEZu|Dh}5 z9XHwz{F?YiuV7l>0kvoB3BSV>9d75aNWM67bH9a`$)c@#4f_{Qy=vb3Ce427pUk_P zJGJ*8{{76eYuZ`6t#@PY9eBIe?(^+Z@o+sz|5(ft5x#{Sv!={)>^Yd-eKLNrtn9&S z2kWdFTnrqAKLj>yRlaqAU!tP?kapvN;@yUYa;zZ^ez*5nYTgq)a6ZHK_J4*m_S1T% z(g$jibn>wO&7G+jU7 zb8DS_)m^_IIrES0f3R!i?+*KZ`^_z7S=#43_pj;hEVo_t*^Y6?x_@6+ZL)hknbm-G zVf#Lxu9VNJuf6QP2Sf$C9{+IQx_ng3EcKX!jNEhQPuG~_aHrPe_SGj>9p-%BuK)FJ z_kk?s7RmT}{J9@|f9jq@=4wRiuQis;Bl#YX$zs{FJ0PnqveU!%WiZ~p~5 z&6PTbQh%#Mgt>4cXLEd^cayy~3?OONyav6~p_IN|N0 zmz(v~98HDou3k;KeZbvc#$M-nvV+OKg*RBHN;~*|7kacX`0IWxGkXSxh|TsB&bjPb z-IlX|mt=SBBu-g-jnj&MXBKYW=g+VqdVOo#zOZD2qKZjDb`sgL4+{hZ_H8nd55FAO zcyO|?nCJUFDF?5w+uifENZxV3t^58Nju#x3-x1|tn%8;2dh48*zvLVpx(l-|a?Jj; z|Cr#Lbvp|u*c)@^FLCSewcoKY=jDRGa{F&Co8smZa^FsB>)X{EPEFsp^Uv(qlzHxU zJN(bx6szUj$Nj}J;_;iTgL8f>ybw7Tagb54LVIoshvW1A>fVcZjyt^OvNEwrt2uB| zsFBHUvZ2G1t@o}Rd46xdjs_-2Ce{?>H|#7@~GY^#SG7RL4x`?yKo1 zB^;|>U%q{b;pTzE2`VhhA|o8;eR%)rxtY=dS+6ANc^5D4pML!CS^Z7j_7gl4E3BV; z?>{JgU}cvCi~T&&Gv|&MZrN8;t~qI*Y?_^v+cKUz#@u$n!kb+JQhwSlS$}Th?2gWZ zsxEi?k0*y8lzLfKVe(Vi@sqffl~3!eQIZGl(xQ}Vdq?wcgn&d zZl8~+&UzajIlGh7=Q*^p{ss3hzF8x}m-+N(f7fG42P3{-)LG?{>GgC6Wmw)6VF*L1lqo1KM0?Vkxd9@%y-%&p2g)^kwifQq)x zVWoqMm2!=`@2WcLN^Vm%dc4fxO!blU#hnEQJlFaqYJdH@ziOAmNipF^`vufBc9d@} z*?;ieosbigo%i43zIQWx=Cyq(GVETmseSu`qcaUZ70KI41nOd#d1@BU$VurTjf|CQ}xj$xW5)sy-*IPj@XO*VNRe?Y&?tHEpI6Z`CM zHSa?jF6|fKXLy(KJAHrXihMpkbJP7_xs`NRCSToG9@u+8>|o12ksXs*WN&EhTXHJ4 zyi1qUZpZxpjsGNnfWvp%^A33V;OZ0_svn#0XfC{epH)PLqvIhrsrf=Y2N_-Wxo8yL zJ+R}xR=JaM)d4N7-Mv5W>KvG}SI;55Z?FBTORlNCucz6+@Vb{G*%)bm&@;Z_yP&8& zSCP{BEpt!W?JHC6)3{b)7ufsi%;d8oc5k%Tf109r&$g7E=imRCT?ZAF1)4<;20N}Y z^PgnFr{=hF=G}^0(TfhOV4LG{$f)LkQ^d=)`GSF%Vt>iR9)@WpPfLr{Zu56_m21JZx@6XQ7mp z5BHbPc(b%&+r<6SwqNS?9h~>CYke^7QFv-S~U4M*S$vvx^iny z$2c_|nEmbb;gY=~4(%)X&sMHtaJZNeaqBmb3SVOMAGU685oQD}BD;@*ZXTwg2YHx=5CbvY+`!rE7=d`yFy7r{o&hzFx`R z;E-a&%h>Wd!NH})T9kFOvcvL~=ND@mUbFwO2nR&1KcC6a| zjosHPFQnbtCvix*VE>vKKf4P@=aK{6tBZfeJ_tVWw=C@QzHkPIc=r{_TYT=>Z*#U#Yin9)e`(5^ zSIU2a?5((zHrQNZ-M{wL!_p=3kN5rgpz9cvx_n<;@$dEdS0nd1pLxK;bs^)RR@Q~= zYrkV0BTe4ueDD->+&0fz?M>~a15ERe^!z?D?Z6_FWoQ05_#Bw-XI2t>X`}tK&o3@& z9XV}p@Y}?4QO{)i9Mcb)&AYtq&s#3sDad?z->&q-)#+a^?)!XG_uaX$S^F|}m#+Dx z3+W%1y=sS-4}9TrJBxE#9h*FvbFxel4nE5JvglH>*}*4G>f*vZGaOjOul3wW*ydn- z`S#AM5~U7jPyKizsVs7!xyG;dC@0f_%#WS*Cl4RopCfF?RWF`rA6BHe%KuidJ!j5S zulZYr>{Fxy*7ff`zVG_?{wt=U zYk&2DpN+?DboZy-zI{4vrI7s+{x2>m+wa-Q$DKZV{ZpCU6ch!M>bdrZsl)MY|23W|Y63&;agV zh)qL;uXo9*^UseJIDYxyKHoL7@L*?X!BX}V^@9=H*3Y`4_s8L!Wb>Q9CR-g6j;iQd z%x*kz@Xg00IW4yXEWO#1$<3S&ytd+(&dt7QzojoIwsHET{Xu{C{r|fwZ@>3ew>zIi z#O&`}KeAGME|YzQhd58^@AQ3-K2+WGPHS{Lxw}T`ty;LF;G7%Ezt@=^{O9$+Q!V4= zfm~??!^-MC4z?m}yV8`4Y ztJ)TvQ$2Wfk^hIAS&t7Ko)o{PkbRZIw55O6EEO+wxb^d*Ty(0zfo~_?@a}rWc;Jzo z?%ER}TkRiBwv@Z$IK{s9^3>>Qt4;R*b!Y!!Hcfqhw0z&yg_lXd12;qvbeeq7(KRSWGrP=8Z2^wXrQ z1G5d@mTtT0?objpdD?Q0kNcJ8NUjvPdU3yluEMVg6Q|o(9f@sDQ}VUH;JKir;*{S0 z2Q!Q`17&X7-9O&k`eNE{yK~-u|K$2NI=0VWA~8QR{NRhinLk`+n;blLZbt21oevJ3 zuUXa7)@*R#KJtynUbx{vZsx-J-j*x&|MoVooH~=sAy+D-U+mbi{T5%Cgw0O(?YDfs zIOw`elD*gdWkDjcXZLl@47if@=F>jr#m^_76WU~VTmMEwU{Z0`RliLygrh@zt5I^Z2^noezv`fT)B5J+Ix6+ zTy2y*vTr`)r%)x17`yKr4s)A!+PJqNDD$A}fpx8x#!?6Sm)}$V9{17VU-R`f zkNXxJ2zm4C&-0Ry1Cb*0w@9|?If$Ie&%XNN&3=JrdWS`nGVMKOxSvi?EV3^TF24{O zWxe0%RfXYS%QtpLT{Y%foI8D+K4i-B){GTr+eeiGqKi_$K14jpe@4xwVZXIBlGRyt`?}h{1&H6dBo(4Na$+2!P zIwpD`t4rD3;>T%w$Ksi97PcksUp{Z;?xc5)`>P&0{boqyvyayhOFMn#%)YjE{r)%c zwRRtaInVq~Ft8KVUFKV=n0B!EZft)-Yt}&)(SxeddpR8s``IyMKY!@JcKchl)B4#5 zc-HBEaNgkKpqUoBpt5+W{r1k>6_b;X?Pp55y`+e}-=5JsZ^ePFp8J19tzLfS=4ZPt zpOp?WsBE%(|N6K&Lv;H-$N1oboa?;o7K^->S+JJnpn>qLyGPVx4z7uw#(9Ttp~DG- zuLUL7uR7FK@y@Z#P+5UcAcE{weRIx0Z zzV8Fa<)f=CJ?&U$*YCaR_}X^)R1bAt>Fk5=uKj5XJP~owRk&DbS}BL)uHd$#fBqeF z_$=~J$~ds*KxK%~2Z;_thl5&=zDPd1x4&;YlfPAmxBVuwyj3n9-u7)GGY-y67v3K@ zQ+l?$+(o-dp^E9tzqRdSt^DcrJjTe5&Gh4Tb;WJq{)O3xR(Sca{Ky~2zeNoP@7__L z-;tf_C_N#_N`JeA_%Ce{Jy11V$(mLX8 zO}G6FljVPp?DpP&agFb@rT>}j}OOI)Gt54vfS?UjW-$& zohxL6>#Cpbzq?hfcAI*qz1xBF6&zC?_V+1AX=Z6%*cWmtYsF&8GneRoBMN_dhA*xSZ+dp4Q-94zoQE z9BpRJI>32K^wIn*IfuaKE7w)ZT;0F!;Ek5|+NJj13y&Bsc%!~w=w_Xls@2VX*4)MV zR*PrYwLQQ0JK! zN9&U+b})E4^En0 zYT5U2PEYc}b?W=Ht(Ly2mS(o=liu8%G#7HdT$wu}d>!@kT5VeL9j98f=F5dx1P`q5Ss&3*RGMw99`%TBkSwdrIY9>*`bdvK?nMJ~&d`+f~}mwa{ayG*gR zYd#$EtbOYz+YSC@Ke>$S4j!wi3N9}*>?tsm_a~;+^3f)k2GUI@q z@FJ!CS&9cPe0^ECVaLP$JGiPfd{0i?-}YC^#@Wqz|2LI6LX2@Y_AOt1=$Ylc1$MRx zqFG`abM4-?{eF41MZ?bEwCPFTUFX5+SL|~OynOiE*Bu@>smakLUFJN`$wbFHE@2C} zrYRrn%7`f_d-UkQ4$bW4w3q#Bcu}u3pUN3)iHksOQO+3I=&+^qyRr1+{^RHIhg_l?z_qgb9CzHIS zMRc~rKBlLq0?)ct9JHM{TTV(L$gz9=9@&&l5{`3J-pp`MSaU!k)L8vlbmM{fd%c!f zUA8^oKl$EiakVe|)j}(h*UQY_zcBybGmXPO_6yIep3VNEY#)}s()QNwXLeqGJHIr{ zSZFtGw)jC`V?R5AyH8?W*dgavZ<~h*U*D@zIa^&j99d@6t+{>2!SV9d08523!-LI6 zjscr?Jvp#yjY+$Bbc4eM;WI{s9ElD;H(5)ZI;!ljG4Jy69vh=qPIWN6vN1r2{{sH6@gdLQzH7< z=Q)&FXu3pIZFBH%cb9x8Q0h>UU4MI~l<0w1MM$Kx|JJz4XVby`ts+0=m(R(! z=Y1m+wU#@?Ue3Ssq2oj$`w*!R7^O~a0a<=24 z3qoQgX>tdjr7-5s-TU=`#br^k`qT3c6z+feIw2|FA?wkO**9&h9i&z(7Q19WvS*mx z6+G?JzWsX&k6GRB=-PkwdBMY+W!n3{+`IDQ3zM+Dic68a{IY^G|SrmuUkLCan4l}X3ev|5A-Fjkv|gj`~dsgBQl}KW*$gMjS+ZzGQvSfx2!P5 zP|v~2=;xkQ2@mb_v@?#y?^wCt=)>2mv;NfXe2s zDf@YL-hRhD@z(Q?irYVVu+_X_7L)xStM}sHQtJ2Rt)G!t64&UsUu+HU^ub-wuW*la?!zpX3na?zIQ_BZzji2lCi zZO=PbI9O+?-hREN&A&`aZrNomPM&4Sx7#i{Z`Y|tn?^^g2laEeP7FV|xXDPMwcq5R zM4G46H=7R*Jkiy`<*geW%mZ`QvI;jGxHtFn{tqor?JGL|@5#vJa!CLEYVU21RV(aT04mUrUU)8z0%)$Fy&veP9`3KnkzEXAf6FTtksi2}h z-#`1(!0U6=y*KXv6=TE9&d|DlL4V+L^JjtfYYX$vaxMRA$95z-;dA8Eea-fz&kg10 zfYYy;FCu(*D_q;6SlE7WRolxg6}OWPuJk^6L|Vz%vGF&j_tVOi4s*V3Xl-A$_P}rE z-=@lP`40CZ|7`DHCv@Q3l<9qqTrc)N*Dq$hShLOk(c=lP6W-hBQIL}>Szt89U z#ye^m?E|)Myd=VNWMBP`dqMZ5OPb z6!y_!L+j!nwX+u-;9z@n=D2jof$8Gi416Ja4x2ChalG;L&3-*jR|ieuJo~BtGA00_yZUW~+7XOF6thN^ESwxWa2y5`@LAKlz9 z+IcQ|nMdt@jq-l(^7J%&uegI}Z^vuzSD&)2>5=ROJNL(RvuAg&vHPlB@V$Euq{;P9mA5d6ZmCCl!$6=D{G7X76)9qFJ+izQ_AKM=kuJI@5e4o8DuXDk*xt{ww zru%e#Z@Vt$7fA8k0yb^BT*D~)VQ>u)Y-Gjn6FSX_f9Nc~Ci1Z2dn1d5C z)VPJjS2{fEPn>w~!T-YFdyU5JpMm4jXaPlMj#-{1r7G-<)@3S@2 z?ReW@Z=Kt5Ss`nKsOj&Wu0n$G%TY?DR zgEDZ&flvsbU4&3FZTAyz5V=k|1Ugx=x2Yhw^Cf@vzL9s zA^#TwcEbDre%|$`;r|7@X)B(J$lhz)H>)`8u&j@<-THekeF|T12hU%K1t7xrfw;vH z-OPrA1ttm&_X<-T?LXG4UR)yKsMcd2#`*8Y0iEZwG_@Hc9NK~!7wisDI-n!TrmDL5 z;(p$V6My%(b=%wB%Bka?;JyE5m?F2`b7uRmMdp{wOtbM8VVjo#!t&Rj_y3Pfq;SyL+a?{?(sq{y*7!exK@}H$N<%&$Zjn z(&QD^l)i7_3BTsEAH?m{8+%Z4?PmQ@7GgJp~)@0b{dE0c}1-L0q$RH``rjHANu>wJXxQY zbkOkg-bLOXnU3n;tpD?<{cxBPmGE-2!Oa7)e)4x%&LkW#Tk-zF?`2vCHXK{ElUr#2 z{u$Z-@8k+4**|{w>gdmCE_>AiM(K)~-|Xx%o~&g1GR;nB$(=yUN6B{FvxGaUPO;d1 z(e?WOi1m?ez*(Lkp+`LjLroHY80RY<)G-xk+j3vk(ciMGFl*5=2dfKzo-6bg9MJAw zacAG`@B7!Nefbu)y-*i${u||LhfW47q5| z^{#G%gOJ3jCi{o+2RsUIL|$inY~O#d)bLu@rTzJAyX0;!%GiHcY4YVY{-*n%xBS2E zHsk8Phw1SX#7?#BO`|S4} z-k>BCFx~$5<=#2|4j%?U$?j zei}G@+B>WFklnjgT?f1PuRs3#I@qyRS#{kM9yQ0`JchsKpIUU_&$QK2t%)@UCa3Ro z?Kd($uw!;yVyo+i{W<&>AAf#1Xa6Zz(JWtaul+L@x=gM&zG{~en8)~9a+h87HV?l` z#SL~HTE#gJOKt5!Sh*aV76{r2?eow(XU+BbgG$SW|{7>baqL{CwrgToxD58 zAt|uIdHTJK18&OwdT&}34_vw^^w9dm!~N%{<=wt`XX5@+<@s}8`8x0a$zYyP%Xed6 zs60<#nfgLIC*#G&UcYkf1UAeN;=QPEm(g*o%!~6hIDEeaA;Q;JzCmdJtR}}@tWlwR z_9r?fG?h1fSgd?-j_CP4tj`}EcqP43kJF~<0H-X=r1NfK4!1L9CndjOaG2(*5b1Ao z*#6_1s{BJjb@tPC3h4Y+*0rB-@}KI39ozTyBpJsa2w1g`^R-6M)b)k?9_)Ct(jwJx zAHz5I86ND-2mhS=D4kJ~;>fD^pb)!83y59~Ppy2sDx%l>P7>sGB}oW1`|f2DGQMLPT-oo z$CY&khgurwb*1lg81V3-h@3DI*w<53MXO>;+ zb1kuxs@Vs1+J!go{g>@{(CvECjVVHo^0o7(UaWh1!0=Q1t>T4C4lF$%QF{A$@BxNh zd?jXDj1ChzSIc%^zh{4t_fzc5H4E+arB2=4dL+pH#pby-(lzY+mF^~LyT5+CPrrSc z#Hk(2_i629>-*0bx$mOM!G~H$GY($YyYaeOCymRHgO+Lw$ zY__?M`{$naYL?D+s*1t^dpyHE1=bVpzJ+NkB^eKVvB_ucZD z2i!S|wr*06bVzFdkaW{u&*7GE?~X^h5A993`R;A9TeUyB$@M+AO5OfU>uX&xaW5H%i)TZhl|WKb^^5TJ7?bnH`<`zRubdUmw=! z__BRkQ{1^Q$8C8JUgjS(JIEI%RX6L$ivwSZm*~#jvB%-x`>p9&TPqx@9G@$3aJU>e zzjwi9MFpM%A8vHNbr(BtujkGE_QJ;n_IhQ@+xEnT?>{qfio?#kCi@jH6iZnhxNY~A z>%m*DPbckm1+>k7yRE>n#>q$Vc}}pSNr|z@$5*Nc`y=A!Tr_`tph!!ha%aG6ncVe!FFUj(N7uP;1U<0TmQxLwt; z=(&{Z+OqEsQ+aFB42^dlsJVA{tzdQLf#n*}xLWuFI5ry00ahNpn}_r+qt^Tz0SJOCXx4rqgz2r@Ycf1Lw+_o)qXb9lmUcWj2 zfXeJ8Tc*|u92j%`Z@*Gw& zc1#tn_ZL~P+#&aoWdG~twFkBYp>F6xtU`on@LmyU_mQ!GwlMeAfFf{$;#eB>&bFAd%ydeHcb`W)x5M-E|2^8d|>Xg|=}*R)~p zzkmZpS2VYL6j5~89kj(kBsGcKikA^t+u?Yj$=mh3p1w7*vU zozjO0$Ni`4eOwHW^4e#nOgY$Ee`cS+gnR2t@73CMT$sL6f=%6S_1eRqlfR@LOgs2% zonU>|!8to>Qnb~%9G86G{7UM~LkEukC11XF&pwdeYM(c6qmRQPF`G>@XB609<5d(2 zczJYxUU^^Qjj4V1mC7B?(XF2QYv+HyQe^YR?y|1_ye5H-cC&0#YZKSE?ThZN`B2m3 zWw%36cfq_bVh2?d&T(v3k2$E2sI+?F%nc4PEywS&?YZi3-`M{sFDU|HIDaOUP|pFS*2 zImnkb+2GyilU;dQqn}dT=*!_P8TR-hz7rQI?-mwYx zVtOJra-Y5JFFsvba!*ojKjT`RuV*LUv)j_N`C?%7^nHgjzh)g@>t(kj{lWW-ZV&dd zPI%YbU73Bb(%V77e^10gmh%3lmgyXhK^*VCu|GcMAo`H!)=kx#13NZ-`|Dk3=+M7^ zuTIh9d;1&hPM%q$8fdQ;aHHn&Y%lv|T#2tDgoXEiPIhs3d~m_;ZuaAxH3!@F-J5kP zP;;%3T~$P>&)Suc{>7X4T6p?BW5Ii-J+|TCljdW(&K0SSO1AD_-6lymid_(sDE)Ke zz>G$Z{%@DU9r|9|==_dVIw0PnP-WD8asOBIuX;TE-S!jy{<|rb?7e?~|Flz^&obLb zOqXs`5#F-Ta#iB`o2+Se>jT6jRVJ=f5Ya|q~ublHgO z>i#3*daG~#DY0KF{Pw$#s>c4Gno;>14&2zc$5uIY-LL6(%*=rmbIM}(oqqYX{vAUZNh;ad&QRBTBCJfBggZTH<|YDf9=-s;EG(5eQTJ+Nukf&_V2cB+p%N$H@g^) ziwl?%rrWJGNnfP=CE3omJw;>ET2{N=B4HUz?tQk^nO6Fq`9sga=Jt>4zaLaM_+9*| z!oCNpj{GXs%uY?q9IOILR3G;h9GER*$-27a$9`qmbp5XikM@6gaAukA+|vCytK3!6 zmpkw0RVifH!FGKglhWp`{y%&7aZZ@rwpL+z7qE7~=ROk0Esjx0++| zz78&Tro{)CcZEF2tgJcUqG8_q)yw$6;p6kqn+1K?Uv_kZg#*jn{g>PF4m1mT?f+A6 zDCuu=&2I5Dul+A8ciAQHj^JB6tHJJ9soKkXoK|+n?lQAKbNsgVClk9xuS?y*<>AL( zO`B%s=+UhM;|jy6xq55oIGq0PuO9g&;{f06b5ADCS3Kav=5+Ge^@sas+pE2@ z{V;L=>zvtUmqMKP`~T_WV%~XuAB*ql4QDDB+I=#$oZcIjXO}x?XY8EIdUoIA72bUi z-VaW{Yf`J>>6bOsPlaJ=lcSK{o}VGx5*>GcJz)NGqw+zQTTDsQUq3o$?!2cT-@YlRvmTNe&4jZBg>5I>@DLS`}xY~+P^TmyyL~co%?ty zm(2~|y=tF9k*Pr!d(l35JCSXPmYVxC0t!rLay1`JR$e~ob8U*_&Vr9ujNFtRe|2jb zowhu4;AZ;ekFM&I4)pRqdF?pG`@o%!O|lGb|M#;PJeqaFeaik%KmLAtdLz?**QOr@ zW^YXG%Y~i9J_LTX6Q6(Hq)d8^-S7QtX55IvRP32A?9z&seQx*k%j+E$Cl=bhzjQNaXRV)|^rL5u2bM$5 zuYR+q3Ld`CM1_8Pdv`c)skS&dCDg(3bHdY4Wvzw>KPI0qS-9!Rfp5zaHK(vNIxI6- zcV?Y)qC@Nh75mON$__^V#Eo75UA5oE6q3=Q-LyYoit2v8*-86F`*IZ&Ppa+rYSuc` z`TFKQ!>a;w#IN?+)u;8jechC87yoHtXS_=G!JY4T5BV|YI4YmNz4ca!kmJO%^t+*x zpB~7)9DMS?+9d~=CxqKv-W7bHB7fe&?rDq;veP!pgvi~uf79rkKJDN_d!rAM@r#xP z*+1hD3{i^Y*w6p*64!B~C;KEr-W|xjzkHv2@u^PLNfG(*jL;79PsZlytZ24kUgK=zjqtgow2WR z>g9`nIoaMNOuP2+5^wwJeXZ|(a_;O~uRYh`%HvD>ZVI)?U*(&vYx$)$6u7u&p_Navejd z!&ae)1`ToX14WOm8x4z?4%{|)eYv>z;QmvrzpdUT6xvtaf3kgLL5RJg%2|mJXCeD_ z)1uCXO**~rkC)AgGWJ#bmWG8KajCZj zrJXPJ<{db-=Ea{}rUHk|zmd0GW2_yXXE!(*6g{*zoFwqz(u4i`E1xj8ZCTm1|J^FL zUz@@;_HVtp|K)?-!uJ2y9Avkxovc=p2PA6;VHX+Jg{f~FXv)$ zY}Nin#{QQoJnQx=-21#PZ;;PzQgb|pOh z-n0F)c2;tMW4CKf_14P5gDVZ|-=#lSJD6+qZ)bhZ9|xAd0U_R-wm6t7XM7j^(|ADn z>o4yAi(Le&7l2j+Y7 zZhUoZkAv?D9@}}96%O+1M?Mr;xEv^3{G;vUL+%5i5etqkUvu8R@Hg9jnJWwIKYl!T ze5PZ>ej&ljAGRMi*)J_$8|)Bv&u(p=jj-9flXfP>oJUS=DR2~J$vPJu9_-lOwf2qB zPt}9LtHM5Rk$rq%riopyN6RV)W4kK3M`sHhG#OgG-^myr5I_2sQ*$Nbfj0;KW@_ea zw=ex;8GJ%)ioGdw)>^-1R{LFYL$>UgqrSgq!aG^crJZ)q#r@k~XhQnOYYtVw!?)J) z(t~6BiVud~3R}`&Rd|p^=D+=%RjQ74a-FKDW4}90l~6tQ-f8E7vv+s>Q+t(*YRwYd9YZcW7I3%HwBNv4|Xc2TEu-9-fXu-ala zm?M8c+3lvo(`D1#B>I;*{MNt!zvw{zfvGpz@-5d19C&)=&Y9CE|Jn zmhPCQqM{r-Z!U;Yt=_IxRh$#b4r?O(|j zw)=MXTf6L=T!y|IH`?7R3E2}>)v+(nTaMvebf#lXpRDV5`|yM8ZazDt=ZYTed*S)K zGT@QJH0{F=PByh4n6F#IcJXw;fwL~h%VPd1IP}}=e^X+(wZCxp|4xIpf{S)P8}p=QYOc1+y=@}=SOd~O)+sE9r{93B(Z5$Y_Z+-v zUnlzgugJlq81r&_Lj%XoziB^yx!gK1d5Xr(C8`Ee1G@9x0r)M;l77v<+YSh&T(YU=wO$8}d7 zY>WCNKQ8M&P#(E1+^x^dp~1o^e(uzV_B)dAE8D-{v;WNWuMZM;G}!++zK8F`JoEkg zHRtx4>0Y)AJffYGn!VQU`-=s_{9mf})%}(2+r1moKh8N(1`ppvz9~;v^L8F&nmspf z^{Yt78{v1d(zPS-@;qn+Aka& zOdM=deCs~#7m*U5tM+Ju{RzgPrgu5s_RlBlZ{KoOc7OQ68+W#Z-m_B*UG_26Wct1z zE7n`w%5$@Ob@gCkwd2#h0s1N9P)GcLU4d-?0e0iy-oUDua{JM0t4ockzC=|D2)^~tA-FYa$imOVKCMwk7p zJvw$<%)Ix1nZxh2cMG$cz}$$s_4 zt*EE_XZJ>1{yfrQ@8R*HC2Ntx{v$gl*6L0_x6d%H%A@Vk9J`gbMr0?@)@mqCo zrkvfPAFI>e27KJx(J%brrDws2Uiu_pr#zTR`{{^jdJjte)I+%?kO<*>w~;`X;Q znFp#jeYZQnBj+%o`Ju{phO7GxS8g}#eo|sDnr`Ej=Af}ZqpQ6`r}f6ZB>vw27Tc%W zS!896b`Bg6D_cl$FBM@6phzlYGAt4^|$CH^1eb={PTK zX6361-yP{LG|+7^M@a*Iu`RREWMVv%wff0cY`An3JzF43sm*<`MLj5>*WP= zR3Gg(IyQHr>+90}$28;_53Y6Ie@8Fhcfa=aeM}pp*cSch-N&aiBaTg4#ctp6@Qi=m zk8KOwI_@eg`m#4uHlcmJY~8_UH@-J&xmg~Z@>*ms{}D0AWR~_1iTN8GLQK303~t9C z$PN$r`Oxj5{S@u>2K`en?H4m}j<@s8-2Zw`e9WhG)BR^W&Hq=Qxw>!ii}2#;e=Yki z^exn8KBKme*Xyy1NCktPNXW%6U7{bs;j4451RlPtKWv#GAynY_=D>5sM(+&A6<-2` zXC2@<_~p#ZR*CMr2WH0}|2!wF>cEMVTz1P7ItLyvF;0wSJzy_oo_1>K_UZP$cNc~Q zIz-vuoXyXCd9tYerqVi>lPag|*e@(|Iry@|&d;QB&CH|hc1&|uO82P0-z#6-(miK) z*TJ=Ka~#%)hd6!-SLV3FrRF&Q`|JflR*Mfvb}hZ?JF(_KUJZY;X|nNw$!|1skH>x3 zzi0th6|>yj{WHrs%SE`o_Gdho+!gF}-A>JV+2WVici9=AI^eqXRD&H?WZFw#MN2!& zj+iw@&zS7^99t)9`_>(t{%tvz^a(S^sYfn&3vx+11{-%uiq_0=kWWi<*Wt=MuaKDJ~srGp0N&CIpjMoH2JMXW3&9UcX;`M!z^YYp}&n&b%G5y5y z$y@U5s+S$&Kexibu0A1irtZPF;PN3y6%oEiGbV`r-O%KC@uV2*i#3UkyTvLzzU@~& zI3bBoSmeW_10C+t4_Qr{4m>&*abD-HxWmacTK1dt86AX$B}HQ^4%^GlnjmsJxX#{= zTkYK(VO{%`mnNhfcHFa1>rT$r&l;=uN$H>LOg&Vz@6nRO3hf34`?8oW9+=15e6TCw z+K#&R6h}_UP}46C%8nd9Q&rZ+o;h&r-R$5{i%ADk1*F5WR(l^1lRW*T*YE%SLtmsA zJReNnzsDgXo!>gk{{Pk20y2tb_9pSE`m7aS?cV#vtq9X!V>iYB#n+dseC=9}zO?>- zKx*Gfw--U#eia8r4@>_-?wi&K^MrN0InlN}|1n2Ol`t zUJhFK#Oz#Dj&LaE;a3cy4~%P z|K+6po6p|6eC)N_{*5zE&Z*jabDy(#myw4~zn!R>Yt=H19J}*9?#|~Gvk&fk!pMA^ zJ;$+2r&RrVh>)Yh&uF9F%by;wm6yGBW#^Iu(+++!%v~FN!2C}7--}F44%e%~9)$i>mS2|z++d$#zvT3k&+lh>+t+XMw7t3d{=R%utw=+Y%llqL zv^jMZQ=q zTcK5CzdhpH*}R1z_MDmp>a~(W_6eRD>s9Wa+1H}<^vP_uRr?a>d1lPB$#r~}*dpY` zlkGSosXQZ0UH;&|cXv7dT>g6Cq1lp|>G$Uzn6x8CaF$ zJYu?J=g~P!N8o?89VmQtv=QNZYx(DiIi3ZM2`~9}$ki7fG-XgPTeny3pxYs?f;kO; z9M11amo{kI;^4S9%w@53(*eebI~h63To0^Wwr8EW0JlSQ?M&}aZ*SO7XfH8ncsphP zvR5-3ZH@Bw&s480?tCv}-@vnQ&(#hl`)dJ?Rnu2Y+voA9QbO9j(NUJGpDDgH%#me} z>E!8`%?{phh*+2BYTiz(4qD88V9N5B zY#-z=*snkDo%Uzz0{g8z2agLWMDCB}(JEWA!DRngKGVOK3m@2BS}$(V{_3RNh6

#A7ilql%R0sW)PwHVObc!H?>{2uvT~OC{wcp+P0Mav zXr~t&`n=Z-(m&2=Duk!s{+p-LkK8Cec;stekXC8o!JfyKPJhm*I_}%fuB71l-NA`D zWs+ae&I9oQiwg9UGY)k1^=}iH>+Z06W&UJ6gU|ct=D&DU&3tkH%qi2|*NM-tum9_5 zuJ_yB{_&n&joey#`;RMd9eI~?&rYCfasH3&op$$cuNT?O-01j0N^?OdSH!`Ie2Raj zWSboP>=@rQE%$?izn)O&dA4e6sJV zbyG&bp?To+yXIyAJbY#J>MkB@Z9gb^W5)-+o$VrQt#bny<2bgb1S{fTV7aZ zZ~L`XDpah{K7oIg!tZ@n`yI??x_W(iYxjRg;MBFk8|_x#G5rv$+p(|k$HMCu^)elQ zg)p6-;uU`I`AN(DvQ44~UxuF5JmB@nA?cy}!jv`b2TrUjI*Qi ze5wjk{u&^{_s}DYxtHvF4s!3A+mrlV=-|TFPfup(7&x+Bsy2}Iy>;Ny`OD!`EgB94 z9aMd;o*L|MgJbUt#x&6bD{eDacV0PdKVioO?x{bL_pgpw$zXQOVSnIsv6ri~cd9agBjS!HL;KEO8d!TX|(J`ORp-5cz$EZG0mfIp$W;OPF$iD^4rRr>5Nr=MYC z3ijOpYwy%k@27vUd$^{&W+&?gyRgrOIV;)P_N}e%ZejlAX%~I0;7a}>#e=ezN>k$0 zV-D6VN{Px`yu)GN{KuE)FSzOuoh9cXF|+%CZCpfK{%kXcV8@@Uiwz&z7xX!Ph*-O4 z|938M{pZdQ{od+jOig0?#5armdGl|9Jud3q*=Qi_(h}#D&j(WZev`BHtkSOQP zRF`ycymKw*(Yi1Dm(+eWxpHQc{l}NPKl?w+-v4iB!1@2DWbAtdYfJt1Y~9E0WV>i* zQOmxjXI4R1j|bWbPdkz(kSMWl)w9O?UY8pW7C0*HvzV50Fk$*u&W?5Rj#Up%WHU2g zaPSPhem%jo^T4HV=a1&xa&X9XK6aa}{L}v0m!Fl_{heU1Yf@hy_QK2lp?J)u_f4|< zzd3t|FBQ3G*L0KR)ffKh`)WSA6=T}#CL_%R2rr$!4m{i;5&D`8!vRg|HF|8|qGnEUtk>u=I?UYiwS&(L~$ zSLG*9`w0JM@@xl$_N(cgJiTY(1-riB``2yS+xBIK_)GqK}V%hgry|FJB z9=z@Iql~1-XGt({Ibn#W_zcQz^9+@Z{Fwc&$;67^HjV2 z4U;`z|Kqe1ovFt$SwnZFkay1-8=RD?p=KplR1Sj_~rzIWs5njdL3zj?Vw|IZC-&Nq;z9q-r zF3(MzW4FRsrc2~O+P;le9S!$YHS9tJ58C;>x@Nm&3ulmTY{kJqt{;7T2LcW%ZN2bw z!5tyT7e-YNVik5dgnam>y=qtH0huR{w@1H~b@;VNUG>ZNEBo)BYdF05Oo_cn6Gyvd zw8nnNxy|1vdfeFOeL>*a_r&RTwufgv+3_Z3pH6eQf7T;myP0P-3?*}4g2Oi=HwPZR zFDKrY`>-|f;4J~Uya~RUj+ZA-*c9pZ-9a(YMCp;)%>zEaa^lYDB_4RE^r4!0yVij@ zPu3b)-ru)>LgB*s-^`NiCFJto{bAv^Kl=QOS>uUscDkasnfXFz*xl$o^lAn}ie1|7 z=jT})pV{{GZHo*)bjh|NEm!X;SMNdVrF)I!&dVK?`c|F1^^vM$(EE*_OdOUu%;Aa; zzBQ@fz%H#l=iVv&+MlNqb4x?((fn)V`dqw{`qu60&iPS^LnQB5{Z zGV9wHkv!=|U7fPso4T%!7e*p>5qEebJ>Fg2yUY2T{cG*IgHtET)%!?V9(>n&K!NSJ zn4^duzpqpJ1_xJB(W3C1@drx6uY_#Nd|=PJ*(G<;tV{dV*Zxi^o}0P9Wtn5$#v;@G z5nU{gZ#=)cFUK#PeJ^9{zHYZ!d0*zJ?UM+1-XL(|j%~sj17Efj$o$(4>1=rTCJVO| zWEvMZp7wXNu=L1qyqtc5UH%Qv!J27R>!T*#Js?&Ud+&W!)qzJxz7#D!pmSihzy8*L zVF&C#O#2=d|7yCulg)<7XY!)#k6#n;E!-$-|2X>ijY}@4?4E>KAC>r8VaK-A`2%~z zE8D}@b}3!l_Gj1TZVN&Q`$^|2w`YnacYohZH5RY^KE50sC!KHDovAEa``u)> zozwZLeDPl!><*_cU)0}aZTIQDa!sg*key7zqQ1t^x`S>X`Gu{1nmL+W4ZCH{E$LXY z?9=u89&;SxHE*BMRmeQxwTplDv&)JHHa+>cNa)+c{k5%<4;)1&?SHb7%WPGG^Zo^M zbCQBsuJ79wur$j=c9C6L%tW_&eED{J{5LW!PB*Y)Q#KV>{`VA;eotk>!&m*pmGw>g znjB}JZeL!zIMI<|PonJJv&sk0-h9$w^ySe3aa)(?P6kZ}P8|Q}wQ;$GgMW3gwQ&HW zL!!2t=kY0r?R_t;yWUnFDp!(uy3FAr?5`r$*cG6w^RBTlToxU ztIKug`MbLNw0<-f`3p23oYwTs`1*ttM}f7E7Is@JJNAV<$_i~fb3jn~9>Y10Ne7;6 zm(fr>=zYLUefdL^(Es~`G_7XKS4`fYdELxx#;h#++v27XyMxW_U)7zzac%ZjyOqlY zuT?v)u@ib-aG9OQ*G|GbKVaHtk$uNDcPv>HP;v0k;OwoY4GbY)_6Kps2^24#wcn@QfIDTXzkT`3rB@=a ztJoK_a<7?wu^8;dygdsaR<5IpAt=fZW34oBB_Yqr)VI;>>+Z+Kcj#i32b z!T0s`tM*;SX&V-lH1Fs5Xtzp$GkL$q>9;ofxYhU1`0F6HsQ2bR9Tv-P-#jMRv9sJh z##ozU7hO}?6(^T{(A0IoGfkcx$HM(PO+J|jIcoWao7e4rdO%RN&6@M*k^@_}{$Jrc zKlni9yC&I)93}_zJX`&e<@fE^PUkj1|6-xN($XWF)6;|OA9!Al5ue6r;01Bs=(6NdZg!h*8W3;!naVBDfW}^$ydMb^R}-x zy8Qc8&cl7%ICF~K8ZYlN6;qf~)I59NrR<-o4W}Xf;|TS1c=+0#T5@u$Z>!@Gy_aoQ z=O-N0j1F*@Pc%FD!S6~fv-~QD|1+X~lt0+!z}WGeUFThi1IzZTqA*9wgq)=*2lsDP`yAl*w#Z)XcBcG_b0PL$&ve`hdnagbuyg60IN5Xiw8W;ZQSDl_ zZ^yPDv$}0_9R-_Qt(UQ6J9Z!Q>UfqafADWr6Z`U8Uk|KJUOfHlgt-U8_4glk4=iwC z{BH9npxoMFfw&nSOBN{M8h-gZFe^$Ss)s$Ki%m9J@vI7Kc-Hf1|xDn+`lNQRDyQ;d;Qh@0|;O4!6U{ z;LDz~58SY4w~1JIx?<}7We0c1pW@2fe=FckxpI%3y;fi7v&cFodj(dn<1fQ!?+e;< zPwJ9=qvK{jHtC<9VUEtKAEv0>F*~>_sLIGK;KhL#>RkVu1@=00&)Va_$Wr0(U>VnM zpD8W};&;5hS>ilBof4ckm{5A@+&%JLqp*?NQo@YDkzPYz= zobj>2aXOzAgQj7`L3aDa3ZLRl4le&WSM*rT2Z!%dw~IMmTJPZh=2HB9{)PjY4vYoG zZ43@x{-?{g zxX;M=o%+^Uo9)`9`F&o>lsLLhH}z=VXLhjpnzqwaE{%h-J1eeVnRC;@)?wzmzfQ{> zxE3`j-n^cFfYU5n+TM}xfVJ{#f8LhA_U;dsoY32}X@B79ciOubHShmqvtn_OM3DXO zNCmGauV34J=$&|9WYLp-IjgU&{yk+rB>fsC!^4+Z;K8F`9qk9d7l<;~^d}u$m=rd( zLdDqeX>prxm)#+D%iimXZ`W7r=|8!c*}5M#bgHif{U|fth;)6pQz)nuZw$9?2K5W&*tvW zaa4_(dO^P^^Pu)l?%j;0k_Stba*f)|K0276Pqh|5v*3X4npB6LT|ozKu{<~Y(5LIb zJU71i<&`)4WnRmq2CuKMXWKJz>+|ac_79FeYH*ujwcl?epMF}Q%K;b(t z)&H3R2R6>L?LKx%!C_JFVwc+zxAtE<@#g1e^YZvsKT*UZ$r@Z~qiH=;pj<%29O# z$MgSKQ!_$u9mrDmsL11LI51&by%Ljqu*03>e|i<3EdD?FjrZn;*Uo^7O}U08Wb{0EJUgRcr0 zSBI2l9rSYH{my!X%Te568q1T#4;^xA{1+bypM796*Q#|@8+{zAQthU{TD@|Az^&i& znJkX(f3z+C#N|+j@9e_yyW|~h=Q{1#|Mt9tko>;Ga}+xdIC7m?*L&8%A*|zdw@1OJ{g+v}E-Hvm zv^TNkec6@mWpCiu9K6CtcE8HGd8b=$-nCPTIdcBU+iCm09w~ZNY2#(bc-Ek!S?#wi z!w!*JN!FZ$jT3|>E3Aq*c;r97ug)nBM>&tMf|EOsIrwaRqfq*+`T!Hlw&o6hLkEr3 zKi?m{dvE`Od0h;XKZn{o6z5w-FZQ&be?wuL%1ojCe|f4@N?I@2tyz6md3k=@zW2Us zc3pd7Xg7yPVCPG*Tj2KZhMG8d_-3>>JSjJ5I4Iw8iP5M#)lqndZXrjsgk!*)A0A#m zZXD2<-F8^OFWkX3YVR6@7Nr9wtPiua-7fC`y6E5o_ku3_xeU*@v_16NKlRqNwEr#4 z_8zKFc`bKt-Y360Au{HBs@+32Nwc6Zp?$k^cNOc_ezz5zx+eO}kIsV*t2W>I@;23$()b7SY$4*Q=s zr!bsZ<*+|?`uq!T8qV&^{v@c&`E0h`N2iicmsh3jTW%#4rlKTom;Smin}5=A+a;G| zb%F{i4z}`?Z@sxK;NXW(if`H<3OO3OE^t{PyvreO+0$;Rm6-=#td2dva6#7Ld-t!W zGv8m?zsbq|u*tR(`+$#$HfKvU_Q&y8`#co7v2T8M=A9)x)9p?j_;%N7SMvr{8elG1?-dCkE}Ak{LRiJ z`p)8A}`Wxl`=CN_Wf+ILcr*e|^j*-H@xcEDUVB7KryAl(KcuwJ(=Fc;bpg z*6GKpj>m-#2Vaz1<{+_ofx?q11qYr>yF_Px{I#FK@tyQNy+`}!&ffWrzo~4$=@uWyL$vAPKh~QYCrx>Gk$}EC7;~tSJ&bXT%F#!Azb&qz4GpPX`u@) z?bm&DOtJH0=KlR#Ox;uJP4`z+s5}<`cXeM}NSjifWa~c5pM^)8JJj|WsB-;bJH}{t zR?DaHg*asXZG%}PJbcetnbkcDFK}dGe`Nd9CBw18RA0PVocG{LwS>am)9)VGY&?g{ zs;BAzFPr+dh}}8|HunktJFwz_z0j+ojg7K1>`!@AfBZQ&%D(l}y!BHqiP|@Qlk})a zJ!QA=e#oB9pDOJ7J=|PecX8OQ3*5UXY4`WNT8?{@ww~%b*f`sQ_oq{cBkR)aId3@B z92sUZL}#p7d|;smuSU*+ngfTT%MUe8GCuH)>$st8`G@@{IqD1y{parQS)-6~^N;8L zrmi&Aok2J4%AazG=5_40E6DaQXAy6-d*$Y`pk|Gg-IXc2PPSox_DcLzHgAosJGf7C zc}KFAx#PXaa;;7tNyjIqf=_OX&2cCQTlI9ZY36|wGW$3GeXDq2PW-~|b*zu}cU`u% zG18c{KkMPU=Thm;`#9!WB0GtP%Xpq9=i6C+WQ-`2)v;Td?zb@@ z>o}x*m>dQVUx~Rqev8gFIsTo*GedG#qT?2p;_Ml>l@A79yBRX&$D;%7%ikDH(rG%- zDC_y{b%CVAl`hTTg@ud`>(*)BpRwt%y_JvD(MuES?0uznU4Hdn$KF-@>*ICV2lkzK zaB55K|JD0CxnoKuYZdQ1A%9C~<6DD$-pm)4)Cx5p^bWGy?K3OIk&jJ$Mu3^JW6H0Y zzxbD)Iq>A)jx&oRCmmRwCQ+$y!~1|AThaPQvH$na*mw0gzu@Hk#!5QxEB|EK7rEZi zTHRr0zi*#RPt>8Wb}D;kFPads#xA1Jc(qlmx81kQeY|-VO8YkTEmmv{syMi}z|(v| zOps&Fd6z9$mPk0-%m`keO$a zwf{q2p2}m@0DH^k&?lz_RPA#odU}6e{oL+$u=l5XT#M{hAJW)9wa?Gaxb$H6sr_Fd z<->4ECW%_hGtEICl<6#4zl#NY$7J}#?Hy}{(5 zze4hH_>VVS`#&mos+h1m-KV1SQsYm^ihVP4-<+NKH+)}~gqX13+KhvjuefDi)s1zG zc4(V_{hNT}nprYCUb9?2kmpyRZK*T;z`JdIYu}mr9N4(I|Bp`cY5QwI{QcjipS8bw zQKa;!(-iyCqV~&ETDC2h%(o^Stho`AT9ROPaGmvyYm=X^anSku(d+TgZ4P2PXR$Ir zEpa%d_*dcxx72|-@08?%uQ46i6m>rE8zBfK3 zXwR9l@#L!f^ZPt{C;Z=VW!1hpcW#{!cFc9W$KRbM_&3Y3zB}*1^ri9#PoIcMJN5AE zfsQf`jRwcL2X5qi&WNilaJV_~%Bk>HYlq;i3^V7yyKn!&qwVvRxd-+)g)Tkne7yq7(h$}6JJS)Ndi-b^L zc=$fjZ?d~CU*IUMXUaXNv+$t9vS&Zzvegb|-Uzyowfv7m%KeX)`ubZOUcBnM8WPcT zK*YV)b(NIsfopw9b9K*fJ3L-{j#p^X4SV6U*82He)AsLI^w|~hD0hF^xrVJvWfkn7 zER!x4={8u*2vAa#$@Xr&ogY8fL`TZAvaX@Xx ztg=12dmXm2YTZdYQSQ*W<7(KmLoNr5XK{ATQsX`lo*bbwW9@-I%k62c-MiYELCG9?;@*f23Tv z(|$sZ=gm0}C)*phs6Ah3h5><(~nfh zd0@Bm{G^|vF+1%1nQCsoz2D#{{=iMABO>BpOz}02|G_2)Bde8eRQG&vXy5r?I-_O1 z!~e`1i}&(191vl=Bs9f^*(#G%m1X}uizjuAyC$VSI=lhR0+x6D0Ap7i@KW6;Vd|@|Ran&2Xq9^+%NU*7<8!dpO-;+-8@SQ*ZXy1aa z_Jb_5pG~T-Njk_I>v;Z`im_v4*LxMG;sp-BoV4P6-mWV!hdRy&Fu z@Ly_Mm=f`9f5+J<3!$@H?G5jRGtLMu*#FFN61#A^RI2OIJ|F@ z!KW4e3sdcOdB<(~9+%^|?nWxNeMRQM_OzHVUna?eTLNOOGW0$=EM2CumgUBR15sbB zC;24@9SF|Pw3m<5b#UB!(o^=roBbRoiZ~s28pEA194tXZ?u3erD5z-A2(-`{UaW&auV99**F zPIt*G-h^f(2W_z#w#OJ>EYLqpqjUQzT2?dfKhpec_htHT8pLj(Pm=)nX2=ZD+OY^Eluz;peGB-nOd_ zRFcmW&ai@&akHG zo9wf8hK7G#k-dKdo5c=>O)~Zq8?TGRPT00D%A&nJU`_Kr?yD|~KK${wn-SD>p;}UI z-`~VmLA(Er2P^r*UUjvl94uE2V{knt@3_jLTl(^q^A1e6y7RB`bROtxf6T>mz`;Q_ zfvwgv^V9x@*tk`VMicEh3Z?o>UwGPYHf#7K_gQ9t$tfAHt#j_$6)igb)a2~6eak}g zIX)_Q+S#0(;P~_VE!&Bz?IJG?a}KV|FOPe$IO1UB47qQ=ZgDu8-f~-!`??r91iDV2=5XiUewWlBb&E;i_7kVo-c1ScwC@tOzcHskXur+I^&z zEFQYeYyYh9kb8W&%=UH)8*Kh9+`R98qxg&B8>x0W3BTNaygOhklB>HbLFCTfZ#@15 zPdU2|I&LrPxOFq^;8Nq_)fqf0j+5Wk&a@BP>u|Byu|)4m*#VBoCs+9mG#u7AX{)cc ze!AbDb7|p+ln(nVK~3g)>mByDI`(C~`g~@e_)lpr?Vj0oGp;>dc%d+DpFzFmPx)MS zyEWGwvW;eZwtfHQqvgS-ii6Tu*!QKa4LBItR(K-#nUG`Tzm{(w*>*WBdH2Dtd0OUy z+p33Rq&CVr81K|cyzuPGeu*;qTSw-V*dJ`UTDfAP#{OqLaw})uyuL5R_L%9!W7F)E ze+LWfUL3P;scVkkrW?|B^EOD;yuVimZvQfr3ORz-p)p8^I)*BkHAqS&9t`LGJLPRa zrX%C`^tY!resk#A!`mrlee;0ysmXh_@)HkC%;fs%b6D%Z%^ijdzaHGTe@WAYt81c? z?0=qE&hbY|(B4n>?ClAUzS*%q{K~OVXr`TC;>5fLwG_Lke_=-+{Q7U3$n{@X&T+-w z+~e|Zi{Jmd6 z{n4yL#*g;v?(SAFyHK|O(fx+%TL+x?ubp4X7{b} z+{Txk_xG}1J-XFs|Es+$Lc3Jh-Rlm1YuD-4-fwa6k8(wm_*pT>M>{NPV#7B$+&`K1 zM*K?r0nU2|yWSMvwRclm{`$w#OZzp?Eq~YJmbG7QdFGL)-KP7yJ7h9+C9mz1T66NL zt61y4O-wc!Z8@s@mR#8V=!; zbppA66r6bv>NA`4IL*6zV9NBc8l!nt2U@npG1P9=IdH#erPY<+2ka+FWX{kInqj}8 ztvb5Zuks+Z=Je-^d>8_~3+v*VPVm%-_XWlWWJGjA!(zkZI%?zW!g_V|~d_x=)E zp2u>r>tIuh+KvAaA&%Frciv~@P;)E@dd<`SWbuLic*Du%H);-q*_a#tUuAs2RN)!_ z!{!hBPh`5QS!B-Le;~+gxxqKj{iX&nc}z*S?5^CkRcL;++b*X1jiS6$qg~$BhX2VI zZ0uZ4v%V^4I=J@$-{racQ|b;bUiapsU5vToW3}J47kMQe@9NanuYNk);dr=DWRG{| zfoYFTKOW*xI*_U(xxP~L(f;c_C6oHCC++94jykli-$4^L}*%oPHg)TEfFu)t-SX{a%w}yjs(S2@?_>KcDhy zp7v7t;A%@wL(#vF4p{4V=$_MPI$&Sft+2{o$|0?w*ZtCDMu&DOKgWL;4%>6Tnei)f zQ=NUaWM07KuR8XO+@GswE75teLr60@MEQ zUnEw>;kazl{$-BKnXD4C?ThBAFFm@?%szsV)0*++SG!X6<$HGIt+6|#J?pMiu#a8L z-SwOPy%pT&^xvSrA-Lk;tBNz44>E!rr))I;C9+7uvA}QFhE4z09`NET%)5E2@qk%q zkyKop-GL47PZq0Xf7w6#(|h~y^jZ65HBQgsY6-BMZ5*?QRZ}LnsQ*p>RxGwqUhO71^r~k(no@m)G z-gJUpvO0PH4R=ZXD*@{Jd2Cj_IInecA7`3aYy?%f}WA|n5{ei{}t=D~??u(vl|F^qr#lG)33F*rR{&TZ>uCSec;HAT?-=W4n z2Vz&tiTTeuXW!{&c`4_`S$o%8d*9?IPO+c4zTiVtg}41K-mAiU4?o#wW@qzVLiNf% zE5{O9)^D@-m5G)W3ZH@Wj~Ar5!^3xi&=Z}bKCO=R2@?BnpGr7rrqCd^Gv4eVv!DBI zzCG(5KE|chb_;KJFk)ks(Y{^cP-;2HZ<>Jgfz4~0oI-yv9mw!{ce~Q^;Qp=VO$>G& zCH4u;OgARzh1zFm^~P+UBxwKY{pp6u$rtw3P12jSPIC3W+&s6D>McPS1IMpf7u(!Zr4p2U^XH(tkdRa>xxh zrjmI_&tZ;Hz`IQO2lh%CwhSk3t=aFlQ+;9B#k&2Irg$y*{#I-Mqh9XmMemvHk8FH@ z>x#`KJ43b{`Dfl|79aQ|X>zCT@ zKMrbJ1Ev@-ZE;9>BkCDg-gLn3=;QAfU%4EZ*%`AoQ-{Z4THWOL5{WnL7qUMtJ3nXI z{wOWw>n7WB_e|3*gCtVufp1t?{!1Ft|J1%(bb$F8df4xO_xdXSVdYG-=iDo@4(>hgBK+7))$r$wIq6LWU5{rt*xckf#{?$2s?lXJX7egC#|a?+bE zcG_K^SNg2871BQr_!$5XU)58mO~iys4jwC-YWpLl@SwEM?xh|^YL1MSikc68e{<+r z-)SUYxATCI=JTz8PNf}~a8NP#Yqq|yX~`P*mLf+ zO%8W;v7i3H=_K<)-TjJdub%c~e`q&hQLM7$>Fsu0-_k^V&Nn#zn&J5NPkqF}zv63i zAGw?{A|0LUTEmh3|juE1N0xxy$F{zKqHFYJXI>*y&jGF0p1V zaWwFMyqu%b{NS0}zwdthu72>$wA-9|Uv4@qmU85)`nuHNK+>+$UGMS_9GIPQMM|3c z0MGANkGie@+TXw2uHF&1c|T)$L(H;IP5aH~nLoXy6=a{K$D#Tu`H7u;a^)>+`zQO7 z%}*Qk&4l!i1Lg$7!`FFF7T?pZ_Jhfj?kUz}CLL5Y&fSr&YV4>Idi#4$&|C-J=_aPW z$JZR#R?g>TbSlrG<&K+2TffKwQ7O?Fd!}dmwMBKdaIM^GA9S|u=+5MV{Yyo6GtFd@ z*nh-af@zLCgT2eqKc^#i9^NM_-FxQy$27Z`CBIEpGvzow(M)7_s>?ihc=tZxmh%z^ zcgeOosH=T+IAoLdt>f{61IDKdew*?H9VqkbW^dNfbx@zMRP)HmH~T-Z$cU+j*V-qm zocJsjR$$M)M7gKc-D-bH;MxoABJb@q+Lm9Mw|t$QeARZ212*mZcsIVO_FbFdc)UPE z`BY~3!IXO|on(zf4;DC`%sXcJ$YI@vOrd(!jsuUjCr^6A7H}ZUaI#_eG6e^l1)q~< z8r<5yi?KB++_hx?drgC*%C}PN_b!ghDY&Awzi;i=GclJh+ldHCKg{b}Vb>e9CG-P7 zq<9|jNK&%g6b*ImDa)*q0w z{K+ZC5$teEyJzt(dC>zey!M;(?Ko{e(N*br@0!&8(hlkQO)u>Cw`H6Zc;(GwKf(U) zsRc_<@B8#mRillq&hBx-+L==Figp()o2%MiW*l^BoSTuHmvwNJ$AvHHI^2#A67+-L zbUbv(jtGugY%=?ReYVb4(D~I{Hwm#-b47H+jb7m z{rgwFIJHsqs~wMFi*1AWTDuCf#IA!}t^4l0wrG83;Ay95?^~pHKwU~pG z=C$!{bUWn0ws56ZS;bX{`DLuVwFTV=))$1FTYS*W;p>wp$@Y8?>}7xCb_KrOy+3AU zUB#8a2K%!`akG>2&G(yfw5$A_bk&Y&YokvB(`q|6!Hk^c^D6fh>v+VjUS|m|e*+#x zz{7XPFQt|GH#-grzuw!)?i}T~I=XPZ=6zL1)#$A|iUMyR__VSAl1@g7!w;>DoZEZE z9X{R=%gyosvcK{~^E#E9P4-`}bg7GWX75j!K1D%fiH!ZDd%rVQGHl=XRkM53X}jiq ztJtkJ7yS;fljzsEyn<19-^`4ZJr{(V4yH{~GjFd;IcUG{^*yFb@{Y|LS8ie3bKYU~ z*WmdgKRON+3cs3`y~)90j@~Ke*NLC@vm83^8SOLCe(lD2d@bpo_6tjOW;|IbvtKS^ zYfErNV}`8+tNy%W4(Wy6_B(f19|)et!1v6;(1H0t=;7Np@9jUdQu#@nN~HaQcdw1T z{(0E1wdXw|;vux(FlO&7Gmi^)IcxcUIvTg_W82kW@pr1JUC8l02g4F>faiw-TBG6N zd*bx7NpV~a2ZjDrZJRkg)zS3e^jrxu2}fg-$QRyUZyeYeytVn{r!a?A2@&l^^OO$M z>MpwLCvkEA(%#5-H(0yu>zZ=76uZ6lUz(`T^DKnfUiLw&Om^?)eben?7H>PAYIiVf z`bJrKIlIi5UAobEO#A+Lm~DR{*>$jQlbh`BqhSX<|5|(z=T~w3V)bG7LHoT9@AEGF zk~&&;Ku~q6>|_BA2h+-jaq@;w_osw-yE40U*uNKuSu}mK!+venX9AvCXZEGWc^&)x zdY0WIn|+%OTczz=ENWZ&>Xx$I%y4egKi1FpN|dE;37S%I@KSsE&JT+N4!)mu$WHdP zkYmTu%c23lb~+?3KfRi*CG$Y{4Da2FlVlxEZ*Ek6e)r1$H`^Z^p43)izx4IPb7^Zd z_U|uqO%Gmhec$cMOQjK2)9m)wxh%UC9kVZ~BT1IUL&WZ*zr@m5&mZ9SZ-7P|Jbdr2 z_cE$HoN!R-o})`kP^M#({DTu->E9gYznJpa!1m?=mOBoag%c7FNYtCmQ9Y@3Ap4RZ z%i>M@_D^5d5c54N$-exS?b3J81nqAZtg2T0^v&*wm-4y~6*KLUJ=eZ?YMElUWT~tE z!ehL4J{A%d3F;qh1rF*t8|d{OoFD0D$+=7Fp!ng3yH7q#6xyPONKag%&|7P#?eR{V(S3TU* zyRUKWO6G&r8g_v}32|$)IP7}FCaM1B{cL;NufZucxbC3w_gjf;CR!Y9Ph7$xenHIf z!i_1()BHC$@L!u-(0(!gfPc%r@d$)zQC53I0_=U3ZMbwFUw&5oS)ItSd6`L^En zKWJZh>1S$Q`wV-wo4Z!BFhtuwNqrHvOhnAS-t*fvvsI_;c%P-rJVvzkBNZ*n8UP^L^`UT?bcA_q@!JAL3}Sq<6IlyPD&@l1z0L*(C>hYmZfL|4?(_ z_R7-P(+(RSi2s?Ry>r5c{dP`sl)akg?!RRlwcPT(=l&zl6i@9by=~WZMSbmR+dX!F zqYfk(6*k&w6>on&|F?tPg}nhbpK6}i-cxBhE}30-@ZaJOT`GO%j@7m=#U=SA9nDWW zf3Vpy+kxd>%gsHBnFoGZASp1f#z)`%l`x!$tL{W{LCu@5-#p zSbtvKx4U17Z<@+ty9Ui|>sN3U*o7u;e(-=x$L`47TgSiexeqQMG`1(g!*^Pl+MkRM zO^!#;mz#cROLPpdY3Z8tUHRY#mN)08GCn@=GooxNeXVBhvvI`)gs)ts4g`_Mkt+rHoVpRU=*$~xIfS+98C z`#s$W_cj{rTP=4#V!Cki!D#IX1}$q-98a$kJh)j~*>N`aoE;T!&m6cYA$(J(X3_yc zS?!G9Y(57#BTDy9$@{-wY1!_&0?SGJGrF@yVvc9qpT0Wl(Uh-d_L0GTH+TfT*-hJV zV@Xfb8awO5U-#Gq_}Ep%PTjZHL1N$PocIg#f-4TTd-?rPC=GIyv)shxH($c>0Pkz# zYcA^!y!)fqdiZYRfqjDVhIg0P9oUsxyJJ_`m;L{49{IM&ZPxxOd&%78j|1%Iw@!MO z(XML0!hYXrMgA9dA;-fWe6v_&=de(HQBAqOUC9FmlN>Du@cyh79LezT{adi3Z+~fr z<6Q19{8w1)9L2->*Ql;GJm|5QuU~!6lLMRGH~zS`smWpKwfmdjTuXF#a5a3owx^1N z+f&_$XS1)`*EwA2cv{}NUwuK5p~2SV{m<^aY<^XwzCUOG`RcYWH}+Wv_6zanO|lbM zy61wQb)KDDTjiqm|5*nucJ1jnBAMeDYF}TUdqvQ((B)v;{U1*cIIm0SR(`qUz;)FS zuJqF21DEbpt~s`y+2P*3*t&YV2ll6KxP=~6U1YzO_rcjkOhNXQAI@*8+RwB9iJ}=( z*R-emygX~g^5(DDx1mw0o+meaAB#c6X}4J!2RU9A9$8}->-gw#+?(mQ1RO2&E7*=2 zT|V$>x#V9t|LF%h#AG_+415lx-F+_+`~HG`CwCXm8Ow9_uk8o-iXceGzuvnI>i z{_xW?QWu+_?Ys5<`P0djSN5sj6qwa#G-n^zsXJ!BE<*ap8c`|m@SXWQB2U+^)p4Wt zg?U{M5)OV_vbg6-oY}!HPR3kz?~M+#+BRwE>TY-7dcO1RsS70z%tH6Srb@^hm|4}p zWF*CWK;+ZGoA(qC?!W#*m)SJB)c&rG?)?w3q4pl?HVH)ug7zuQ^}&0DF7CUuZ=JD4 z-0FS5i<{m~56yLK`_;2@{o5=@u2ams5yA=weKPm%`SAYhfq+@;%GPt|9MGF{Z`+4c z1rEJA8uka~TRS)_ir$@hQ_O^SfmCWwz7ym5ycL_SuTnsqpZPy{Rd^o}s{THcQ?; zt0{#Ct*^Gm{1;O@$i1|yY4y234q{;szpuWs*`fT!qkRn1nhq>_8L;=;PL~7hajDxs zck?*xJHwzGsCUEu?S(Usr|3=Je_@i*+J9}i`vqKua$a3fwBM>8X(txOWY7NG_*S6k z(tT_P7skHVYjj*B^+n3~XsBah_Lh^4-^>nfd0Dzhcj@y38c7>B^`!50IL0z-ma=cT z!_!cA&0=}i18Lr?J*pRS9caJFc-GABqW!BYW~p5!3+%;r9C%&U7PCJxOM2-iCzJgr zZC0$GS^m^cqQG@i>&}yQP6|reuh$hg)|mW~p7tilao4JN&gHgh2VZzp7mCe(bf8&q zC+lUO)eiB;)q1>q3mk%;ncVPmF*@KSqaij~pYcHb#Iqkd&+oD~WS-4lvwgDtQ|ou> z&6ZC4g+usm#?`6s-*@QTZM8@H?7j*ue^fLH(m&Stn+6ZxDM8KOSQSbR&c3extSG+l z;MIqJj5R{k9N)aoQ@{S`o5P2;fJJ&eI}a>5IBCT^hqMF1QJne8QSJ_}3TE#KH~YHZ za#vr-9)k<}Uq5tFm1~}1zo_W*`xq8y`>K2Yjr8(#_rLm6|K5B4L%UMXl%kW?+wHy; z2mD;MzritB&GJXk@`!^*uD7nPu{JpvSr=B6z50U#pZ3yk+n%j+=r*xBD#_h&U`P7J zBm4GqI0)tUZ{^nFbT}n1va@05iTwsXnSbhiI``}Rx49tnCDGoR$Mcr2;=g?p9gVCe z@qFCJ-;tTIC4GyX)HT0N)4vxx8qWI6>vPTg;FK$7jM?wh4;nHQPRWqJ<)Cxw^=k8T zOC9WIr%25Gk$-?SJ8#qLcFqI(63_WlMgQ7c2ES;n-?VxEFGhzyiZh$`f3Awyyx1_v z{$Ts3UdCk)?7SPoF4S^8+4pkNwf5RSkpA%szYKWzKAVxw`LeV9V79`mv*lq)2W=#N zZ#$@J?5OQLw=d=BOb4;vw`(02t~rovchU3bt~>`eh11bbZ;KpQxUW*Nbj{QKL2>O% zrnGFeU$N&v^NON^{SQ~gPtI8^wqNU^PQTo#|90Uo-^CwTa(LgdNgGw)b7j~aDd=0< zwJO_j_x7(DdM%j;7t9ukyE;eW;K96Lk&Ch)9bO~_Ki~Xr!GU8<@{PS)0}m8RZDCve zOUGfuKGTbH4!zlL)_qYeq6e8b1TVd4{K(<*?(^714`|v<6fj?V+Mcnq=G$GX zwEeF?y}BkEW50h-zDs){1CRZ?$!061D^Kq`)s>+AP^r!?hTAe;wM@#c;q^O~WarF- z$8=IAe@4H&TFgPKDDDPPry~wW_loU)ly%j?`0m5|0ZH8lc-9oj z7M(S7c(Hs!@8qca_CAFk4mE3b@1N``D7ehL!CpP;W)4S^`ToC!QGOHEuGvj#4qpE& zbCq3Ta;$NhZ{dU(6cl$s{{HuQ5vJ{6#sZG;YyNEl~eYzSGp#NpRE$fWg`_G`QL#&1mBzK?O*TSJ>0P5Vq${(cI$>2KFo;5+ZU59hv{9J33()te3;Kc1sl zUzT$4?=dUS)pz9`EuI(rD_MNr!Rlb)vh>Ft2f~H)*q1GFa8T1&9_AGFX}{*;OfkpQ ziS`!X>r-Yu_pq0=YdrEHL1zCFOB>#!3U}=k=GYp{ZkV?3<%jLpmVENCJCyyiK1l1W z?V^{gtjyd=kUG|JwR()XRi5naJbPXN$ z-#Y4X^V+@rGkyP;#jTIBe|_$zz??N6_9s(TS#`+^?VrcGk@>sU1-qCz0&!<0+xFEh zHC9`H-Oz5m`k%eNjL*USHx1_;c=&$yndCX13j7|GaZ9!S9}(-gl^QUcPVbEIZ>`51SbCw0%!rk+Ad9n;HHt`taVx zIUXyRmsT9ytT@5GYF5BOn;oz3J$x_ZsIaD6?#$br4&N066pg;v$Gynuw-7}x6e_2`C6T6cFA{F`|r_>*_Sbq zSGfGRke#9OocTK^-35p5iYdA9@a6ZaYx$g>aPYC&nUgXhnT{48`Mj>ld~@KD{`@G$ z{^o&8*Y71~Y)m|G>eZ}Jk8@fF4(?7BIk#Zn{#EbTtyk0~*`GULDY12b{QS;39z1+!ed$qDxnAJ-uvAU)f>nlNbjE$TzFE8nJ*&2?k63;8 zfCI<96@CY+4)jL^um8JT=Rk^z-;-@i585+vmX`$WnPD$3@^6{DLA3p!M@PAjnTXk^ zHBOQ}bn2Ad{6OWhDwaw+aif%creCafdUFNbABya-{rO;_f7Gq6gGMd(Ioz!wj??5E z=18-tIZk)_uHF{5+370zG2ZG1qXreU`9+zzLb z|)?l*T_$|G(QEFkH)^p8|cN8@aVDf=!7L{?-TaOgde8fvF>;EHb0r1K_^ z_V4XsRBB0_w7)0YH`Axmd4JRPAln%;uI{_-EjM4He6iihr{C-(?F#Jnhy!jzpG;(WO7J# zyYP{HI}EmEHwUfV=Txx1d3Ip&J~zFi`BTCS_Eobc$~6l$AM|Thxh}Ll#gS=(*Lx2& zWykNc=kUD~JbOU;_3g!Wy^{{8dX(BV%laIcD7H~cr}Y2+uLl;otUNh!|J})kEY&(W z_LYk_xjxV`xBqT1^Z8cOZ+0z@gTJ^>T4Tq`SM+xIDG$38Do2Q~&d-drKWnlVShafg=7hQ;0M4$NXWb*JG&<+w_bZ+x${IcKr zoYv_M`$pN- z7995i?Pb>n9n)IIyI+^b@i@!fr~BU5NxWIKf5pBR2GKVd?8En+<&UlO=*u{m;(h4Q z7q?i)#O7Z+gU<*!a!3ciZ}hx;VA{Tis&C_`AMndQ^;=KJ=fH(Mp}UzTT(alcd`0*} z$2t4_%f0?~bEnwzuK&#YEy~;e?miR$Usf;nv46hDvh>uIeG(VCl(-7#?3-Dl^s>Jh z(mxK#Erh4vf*+TH-vzWf9+vq2;p^9ggZr{y9(@*TcF-VpZ)Dh(O%AsX{cir^y4~S* zRdL^iqa_Z^1{aouO3NPDzWGdPjTQ3&?T4#7vN#X!PjcYBX{T9cpTx9!M^{&V1DVzdFI0mh0FvJ9_fxr&*5ucmCO187myj>xsP8 z`|axi&BRK(jb3vO@Fx2yt^HKsu=oGxFLtY~9U3YPSI;?n$Nr;2pVT$KgZl%kJnUY+ z?%L1ntiQ_sg!KNZYl1sNu8Z2g><(6S|8URFL8jvF5te{`iM#Zq64ZC_{9SP7Mc94& zJ!hZJI`eYveuf62K7IcB{e6+s(|>zu?za%HIO}kf+1@_tL+kC>OLlKsp19pRR{|~{ zM8t~V;kzy^)U)D%g$EmB{`)$=RXvzwx9@BD!#@sHrSrH?FW>BNwN>DJ z;^w9U-Tmj*^>?})_~&)sF7Y{!!=hcYT#|oZw?Dp~^G4*Z>HBroXub>&%iX`}`a%Wg zMN0O2MCQyDbz!pq7OlExV#D%%+^hZH{Uu8`+r-R_vUPRW+!sfI>mkQNxPK!ygV<~7dXa$`eE*NJ;*Wp zT+#ZUUTOy;4vIZo(eUWN&A44&&Bd!7<_KAFZ8R!yD19;QY*?+)fvfqIsR5#l2PVBg ztNx*Uw|&=)Y@U@1CfolscYR=_@4SDtY%$M_LiPRZb2z@v);naka96j@`Pq>E@s)ju z@MU7xV*098atu~&q(%rw; zZAbG=-A8t8p2t2LtlMVya@u8!fQ=1~CvEE|emNU)@MBo=u~qse2TeNd@A&Te;IPoD zvi`!%bq>dOi$-1NXgIL*&`<7(3EU2swH2%v|Kf1C<}bJ*?fr@UjY7{%PD z@l!7o?X!ByX4g$+*srerdhMLEANJkOsyi0Dc#B=lsZ(=bzA1L(p3X4$zoEs!Z^!1y zvprQmXxe#bPnzc~hl%o!9G@*;>cAfUAnzta!2!n;p_eW&aU9sGyz4~g`#<&ta8*j>7eS`XG@gSj2)MMyCACQJI!H5(!mFjHERxh7D;aAUz6vM z)p{cHk&5Vn&4;(dJ&b(1Kf1&DmT2Nu`%BNAeB~Po_CGrlkjfM)x__hd9xt)T|90H5 zc3I~q9o~1P7j>EMl-|zG6ezRZGXy)RiCk^&}d7S*hYxC`o-`sHI z;AhMI^))GLzZ`mR_foOIIxKpP-6xw_?Ya}&_BkfqyZSjU!||W&GbgjU@Pn2!m46-j zBXV$6mS!%u-Xn*T$4=%>DegGXTTsKC?(Kiz#mx5it1A^8L{Id&UvR#)pKqI^q)lGo ze*YStIS0a1?9Z6k-f5VpwO?R`!ff}qSM0WxFX_7My4=p3lWSW=8l-<5B2WSkUyXxu z93i4T2RDgxq&$DlcyRvwd#e*g3>>d9yk2;t0&lD^vU zeaoH3r@z`xC;#!k?2?v!F)ww$F1YVucRMjxy+_92AltX^0$WvM4hs0kO6@d1=8(jF z<=Lv(s}7~B0`Ke(={{h%O=Z=W8)goismI)3&A(^w=W`@TCU5tC$-wCsV&od^(;R$! z_J)}67ZMWO)41`Po!rLMyG%D%+C6?hN!b2-#lGN;e9vW>A?vF}b|S*}h1||lyS8;4 z0pV-zUSR}DF^4Xe^B**Dew4W;vy3c$T zJ8j?6yYKF4-tn-z&#`h=4A0NK0oTI?>el8QZ2r8RS#)B=K@SJ{u0K4Sjvn9GRoI)4 zIRrNy_G2p&x?# z8DFP{yYpVKTQpmF|LNbY`!*^F6<ZmKGztL4t!m--BZu#U-HxB$exNz^@nPCnhyi5;*wkaL>r0k|9fL)p6);Wd~SybONadh#o|35cRK8M%bx5%d(!EBm)#8_mp`6qm(H~5qt&a_ zeK$_6UaKdiZI>LU#$IUgW$!21$43`zsW@0vS@=tMV!*+F_T46nzX&-&Dp z+OMwnbE=)=nqK+ZH_`h%Km9#cGnvh9PnzU`Ez9nL=ijDqmBGVT*Wkd80*-`(`evUz zCx&J^PL37-5qjyXLt0whsYJ({2Q+=B-1&Jv@qj^Tis$mnS_h_liLU)Tao_$b?#&q< zlalP0Y>GPgw?Nold$Ce9zrc69?z#HzXESHnRXuU;*&LW+mypf>CG6fi+Z{aH`<}?3 zw|!LD6kzDkd+_C}d>2UuiG#l?X2!33uIgBICr3SF_ELv5gXtR+<`x`i-Xg{SfPNm+bvB-aciVzut7eg_FR}y9w9!{f>Wh z|BFlOzVF3%r^@Rp?-O%+q3C;^Y2TR-7ZPg!y#t4D$YwsF{euyWeudD=I(!TCW>>)JjQNQ35#z!0Nc61uZ z>Mpdm(`-4im$m!B-n@9Om%^oW2O0c*-dcP#cNAfqE}1PT>8P_kWS^{i$=_|9IB(!*gt}?rTo=u3K_( zvE85d-BY(G7uapLnC5ZHP0Oxqd-ueGY{>k)NK83A{k}c9L-&Muv*W8t6-9fC6CL+= z2WUG8s~kMV-9P<5=i>vsvF|;mOE(>ueP`Jz{dF=9XBLKiDf-Fi5Z7{cev{S_`@e8JJ3&D& zNTB&(m(~l@f&(dzN6wtOdP70k@$}TE>W!vn4;=WbI`PolNeA}cnpd~Z*yq6EN1TO| zYyR(_D&u{DCt>3LX`i~!Ea=Ozzp?ADfN#9HeIxe+w{KD3?2_(QoZq>0jh#b(KYPt; zPdmPJ$#c=p^84yOwdpwqRvffg<8j!pH^?!zoOff^ObN#mep_08Us!iw;**vGvzeL> zIBU0>2H&?k&~vWZTB_&Eeirf7XPua5?JwTtdrESCp#6J?KdV0eQnjD@NU!ol-V3{J zcjj#FNM2;e&?8xRkjLL{-t04ej=lWg{_z!-3V8SmsQtZpv%kaf#P;2lw0eeh5qW(zRc0!I7VhjuQLz^e_D8(igMOnRGhp#G89|XB$7n zax972H%+MfTIo7($A!vA8sEw#ICix=%ybB1IM^`%;@YeO&kvNf9+C&3H5(n*>9X1U z$_;hYTE6wAAG`TM$HddSPn$eHplV;qS~+j8!#SD6^294;4uu;x)d`oo9$;+ResH5K z*8$Iv4>?B1FWOH%Z|J}L{(Sobsvf(YG~@QaJ81B?OLW3X zJD0c>54UVAaIAPF+Gubn$Z;vhwgn~;Y6q|GcD{2i?a_e;UuCbnn7P_v>sifLFC_{b zj8Z=G@7!v1fQ7BRtVh?;o+#UZPoNxeU@j7Wt0|-&mz9ja!UM4r*GSw^$NVcu>0QNPPG-HOG~*zv8?$ zeRI&&x|3qGeCL5C!}V&%%~B8i5f|i3GIw`aKS9E6z4o{L8-*I@6iht7pJ#bM?fdmJ z?Dw3Rv3BDk2m9=@#owoJ>h526&_p+9=Oeqm9#hW_^=)=$iNPMqOBx)5!~?!We~CDF zto?HHJ!O-FmxatGIh_39pt12+agyIUhux=46`9!^4!lo3;d10VuS3_*ga7WG;cz&z z#WTc6_2m8+FZ4IF{%YTUWIFHR#0QD?b<)l1Q9?}njbkF!&rbNT&;8RI{bjee*wrlF z@k-@!vEz%WhF?^BEeib39@frclJxW%4NI%StVyW z7eC%7s3PJiy=fsh{a#sK1y8>RUY&cR)zW_Opo(_9g@b_Z944 zdC($lDUZnh)b!jHmtOy~`?B`>Wb3BG`!+_NkIkQ#Wp{CI*k2v4Y{#PtDpGg)GY=*l zzBQ@QQsUrGGxLJmydNFj8lUIe!?N%|RGC_dJb&N;w^Yf-j@dd6v&5E|-P`hJf6L={ zHjBSE+TYCmlJ9ApZ=XBgdS%oZ%l)S;L*14Ay?Y; zgH{=ivE64`qdUS6?lzZLQ2a>b;03Eh=XQ-p4#B*)6c)|uIN&OS90)}sB_<&vv*tKGN_q}MF7 zD{4$NF}H&BkEaAw!^3y)y(|0%oIM98ZgD=x_UQM4^D3Dh%lQo)GuFKODO`K&08^ow zJBLHvfrvl+{2^3Z7Mr~u`;~Tj1U>KgYG-TZ=XT9`mEGA;l|`OXE&EjBUJ6E*c-Tc3+!Q*QWO#6T ze!x~w)tG}We@{5-8J=*ckuo!z7;x2Le_70wQ|{ddni@Ld`<|LPSS-Bt`rDJc_H9ld zEZ-XJ-fz|>^_!Qi!M=Oa)wztG=KIs0-CP}Fcipb@+d{o?ua$NWub$>&SXZ%cMVV@! z_cO@+amY_Z_|`c^);?d{aq!q}j?d98QH}!50kR?oRUNAx=e()#x_uzz)NHATQ&SvD zk3E!Ti4=1<_Asn;^2g8nwPIf#Sg*6mzF5EQO1Dn-elPpR4+YgS_P0bBa&{W;*jILL z;``rnP5aI`h;mv zA`ae5y?O4oET?0tNODPW=`n|k7o*&YYO4>d@qDs%zPO=-cfG`8wafSRE9ghPVA>jM z|HZ&$xqyI&J@4)5%QjsS-2Z5CtImT*=k3CnS-MIdwC;OhelsKbk&)fj;!AUPG2O8R z?TZyzR0B`H2bZm_KQf{I;P0xAx`!)M9l0!%?XLb4cjPqso9g}X#(^Hr<2BuRVGg0J zMh!0yD;@YEakR_->V^HA4mjEV&F-{cD$XBa!RxjEPX4ak<9y8aXYTmdzt!2i?`iO= zcWOIQ?Q{-F6~5I!VB6wxZB-k?uf0O2@(K<)bsc0{vUqiNXV^hMsUr=#;wp}_f}ZPb z`n|_t?HTF4c{9rnT)(ZXq`gJm;bzK>B+b+v^^V;Tc#X-?ylHYsU z0}f7oy>N5wPa(%#N7wmQS9Ur~^wg7V^vgUj)!|vTskyAfD$|vg?nkcdFIlPgmBXRL z{^znt$IZVq_V;si&wKFq+P>C!E0tN(r`iSfUtG29c=WyvWv+^^=Ly;Msce<_oCR6G ze#NU69=^TP&3byx-d2(Aik^ z#=gGuvNx9$o#ffmVd3p)S|kB-j;4p%s4F$ zo>`JO`|k}g#}n7qtPeNe;Be~mThDi=;}3jW8P6p@_nLipwX@vrJ(u<$IT&rsG%b7o zzSWkWXYVoH@AW()CbjO`K9P-*_MyqG`viBV-(1D2yie%LU9P;=f3{kYk96L@xdxs; zp7I$HzB6_OC>}K{bUgWvv1_k!hNJ8Ed8P+G@*b@Db~O0c_PYm;-d**X`Ek{OPs^A5 zwT}ylq*%xvz%r#M+X}`oTr)tiGX#0x`*R;ErirJe-N!oDmp0;!A=o0uZ zP-&N*oHJ`CJExs9x8=qOM*sIJaGq@5f3NG{{)h{Eo^1$mRCP)=;A2s9oONOSxcbMw0B#_pPjqE+++^_+-siuXSPQT}DKin@b)a?N&UDO))H z>$MkMEF|eTwSRJ#r1Wfuzpj}dJeFi0;Q5jB?p=}6foVKU+x7)N+V5iUSo~evr2YEe z^M!x5IPWieDex}r_LY4hN>Yw{6qeW-e=UixpIl(~;>})(|N9K=mY66X$~yQ4Tt0-% zse`BAK)JS#w>r&^b57rT`ZF`paie#ciL0W@LE{py_wjs>4_F=#zs@4wbl}^fDV#Y? zvJRULGDeBXFgcj^-~C$3`ztfe-2QH@ zyJ=A4H@nD8*)Q$8*4R~iQ!_N1<7u~>XdYWV!@mg( zb<-pqbvKk}NJy+du*$sRW0Pppff#u)_xitf2O_4GJW`teWq)hItu*%sGxsxXx%DfF zA;|t=_B@YAW@`2iq$*D@Uhu;1Uw(FsbJZfdb?LEt6Wo05ayGs`HOrg}+&>m^t%rxN zTfwPk4)Z!3XTLmq^>&tx||Jx@|uKgnT1 z)iufQbt(=oN~YgZiMndfCYO`Z*3iEHjnmRR-}sdMiDIP(6tAf7e<^Xm?~K=teaZji zl2cDlvGd#6rMaLp-)_Dnlh)_$SqG1l8}DaP&v7&=xY2D{Ea+&|e#CgX>9YfJGQw}y za4$U&q&EFrlt=IZzsI>TCs|k>uAbPidiwGQ_F%+S5UB#=mau*4+lsgi3o;He%(oRw4v%%5)z$R#)_MWQ zd-Fcr-dJ||!29gkFQzn3KXBl}`=cjRd=5O$`@PWf%vF1f&F`oGQ$KH?;%U1m;KmgD z`z-=@=h%4LXDqtvSGDQ&zHd?!ZZFKgx^IuWfnD75Is3}XQ*K%7LHfs6-Xg+xmZXH4 zR%EMVi+}RQqY8-!Ya={vK8iLwDCQ^|s@byD;m-s=(~0HV9ZFBXe`dR(#Nox`WfkFy z@&{bPqITs~Gaq1c6@6TD4%}v2U#{&P$?4Br3`EV zUiJI)jh_qLU!uPMTcM(z?RPTle;w*B@Awtwx7mU7$K^`3cTESjE|9|DH`*qtWr1wbj{;j-ie{^F#OV=QlritmKNd?(b&@*39h5Ro}JO;o>~~ zbFZeBIehdEf8@W|^?<7NzVxFvI1jW4wAxkkT(V#Hf7RTYY4hzRE~p$>^*3(+%O~5H z)ju%a@5j>p{(w(n{bLRj38}mEg;pjAvZnyVF2WGzVt={*5;lR{gTmM}rV$;mmEB{ zvTC8Mf8oLG^+B)pZ&!0%ud|0gYvwlx#qf34Yq#t?pt82)e(d^`114Ix9T-*J9XdYz za{ICD+x{=t?Aj~T&hOticOB!IBQxx0$ko@X-?6iQxV~xD<;yzzTj~#V=es<%<4cT8 zW|+Cv?tR^9S^pUgj%JDK8Aj5P2Xhn88!Z<%Ir#3J(qD@k9~`XL|CMiNSm$7tyK#LV zOT&S+*2RZ|`~)0Maa~$7aSn$A`|G97K~X37Hy7CR>if3u-?Fmg`P(ar_GbITG`>w? z-v38sk*R#Zhka`%EUy14wAC)`5sOR5tzyTg9us7mUs@crYrH(!;gb5nWw+`NEuVYK z!Kbb$aeDMp2P;0MMn$fI1MlyD{T%U!%+wLt9bM_1EFFjQmG^gsH9aGLPhb4K3_s#a&w1(&jP9DLa|uQRWGvwz#0D7L9Q&Gy%_FZey!nrFXBs5`@Ak>&pI7qjxxOg`8> zJAEx}y1^>Dm77l=aR1S|Z^f$O$KMGhLy?EJe(>5&7E z{l>uPgB=Ify?8QnTaVv?Z2JH)Yd-~tWe>Z=uZP{*uk$=PvLYgP|B>#c>!WTa+dtwf z(%hY?wLk9cr>bwiuG&4la$w0{zGZe|3{G}Q4=eV8`WIOqjqvh;L;v(Fn?KzLUo~Ez z8Svus0SnWMGRL?K9A{d5vb@l8>i{p~@(iuVwFg%72nkH-4RRD@09I+)oO127aH95U-r#xiT-hF-=3|hcQ0nv*?oB6&fYI6 zZnwaIlT+9*>!6XId%T<{@wbEJ&f-k-Y>a=N9D@$9(!KlgLl>}_Snz#>&xeRYroosh(FU=6t>dt zIDe+f+iT7HcIhr$Zky?0$8b*EZ1OatgPX#N;89NhoD?rdl?h?q*d1D`@dG) z+huw3x?S|^4QoE^SYfBm`NI2Pc*Q=CVwSi_Hc0>Y)Eq?k9(}jL++jk;L0`u;o4IF2 zIdXn|ed^;jRYza>Z8nS^w-1QgYL_lrlH%}NR(W>!Ls5sPt5+EtT>8Af{(0jIF`-TN zuX(pOOybSnUvF|m;B>Bxy=m9gbK!G$?31!{T2r~RabMEzlGGLTfp$yQK52{pC%P}Q z$;M_+WYfWvmoFZK#HAd(^C^FOIfH^D2Zx#Qx5)DjFCW`4QCZ$`pfGnugH5f2!?k0t z%mQ3L?JrR-;s3XOqW$C6Nt;AU-R++(Wl!$!m)<|gNMX{p{5y8(6Ao1@ke;^h?DFU4 z!3myrvx65jy7hDH>)NBSx$0}q!9^|pTZ3964i^2sqBu*B)A7=;No&uhA9I-EKhH2F zqx!%jrXb%e9z%!P!);%VUAVVDi+{#GG0S-SQzF((`wqCy7`bQ|&C4sn31f{M0suJ3}q!=a;>e8B4WW ze7g?55YrWZUlMlk(LrOQ`;sb-YfkiRF?_nmVXOJI?Tfm~4n*yUUiNW{xD?D94ob(F*gvZcIQTHW$=>ImkmGd5^?VDC?{tWnxV1jWCi6ha zS%>m=30a3(_YxQm@4m8s&cTCUeyf+*yM6gMJ3&-)zttMg*2TxK?ei^G*;D8^)$Zf6 zAALf((fi){{q322N!o6*Tu51b=V@^NqRX`jUOsHBI=A>_b=<+(*P2XnBQhOhm;cX+ zxB2Q|vS?<+ao3v%X6sj(91%=9Ai?`HrRBcXfdD>P*JpYA_V4SeNcprS$^KB;m$#b) zMeSR}BA%Wz{BBq0eCn;T#cVsKhqH@5=B3yr^Znj*H1enI7x!BEoc_nQr_1${=J@m; zeE)CGmKrP3gHq~CRoA~%b*!i@=3XDM)ZyW>kM8Fd794P_^U)6Y`G0@QEw*z z?YJ%(5>&BYvD=pI!9(Z$y2cY1?(n>^Z~8PQgVWi)`wkq?Jnywm)9!=zfdW$=Mmv)Q zyRytzG4HegZ|>4xRd%tFV${uOJ44Kf^OtWUi3O_uMV za`K-3mHX}}wx4G`_rI|>T=V|keY<-?i+y7E?X^2FKki?QQj^{CnFqIa_E_0{nSJbe zO%jvczJTMOJgVvrS}uyxl?tU%S_?7Y4nSW~p|7&v^r-XX&GszA)Toleb;p%b>B;Y>(${BBdeqgY?%AiLDh z*at$75A1vW=~#|X(*cv_ck>QK%Q?*XR+c&6p2=bB1)Bi5j3f5iAuTOd0rmC^Tlx30 zY}2t<@o>tVaryW@?$mwtJ65mT_w4!9j-~I4_eo8*5L7ld+&6pEhCjUQ%?G!h=VU*9 zImK~DSa!r~QDw)dziH_VQTo;scWo%-73b8JFa9z~8#YNwoX_{%aNXh1;tp z>`z&EPq!f<*ZxVQ`r?{%=JtX5eWlJTzuB2u2AI4#y~eI!(tlQg-7a=we}n$tG7{S- z{q6qx2c8uNS1-RN`G0AU{=nLs@=RAXnhrcL$v+k@V}F3D zvA;HT(U<-8Z5NDg?4G&*pxUCYyD35TJA}8X%`Z{2e|4-ue){DXcA5K&nRZTCWM_Be z)LfP)K6Xu|Z~E-keF2xhtDKtQ<-?SlQ(}zPb~xsK+m+pN&)RXz{!1BLCk+p7?GRnv z-SOnWna)0mdf^ra?iCgWr+t$gN+V?C3n!{LsI~M)aXMYKH@vh^_`XHQ{`&>(HkW6m z>`zfL3I6^?eSbF3(I5Y~ZtUwx%gsMHX{udGL*wQ7xAX0K&hMVXKRN5*ZQqqH{n|N> zO+Wr@7Yq_~RQA|=r_t-#ffe#$?K8!f9$0_(%H2?l-~$<3LguWkWOdkWJy*u*%me#_ zQ(fOz6fLsv+A2E7EH}{Jb$LshhK0cXIbY8h=52qrkA3bvK1J=7`^?j~M^9fJy6^4N zQ+sB{WE_;Z)+u-;KGtyw!{sO53k4i&EDPd9`z{|?zRK?e$K>e;4(dfNNl@@PuyJM5 z!`V&O?RQ?;m=ali-u~#Mc(HZgrr7(6P7Jfv^0vRbkT-u~-`jn92X~8h9=p0v-cdFn zM|SSMwO>PimFPnH$6V79;mhlmB+V4p>UjP0zAd}W5)UrE*erV@%Isjq)v)&9pW7TB z9$d%4H*vc|z5234rb|j3P8;+ZE|X9=(8JHi**%B(fQza655~O*_LuZ3*%~jZu+KJE z%eE2>v*(=kxh}6uz`k?+6!YZMm-l(!T>14z=$d_ug1?{f?8tQ#Pzc}9dM?Y+xvHhF zbh5(1hv!Uwc5{6@py|U`W)Lv@z~Q2VW$oF84z5jt%h#W^cG$CamaN^(oA$i>m+$`h z@8JH|8Vh5!7`pfKEe}atxj2_4{8|GAWm&)$f0_^oi`p{c8J{TybXCU}v@OUcc}6<@QT< zvG zUm?HQ;k8-5%n|P91HxNAFG%?6eBiZ~UtP>EUWc8N=1#GQy>6d&Af{V3e&+tLaDkAg zyK?qF;9I{*R7%x;%_^3iiEK>vKN5VEwJ)vP*E2O=_@hRnBTp&Y$2TIOj{BKfCu>QV zAACRMMMd#}X9x5R`MLLB-Rp2qiX*!vw9MhZbLGPs=Uorne&6}=zy!_%`@&CNG7Y+9 z|2&Y%Y>LNxd!BgCu#H#Z_m_lBneu0+@qWRE`_mY+UfFdW;5oh|{G^@6ob@tII}04; ztv3F?J}t=c(W}^2fnv3To9-Al*BCrH!12=Ox7Lf*4&PhrpI$wb@1WgtRm4}*_`voo zVXgaz84m0Ti4YSi*=xUs&HYhr_+efw5kDq&NcX3vi-yycGb}!EwREzdCIOGVEmS#F^ z{5q#?|BK|~8~u(a+9wNLkeedLx?j>Lf#CG01-Xxotc<%r@IyVihi2X8d?x?B(NsF2pYa zr(dlpi14)zp89@%b^F2I1#hl}aVH&ob2*qZclo&tYH5}?^A!eiv{xp zhwYzTm-o*684-u~DK2K7Sk#nb7yfbM>Z$cvjx*;7eDj-~dC)H7tn!L0;s*~&rkd&h z{otUS_$Ke0=Nx2t^4{iCOj+pneMnZ@1uR!obZFM zW_7$gzDDF=>W@_ZHkn5bI&l&rR?j;QD2W(GuhaHB(6C`*cC@*ILusDe2En*n`&aJz zZE|*U*8aZJftqKhC)>}R=iW5gTWi0a?uWAY+G}=yFE3>8%2;YQLzVge+3Aq}an}n( z_-;)1X8iuH`{1;EDR=*u&kr0sc5lILRs%=-!buj|J+}^+uH&5+)?Rzy;CEZkWqCmk zm)z#hEL$aVz$|e^+ry^Q_IsMxMEN5#_E-J?ap$PB?f(3)bu8BRx$J#%6cklYo!a;R z$Mom>E9&fuAGOxMY?87|d!+8xTatCqIPXDEO-$CoSq@i1-Sv1Jr$ygmU+nhKq1&K0 z?8x0&2ddfgkFu`uaag+Gs=?uJNB4_oIcT{pJG|e_kV$1xL63cep!2Gp4v+op(+@VV zUifM!+NLw5cu`(m#G>(+V#icExd? z_O0nSm^SOC=DhV$j@MN9wXUpDb-XvPS}@1;_JO1CY}TyWnBq{%7H9h@ThyUP%cA$> zrqBDMj~zX#_kE+i(NUI1Gu~$HpQ03=z#k`LzoTs;zuvbU`z#*Vob8Hl+&5?SzHrGE zes(fTK5`S~iZxsK-@R!&-9zHL&+ zfujFAB`4-PI22gE5^b>kv_J94QGrLtCfWxrS(_X4%gx?xwm}Mmr}X{wukXIA-F-jjQq6|ndxKtoQEU^+z&E;^4`~xs%Q8IUOs@ z`cFDW9dq!D-9EuOxcWfX1?w-j84MkcFng|6I(u(FXYq-<+rks<_x=>%c~t0bUwKMm zqFamL{$p%v!pC#Y+uhB&5bU_Db)O&eLH4_5#&%xcX5?A8Li)#E6A|HiIwe)_fjKlZ%4aUkGh;iqW9FbB+Unz_dea8!SR06zM5xQQ^V(`+I@Yg!lP%%weQr< zg>kkIZtk6wQaF1{Sl7V=KW_6*NC-RVQrL5)OGd@9K7UH@_j7w3Qks@5)2Jysu&36aPZ{6|CPeb!j6UAswVoo zcRJMj-iu7v$~@34Hs@9CPZ@`WuAzB9HeK1jWWKe-UcM6hjm?449(tPlohNthbDwl= z-*TfxmKvN>?M$CMkn2j0-Y0(2wdH(@pdF9TwDo?OA0X}Dr-<-f{NpLN#+ulJe|CI( zcRVuFafNr?0r!tz91iYJoXY2M^T76slQ=m0lf!n&OY$^eO>q<+w!!$m9JDC-@Ve@IL~~k!|s`$=~YV#4n)+=aJiYu za9~FH8Wp~vNBcR$^}8M}sMzlowD`343+Me28SD2;=iS&B{YGuyOw-ZB=%nu$9&h7bsPs~xocZy8E`UZzp z9hDK+PQ)Mh;ki*_lFVg$2ev=9uTNas-`}=iX^m6P{yT~8c^9sl?l+jM`rT&pwSB!@ zUp30=TKBEDF7)n@Ro<6!Z-W%88>8Ktb{jPr>G$C9<+5snmk;Vcx9Q!TUFf)IQ&)MS zPKIMe=mR!GFTR6?&$pnHQfzy)KpAu6=G6zRCoL}JKk>T0rM`U>z}h~4}9FQVew8|lLIw9 z4*J*5f7t(%zkdGj|8w_SRA&3`KJ2-FuT13Zb?p!AzW&PQSSq*AuK2xCcByBRonKP9 z`=rwjc0Uie1wEeh(e_Ec!KbHHbq8-eHVSI)uyE{I6XGH*D(QIpg5&buEwdcX$aO39 zUdlYsBBQ}@Vx`i7hZ8K%{wsd8e@EMi`_*eF?e9CA)_bwvdH;)Kqquoo+9ysAE+NgJF(t(9aacaqxJ_oG*mkRJq z{J-Dx$jX`{j1%@tZ8+=8c_!C>#mgt(JJ>AjOU#5{^q%`>=TY6xd+630yYs(3S>%~} z*;Q$5wOe~oe&6f~`^`;VDh@i`TJ+U#Q;=hBhHBn~2@;OiO{PpayJGzT1s^vhWt*l0 z{bs-BuC%g0V8Qu<_0yU!`!B6zU$An@%>4`vYw}c12iYIE+ESgiNzJ~g#`E-TmX~&- zua~-AS+dCPT8H|KP0M}lthqHOo<9B`oPJL|LWJ+G1=S~`_jEYA=DYA$1X(+-o4&fG z=YrwE%l>a#%$uJanA=qx{VuP?VT~5=TG5;&hf53jOr;j9I9!Wr*sG^;)&6IH?xu!M z9s6IGw(oAcnzCOb;Mms*!W#P@GJfh7IC^~_lbw_+d(kuPYWC=N?CgO!2hWEHC#)kA23~b z{meEgp97DUdpIW9-Lx+}X14eE+4J@{UElv*B0SapJ!7=^K@o3zA)~5uJvs09)p|_- zzgqg*zRM5id`ku_~kp8ijc{{v(*yO48Tp_vDvC5wRLXA)2!E-w9?v;^d z2Zg`=`?@A~hl5{q=^Ic(!AVE^%0L#TM|m3`(P{Oi{Btl5{5w8d%d{ai=S zC+aoj$Fdy5zMG=gtsNW} zNe3>dykW1aS9))@<)QuRn%BiMnY#C{HVj|jp3S*GCCk6>zBpz5ctLU!%wNJC3&STxMpSRFur(b>j{ui~u{RY=n_n&k>|Nm7H ztG(kF4(G&)m+Z868P5tjlmqTxbaf-b_u9;Ri%+l0cl2VMbwg}j;lX1rS?BCsR1eBt zVsB8@`Rh;>c#dJyhfNMbD^}f5*JwV_*z|IL?m_1Rb*x*eEQ9$Re%`G4`&aq8ec{O& z{iZKw?%(!1dSz98&i?a))t5fKRJEUNUM#rqHKYB?_SH(4=Wf_HUv`+WcDdO&KA`OaVN zoCkDHvOkiadda^2rNr}+AM@;|3voPo6PU37X4>ZWToaA=n@kAUCbjsr-R#B}Qyv+f zw9Dk5GTCH*f#Zdzfkg_9L5^P&vVAog)DH4hm1lB^J~|+|P%B4>Z;ivEy^`-vbmlvp z%Ad9@D$)4BA~_*l(`5_?o&-CmU69&mztwGu#0#s*_T~l$ZwK(W?_V`}BAb}5`u;GF z+2Zs3&e}b=`>85y8D#$W)qOhq1$%Kk>UQl@2`&i+5zmxVb4p4go!Hm*`F-C~z9^XDAT)&|FACVw`s$%s6- zXw8#VkN+7Td?CK)a=_OQ4*SyDXCFyk>)>C$=qkgX`U8J9cjY&|7IKhF^R_j$;BdHJ zl3PA;@5%iS6Fzt@{?NLA`F%@eg&m3Ze=_1t<=WZya~@up^>@gf4JpvvG;W42cD%4?MF9h7zq{}Fms#v zO71=50oUgGQ+h#v?Ax^kdtA)7?%(`&Yk9|`hW#`0U!__(2HC&b!|-v%?*;oNZMJ*; z}rJJ0oxm$e^U%&N+_^he^sXOH58{M3yd*K9G^7JR$G z!IE>o{)OkO58OQO$<>*c=U}e6rDv0~*a5fCUdJ8^JlP*>ay!lA;uiZu@{U21Hx%su zoc&X2mZ`vg`F**!ET;aoiwto~dhd96UsbYZ#6OE%JL6p0>64wa9B&$$tGro|c`(p( z83X%b@q_hJH9a@Kd~o>p=HR=X$_oz!EweptDH3pCf7xs;Q4Sr4)6bpazRq~FUwUu* zEj#5_d*Ar_g8#d6?Z3%9t_$|G+|Q9(`t?@r2fMs$oW%#&R@j}W4l$MvZQZxhbgkQ# zJL!&-=chDRE(<@n-Db(tfJq_;mF9KG7l}P`XxCuyXy)!bU=th|?snGqz}BGL?7D`o^1a>{O-~`9j*Nr@76Tj`gYCkV@X%n>Bg*s`Ibw|ZboDs4EKGs>{SAf zV^Ku&x#^Y<9TuOAHFG&L>%h;zFBhk*^l`9SATpte?Zp0|AB~&U@(=Gn$jdQftyPb` zhS;HbLAf6LHKzq+?RodrZr{m0#_65Q?VcAciE7qt-glvHD&NsX9(J2%pUhpe*W_So z&L_hT<(PwQJ6o^c6+7p!@6ue>VvVZ~6DCyMnlIaZ;AQS1lMk%s4q;xax?k_OZU1QL zrK5hOyY@fckup`KsNR0RT+vP;S@ZoBp7jp4XK&cuG1;4HGIzOM@>Sh?wR_9=Gw97e%c?d%)=*kXQI8_gY}y2EpGN-t{BX` z#3H>vStcPo@5gPslKsJGZ)OQa1q)y)3zegyuYZ+&v zecnXb{->($_RhZk9P)93`(4AX{@7@A-fs7WK6lRE)_r%QeAccFGP3iH3)fP#dJS%$ zWf^wD%ZF*Rmb}+vs6Tj5^F-{?-KmZ|vXZT}$Hg7b@*md@e0$@7!YqAGx5uFlD{i$h zzki{0;QaH@9+N2-_GkZNV%~bW!#-C{UcjT@bN|PdZHE0PnCvH%hI5Et+_X<4l*A*_qi{+z3a?01v~2~qYJI>O#2vXo?1CPuQ z9R3Q2W>&k1FDITQXuq|c@0qseZBXyQHFjSA^DBf7F7`HRU-Mekaqsl%Wqo2x9pq%z z3VAFqIFPX_T-fd^!vV(yMhhatAMIb06ZpsTUB&)gZx`>n^3HkxuM^Xs|C@MY-&28D zcBTB@eZ{-)o^+U@Z+BypS)AEKKD%Rg)-0O+{lD#mh!qOk+UgD-V^*>>s5d|OcZ17b zrbl9q>T@}AYp3)4v6XhyD>}Lha=*0JEkyYG zXp7gdoiB70nRNN>c8v_jxuN$h)ynt|+Lk;m`*r&60ej20LV@Dd2dbtoKgQCkbKn>M z&5u_i4%=rhO^JJRYNmbGWTj=*>M{1AZ^Pzw-4wHLHgA;IFFI|vM@D?g2bD^@BfWWi ze*>89wyk8ob#(Ou+lmW|;`ZL`I=Cg{;IXNnLmW@JtjLmJRCD|;x8fg1<3SYn3 zS(orf?|i++PT)t?$7U`sJMMPd^*{H>?z`{k`n<@t;vi41``6BWL5@mR=7*>BN;oPC z#Pv&mTz_EV#j;u_|E2@FJ07HMjIcjo>e&}xw*AZg;MJR-%*va&|LLxPMUMKx_8lG% zdK}-Y*=wA7{NugZOFJW;jT@VGF0$Kwu#1Ch6gXcG!%MY`{clelGgvnPqsMx&RzfBs4K}~vfw=7jayV4 zRKIU|zJTwleH=^Thssr*`@bGg@j1(%x<9I2+P~LGV}IXo_Sx-C*Y~xX$b_wspKixe z`}EtL^a4A-*9Z3gv&cGlW8Z{HK_)qlM-I+r-o`KJxYSdA^|Rt<2iE=g^t(oH>4E6g z(>;5{f)8wv+^5@+%;sP}J^z=t$V2;>p!RB~=er8gBSxVfWWT`-PX2*`ZAiQTFE!Cb={p_#M>3aj4h%z~zaCA?2(2 z9ID&SHs5=7&EDxGr@3Rnto`z<_R8*X&e`8_!t2vJ+MmT`jw6Q zB1PWJ>eg#?44%OeW4$NDapR{#(@+ibgR`&wX=L5EAmcRwsJ?p{?DDkm8;W@_j46W z)ULew#_n^AWcyr!lXel}Je-Wj3LG<^+9sQtFQJdOXG=e%~BoL=HXreq-l>jcxks#?r|Le!bs%Pw%Ch!xiVNOD=K$*l#e^ z=;fn(XZHsjc(OX<+YI~Atfxs9o6PN3zxF<|Nl9n_-tZ8KqvxL3F<$xpRpHrYyGtQ5 z3*Xi@IPz|=P`=j}dGO8^UAZ}*j1M+_6g%0={Lw)&?w;s$v9%7GF>eE`mCyE`po6k>D`fGWxaU-AMt1apW8!Jm^_DbG%u%8isUF+Er z2REA)uQNmn4s3pIw@j;$;lP27k0azY|JXOZYVHwe*t*}e==#duu7>^VKi3OXI0V@T zY+z8ydUbH$?D~48pnZ?_DFh|3TKt6ckF%~I!q>BkMQK)H`@tDOUB#Tw5)X#8S$1c=drZSAQ=njLUPVE;m!((k^y@C5uZm@WA8!ecrbMKdsqf zUubYb$z@l;{^QxN=KFl--LI);)1I&T*KYYXja^lGhxZ-HamubX$g@jPK6s~%H_K5{ zaJF0Nvdn{DPE}p&DilBH_oiHH>YEP^7r%&Jo20w&z=BPxXBu1m4;-zu{=NFTwgZ#Z zrAgcS-t1rfh)ZL&YMcE#dzZr}9dhlT*6t5YkhR=js_b|~bHN9@Rt1jwyMLD1#VYWd zG4ZtStNb?0rRY$)Bhx#vT>%@y5Bf8f|Nl@fa&XUnliYlPM-G81Q#h{acOEFX&ZFCv z?|Xn-=!HQxmx4oF*`30Y%v<}vU0imi-#c}G*mcb>g%Zj3fmKq8hj_L2E6Mz>+@5#c zZuXNs0-LOs*!g<%-x1)d0I#n;rO^W~9}12yiEh8#eQ>8p_QwzF&N}q?AN?KmL*H>G z&zmXhX5BjAvp6nU?`q9~uRKmOHyQ;w{QBg$wXa&_fJ>C+9l5O2_ODhY1+^_hy;MBf4C4=_#8+CT)6xyWT&la_-4`i@Zdzp3c##>7r z_0X(?Z<6+1t)9%|xU=S@V86~o2mMOZpFeiZI#8LBmQ}Xg$00l5^wsHNr}k@~mDaAZ zIK1C~zUAf`)*kzwc@O{82YKv2Uc%NTMu1)GYqOd9Z9n&Jle@fQSzXgX?gihx+1*kO zrbY)NV(nrQ#a zgTv%3kDL7kc~42VgHrny^sX=OICR_2;Hz_v>iVhsu66vfTKCM=PE%K*AU*!~UdDr- z=kNOF9^CxL@Q_+z#KE|WI}XVva5~yWc79!Lf6T$=#6Kl#t?C13R(~!EdS&2n-7{U9 z@#ww%tQ#hsKC~~?pO7e6qNgW&MwB>prfGX+EDH z8riM4+^{}x=Y4Sht?MEpeEpK#oh{GT9b9|rj#1~qRL2>DZ{7-R6?Z(af5q*euWuYU zD_s1`ZF{Ig$x5;LieHru?DmqW=B>Z5UvOUpd-b9Y`|}ne|BTZ;_ivIkI5uw+lfAaH z-7mAPoAz-|lH|>uoN8yj%RxTu9mBp1`F&jOQ!ea%Z|PdQG^Oj{$2Gny%q_wWas+SX zzNx61yLw}tmCVxVc4z(X^zMC|vhUC8Quj*?T6X)(GP=DDO2pk)5L#gpNraeXsfS&ypfQd z_RfkOy{YU0U`(dtjN@zW*~ENtD0h@kukyKh;KUdI zu#)1W1J#H5!uGz`I#5-!H21d6zWooyEjA1PNV0$Pq*h9_Qt;sQ11rQP zy-{^s_vN~Y{MRK8e~X`ATC}p@fcUljF^zVN2jV$&|4fN_wEwK|<6oDoD)+xrnmxVr ztMmT8$*hL8+i&cv+x|m;RYUJSuR8xAh2Oe%KWaU*_P$lMyE-BD+Rn!3wqpL%`)_sC z9W1+O%QQLA{NS!N-XEVo5py&aIJtI;_y&ji92LF#WAO(pY}R%$WuCY1>)oUvboJ8y zE00QVZhxJ#zv^Y-J@0p>`#U$b*o3^ewr|O1%fijGTlYy-T=-$JLSdhm>Sx(05lnXH z-qZ?4CcJ{I|E)rVZ@%)fqxwumj<2&PDZNn1a16HbGupP0?;uN1#^I1lcMn{7Vcg)U zQGG!DfzmXeI-LVNpIQQ^#NEHd?2oU$^Z)Ub z({_oiO+Qv?SK2A<4SHvM__OVtr%$e{xqR7MY1^Nwa<%K=p=AZzt2jd)FF)zkVrEct zym~;<@!Y1R2fi-YBBM2@_P~p}FB2x^nH+eyr?uSr<%j)uDj#$<8_wIm<;&$Prj4Ha zb=UT-%3AZ#Zheq=_=9Kr>=N6UlPuRa*{u~`#j(D~-p)eA@7dXfB6b)0YF~C%)E%6E z=0~f~8wI9y0?b4KcLWV_oVED7sU+hxDC&2 zFZ!_voPJlGLxit^tLH1#)@H}VT}I;OPKl1Z36<~bBUKKrvRTo7N&fKx-FyEc|1dQj zhzUjSDUKiBi@Xb9Rd!r% zz92FF-Pr>xPhTls`DN09AlWDjuH`-lj&6T8lXc$z{e4!9+9`&8``mX+y~gf0+u3LVSyww9txpPbyX5vQT32%{+qB}~pI`0< zOHKtjay)t_+|?!Fm@wUBRi|i{(#Zv^#WmszU;rcbzR~r zubKN>&XpD%nHX$;P%p0as}Te) zfZGpT%6;(i!AXE`mh$Zm$Lljh%yMn49DU;*`BUy29%MQCM&nw=lLL{5j8gY0wK^QX zK4*i#iX?}3Ji<&Z@MrtFov-}FTD7PBCY{qgfB zpWEeleP8sx$gBr;k*VzgDi?#GG|7atHVPSr$2t$F1s+BW?; z{64_`;C8=^6RQRHU)j6KFL289eSdGOA3f5uav#$VmW!74A^R+Idot8TG7d7A-gGLd zh;?-SX5l=&RKRhQeTPTX<;w>mrmQ)B;pp@Ot*KYL)(iL?h>ZKUD01-~`%CAX&hE3g zV6V7VYi_yURQvA|Q!YPy<7Hp3u=AzCl#l!Nd`UUtcKq7DcTVmJ?FZ-XJM%Q~e)z*c zaQJ4GBf|G$U6RqS+*Zezvf4sx%M%Z3uql;)2{Sv$^X^Qri|=lSxWz_X_P4h?7_Zu+ zoLE=lV87eWtZ=pBfx2I<^=E%GAGo3Zihdv;q4RxjOMP_fTi=-2&YQ+*w+10=7U6G?E) ztyytaX9MHGrnWz9|9?F{@O+Y-V&JFg2Xdykp4z@E*5SVW+^g~{^c~KNPb$Aqe#d_K zW3Io+eH-={p4w5jXJh?-OI;&VeomGBo&FNP-g&aw>uf&%WcHFvcKijR6`|s3;P%<6 z(}?iBBenif^rU>phi~WYaNkjQ@bRVYqHXV04sLt6)v_YsuY;AHR7LTWO%Bz@-^|Y> zG#|*Z`6#aw?R?;uN}SvYW_|~=O0`cqo3GhBI<|g3{(aW|=C$olS8?X-|6N=vBG{^K zA9aO$!ilYn_N+HgUwz54dEccqJSru|jgGy#_H61CLLB*nG}lxZm>=}kzB+HF(6a+} zd(Jw2QQ7D4?s}Gu`Lt4pB{E8)DSmDTR3|UIG_Q=Uj(wqG{=bc}q|JbUfl zZoMaRiTkt6BiEMN8}FZRlmC+$?>oD9*A2u{-kz{C?%Hqk|7?Ndok*u|d|^S3*1YeZ z*v(Qq$h6=>*yDQ-4=i*({A_vT8i)LIrJS22^Bs2nPq8?5!T7-EnB0GFvl$Nf%VhP0 zrtY_Y|Kb1a8m7ti4kfmyjXrzqKh2t^Ie|fa|CEFbi<4Ow?PeeP-s3$B(m&Qx=!cgN zpJ#uO^$9LHxGLuH+)oyT2b-POF7~ljcT7K=>5^~y&4Il?s4V*F&I3-*Z1d%&Cmm2? zdAUgHnwvx8I+^a=h9CQj((nKHS#oxN&CIESOW9`H&ra=#R!B0nzr+{5-r=S8ekS`> zE17(s+I85??9h$eY`5Gxi|t=|gX1J=i?2poBM+Y1sc2E~%=lmtJC`Ph&_{>b`L8`C zPpxs#ym#-e#{2pMM{;j+Hk6AxJa(1p<-5l2&}97c>s*;r`;8-H1tsUT>=*X-x-@rI zqWwd;TtST}&i$vu-;^eIzuVUx(xo4DYO7s_f?e8zBgKw2-Qjb}BCHO&J$P{6Z?*ct z^*>L&-0gJRp{kRo;oklw4&M%ha*0V49N6SCWsdXfzxx-@v9hdY{A2&vBCp%>%Mbzu8JPs z7v9gg@p(0#SdQhOzA9p^1)$M0-q6+#li!} zUhUM7dE|G%$USeP)e3EgsTX2BS=-+1*XK&}V9{!~-?{4A!=)#3>>c%A@kM{O*#C{~ zS^BEOAMDbemz_0zx72RSY8ykZwJrPZG}t|;gy2VPl(6vm1ijC-@v zX)f0zhZyI;JHery2OM9P#rzTUJ;3weEqB~Yd57{3nm@M}+}dw^M*hddRZ07gu6_Nz z@m7-k#ov#Vcs^?GFMItX@W}J)cA1G0J4_cZwo^MHwd3sma&YI5Qu)!v`EvhQg3 zLHmssRrT`E9Ztk-lwbEw-?430--N_Pw+=LH)M^&1syU$kcG|zqB0&z0*JX1ar-&R- zugUs#HU6~ywAHU?t-q4Ff0a(O{f`6I`#)#1UiIMSvVUT`V3C;HseSc_ls0ejsk8f% z(&71+LBQ^sUvlsVsqBM_zg7R|2WA~SYWO_m_AwsE`A^sv7sx+!=sOU&@%zeI2l_vB zB+gyt4vmLB^r_eomJ)&FMqy`|57 z$?2tb4_R(hC2eThcXv&WFjuUb9ox2Mi4#-I4qEA0p0HJlIq0(O7{k{87aYFjT&xt} zyXvri_M3}gOx*`q7v<{Bmo|5>OcyiU>vzju;WPJ>8^3q%-x2R)c$BZ+e)resho>`` z?{9DXadXY-n|9@`I%WU6mf0B`aZAyWE#J3!>6A4Wu0s09OZg_i%LmDSOaDgLcN}~t zl=3zDeUxL<)i2ct`&1p3Of|ag?QS3VYkRq8@~sqyl+{0~CJKo-ME6YWYY+dt-{sEB zy{;=a+Rs?~c75l>to^JJch>tD%GlrUj!yl+vumHx_2UQU1vTuu`L$z;qO`x=l}o$B zUd2i6<2T>BlD(tp;Mrr=->=xF9Q0}sk)AKE;J83DbzaENa}KP{C3}8`bsQ+l2$B2Y z?%;5)cH?wE^-ufPR*S6`;+kY%TcumPf10a(?YHA04YgAH=bn?dWNf`{cQf_T&;MOh z_eETNvSYznPrG#!n5~m!9`8M}P?0A$E%%_gzb(_stcZgVIe8(M3OF5o8e`2BjE*@7 z8YFXdi&h`_BRi|B^}d0FR}RCL`G@cAFJ>|eyH%NFFS$e`Z9}h{{oBbeFFq9#+KTDfPCV`*(X;B}LC>vJd!ob6v)aP5Tb^gkLC`nri1_E8OtSUu55w_wKKd}i0dz~-70yOhHY_S|_gu}ek8@yCT(L4rMd9Ew7OWOD+`4osd{Z*W3V-Qm%! zoVocAp6r)0K6Uk~L%Y4pv#D;gFFEYr*n7UkyWzyXMbAE%ukxC1w=B(Jz1`)MeNEbD z)ShH3*~NXXW=K8z#I~#5E%o}3ii5Y9dM&4h2OQk8wB9UEP}q_0=G|>4rtWkwk^Z`F z``3&E%Ndujsm_;i2=*81dNK3L{_8uIyD%Orw%@j=CdQ*ubN>~70gl(duI~H$+2g}D zu)dh*9T~m?{JXgrB+woQF!2R&1MmOz!`#YTsUGn&n?O(>d zKmF8G!k+s%qg_SWce_Gg54N|j=h!{o?c2t=F~#o0A8DSu&sgl%IOP}Xg z41#+P`rdKxznH~;Fg~rXq35ltkgJ(DPFCuY<{q!egDhn&&3=s>Z?zk&A-7R@cAZ<-$&vP zge^AGGJSm7-q$-~L-FlP`&oCrk}Gw}-JksQY2Jq4ru$boq_Zqnf$D_i#o z^As7M;Z)kUv;BZ<$3$*B%W22cy`&)Pt4(_m;cNVdQ#{zT$nl(@e+;W)hGY4O#Tgps z_zs>rZSzg^=G_DTau^vot*Q@HR~Oevm+KseT@)O-oAZdh*^gD{Z7pZn@2`tF*54Cj z?3o_l3(OBpq-6lK;F~a+br4x8Lj=#j_5$@viIl z`>k}~i^tZ(3QHdC_iNbHdg$4t{cp@pmtLLkyno9PkJm|;FYTLoy7Kb-PfP7$mfbtb z-BD;Kqw

r#$ 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�o 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 z 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 z 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

M<`^Y1{d z{Y78JU#(bj%&uDHy7EUs--A*zCw_-{LxtX~*; z;PZ*9>6MG^4)AA(zrS*Gul;v%xfUjsHv7mK1|ExkOYX1o$eyv{!HIo;AM-h#c^Txm zaaxiT&%309O_w@*bY0&b=zhxe;qa6z4wD+U#a{a1=FocKVw3$R?E|mx25i0irNw@6 zmB=aUD<$^)g&Ldt7cuOQe)#osr{7L+{Ie}b_{s4=uxXB^ z=>E&US)~Kq&f4AIS+?i@k=BEkv?jDM))pPywy%ld)h9(qv$tQKZr$|QVP3BKzTd}N z4s2~u^m9sk4TST5OTm8x^uAyaADr3ana2QoGPBzr|^99XCkH^cSr0ek

D=tTgA-bFB&|e>9Di3GlrFue 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

8#in)$R6i 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
g&G?VM#zm&%Zc^5uE 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%0ArU0cBM-*1TU{~E4mPlAJ{9?X~d=phuA>G+;? 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 z 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

GWzU#K(EDE6$_x))4 zC~YG##qReT7xsqVA^XIuf3}*;(g24en-?M+&wEy_Eqg!HF|PNj`?d*Lj(1ay&-7c# z9egP&F>j06(F6OJExIahmg=xqc>6ovNM?ts`W69>kdFOY#ztGBmm1m^d)(EO`1*0* z?7JZ=`RxDi`=t`RBgE&FUDC-bnLoq#+BrFz2Syjp+SlCq?5Y*R^n&wFod)EB6-!CM0{p-IO_8YjmZrs_awqI{! zlH20PqWeXDZS;Sy_s#Bt=7xn)AJ5yFGL*Tj+puq+VDkpAQ*qV%o_^W3u>VW*!IYT` zR_+W6bA0ncck(v_c1MMkty?7TZ#clV-|TN02D!3*u%a{BTM9qpbO9eKW% z(Qyy+{1tj(rw@4TJ8c;*9eiM0a^>0F?`#gzvy_e zFXpOif-(PdyM_qv-KT!<-S@a$l_i^R`>@ zsQNykEq9eXwmUgGb=>OGWQ%va=k%PTN$JFahq7+p&VSi)KugQkcbSC5fx>Q$OMG$P z?PFfHJz)%PuwVW7m|F~&&i;$myBdP~f9;d_6HtB2^pKrff%AINsttBMLEM5{J&Wz~ zI)$GqNcw`y$9E=(a1LBM*99I=RquqRK(!vteYGxj%>K< z98&1OzP!1kB>ejRy?XoqS#+$}f5$cRsTIHR{&OA53+-O=?BCOOYGU-Mi*_~qOev4G zitVcJ$WQEKnXqpq>lNSZQ`L4SKVH5gXVKyq%s$n&`(J_Mo*BP)*M8tQ_%ZUS?j6}P z2YzMlC}7U>aabz3AkHv>*P-*x4V@*2Ywh31JmgC})7A%B3W?J*8`fT zovw%_?>Nw`b+vBVN(+boI z!85Wwc14}v^j~DZ z=hilhCA8;UUPUttb%-4dIJ3I1S^wmL%l|~kOvo9j1zwNg}>T2(KsjKP3#@J9=FxI4!l}v_wf`<#@E}u`xL{UUfuX6 z3!EO4v=HGa&lNj$Yx6Y6)w4G!n(fIu82Owlvcgd2;CBBLKfSJ;a47$ppw3yE0|FM+XV~uZ`jn?Tyhog)tA{>8m1im?_+T-{!w?eDbspz1#(ByXc zV}b|2_$+#NGv%B^e~jaOrYVEQ=60u=YELim&97{eIVMYxTZZ+VcxbEsNk_ z-#_Qi^O;A_zqN~>aBWKY{XKRYxlW&$*tuk1wCAMuc~`Udi7w}9J{vmM(O9dy!=@v~ z@p$Ib&)tia4tAC#&%d-~=K)or_4j{W&390`v%Vwb8>7RQe=i^Ssjl3wH7Qh}GBR-g z=f9b%;V(Gt6;3E7_^$nCH}%=9H7oue-8cL8v$U%-i5)-Jf%o zbD@!+_5O}2S`Myn|nWlRHA0*0k_ zUxTWho$kl&d+wffs(8bE$2$h4H(K91I(|8Mch+)em4mNd8n15*Sa?8R?M8~n%R&cf z{tbJ!J%3{_Iw4&5&fE3->z?<$6OQrNA1;-%NMh=9yVnc>j8`6gwW~AV_DBByDZ9+c z3I1237wzj`y;<62n;<_hpx!KH{(*(teyEg$Tz$!!-`;a!U_Ral3t8XI1gRMdAmV@|XU0 zsL=Zs(YWt|!|gr0B^PaQKXB~u{M)lu2_NWVo_Fs{M2r2r4*!Pei(dA+Imtg8+<)xT zov~tV1Is%1nUufinY?uFDc6x<}1A;o|JAS-y`0&Q_ZU^_I zZ(;jlsdDgQ@X_#HzZW?;{S{ETD_rDYzOg;|Y{QfNx6l9E#QbK%{_9CUrdp~C?U(s6 zyG`|pnEjcB|6TO5cG*3g>-$RY){%V|wlXjt+0$-!)>QP--@CbX7P86)Dv`wn9@(*5hTgdmde@G5PVS1p;QDpXpi`_?%^CqfqVY>eNW;JhJNL4T-Ky?Fs|Uwyoc9!IXw7(Eb>H1frG+g-?OV< zFdRr1`_WX`zjpr|#hhB_`MUN;W|DZWP5NdqJ>)?#vYV3l10tXE_6~s1rEO(gkFXu>fNQ}eH zzo)g<2fp23QTDnoxO?V)4!KYft!^IsuNLQ)Cuy+TH|$^a`&!CtyOVnV>sRUS+xOz4 zbMbVGjr-iQ{EV723&8oBMF0_w&0%5z4KmXYuGBD|bnj>G!Ney43r&h-9e0P^z7~A- zghS1jOs(U=*$1r6dlp?c<2u0kVSZ^3?;8767kR(iA2hVz9sa!`x{7)K?N2}E#C2Y^ zJ8U|Ca{QWFyD**ZztuIR`_wZxN=nT0v&%UY?tJ$BbjLdOB@-8ZOg}jD?8e&$eR2m) zCJ2`Doj&3)alfs7(ydGfuH2;DG*PYtThINheJs0V|0OMB*^u2H_M9K5YcICvw2!lY z<+;Yg=p_uzIb26=_<~TV)b_YHM_WiZ)n@4+D(|nd9cONb$*h_qaz^)U7nU^ zHa2h_ESj)`tcw_BhkdC>Ba1vnh{aUsHShmvE(@+or< zUO9SUbMK_ogZ*A%I+E*@94lp|C#cFFbU4|g@y`BP!GXM;zHM)g|J}c9YXhsxu>{ocaCzziy`eE&D>;!~|LGA4nQ5*)Vg(zV2ZA4BMXL`$SS)a%LQwXt#cw zBFAmXiH;Tz;x8R&$~!o_W!2~9>qQSfTJX80S^bnl*2SntlE)Jq$~fnnZu8|opvvCf zEPHU`{(zF%ZeYcKV%6^S!0WYuj+kH>jb%Qx8Z|*z6ps3Jjw!`k+hhr`` zv!>gLe~9UKTUP7%&-_^Vud=9v>QiU^7C+B)@Nw#w`_1dOIsCFt@!KQi>+n8WL*|U? z@BOjDPu`p=tKVnSQ&5#bn?KJ)nMdkYQ*hHvrHRtrBEKa=fPzo4pPZ0*GxXKFV%#5QJ~ zEcY)uFwtbi$=KqX``KKw%5qfK*{?pWwzXk}^Zq*DBiwBN8TPw#K78fjbk8n=$56^O zW{usVnJ->S1r^zeOul0!;1g{3YOV4`#T$)|9pyGHKY|Jm-jB)KW!%ViP(=QGZm;B7 zhs(SlpZ@#erq|H^nw(oYLX682yv^Lu9 zRVg?i>)p7|vc3Mz>80xXmR+oqS^mdo-{pFdD84s&j&s|aPR!?xJ6L&NNo{(|=L4ln zdz0F1cRE}y{&e$MqPauT%zX-d%zyTq9uBj2)rz(+oUCzXV}r3hi_Dg<0p~v0U0No# zd)@j)cAsQC*F9Em-)+USt=#JW?8kEZSC?GMDjR+F zPxNEiT)t7>64FPA+o4voEqTre?LoDmx8>ezi+UQ|zWiX7`?9Vs{MW z&*h2aDmtiO|D0>%tmOyXMUPD8={f5#{ldb#?`$_-EKHTf(isw0?!1er)V5v&fEp(lvEj zQxo4i-2KFQ_RG?WVQI1{TboY1i5F`O_cH z25|fF&9AHQ`I)!kUqhXQ7alyja!1L$Bf*X($5fqf9Z_+7dF)Q8%HK@~9)#;ZyJS^x z;6{vjz{*E|?QbYcZ|u6hzaHy!lxyLH#iQwn$>RX>^RrHK|AUDKYnd{y_E5wL^+l?mi#R0|!!e<{f-|g!^5ldfdUrUnjZDGCnyl+Y0e5 zW!~Y?(XeCP1tpgQp6zl~7bkw*?^)0^LuOK^{p|faCo(fA*-x7+dFf%mXS)&xotv*V z&a*2IKkI#wbICq;lUvJEel+ZJ*qnP>Xpa{-9G87Xgk!tu|1($e=N&W;dSr8XW3uBj z^DAt>U6dT-o+;h){(Rs-_Epu#H{WC(h)aoYcrDA~5UST9yR>_*$SCOYxpf)9%t z`S0f){2sMn+OZH3$7gbG0(+kvcR0M4$$Lsc(t)kZR-H?}$8?~+TzJ>{v-9oOT>Qp3 z;enccSxiG@<&H0Qi7nEJU*_N1cWw%kyz(EjtpjGK=ukK1|4E`NTg>CnE}vnNhpdS;GY*8lj$_jxk*?OiGr8MQ48 z9F7Se5aD>`)Ur8!r85q`K3?5t`!3tj(J;(^9htt!vu_`-i{WH${rtt1Oux z%D#13AI{o$rtF(gnY__GxW}&fntb7j2Q3G$Y@d1YUU}%jn-zPXU!TI^`1W0s?nm_v z4x4U&Z*+GLIdIMT&xa*0&-Oq5w?jH9ugkvc_B`7oN&NPbQ5!aLo&RZP+%xaqw;yNs zy*>8moUHiHeM_@BVwTD{+MO2g6>><1?E8>b@ec>-_u+cckgytHw)eRSKwGmNYX z_IXx|o1QEDuFJt6zO{9B9XoxZ#8E0g|Eu5hce5mvqX{2rYAH<+76!`I&tn zSo|X|_oGYuWwzY-yLH73`w!33O6N72+uP>rDxAIdZr|45j$+@J|Jujdnxv6FZL8f< zsaJDnhHkbyCvizk*(GP6T*;XxUg@5L`h}J6gQKhuhPT}FGg&1$*W-F&_iHSKCdT7;o?6@Oa+=T`sTk zvrTrB*V-^;{he)RQ>y!9yND4uU-vyggyWT~ckb{%h;^J3Y5Kn1vDop6@2saM+a4UK z{BeHT$E9ZvSSa7W-q~m15aF^lc9I9XLs@j!{!QGa`({qQ;%KWi`-Cjvk z{Ys466+7iOooCC|t>5Rf;qU6V$@BL0_Wfr{eHFj&Y3bRA3#KhN$Y$}dR^4+v?!8H31SG=R=TbtO6_Wo{A zkh*Pm@l9)Blg+z*Of3^R7?&U3*WfPIyUMQ5&f@ywSqg{R?e>W?{JL?X=OE*XkFvTa z#T>UM|NgscmVl#@Zv8@rmn8>0ZTi=Udqo_Wm|b;3>&c0aZ38yh38?%T;ayS-F#^S-s}voA%#d*c>?j@kbTZ zRqqdfbnpMPZDRJ*=HHmVb_tXH%1Hr&eaj#2dlHlI`B&)DeQQ=e7yO(#-LB62m%*yj zYWt4Pd~feMZT`WXIUlZu@r5}iX65O0n<+V_M@p?*v2VkHogNimId*0p*uAWKe^1E^ z`^_DfFH2vVW}hNAyLa^(O?%tC_m}Uk6WTB2m%bp!`Sd=8jW53L*?ZD%de@H3bt_u- zMcrZ+7F<=ePkyu6nd|A@2UAm1%M%ry9WzXd*?DI0JARb5eYKot?t$u8uCwZN!w=jG zzw6F#bk&}D$?2n>vzzT>vUhC#mLO|?*zwDOWj(+5b>7o3aTPzgugg%hb0Wi5yP$>_ z%t}kX@9hkHb93q6bZ~lPx`qhHGj_2W|6fgZ+}X1BsTyyAqs&*fT~aLK2aj&P+|w+4 z^1z+{9EXd4#5)8m7YOqF&f>6j-EWKe)0_9Vr|(|0ZVS8p(Q^f2vc2N=n(~Y-2_Mhy zn=>)msIThAzE8`RA1^GNw9o7OlQkUtGwhP@UMVWuJNsaH)Qq<_i;^8%-U|Ny$D!c3 z`oJ%hrk1@2c0XiatD}{1fHC~!zYkSk>}vyz=E`1~Ztq~X>4^3&BYV@BrTniyitN9% zZ{B=W*Dw2~?YZrveBq4U49?904yJNI!+fouBtsz{$SSm7QcfYM-H45QqMf)kmm4k+8mkYuS^bVZO(I=_jm7) zIh;6i^1aV?7kuCGOpy9&mvYX^w%_*dzT2nrxc6HY+Z}!+D|u*BlU?ZBxx3C(N9}9- z^zIAyi>U{L)jo1F+|6>F^yo6v!%|5{f#d8C`@@eMc+56utEgwnfmKy)Yqc!?+IL&d zVVm=JhCP4%!@{@US?v!`n>Vq4Gwc4V-0NLp8;;sVXxtDAj9+SJs4SW`>wW9Kx>UKp zy${9rWv5K*ieYL#xaVF~INb$~?and3pEe{o>N@B*ePU5QXs|KtLO#cy1G~j` zN8R0>?J%dQ<%7wR|MvS-UKKpzpSoYJFUDs3YRl8W3~%y9?&r@rO4G-h^CjZiY>do$C%oZTS#k(|hW&9#246GFuI_k6WY4dQud zH*sb>>y;x{?G8RI?!RKTcHbr8t+7AuP1$#O>l1!1t;&NNQeO97dlT*W^N-fdZP|Yv zE=#9=-CVcz0N=eAb8fJE9r*IR@|)lC5B9Ssn8?|mYqMXvaEolhYsUTi<9?mrsl&bB zmvw7y;Fb$^-%Ip_|G1yBvuE^M+txa7-`$-F33o1bg43hHF+?~{jkvcYX5KOhV*YOi`_vv~mER=01+Gm)&TKalQ!alGlWi-%ZYOQra)rv4iEHC&T`WK{qBb2dvt6ZrUb2d5t2w?43zvB8NivrK@`1*kux6 zSFd$N=*zE^gKG^BPtod$b9|XtQN-Eu!eL)csrPj59S1JiRx~OevpG;?edB__#4q-f zay@LHuWGS>SRZ~n%3fsu?T`=~k(|%_(v~@VT#=Ayr&_mbWw~FYU6!8R`dt$o_T5!V zRJf?-3?A=!bpR2L{o={}zYZ;QoEoy{+vOt;2Q!MrgHC6t9{gI~@qdqPufyu>Jtt>d z7CP9)6xzi8dSKtX`S4}_q9yw|ETdMfviQBvZ&R!^ld0tXGv5_G^d~;rr(G@R%h-F{ z?xCb{=Dz1E_9?q5*C}gH-pACTp)Yhd&C$d6>Eaz%3LSs#p1rMN@0$aAxp!23zHsKi z!3&!ATyz)@lzN8vny?^(}TiMq93G913${w~h3RD!=Y<^7EVQ-37( zrTyD+;B-OIa@~z@_q%YhtM^_1Zm;`S>GouaI{VvBQqQLE(%xU98S!dbMK91p+j-;^H=!=kM^@wms@;nTe*K$>XPl-!bR+P z<>w#UHtXX)CJUu4Y^UDu`(19eVf*%N`&Q*mbBjtg2kwun zSeGCFyTAX5axTld)%%6(Ievfr@YYVBDejeMF3 z6Q9i4r|{2mPmD*s9m_ry8I^#^j+?msQtM{sIP#pIwBx;k#6h*jtB;Nroj9Nnz?d)g zIMLz#zk9cZ&+#~j9~OS$T;8$2@DQJ1gqiRD!b-i9>lOd(TQ#};m4NvJyI0jy*F2lG zZlAK~A}N`KXgkNk%p7C?QoE;2g}Jx)HaH#%@=^YMHp0<<5_iIpw=4&}&#t~yY_j!0 zPW0Y@8|?lLH%o3UtNi`LoW>-)A$e#spjf5c8+ z-#+wM^PGJzy-)@auhF4lDSTT|H`-Z1lsn@6S5BYqO^PntD9ZPCV?qVZ^MNjzw2(57jiL zI%?Ff*t}Xp;h@l2wKb=n9y-9h{^k`EpDYJ~p!M6ziZ~oHTk6XgtrqOJzuq_XjCa8P zN9_+}6U)W-yLWf}dG`K+UGyntoD>6EJ^SYFQM;CC)aEGl z`_PNF`63&M?q-p^NZM?{W9~9 z&DQ3z+P{^@(C(eg|9y<^55=mr4%!7iX*`iRZI9hdw|DLbGF$9Coiv@&I|}!K_7`4S zjR;58oXsQ0?g_nnn? z3la0Pt^Hr`lRpxd#HxMGZjtmmohb1|b_+br z)uaCQ+L?tbN|rhY?rVROdUWNhPRILu7Ide6admvz!hFZKQQ%??$`|te;ww^Zk_P*X)X0g>Px7)Rf8qA8z z?Y5g+(A{5RTwy2fX&@y&O932?Jl1^goOmv@f6k;{ zLC4bLcDEEJ7;czx-Y#?UNsrFR(tR@yz5ge(qGR8gliR;fzC7P?$@TQU$v;gUH#_)e zEl*H6XlPNfuE1^D0hYv%cee=@IsE;;-Bf$a6Z=~Z7cOkm*|2|W--}Z-d_DKSkIr5G zBlMe{md*i-D+~MRjj$1DX%4Ed49{F*4qvRkHih{`VK{FZe9gT=#PJe(OJHl4f|A z><>3@__nBX?>+{Z6s=#=U)ZUvaD2IP@oc;Lv%QlK$1mQuYtg9>hg2Zv?YS*PgriJk zmWAkr>Vrj-QcB;~79TV{Tde&?n#u9XJ@M7mO7rQ5wbjNCwloz+3r_u z`%-d+-^Dkz?Q@7Y!*xKk+ws=V<4Sf1Ef4Nhh*il=7CadA_tkXsOH&1-(nY79hX7QK+P=2JSz zDyhtWc;;S*O}WO#OE>2`>=U~B`|4(<16zY-<{taEdjG}ebN-$`YGNOMuWGW^eKGr( zSr7E5cwe_$bckoo|C;mrI^FvF_6rr;DQmtsE$Q82_fVxV_e4&IV_L;2*If<12W#sW z=LrY#AIz7STl8|xN{4%WsyyH7q8+T_ZIq17KkR?hV$GXoHe>(VXh-JFHze(=|2nMC zt!1*WjQ{)hp7Le8iBChVzdzf(FaJd&W0pw%KK46v**{npgX@`H(-7e}iDTLqKF=8k zC+JS`p1n5bV9?a|j>!!2j?))q9h<%IxP!()w~RCEat_2v?mw_Uo#Oz{9`|*v^VZsL zlyBeD>1b;ILcyi-MxDZbmA>fnx(es_X&6-BuC2Od$6FlOzW(%TyH%5;4KDney07g1 zfp?ScPjmdI<96KIJoDi3$Y*<&>&YJcb5Thx{oYXr^Q#4qt+F#5Vw9P-)H-krKe0A@`x*13?58LQ*jLCunEvnJSG%i$X|H?^@7gD|B}`K0?Dl=H*cuA1 zcSY}8sjR>1{N-lHK-;4meeZ`J)W3OlcB4P%LHTF9v|fJS1^3ibqBZ zzwdXJE&dZQrGNj1=Tg-X0;={|ZdFp948QFjMDnn|aCm9Qz54Qww5zlB-8xgwd-2c8 zeIgakTJ_qHaf*_Oh;Y>T{;1a`dEUY0j|)#GeM&yqb&>ncdJ|_syGrdhpC(faN)}fE<_wpb38T7Hkcxl)Ec~4$#$gcLVzxn$}ekl*L{l)lYYOy*8 z_x(!BG}(M@wLFWcV|qzMb83rK{{FHzdX{v4O1H)9XQm5xNH0D z&p*-pA?uyU{)3+n&h#;7vELgal^AGw!S3?`fkB zRu;SFXus?W=Q_hU5&IjW-!t@foVVL8QL##@oGaYe)UjFBvBo(`Nh@XYf!w0l%y~x(4^%G- zxhm-U(SC2x?x)wAmfPRlp+EK24bT0m@=y9XKYiaf=hGwRGj_M^1XD|@9!>AGE0{O` zdRKF<9pk%@jaAQ6?f6up`4;j;91Qc3d85QybkJq#{kJc|Z#&F(T>5WC;#r5>K#roq zG^Yc+c9sX$GV>l_&zz(XAJDG=PORJt_ z+r>_ZZS`81XLrNm2;ZH>7Wx|{+zSF8YOI+?L+@=JSx|%YVYiEXW#Uo$94)CvOf=rwA%eI zm@Zcrp1e=ccem8Dwb6D=K1*^QltK1iFKR@DMGuwzFErn)Ubay?txlmj8d#Q(>3DJGDA5b%EWAI{yiZ%UcdUjKAFZOtJ7_ zMTp8L+kG64eJa_>?wY3^wnTho+k7VSK^y$j#x%NSO8uVXeY1!-O zx@ZO_3EHc2ePWq^{mDMJT~}M3!;kIT{%HQ}gXWv;?*2bmvgB*3a)q?EAS}{K2iD1^fQ3kV>+6JJ0TA``xFXnX|#|$Cw&K zIGUf0%$i;`_u%Uy?GLkTQXSJT9pv1*MbXjnzlgD}$e{x>(k9NTxsrKcYMA74_kAo5 zCj@GbE>f6ezcAJAK-?9N{qngXUfyEI?A*?ui%Y!x%&z6zAq!#EU3Sib7BV*qD(r+c z7feswm%WeAC+7U>q)7)?*}vp|_%-+7+t6?7Lf1td&zKy`vk^V+uzc5#_Ll7A19CRU zey=>wc;E?Ro!|EP^X+4LeG)>SOYbk-r^CA92CF>-SCWUr=7)AluJg}-FV3>NbI!cy zr`W`Oo~4OTA1PJr>tDLg(dl*l!9wPMcRhb15B8r?d_U(SlVfm)`cpU7Ee@UE=eRrE z2sog%;^B1j=kNCG&zED8U)pW&C2{@Wyu&~D{oS*8i@n4fyLg5P5mUsE*sbz9yt19$ z-fqdplqWXZO82F^pX`{pH5MF>V&#Z%T*mYC$vySy2amK|RGOrc>v%HO`}pd1X-DZJ zw|~TJIDX&-*BPm>w@C-?##d4GJi5_+5c*L+oWTu-L9YVP%{9m&$#IpR&*XB0lqA_ud&RTpQC5_Rnrz zF4HLM*m5A@_W3yn9rmB{dnd@1abW$U%aWnXzwhVFZhd!d=UjWad;3*+Pl(wE6v${w zUt_Wtw?3Twv+&tI$y&Bo#{$>cIj^mmc;-*H-S0ey5_a*XeP1ri=O`X;Jy@flt|XTn za`3~ntc-~1oR0haE~{wwu5%D7J;e0%X2^lbs`4A(H$K^aA)JeA!M{%XPNV#4fwK2@ zOh?%Nv{yg3(|oeKAgbW>z7xCN+Qhz_Y8N)~?7VEDJi9IH_KWv4KLx32lDj)hI#UbA7DJ~+QrSt;b3d~Jj0XG z*q&Qs&2*y=R{OWN{;s~em&?B8-GkR#0zcTTo^Ki5kvwxB(_eKhubr#*Jzx*(ZP#zw zca@i=d&SSW2i3ltI0apZJIJE9HcY5o(Q#$S?TECzZ4N#^f=~avopoUD)DM2gD_`#C z)$8e7{b;6rao;=lB^$Wxmrt!@Q@4_~fB8J&-r2@!`(FO?eWkeZ>OO`I-!meNR_(i{ z?RinstI6&}q~Klw=B|Ux$=8`b?ese6#@81i=)>n|$?+j9rev{0z1(csAKu{yA`31D z92dN{|Ea3Mf?Lzt>_gTEoW5`WW}nie)7H#953!v4cPXn{NUudhyEG=D{^$n*xwN_<&T46oxNE>(b)sa zj~u=!YdReGD*u7E`#QVBy?yWBt~!&o|8LKp@&+cw{mzFh)-Aj9&u;l%k^Z`p+52Wx zzL$P!-)3iEXf$!ToT;6{0;}reFUkA1d=PKlAF<$I>dV&I);yjEXG({zVtuRRctjw* z_M_`U2f=6B&lU*h94LyZo;=(9IEJKu zJ}zxo?AVc2P@KK*{Q=*8zL&c@&K{5uRKLwvXXWsA;*5XZn(PjqVYjSxf0yk)^S)Uv z!dz+pcUGTUr&kHvKQwjF?9;wsS6n+q)g(aWr)=ywxcqsuO58a$$FQ{h?~ip0IG$zQeCFz*rUSpWCrW(RjW{qn(?8|h^+Wb% zyQWnXE@`q4b}C)g&!J&&9K$R%GvHO2Vc(To4&Sxvr{GS+o!4as^x37nzK#pgN(oPvnyY*i(R8tR#WwO-+@@~ zdG~H^+b3Y-AGBdhzFlpuT-43O<#s=X-tyXf?>gwQ{MS;SE3S^`*eb*)NbozpPv<>* zynexf7c%RM?>-1S;Pqvu8vC^C_T94W)8?IPvS&Qf@#sX1vc2-_{A=&GKeX%pedzf= z_KW+1T|V6Sle22y%-sZXP`?K5sQ0CrLaQksb3?dv|C2lwtMNM@qTL1W4xM;rP zwHf!=^=3;PT<(=J-6`(Gfm>VV{rW1E=x{1gk!itZ7Ke=~45f3}TlaTt+)^{Y_|Lxh zJAZ9dn}qD2{r>;(O!wn`hZI)r=st6N-|2j{sc$zdwd>sF_WseuD!aZ<3miA!nRRgP zuN6I$|D`xypI$Zbw3xgjkJR%O5)=0y*jN622E)ws17*#7b6>vsYTse7Z(ruN>GmRu zvnM=NGPXb8W3(y1S7^UYI7`61eGm3E+vU9SXT4}wzi?hOM{SASg08xKag)3El^LHo zanZm1;PDToLUT=n9J}T$seb#7%dyyh!N!!t)d$?3Z<#--JmdhIvtKO}<70crf4$GA zcD2}-{8%W@b4k^{_HrA~nKFj`3&P4b3I4jiZ}ny2f@dBF>^hV;xhBnPv|IR=;qNE* z8gRZY3P*&a$xnaLgZ6VA`7_LT^zWrR8l6;JGcQ}=pv}z_JmUU`4+Q%EIoax*?oe5& zQuU~V$zje$#^C9*`}e<^$|AWSU1fg)r|;d!W(oV#n-ceByt!akHP?}2Q}yM2t{?xb z)|k6|U%TV+;8|u}cJi-&OPlVTaf{5ZJSWUv@B3%J?}_2V<2*C%<&EE4a;F;E7yRj-Vxq;mKQWBYkL`>r+2i8T4N z#4gpMxY7U78oQK3VF$NA&am@Wvc7TpPvb%R$Q*qSs|ZJNb_c(uZ&(~vRx%goC2czJ z+-9QZmZt#+-m1+#^LP0x`x%PNjaP2B+LylS^!d77#eQCj%d~|NU-vbJzC7+X_0hh0 z#ShMXUD{`N*k^+@$HWD8(W_G#*Z64o=wbgDC#)T=;ZOw{)K5tZJ7G>{oHBKOg`%I>@RS?|G&@j zpWS2a2VJ}NKi}uw!=HKe(iFSbEcwhzrqk`X+5Ssu(fJ`ghH*u8y!m>q0q`Ofw(o@sxA|#) z1kDF_J}(UppH2O>&!E9{=LPqzc1qlPm4i%{*!i2Nmnxla+UI@0cH1NoOK^I8=7R{w zZ)?i7bsb;mxFdnzLVm83`|WZQb~_ys-k%|n{MoJm&6CXulD;DrteO3Yq9szjF@07%e`MY$9+kj2iyL9hwrNnnylETy60j-#Ns1% zGY)hfJ=5&B?}hm5+}lpA;BZ{vjtIw&`DbH}Z(Qh@mpI$ESKQ-Zu+8MCWx=WkrM9)U z_EpYum~>;|%b=?m%l2=3`YZ9vR>A$9ueropw>-CVs95sZ zhT+aW&eval)s}YH*&MwfcjQvRzGq(Czwd5N+qX(pv%O|&q2nd1GL?sW3LRJd^UXPM z{Of_;jgKaGo<4KH!t;zwOuMqfG`={mpI^8g-oBb`y+EPgp2MLoWZ5I5{RQ!JF0B`2 z*qIcGWtr`v5)eR$eEschf7<+o#(Uv#kZc1bznmKx_Mc1U#P)gy6^ zomELrGEW~JFwf>(wDaeV0}nrX9}D>?;PBe>)^a(=ANJ)r#xLgcSKG&)U4HkkpvwL$ zE#~hJbiLho-8WobHF1*N!otAcZTUfVe*`WwZMl@ZZ~lvq79GEB!TCDM2@#H=ultf% zy%spiKX}n0o1AdaFPnvL<`dC_r2ThaBbn@rfI^34rjKlJEG|Ia{qpF-Y=mh ztM*UYq@MhvSj&Ei!U@(?C*l36di`pF??3H3qjV-d+5V2*iE|uZH2h5LCZ4xfdz3YI zU-!2p<>PNU9dGq6opCL>!10{2O2uI=frGQQ^NZ-koj!2L>A$l=Ux;0y> z`EJI{eKIF`rEkVS_92PbBEm8Ku}W@`-)u*#6#vw)MVSXTG9NaPy{~Z4uy*du-uut!Ermofr^yF>r}t3-XE`iR^oGux&7ZB4WVh0*X$k!^H_aZ|8!rC zo3i>m&29U>t(?6p(6V~pM%Mc3;+#~w<)=dmR(4ErtlT_#j&)bIqv|1pf(>gV4@OPt zfADhY@dKCsv7bAVne6Z@(>IXMkH>*$|4tPK*S`IKCvKaiILl@K+vj#m6j*up*H73f zFk$C|eN_+B93(C{+LdnXeHXZMqT&oXWIay!O|x>qMpH#+Vzd3SZyqj1ORKU8!0 zT-grZU;OCg!KN(-I6hClmT^76!DIbpK7k28>_h786?a{&+P`(-tL^Vz8|{Dl>+kzN z2A}r{><<3>r}pT+*PUNaCp}HrH}O$M)ft0AyJ$_nu=uhVaC$svjtIw<8*=P3KTUR2 zEEE5IqoLp+r^!aMraKY`uWZ;LFyYrJhn2C%=3d#C?!fgpTQ~3{*MZck9TsyWSME1; zHaIfhz~0`pNL(ncmUDlWW$4kzD=*oZu39>;EoPft_IEzvCkGbqOIf7+#agw>F7s(g z&C%vrj=R(}eM+QK9B*9I_?^06;h_A{&`%Eg4j#C5Y~A~p6SE!6-}=>5xv@L!F_m*) z!?tLDX}kDNtFylQrysD%+o-{^KZUE;S(@*ao$F__iLZLs?UVg^Xo9=Jgni|fnes|( zEp{gj9QSPg-R8KA%S_8l}}{$M9^&TdI&+^5-P{rfE2-xqvpDcjd; zUGTB}eik?!JB$$F*jse$lbckVqehUapX>XggHC0F~n4=y@1Z}<9r=N-Q9T(&0V zeYC?XtNlM`Oc6YAV5wZ!^nQ)>hkex>zi7Nq zT(r;6_KVZR(4}^Pw|6Km$m*~=e=tKsDrcS}*MENtd#*4?@0lh?|HLaFTvo)c|66>^ zfz4O9*X=o8;K0XHA)=xD*Pi$E`}~$2tM;$-F;c2K<-Wi9LB##KOH%vu7gV~<;@P_I z(h+kBDZ8t762~sQ-N(DpZco#uaGh1f`~H2M;A9iuj@3k{p!Z$ zuV`9*A9f(^B$e?^nwHX!J4C|RvS7PU75LS-a6p}tCumf^r|%OcW`IPDf%8@ zKan%v^{v^@edbL6Zr1cp+*fHP^C@;=+rGzhSY5NPdF;F2$+0u8KGkl@4^j7x@8&z+ zT2abVC#v9h==UCnm_n6Vfh zys1$R_WRGByxykIb8O$?i1b$Tq}z5yS{o01YG~RQ?0Bbk9Z#oSaDnlSiR!ld{#m%i z6|C!aTzzf*ee;{#j+whIoR;4$c(8i=8RJ4|89-_i)O8gc)sBFzI$P_c^ylR*oEtSkv<;bXZQ7n{JPvVC3Z1#X&P-I z4B+(mM;#H4??b02r1CW${Ac{K;fh=FLAhy<0%u3CIR-8Ya=p4T~RXPvPn zwyt%fUB~rHda_#^_AU7!z5DUYd5*8X>Mj0d7j$sxgJPxrOUei5Rm@}Tw_oq@bDh_# z2^$I>c5F?(DlqNS{@%lf*i!^H?B8#0D7fmf;eNJ;L)Hcb-}gDb^xQn(mBGGc<-w2B zww$(;w5}*-YTva_IXCFA>x!xSCfE8KDW2(aoWiDJ8@$5)V9ln7GolOy4?YY&VIe9# z+d+PU+r8%XaSje_-n(|mJ=mY2RN2$BVfOw>eanAePn6$pHkZ}iX7i7Ij-HR%0?)m+ zla;)>;O@6WcI+#+$gLDxx-Xk|g~GG#9pLo1O$iZ>n%-TBjjJafES*$h+^<}CaMs~X zb?q0#9G`OU+TDHQjDwBxu7IEJsRts}uU+uB5;zc$nXmSwb(uZ8b-m)WbRYZP{i`Am zZRFT5$Nls6wN>}`d0x~$wq$R`zWDglxjEjG?cPnwGw_<5YZv_CGH*=bY{#wwrT*Tw zq=U<|4j6^?D<0I9EIMkee853YPV;K)syv5)QbA$vOqK)x_ALM8EV*j`662H4R%Mvj zr|omz^d#x1U4Zjst#9ie*d4lavT&!v7CZfdVyT)nLHjmsGBT{aSG-Si-Lk&8lkJY8 z4E#6F2?iXT^^Rx9{ZhVzwhIK7to*myVdKi5Y?o$4ImoSA{AA^(kNahESh)XpPTRlc zTT_ODi>!UXiTIk$c9-{w&*68jSa-qB&+v1|-NP&F_U~@Udh6+D_xOX+CgY1K;BYLE zMTDb$!LoOI(`FugDzVMMIVk(!)FmtiS8Np=nFXHw@=HAC@b2%&e=9!c9#9NE=6Q4y z+kw33P`5KP*4b;kl>UA8fr)*A_Cmece`NO;wLC0abmOMo+sUuO)grIhiLRXF*R8T- z-}nDX`5YPj`}$`+mRNXZs$=+@uEQdESqGnPyleJ;pY*|Ze?9tKA0KmYbvss9^C8W_ zQ0&(ewJ@FoDP~(r)Fc<||1hOyey)Ur{q%b8hD0F&d+BX&MgA>$Ww(9GzU4Yu7xoqG z%J6K_n7dChe^&gbd3|=-u7a+{PnsOxa6P|w=S|qb^0{LC4FVhoO(&NZpVAZp8ZF^?l|+oOU?dJ>4KgsP7L-+b5BZ7+5EsR*6>+i zN7%uA2U;q3O^}?jZ;Dmr?VCFw_nc`-Ai}Zx;l&S^<>w#N?I^rj;*oSvq3@O1nf1z! z3RN6tCxZ7lta!J}=i-jjW23J%PVe0afbk>Lx57qi#f&0Zt?w$Q77Uy5*=Tit^mNBy6h@Jf}x4;2b&M%#FC7Sk&YpoEHx#nQMC#86b z((6ZdO}UzPZz#U8GwMI$n5MGQ?gfAE>%|UB_Qi=_T6Fwb^*;9dtJrgyD;-@$98DNL zL?67iW6?$5MgI@j`S$#GIltW@-mB1gmx;TBr{Uq|Q&)cP-xZy>Z?l zw10R_rDS&R6T7>M^o+gwAK0;U96xkdq1R6R%Kgu4a%S#hU$<||Iw#2d%o8C*IR5`; zuyeo3!h;JI%sc#jlm9_Q3kA-`dR0eXNd_zVq$Lgqm*=glN-jEZ{(PLoQvXf%NA8;k zvZ$@KH>odLsUGgKUnGR9meqoH|Mzc`?JCZ^v6J%Bij`HZvoknpwmPb0(Z2q+6bWCM zVmqBr{+~Thl{wbE|ZMK7~&72EbHh8RyUEa|XI zS*KGj*Oy|)Q)8L1jCJr9`C{k6Enz$H>e7AXTuD(yMJx8{_P2ch zVBBQqxx%1h!ajd+Ju{CN5st1!j2Yam3lG};oo8~_%iJ-&_eWI!OjXB=3pD1ccg;UA z;m9hUy={dDmS*Rdgt>mPkB`n>f9KpX`{QQ>otm}$_Mg}zC)<=Dy+7B&LivipZ@b$& zzw)j9eanvDrCGl-dDlL!BY)?%7R=fg8MOa}m|(`iY0D&YZ+$I1`0=HaXZyi74uMDC z@1CH3)?wp|`RV!7Jr3+)OgP?S%X46s0)y}ys~Pr(7kOp7Kb5kNkFi_fQ@~=s*E{X$ zmCYaQd`0@My*_hvUt96o6`xc$>{H7><{a>*%}(XdmPuhup$9MC$a%-85r1&?qIbb%q$n5VGwgU$5tKa$l znP=~2*yeJC8naArmM4+l46w~35=+a0DP?>eY7+2erP%0-5#e}HW1W0W>70YlOe1V$cBMJ?K3!cQC9UXq$Ac&Iy4K+XzyGEu)osc+ z@Tkq&_dy7&!;CrY0&mPG*azPB_!G9#Xa80MQBG+MPW!~ES)6IjzwF*${TFL0b8X+2 z#(FDl*){u$E@>P4u+O)KvZ=)UAb@E0F($K^k3HB_yRIXJyu z&JYoua=?45)voN_3KS=C$rvzum!P(Jp(o#)H4Fc>nvY9C?uYytUCoQx->a+bPXv z?wcKATLRf_R|Fo&?f&F$eFHY6_PWiyG|A&`p;G;i(?GDVlFnNLa z{C!?iHZKg2*u5{bQSQg&9TV)DHZ;tLYc8|{ts_12_sT&A5Rg!Hj9l1edLi0gIbi38^1OvQ?;6AxT?&s6pym))W7rRM8$t}6SvyIk%* zT;aH%W#!ePbm5EpS{%O|Us`d)?&r1cH7+05+eK}fc|%>g%P#$d-1);g8vERJzupt( zn03(WzdC!oY1+YiA!{#xoh9cu_jd0)-w6jC6cuJ$_%F*iAmMR{d*igP`+Z(@JQkCl zYp?L;;Q{fD2K#^S;6KZ=nZ^FH-!{1$S031PXf*8mE;HXwd&4}} zYOM!Zh;0p=ejhKC+M-9LY;+K~Y7nf6(4->OJ`7qma;b2Z%L5TE_i=gG#O=fB&R z|`nebw}*pM1Esb?MgrmwBLe7m*lV9UN>%OzqS2ajdt%RYU~=XgM{ zUa3ESp@ZObGyT;Q!w($$dVHVt*Gv0l8%hqm`QK_U7qsiMDF5Ak>^mN93hMZ6cfncw z$B*fk_bKQfymj+`^S-JCz5T`8`|YGwWS`3IF93(5!)HV|?q9umXRmDG!H?C`m?p^= zJKp$ub4K!yFAg4yzdram?d*Xr#pJi4{ALHLbbax;@l-`xHB6F9mXj05MkR~W`Rhw<+{eHu`o!@sNo9+A@=}r5Vt+LqtZAaujwKPVd zlFpuk5>_J5>UazeCTx~AUC|=on7UkZ-~QS@pUu9+`CrM^v@3Q-ep1n5d$#Udv-VWHn!&<-Ui06*WmJLO z7x(KeQaFCvre9-I>KGEU$2Lc_*fAm3>hqtH?+2_`FikCrIeVaCh4QVF#!e2oH?7)D z7}y>1Sq#r!HYnTgwSZq#LRDpdIKTTl>tDa^)+T-zHapf}=l5py-^b~N`?5~n%X=15 zX19cKxp~9dlzsN!-+f`vS#U75-bNy2v$Ny7?O%=x{ZMjznDXzjhtB*1ocA8IHE+&7 zP`<>@<$c+0`>sQFH#S;LwSV1w>_VZbzWs*igkmxCH+FwD&R_li^UgjCocZ zx7reKIk9P9TS9r6m$=Ekrfsuz*c*EeMoe!>nD`~Y(~|aoeI8|+Sii6nVG*>pH8{1;-f7F% zii$S7wagV$Pfg6)H!=KJz1D5Wz0F%*Aj0vIsc?j!V6S6;Z}N7bwS|sb>}tH(dISz` zOj=WVI_&g;r)QquQcw$b(Avi$A@-itAtyMUcjb+`{qeeSf8(Oe_KP-Hu&vSKw_maI zM1Iu$FLtsz0hi^LAKsTT*K@}-^Bwz)44&DxtO>GvkyaVkSu*dS>bnO%##S+oF6XMh z9hj-;D0xI~&wuBw2O`##q;LP7c_1T0alP~RxAtytJ6scNr`jLvzO(GEtDXIoCG!=R z@8PolSd&gH+@dF2H7k%aE`<-^+*NWLO3uC|A z*WC}d-pW1QURvthquvij_UYBZPamf3v-@=QM7`DX>-(74+ZCfHE#7ylo9V(Y6UTib z*Cl0cx1`urH!cx)QQmfN;oFLsSCPSvi8sR)&+~FQikdu|c~g4rf$EdVVISWGALuck zv?j^%iG9n5E&Cl_G~1VTT#eoGSlQnF#BH9$!qaxUcz5kRD}Q=lthcu0!s#>iO>32~ zf5B_LFLnB>g9;xb!1cApJw!PEZ~O3YivL{4rQbugp2$sejIB6)QH@RUpsi-iZ%(g6 z2blM|^{lnYaF~85oJm)R$w4Ij)1Py^~+D&GOy%)Z9x?N#!_JZ7!$p`;Az4}@GF~_k!cZmw?9x+F* ze#?{9OvetK$m}@pwJ7O8>|-4*W+es(`JTh+RbOY=pE~4q=J8Wg`{};r>9zsf`$JoE zx3X)0*w_E7?~0txdAnb3LiN6fmfJOjzuV4zY{EWX;~6;uPZ|zJZ?LlLmx^@M_HCGR zVmq^=_k{BeD&m_Dmh?_wHWyB9 z{lD*xdVBB@<460#dfS3mNgcA2T>r-W;`v#2uV+sD`g?CPxSn}*0}+l-ZMW*Kdc44~ zUE{8bVQ7>ii`6v$NtgLa#p*HnfsSN zX?-v5VYYu?@T$mbM@8*R)x@rB)VgaYn9w9T>-O<|^FFM2aa(KYJ|2_6|1*pV>>O$% zSngT39}M_ws3dl{z_Cd39N*bwZpW|RdJi1@dGf%c3ypt{?2J6{a8s)n_W>4%Ppw}I zo}HgzAFWY#-uH@{y;x2>-?!T5`)>CMc{=`oyzk2AZ!e!7UAAv|@Vz{Xu&H+1j_Dz9 z!VB$UdlN+)^-B)Ma2l*zBpmCgK1ZU)^5Ay|m5w^iP3_wbO#Z$n=#{_Q0q5wym%sh{ zXfK>{pV#DQtNl!#YF?Jv;`RcjMH*i=yx4cu^G-=?$hCcEAI)#KI9j#u%(n$SIyyae zmJFJH4c6Uhrt7COoYKV_e|*vv7O{rg#6FV%y}XRa@pc4O{=ojcAv zd)iUpQ1h#{=Gyy@_D@PzsD8e`aKAx$#+jCT;`=8~E?Pa6lf!;TpvbR(f}i%?4cS|? zytT{j*j2UcZL?O|b^KH@F6?aB#~}J4V0UTy!THyxnk~Ct==dy4jDO$8*A5(~W-I;< zJagcpNaAsit!@W|-W1QCBFX8nUP(qu``J``xk;&i?A`hIv-mrfU)SW=|A9L>Yxdgh z`yL#&{hPXLpWQ(hmn-gtefv&}nV;Mwnz+&Uz}A)a{NBgD+W-0Gd-$SZv;EV%n<@*ha_vu+GK|;#@N=JC zMsers{0(+WDoXd9p0BnGX;Vq+Om5$|R%&tZ{G-9(^cZ#y5spTsSAJzqS?HMZ=5b+M zn*YIb&J(@uj8qR^Q*is;s=L^stR<7}Q9_}E&c?QNhKG*X-}MVDzg)h2|DR7u=LHus z+Pk=KbFkKzuwQs}hv9UmZ~NwDm-_!)aBbhD#-w?&i#FOtue13cac#2QqL$pIsN3a^ zcV2A1zj0Qf!{~XFCoUmTYz8d#mJN^WXHC#iAef=@}Dq zn7)+Tw`K2iKaeNA|E0Xc7LQ-w_f-kcQ`GLgu+M1(tK6=3?X}CZng1_j z6XaZ1fs=@EtopIygw2cjjx&T*)BHt}4qjOL{i{!;{peL zeYw5!1V8LI4pl2E4OzW^>U#6p&d;RnlXXh+&eS}yQ+Muq{r&#^eVO&=_*ZXQZ+FzR zq(9FgeP7TgB{mM}qJ6hY*^U%n=y5!1?xcB(y}&UbEJ{r5q~O6+IiD*#pPV|df6l>Q zdOO1%=1CjP(4NifVBMpUaf(rMf0M|zn59;B`+xUDKWBf(w7-9Y{O&2T+xE@6^m5kE znz?qu1;sz6Tx;K_lJz4w|JtLy4}Lql^L(vvyeO&sZq2!9NB0ksn`YkncR)5PWM5?P z_5d+||Ln#S~ArUU0gzWp$lUbFwN^DU(v*BtF5dcLf+ zu==~tb*ZIO^YNeixW$uJNYA}!cT)J-{s|>(?F_zfF!+kh*f+;?`wy4>Qyp`K*R*qI zWjWqX-D|U0OZwoH<4=4Zoj7*Dx^Hi+=*tub5A)0*hRxg#@A%&e^yN<4pLTRv-qteb z{ST|O7zAfZ?|&(lv8q{a$G#nQJ1_k5yKXn@#WGWMqlNp5rl@hJt(vfpAt2+W&5b6< zA3dw`_q_;nylIg1)OrH@K@|tB{(pxyA22=g?4X%)kVDLh(`*)OKkRqDxY^?p+^}Cx zp!emmbq4!`j%7zHMltT6aqqY1?w#BBc`*B=OT_NAi{fyPy695B?>>9sqiecl;C$V( z4-t+HW=prvm^{gG&aH{EY^;R`>n~T%sFe^uxJfuVUi|xM2iL`4f|fa^Ih@v>@+@;2 z&w;wIsuMBhUV)XF1}`)ynAl&eWk+@II4xnqxp-hMORKfFGx}WwLQo%i*d~5cHKe|>k_n_PU;tQ`V zV$bvMm$>o6<&g77yJhdE8{X?`vzwLY2g%sI?v*x zg@fb6hWZ(c1q2Vy@d{qfd|~c^=G+dmH~V58j5zClGD|$OU$XSM-%S4*`+u3&yFOqy z+`oDe^I_AY|M$h0uo#{dylyA)+WgVds=0R0Dlclh6q>THea?jQ|NJ21JwG-h!m(1i z{NU?$(}PTUQT1idiVseD7!w{e_k@F2ny>qv*B2Z@+uv`Q5c9(RioC(T*t5b1Ho4}T zOtLB5FSX2CwQX03{lTMA@--GO>{dK_&&JsKY~QNSi@v?6IkL}sgDIB*Z~DGD_H`Yx z46Swrt8FK^Gc0g?YdqQld}Vt$pSED7I#k zoui-5%oXP=?M&~i&0yc#?I^`KopZ}uEi6tK#E>V!UB|4*~`pB2wjt3ATD-(EjT^@SDdesi_83}2RC-^YLXz`XCdo9x0* z@qgbdzsSxg^h@5wr$ylOxM>|C920Na@Xj@BIaoeX#d|VK@xg6(<}H=%;BvhFSvdWR z<^_idf^(ZM+D9BPioKt(`-#wjx&uZImKihb-+QF{X>bJDUk>L}X6I+xZ`}B8mDjnw z`vR<|nCW>>w3B37A%EPcX5XrUwzUgaq}jC*v8<*{?Heig}^{c^7e(PK5ITxJl9-T>fWK`YdD0Q&zOVvK7gY&|j zV`IMv9K3OviGQ}{0tc^5V|yo)IETZmO*=PkeZ2onz~N8Ze$Co{C@5CscEMFU3m%V% z$clUW1b$mryyv)R$0;+5Thgv~pNMMw{er{kb~%=70#myn=X~U>M1LYx*3_=Qc8et(x31*wJ@E9j!-X=HC5^w*4%9h_?%d48e}K`MpRG=7g}v>h zig`zC0_`8YIQikO1n+*^4O^2pW&hnb`Gc9qR;DJqeb2(}w*1;_C)T8>@^)6Y9Xqe7 z+pP7o9Q&kC%r9n0Ie22(x$Z1h#e*En(;{ng4>~N#nXbazp6l>bJXrZIJKF&Xy-Kr3{W}m+O0?X(yJ7dB9cT%(8N}l*?S8yT!ipH#)c6K2ViRWUM?mK1l`GTs- zf_=F=V^b`{I_Mds3hG zt6ZA1pl|<_{Tc!itjCi??B%A+^j!OhWq<5_u{|d9pW3~+a)&od8t1g@OZ@C5VhLj)S8tn2Y6UFmTcu(Z?7`(@q_ojZ0(=ezS7W}#kpTH^Pgg+?X7*+?!El1 z?~t+Y=)zz%1*KNI2a6Bo?D9;t`^K=dJ8#<*$3ot^-w&r`A6(Kl@%=$Nse|_ug%@wV zcHF@~bjD%B)KrJBD_DeId+{E4nfA9!qHy;9ycIuA)-gHTZ!kOU%Px0gU!Z5zol{Ad z?KW^*K5~hgZ@2z#Syk%YWV_=kVH-|KC+?f(x5z^9Q={YkjU87?--I8W^GMms zvE`nGrFUh)!QTdczxI|095l3_JDvOQX@?zg+xMjUhC5td{5k2Oy1;>JF)ZbJr;7J4 zc)lY}$jaK@_}H7TiAwM6ij-2Py?Xe??)wJ)(0z9M_629Z{c&~e=6&*?C0}lt*JLNQ z`q;WhTgx0*`JaFGU~hdOP=N31^$FKDv0{liH%~ zNvyTt@^RKoL^%4TMi~c(EIi0HXXmkkP>+Mx3RZr)zev@wI!!_Qx8@v&DQ9M1dK+1E z;F^;7dCOCm>=!RnczhynjlEF&ecwnoll|!zrrC=g65G#qDQiWn)RTR$V|8QuY!2EP zPhnL(6|~fj@6V?vU!Dc;J1sJ8N#&nHN7eaE%`UeK53bt1X6g^WZwC%3{|;TS_^gA| zhHarjD>WVR^KLIY6Ul!-^kviB`*l6`uavG{F0D7S4^dik=|tz(eX@B+j%9e?wflHq z&}GesEp{92+at@H8usaXF5oUzFWM(^+_&}?SG=QDuKSdmKjRLvu6dgo8S(hQ`IR$n zNo?Ke;5av@u-9J9VXC1`kFw$K{c$qtq0Cwp_AT?O&nSs0+izgJpL1*7hJDIqOldQ} zoU`NjS$8S!!6Z9JyEzA5a@X!tvz=sW5EKQ@*CA67;rMFT!HF%I3lHvI)}+Ms-^uZk zhtP~WMXHXAPoI6pxo7Et%Dg=%?%5O`Fml}eZzIchdkcmjH~-~J?f>ZCoujPkxqris zJzw1Wh4ydUX24gR^V#nDNBz?Rk2lyU=P`#q+r4q$X7eALwtg+Q`xtibkMM)SgHkTu z;uUua56+M^{GfI1tAqF}wk02LpK)ltcda#Yir;}r>$fQH&)`0A$7Y(rYyVmH8xOSX zy}no6zTyJ+iGwe{+v$4j^Ler8j@^ovpOv+p4(+?YDsU>hNXS0FqaM#{@*C_dCZ2TN ztrdST=W^Q4d%xoj{(5n+WzNS(4oNqd^KY~7boleIy`!Mb>cDbonfE@&zwhsQvT(tI zb#3;?0=2*WvJ>{*z%Pfzv7Br@+lka;zU<#O?|v(pLDac+lQkic4ZxBe$K)Jz(wX zwp8LfqeJzE=`Sl5&9M*b6)@A<<+0y?>z(vZT~hnkEH1Z+{QKPQV@1NV^@TU=xE|SN zJWZatFZi@j#n$gr_H`d9K3!teb8zHeigUwYnl5z+gEq}IaGFVp0lG<-^!SS+6U4?Vp4xQ1f$mB`y{*A)(455lGp5N zqQ5M7#a3%q|J?E3CZ&n{7-bK%)=hK+r^geWh;a1Y6d2o=G5g?q?q&6L8X1n~F8%%c zrb5ASf`D0SwegVy0)NF@zjvk|SXTS}`-)4f4%=@?EjcOHXMb95TjnNv*Zs?mDlE$@ zzqc=FWAdvf77y&Uel)l#F?rp-tx}Q+0_{orTJ>Zr);uh>!LL`8pMLwC zeb9LNq7M7b5{@~c0diAAk2<`K*9=p$N&krlBTJb6y;CvR ze}A*rns4uZ*_m=2sw}HJY1i<8`O&#YtM=WNO4JTZ@35d`E?=m7l&RNH`vPe`aQb$;ku7$;CSsrzae64K)lDo6qjB zeestA?%HMc2Ze>d>TGn~zd9lL_|i%H?B+W?4o+M2({7JR^2Z12JN701@Qhf~wq;*< zs9MOEa3eW8tIU*-rm%O=8^%lQs z_U49tzCAmfS_G!sX{9s05DaZUXr7w4Nm(lBAY;d#65j%DN7uQj>w_PxayaV2Eth&b z^uUh9t?$Da9`0{inkQ9$ufv}2*}tGWH`MmqCQI}usW8|#yIL_-UASrIu+y)weEWfY zyQ<%1YumT)d(>ghriU@T@V{&Ttde*PP75344a?T`L^cp~eINBaUi=kdC) zIc6t4Kkn7PvT1hAle@)!t9962Jz^vsTJHG=XB?T7F0movAeZdh-C;6H zjwWeOHl`om=-^{2B3zZ9eSl~4!JRCzkM>J^?Y^G6Ylgk)^?gkX+Ku*~=6NoC;UkNE zLx33T$M~CeTliTOZ4zhMxil9ppUIPGmt;~>S}_#GRwZmybmex8HKccq=0XTlFKhcSMceB=Cn?~XrQ`)9P;H#|Dqud_yJ|LH4r zw=^!iwv**>&&i#8(k?*1_RpP#6YXLx-mI!vnrQcW|K7;`UqZn7`dcL;9K*Rj8Xr2A za&UU!CnX`XV#l2-C3b;ZUOC8y%P-Gdd-gzV=5=4Y%jyS|<1gQ9ozL!IbKBZZ@^1eA zIDbyx~E(-erA3!_R)Q&hw{pf;rB%ro~!J0SYq_2lS3`%K&{r(_n&@L?hpIP z^(uVDRQo{LVBW|{vi5bCf6dJ*5VdddYTvzN+J}9&CI$a77TC7$VDzyYogM4!?o`(A zbP8$SXCt^E&uDJXLBCh(`wMoe98Ao4=8`o{z;Uj?qZy7_RSs(u50*M-MI11DU-jr+ zSH%8;1+Sic$<@K!gcE7G&csJ$xzGo}+GR(Jb*yk?x{$j(8 z*>)>B=Z4(j%m9buh7v?L{@HZe?&z~>$5)Xe3*_DxIr1*BU3L7&zXOYFQg8bxpFOa& zz|J~Lz}=x&?rq0`t85OpyqLGh7#HtfxMkD2=E)}e3+!|FV`u-_H(&Fxy@c6)yO)W5 z_s^X;YFEHHS%gJyqMg8h_9InZHT(Lrc%9ceEjXyK{y*1Q124zDsz>(9URH8!l_>g? z=fC8@2j7>XJL<9z2!EPX6}9q#eV6WSzGnR?_WIkU@2$M`ao-$k*~14*#q8%SS>p90 z=aHQ!tK}7aqXYZ;QYT(0^IW&@WlU#KM`gplF8{yRUt0DY-0OCq^VxPY$36XN6(@rQ z9B&+O%B`L^@jzV?`*hbE;Rl{XbA~*7b;e%tW%h467D_sJMwqmR|ccw8)Vt+ zXT&Vin{IL4ZjS$6>CD+H_kF4NW%fBSZ{L=G7Y+3n7lXqwD<2V#eEod;vjrzO)<14~ zyTGT=@xp|*Pr9B$2Q}?DUN5|O>OiLFYlCTJkq*pC`%B0;;e)++#HOhSHK*Ed zJh}GRn{;FQxChgJFA;xZ7x%JY=kgB^_g%c+_u#_uwRY~UMRvPe^7a|u>V6+99=DIj zQhD**3!Mjl-+ntqTg2OOvs`vp&I?{gjqjSLs-l-1Xw-|fGSLn@;PmOnqwNWI>?eHu za?4u3$zF2PQODC<%Jxs^+kOAo^VIIWz>ZI{F_-tfWPe$neR+o6iO;c)HF~c5j%6yn zFB1&{hoedsA{-CPN!fj6o8dTV?H>E3S8^PqPHi~Xxmfxj%MIpjm(CqKpkH74?yg(1 zgV&A_eqLD?heL~m;tp?W+yCw~-y!)rr~R8knCE!%{T`7tWi z?$o*iuIX#@JQ9Kru*I}-^R+y+KjtcUiY2Vse$ABmI(epA_94DgZ(dx>VsCCO_2o1RU9r<%xt*(2EI`YlVIjeN)*nx{T@;x#SCLXvjL1W*oR}2oX4zD^DS~bJ|?#xcM zKLI-Sm!?^H&0n<9F7Z(H)miV)?<-y}FiD@KX{>bJ7>-BAecAfD%aD)G&j$_zc`-ir^+e$)P z?V~0fIB@)ioPF}`CzXj;_wBQ}mbs;d@yI@*D6Z=b(W(2Gm!+yyi`wkFmy|C5?6o^M z9B0HM!m)g|*&iG2g^o|IN89E+4s*QRdgt**LzRQ`;ZtNblE%yiLiQ^ zGf}_ot+u(oYATz(Uv%q*z>09Y{a$4mho{a^vX@Ps`0Go=6}zO3EE~S_KG|2`+#SeZ z(7aD^a)!-zk7agZqRI0f>$V*1Yif#+=PGnumE03~mW9KyqP+52NaLvkAEqWe4X+G8 z;5}I(?sf;O!-s;*%`6@>>_7HB2p8@!v{(IDx6kR)+kF-bqPMvp`L?f{hqHZF#%81zDoh-tOIV;yREd%c3as^XW;`tv{U%Mp0@^V^>%`*vq@ zoHJ$GZdZBL#k8?(sa=O}o>}PCYH+>|ib8}V&qvEucApnIGR`Y{Tz*d8ao?`M7tzV8 z2c_KgQW**-9awpO{&~G41rA%+Pgl5J`QDz%zvj+-{>A&9?mP_2sJJI@@LBBS-y*v0Wc+f!!CwBwu(q4#!MSsP5Tw<*-Qq~^i2f4_{H zcIuZKc0o`6h-?kKx^L^9Z;_%`*Y1<$IBhfGc$yu{h0=%<>yqqj+HMp%E^#^-dFRaK zxjgZX>H04B9;`a%kSCClw&uW&1IbFiFKzv#dqCr0PwvT>Z}v0nH$HXU(`bL=O0LyJ z_doj_L&K-vTzqj~^v(xn+#e6_)A(S}7?RzxZ^!L6y@}~*cBaq1P0H4H1*b=zP((Q1 zGct(N$yn(4aS^k6VrcNe{Uv;}nOId1zFx7Hr&4vL!-nliURmjd4uRIaU(SUz?ssbx zG+t1(zMO;3LTv?*8UB0WjgqMmc6V4p4mDoD<7>}cae%Lkl z+oyRPrl~K!DtNQa{-jKbhvN(N{he&dUzz0C_b-{KZ#u)_(Z1bk@m6)*C+#+!+dOL~ zbDkZ$Z`vj6!=3vs$jwljE0yKA|8`GewoRPlo0%_8W^HePXl4<{8~zKn8su<743lXhMQA6uQ=s~2Z(n;!q|okE(S4pDMb(Zo{rJ1=<)R(+ zvhTln_mbh@d3Oi)j@#P~)TEV`dPcZAl*(qfaL)T_ANq#t^K7>0{jp|~vL>!k-LJA* zuRZGGM7xs2nWs4d)73V+pqo=H78pbJyEb?s!ttuIQ3#{x zOvig`!@^T@at=;%7Y(@hSMH#j>Kz|})yEtrMW5U>b9Rn{)Los0E{QA$glg)pPcUDz ze{M@ec72bH{k6~PA3mOVW9P8U-+R)NNBd^EYL2WHyr1T{WB0y2zb!HyjdrJtzn&#?@X5q%gY?@+4{x7G*uXL{7 z@g(EBJ>#vDum1dN-rqOh;&ZX6-u?{-3I6`{ZCybW>lZ@wV!48Gc4=kFT47m*B zkk-3>LJre1cQswJd&6ppk?8!%ar#mOF@%2vHZ@uo5w98+`{qj9o*)ALm z`-6&HT<9#U2rk7Y>Dr^rqH3p1#_= zxTvuBpk#F5Ia>$jg9R^EuGpA-!69sQ;QzxKAr8U)saJPQ6grT#F=x8u*;)HjBNdg~ z*#qsT?J$zuto+H&cESwFH?>Fh83(spMcqi**Cc;S=)X|x@MnB*wn5GObZ-SID$;3zBN9$d{&~VRF2BQAXQa&&VW9L zs_mOiKU)<{W-VQoIDx_@d%?JUMqqWky#dMdG;5^KxtCTV^-+I67Yu|X$pb&Z$eLB}~2Gh4R_9_;M; z@;2JH%3se{37PD=40HB(FRi|&F_&%s`X1()>gU+^GcV+THp8T~#w^ika>I2 z!J8NEv9hh;b9~TonRC~n^A5s28(v7b#2nDHV+nOC7djwxoI8+5evbWLotN&jnS<>; z>b%mVul%!1e5rEL#p%*MR@+%KCbb>ex2+*LYVo`U`^>%@Et1VovrGPUgn63EJjYF^ zt5f{nMjUK@c<5GurSiec&Iz9RGqyVP3Ec5#6)tory!3k7uJgb4D=Ho5L z!QrT6fC$Ia|7E3~7fd;*e1c)BqX;`hVZ26}4=?_CwQq;n!^JUltm! z+&A%|RNGQhzkR#&+WX&er`TPdB2jrMugx*k$d<==deFhp@7{IIEj$MgeX`s0&R~PX z?E}Z}Eb5GK@K8HbQIYp$|E0ul zcg?!SyVLg_UmCSsVO_*NW>K@LGJ25n?C)qH!tqMB`L?^=vky+TT`qqoFXP}Gd+`jV z8H$ddJOaH9wjFl3qEz5BNx0xZ0e5Rl!Fr|x7p5m%`|iHpe(A!Pq^PZK_Kd*=Pmce2 zwl5;HJDH20VL$)g4$hq=7xsmO&y?H#c)Q(M*Y~*xFD$U@i|sfeK6A2TcFpxYeXDa0 zDlzPDxwuZ^p!k%=Cp`-N`daYcF?|@q3s>wc8~cP;CG5xnFG(46ob8PT6*7%b)9Zy@jIlFSRYO`%)$GE%?*aeE}wO*4X}PaLn*s zt;%>W;$ZyZ*{`BASPyQhP-0qLu+?FoO+?X7tw09_<3BqxrGD+-Y^8iKy{LJAeO$n?uY~$xAANMF%YFe=fOO_yX_3cE?rytw(Im6&x(wy7J6458i`1%aVVm6`gT7`|gpzlgq&lA6>3Y zTV^D1;52*TqUW~N4Zuw80t z9&39dZnDow(a}U=T~L(u!lNM;A@drQ;k2^ z!+%MyrsC#-b*jPA%XaT{Xf;-95Ry8*U-;{5UeEo%_FwvH&twr_Yk$5vVWOCag#Bg3 zja!rUUD_uk6XUmE@R40X&w+M%!AQH*8w(ufbuQkwvi!AOp&le0xug-{sJypueXZxh zgKvCQ7T?R{6nI=cjAh>?}O^^z~Ke*T#PxZWq*xEU7=^u<@L`!#(Yw11w?(`Lo)&4#-`S zGMrvA$38p#+ShkCB<&B$=|u?|Fz#0f2t93{ea0@#W%}Wz+8gbRs_ZjAEK0BoxA-(` zm0!X>g$3Uhiua`)Wc^ZodfL9YgX`Cen2U$Lbcibqa6GVmheQ3VaCeS2`vX%ac@|G% z{=R>AYrusWH68YEzLx9{?hvrQbLUQh<++FZo~fjtaC6*X_bp{%hpyIpF{=cFsF z?RckTJ5MyV2dBp)qKI&0o~RnLf9d>#FG6Ou_wPw?tljILn`*4=IPqt{lW*JJ18;u` zir>AIbKs1lz4gqaOb+4!Gg~W)X4&7_EM?l7>$X2iX3#=~ao$ zvZxbwlP;RquCUp)k8}3Lyvvr3cCUngM+;o&Ie1g2e)&ADf`i+q+&)s5FX+hS&mq(8 zeA3})T<+O54G9MhRWpag?PobKLn8b5UY`Z_=Y+n<-cd5#Z+9tuBBTEZJ9}S6%aBUB6w~zP>GT9F+$fS6wU>;Ep*c_PLl{)&8GD zmsh~%@|Rm3G*tb4k1y~!&{4(4UCr=mf6>cOajvi)`bCz%k?_U+4z9WA{+rD&F zUhx9QD|V;2&dD|`Sh`P2c72)_U)R1b*;DKE@*wN>>I4ws=x5<3S`|L)V8b_!kid>i z$MRzr7KP81cdWCjbnewVdf>vPjp`p`(hlToNHSYs&F0`&YvIl-+GFoOwcu&hG5h_Q z+U8nk`b72{C)w^ujoD+T=`+1=#*VXgrlpCZpX^)gCe6B8)7sX!Z#%0*a_`lt2N%5J z3T(fdb?{?AtB^dGl;e)eJ`#BuM;wGj4$rLSOgpgY{}+#4Hh=f~i2v(&ps>Jx_KW)0 zO{c8(N0rPplvMh?uleWfAe+7K>~1l!$MEbsVE49af7>k9dHZID&h)jsSG8}Iccr4& z*QSFx%KP>I`Gg<5BqDY1%TzYU>f|tW>&+V-8eOYx9A$$KXer0ryp4UiU(wLB*xj(l z{#ln_imt8lexCg{MZbDJ?t5v_I#YDXB|E=MHC(?=Y_Q`=eh?HSTeHtVcWH*pYsftn z7Tkz%%w?TCr%!nD!Q=CjTVCiEIR4mSIsNV)F~_qHx7P?fJb7TvV!O@nJmL;iy$4*TP=GbD=b_ic=RwYtb|Ki@ls%{sM@_uahe`Df0%M|NAz-DO{)w`JcMMebKD zuNwCmwz~b(^QpEweBiig@3Pqk9c=^`?5|5cSTDP%<)62LBTI42NxAcT944!U^gC?M zJP;}xt)#jAmiYPqnOySx2wwjA_3!12~MxybSQ-M?={ z9&U3(JCD;#cIBt-n=@5K;a1W7gDu?`UR>@E zJs9}6Xisv2l4EM8*XGOT);TQIySi|~%IpLCyv}#5X1KS1uS;(azwZqDsha{LIQ{JQ zCkgJoyo_7K-br%HlrL+)*clm3pP)PA!oDi|*UuSw*6fS7d@nC5+hg}TdCHTY-rWbM zhfF=MxY_AoZp=>QRS)=hM!=#4!7j*xHA82J3akBe)a=*8r;I36Jt@ge( z$BfgS>g`|FW2y8d__y8L*PG4HPJU+hpw!LWWX`sI)ps?|>=Ib8k2fx0Q;A?HI2_k7 zAi{CYL;LiP&3*^3`W38Hbt-n;`RbCzp-0yoQtIE;C~QA_V8=h#^4m}U?hjpe?MPi4 zyF*aWHw#0*to^F9jJKHE=A zQ*eR$jPQ87y|Z+clxr3oTskqsi?Ltzpv~EtKIK}G&CI*&GVQ_e@V%RUt6&g#wu?6+eAbH;T4ks~uSrq5y9|C1xqSS{wXUEfsQYo1nz?exp}u5Xr{ zZ|8Zvkn3$hgKy72;qRa0>-aSK>}F$2UdM-$_huT~E;}IH zn>Xjd(a;0lbIjT9e7t9W=kr{q7e^cIwH&v}D`)mc{<6RF;6%UMj%oJRH~Kd3k~gxy zT&$WPwCuZGXXEKmY3Zl?ELYw6G%t6V-S01l)~Ro=w@cDwVu+~C*~ji_ut;ue@%1bp4sV?w-JYrA5v5uKQ1x z^4?RnzrY&2{k6_hyBL8#vs52n-*X4_raCcI$Dl0rLmamn(#E8@ZVddh1= zIM(J~6n0mb@Azdhuiu)qWXIyZUfTtVN(bkLB>mc`bl|{!t0{6jWwRVqRwOvP3otrF zYb;3kpFU~7jOyzB2}eBk8=6|~Q2B9Z-*bx-)|`L-+5O<=Dr7LcXvZ(dD|Sh7+rB@p zf5eZTTClG|>xf#}t_cVEz4QK9AI)>DmO1|S`Z;08eRrcXZ?+#lkf?fE^4R5s1Jy1j zuRFIhI^32F`I@|Gy8V$I4CfTHH0|?^_NeT-BW!=sFn_*E!-;*dBGoTAZLaQn-1T*u zN%E3?4h=Wl_H3AFcYNF4@6CL*2MZMwcgAdpa=f;50@Dv&M#s&%%S%pVY&lRYs#O+c z;CmqX)y?wm9q;VdY+vf@Hn+w8H)n}X>q-TC=B4}kG>aMSs}KHZK5KSy-@l`W{ugE+ z-S_6F_s5c{jr(pt-=E0V)C$hme$No$c;4psjs?jJ9e2KJI`u6n*l~UGr!1*Pm4hoE zyH2|Pd*gw=`8Qk*F6TKsjkhcc+w{|3J}mTbQO=zGWj9qdms>gQU+3)gsr?tL{q8`E zh}`|>?4+er?~ATow2#B~g>I*5=)QBw?ULfZ1NVii-Z-o%(0EXJWAjoA_d>^aI-MJ? zPGND3X8UTi|M#f_O~=hXo|g|jAT4{KCpUo2;oHIk%OBQGw-?-MccHme*#3RaUd67u z3wDg=-a|9tE?Zc*hTL9rG0ni`72I#D`Y*_USE@Y@a^4}x1WB* zI$EhRysx?W(V`P6zf2xeG`|eYUR_dVX@|)E0Yok@e2M1&*b!S2&< zKQ46q?ZWurs*3bMgQU-g$_i8up5;(=>};z(VEEtrl-{=jhn~sXBpdg=vR~7ov7_E< z$^Iv|I=oscT=!pS_A-*&t8D*Zeb}NiVPEV{`s`sowe#sdC*g&g+86EI_qFo*G$E0d zcGd3_1%5jiI~p#tHkNo*==e}|ipX}WRR=cK?b>%}Of7@DJFKRiHegA(8<_)&r_Fb8qaeVK=llyAEAI{R*w!@A; zNyXac)dV}GDL#9yf0J|M=>Nl?FC6bE&-pt)`o^>aO-f7593JmD(8=QEecw*yz-#tj zAEI7q?6uE+7k2RNww?(4(<%pVE*IoelUeVu zOg^K}AgRzntUUF%Yt_m9A*&%=9N`?sw>TW2pXV9%?nSa!b1#TQc@euxWCPpJDMq#Jteaq~v(ji?^%?wbG8| z=0%=4a6cn)b+@y-LxfnaO`trlLr6osBKwO5dp6%c8;Wg=_xF4j7m#}O-cF*Ty{%}~ ziG4T!TXZJuU%oF$dSX!9>F9lqDcmi8eFE%0etov zpijDcHID(^pJtf*54r^lLWh;Y0s-ST;p)jY?4f7XS* zj!HfFWYLR@%pFPxFHZQI?c{#I!D!#IUjp$34oT&IudUMhzW?g$Qhk@lYxb`=E|`7s zp`!hd=!;i#r%2mJC3K%N`t)<(cN0~s9--6wL<5&R-E#YYUH0Dc&*9G__PsfCNZQPC zqT{o5GcG8n<~e$3^Q}3eBYLp@i8EuzzLN(e1sRLugyS4i9$x%%Fp}4S`LOxRyDc^Q zyG&I$IzAchk6G8Bl|dZvIK9Pa(AEOo^Pho?^oLWE}vZeVC{4}HnYnD zUsbBW^^Dm?L^yVu6>=ZGINfn$)jT|S)Xj@EI1kB$iOD8Ih%p&V56ke z3}eYn2RQpz>i=62;*clk{x)gTH~W?wF3;aSYv1qK^^C2kUt|9*o_$+vGCtW^-i=s# z^!bH-tLpaWF8a4&U+qWsKgAEy?B-wBxTEqg0h}H`oJNG>m%sZvm~{FbXYW{7Ve_Hz z;N~?3j%yNy4=($=xtx99SqItu>K0{e$qv;9SGND2!GB^`7YBxd)DG2bDVv)C#`gW18`a>asqddv5BTsuhAB0=zY3(|{Z-=1c-+b2Nc3;nhzG8A)u$}iPy~^PwnI75Wb%_V~bs%{s!(vEG_#iC(f>KDT1sc zU3Cl*j(hJ_dhMQ9;pq1{-!yMw@j;%~mwTF7{~geG_;`Kd)C&%=<-7miQwnfUkz!w_ z^iAl1z}nJv6ZEFka21`x$FxouvQp+e@(CefzQL={^mi{^gurNA^v*KUID~ z-wZpmsLwU+O~rN_oEW&04$OC)81|k+>4>{yfV+CZTSb+FGQu64^OBYw=q{FVoVTmc zVQWIdtn+g|+Ly9@2`-9Rx8LDNcV@;%M*HjC?_YHo^6by&KL6k{&-Z;7RE%e}${n?v z;CrG5*kx)ANC zvq7uv7ME6vzdg9XZpPUdncpiR?Z=dZh;S5ITN`)bW$r06U7G$<~EA#FZ<#! z)%eDpu&WmwI=J&+TQ7Gw@bhotqz%V~52(F9bMN8tB70dKZnZfZg6w}zPv83OSRlIN`qhSgQ@yh|UL20w*VJ=I-~Ri2#{;&N#wnj24hnpV zo2?e6a`1B6o`s2vXFGVxmHt_yRpekBbuO^d=Jx*fV;({VksJ1FF#BBF=A>mmA??+j z7sdbg{b0+#xcuGWeeNnf!u$Ss?aNwZW1rU8vhUYBqXo$mbL>7`({)_8rQ0#QMpe;1 zL-*i!Cw;Zj#exSdP8IX@|7v&ew!C7tvN_&iAM4zQa!Zfzf3jXnThVRK{zmT)>VFeu z?Oir^?lS-Oai4UH#j}Wp-TU_ZO}X&eq15ijg~KLGrdI6R_>R+KlOJUMT5b;_92xmo zAIUE2I_R8oJv%e5=%CNEpG9?%f{wSloHXyqoOdt@C|UJHG~s~tKDM@bzXT6NDRIwV z#Nb62 zf8oB<$0nbVSvA-3X7%EE4-H}t3jCa*J@=N#z;BawG+J)7d z|LtFW`mmSqiZ%N?6Iae~UTJ5qw$jC?dyC}$isRF7^om}#3%+;f!GHftc2^Qkhnf9Z zv@eb?;>1#m(tRq9Yvk8$?R5M;M=EPxvB$v=CglYdQ340QY`Gja+jgmg(|-B+J3q!a zR0ufSv0DCWzt+n=SuQ7M>|ZK${p`-2TK4^mXDnh8;Mwo0u{9^F|FGTH*#Qg8ijUZR zyBBou(T&Ob@bq?3(-p$+xI2$fY1f;C8zjwDyVjYi%{e0m^kzNr@_DA{e>zZy~ zw{HVe{drOAefzHOpH-poXyLw>PB&iE*Tn9N7gyuI&py-9E#ayi>&3K#`PW? zIF)7AwECNe9oUb0hU@&xayYR0>HhK`90xM(B*N0BE!n^Mvv!>K9}oLme*Zqryv4dd zg5!`zz}q|f{%mk^v^i6~Phv~`$rY^A?OyF*Yrff2ZznIo%yMQ!tK-7(mIC!t!3SG> zO5(2z;hz##{x()!ab-31389jrS0bS=Yyi2N#ns_6Ch z-3$J;pZeusua{8x`a~7;{wp(X+A%$Oxleh<*PYW3?6a%L6!kl|G0JYv`>$MWn-lj1 zJY2gtwqTOu9KFu$^BZ#y?pu4Z>A9fz!FiQBYdJekI`GW>cS=Jm$zk!l#LnmE`3@Yl zUVW>mc+&o|_Pf<_FI?=sd6Uy7CbI1}O1LPo_1P0Ur(muJ;^NtMVOpWTEu|*xYw(%c z?534#cU9EEJmgcoBbQRKoX5e)gHMk-A5~ytIXG`eN!optZ4Ob++xDz!^mj-&mfN#* z^RNAeL6IR$3Jv@9Cru5R{9Vt!wV@{RP}YZin;1X0^XA{MThyD=m1WeiPr|%L{kUzz zzTHTW8z3c67TzZTYrRbEkXEPm)IBO|%lA@!-S z=md+R11E*|K0mbK@qW&qwlQK;*4dwFmC9-hHnN{ruxskp*gtmDC97BKTmIU&TWDwE znUov*o`2Ni% z>KO;gpy#`{#|AjOI&Sjgx`Ds}h2)KY?X$D(H}zg$z37vRJ=fo9lPdbf7A#A5pG zfceRQUvW%39lQcxoHt6baVVG=xhq%X&wf$o*O#aIhS>*)Z2hlmq;LOn!B){Tr@em&0iij|R$ z01w**%|$oo_4R*c%SXV z4SMpQT^+aU=bg&8k3ZP)HSFH1mJYFOrAy+g_XjxISWPmS!l>$)J(sVDd&PzW3yY`iO6e;& z@IAoLDDe4jdrd_fDQknp_Rn0!Zb-N&>_7eOyidtKx&0<5kLYJV`M=L)a}rO$&%1V$ z&n$P;opZ$Q*a`c{%#Jzx*8My7SHr9JpzRCqiSv324_XK8<=$k&zs_CsjDyvD z$>)7vLk^tpv}`C_$a!FrT}X+a^*no>)N99{+x@WHu9PYC{;AmhyE#%{*DZNrSD;b3 z_U-f=b`#lmsLo!tc;Dd_pNztu&D(dPbDHUgs?39L@|*WE7RDX4&Y7N>viQA2rBgO{ ze)J9pu@8j-r*xeTtd->o%D4HpKX%#9U8}!z+V43RS@BVy%|7RDrR&C}zxVO@Ri9y= ze!|Xt(gAOwuemuU?U-lnp-dVmS_No_;*te(jb(@n7ub`|GYh zK9W|$vH#5SbAl%CFYMbr@9>2Vm{y?vgelWfd%#xCYZlv zoGiP)Y^vY7|4*3qPtI+)cyz`QyV>S*w&;Yeusa@myJX&p7`yJ1XSZMD_1otcV-qmb zzWU(g-uRjFanT2#rC)OsZ)R}p&Cldi_1NmL)#CQ$lg)kyp0mFe)0F$Tf6eNW*DJVs z?T^{)^4B}`W#5t-k1spcyxUhQyvSd9NtNB&IcFzwUY=m*5V`WyJL70O(|=bTCoI$f zhoi}KL^ww7{_|?R)69c6PhHUxy_Mzo-|l%pf~B0J$K0;+Ho0R5obRhXpRJvG;FIU{ zdAjr19L^QB1^qPawBMd1@$pT8?f$1#-xO-ENbPTWnYt;#@`GLS)25|MbgtQD9`4%F z(Xnga#jlmmuH5V1w`298%4zqf9h8`IUwiJ(%!8|wx0kO7l6G9~$gE{veAwZIUzOI{ zvuOvI|37y)VE%jmwkhpb4=F6LmvLLX_Vxz*{V)BWSpVk#uyCZaa}=hWzp!)P+6{Rpf~zLl@!FqhX};ZjP<(Ze@pAvLgEx%gK409#?r6HzdwScw z4Gs&6ZE}N;2On6n^qS?7xzG3CiTxy0V%cNABuTZT=$rcfh#>XzPlG@0Tj-L-ooxQp z?l^CeZ>D&Q-MO@uDLbYv+qdb8lXj1C0l1!dHxUtz9N%SM7Hyk&@M?p_>A<{Z?nzEt^2 zB4qJ_`xG2EntTfJowmziW_fRsnpW0#;;+UNhWYqj?;yZS&r`s^3Glb?3l&Y6DMuJm-j z2UFS3eM~1ZUWyji*|D};*)?v3oZpkwjtIwnXJSsDyXxY&)h2G;3+G}-aW9p7uHW|^ z@T_`RSG)P_0XOOQM*lk$9FEr9Toahi?r=A@{<7w#jQuXEx8IiNsPF%;^~}dAh=0G2 z*sFQZ1W(%?GFP6GE_Tc=#2_jy!ZC24%DG#H<<+J8qRgsNtV$Lf%;(!wY<7vs@kmO8 zXS%ksW8{SCvYmbf2e!>jJ+x6c=RoiDBU|`CAGhDn_dxd2lBxEy?ydgNqGP-N?o#H= zIdfR;-*Nd=ZgKf$*V`d9A)jykKF%G2x3W9e?DP4p@n>F^nO#}wSI_AFo`Xj}2|SpT z_Q4_g`}wNy1pYl%WB0hxT;%xXL!#};muv_3vV|>n={j?OJ19I{(|Ch>b&`s97QQay~hTZ`>&jJASW4H04E? zU0nVfzdcr2`{E-OXzwcTKA734aCG8R2gg$XPY-T<;dfm8jp5|? zs()VNvZTxQ#tZK6e?7O+{?gwS`XO6|_q*^X^RaaQu*>H-z1+fajoo^7(^F!{TKCQK z{yE{oglao0d7n@j&PZ@LUaLWb;~cMD&SK9eIWEY##*vg?;Fxx2Quw-+q6dpV_&;!5 zaPolGrWeOQio`j@sJkyWv|@F5D`RnC2T$#O)i2IrZriQ)S52PAy*-~}|HV({ni85H z?asa3+I{cMb~^*(8&|Ugm+zZ?%_)ACqxHUA&+i+eq~{!T-zE9pr7p?w!aUaZ-B}8b zpWRLbO+LQ+!0SU2u?uHr9Jtm;zpc)_K89er~$I0`1%xdhhVO=4@ZGrN>DV|$Q0n)WC8b;ej+H-s zf}U6MIEH_CyT?~z#evtK4cq>Ph8}Qu^z3Bep$GN{^fp%%ZEv(!+HWatB5Kr&b5^A3gAh{m0++DX9*+{+ogiL^C_=J!?=f&9QyI z_GFU{R%zDz=kprv_q)oue{;0Y?);Ox?FvKQ%oU!w+b)^qi&oU-xpv(THZ_?p^S9$- zKlt)S`?P~%(#4hAK4&`eRC2D1YLjxDP`mtD=&fIwXYV)g<1IE9U=WD$GZGVEd zqUgc=Y4%}ETe1}=ZMS2OUwu6=kj;M8?5`r5?p(9;<0#t3om60#d&6nj{7n=0{eA!B z?`!soecaV&Q-1d~AH1nEi>0?I%rQ3Gd_@!^yW^P%Tl*%)jR#V{th%qR5_F)_JC4`L z;)VS`_D@BVE1K#oFDF0gb2s31D5~y+?(&%t;DeO-i1U*pI6y8_AgXAn9ARHvEcXK111+9 zm(5_xc2GNavOKqt!C}d7*CiFLllLndmGD32cH7@(Z~N!gwx4$H8UgzP!`|BQo$@?i zarfZ9SMhqA`r=#nJzwYgDdT^Eo!FsiVVmdo9rUiMeyKk--|?sQ#;=Q9gdF{2BY#U< zpE%&Md#7IGhWG=2w_BdHZeene>(ZX~eb03Jg(robU3gUO`>YO5sr|rgf1AVMM*5>C z`;=v-pYHaUxo^?MmIJ4Yr`hce?5FWZRSuf(%6Zv5d)6SN>g!cQTO-)j@6|i46o8_t6#_M)(-);Aq6nlK1;?c;$eB-tIYTutay?|*B2KX1v}yidk!p+Xu{-@c{a{0m(< zAon)!OGkvG`;C2z-aT087`w;(^~pZdgWi){jg$*j4@xgTee#EQu|p0+RD_;fp~Gv& z7g1cBp4zVo&b3%_V9EZ9(`PUKw{qFPcPF1kr!9|t!Qm!}-u36~w%ROwz`(b4UsK+Z zr0Kc2cKcja9`Cp=wQrVk(P!q_agIyh${sL#TSz;e!L$x+UZvoj7ygvjxMe zhVAMHcI{ZYQ{_LG!|I%_vyoyG?fp6J@8xe)*&jRW*YfjgUfON)QoXG@>Eb>cw~A%2 zC#2Zj+puVE*x^LGKNGV8i(JL_EuUR`+t0(xaSGGB=2rH2N7Lnp8X7vz9AI4jZ-(vn z9S6#K8c^~h>$`pJoW~0$OV!ywn`qMd^`q$i8^#5#%ljJaq~1R_TYhTe zKE9t0`}e=8vrxpi4;MIUlyABIr6%fN zl;VV(4J|4MZ9gqrUDCeEA!Eh%N0|YI4)u4oN*Tu9+|Ro~qw9qIs{McT!sIT$a^1h~ zEc4t;FBR-n?mpn2cICg_ZTl-58J6AOr+$A^PjKqdeTRbI3a}f@vojXunotwi>KJtX zqPz9i0!JAs&yyeeI1fJEtl{#5|IC4N^~?Fv+kG7#zyESpHJaB!q;%?rkhP`ue|K+9 z`7UI%ze>?ok1tl#J~X-NtlF0s`%W;Z9DVuV_P))%igB)`!&#@4*1P3D?SF{`yJwXo z+vha0GEUj4x<6|5TF#pFf9(EFKJz3yb^pG|w0jplJP+;r7UrO>B@<_NTz(Go<X3S7^)+}c-u$E@7`{yw`a%4d)LRhewp^I!MteYKg6+nX7+?3SfD zCUCdzSND`ZxUJB3(zOeR4_I*O?S5mB>EL}v^0J8yr^A`{y-6#S=kJd@btY7u&v1XY zA!94E@Ef~^`OSe(cQNeupR-C&V8cGUr;oK2pM@T@i+pCE-E?%?zOxMdJ8RFhIxfDE zZos}Y*in)(GjO#M_rap;Hh(wkZ#-~a*x`Ni%}|H1OQ}4JK`@TcG?-d1RZm`?F{a3++?~rqbmjxlh zaSHPn!}<^1j*RbHc!a`=4jw~1>zIcf84<-WI9^kv(=*6w?< zB}7Y*QD!4`eB|GJhqFyR z7A-Rw9hi&WI9+mIx&KfQOWYGC^laBY?rlf^ zDNQrp_n4)1Nq$j)-GemA@Ul~#j?WgUMKt(%IG#U$dOnwxz(MoOhi3(!EIrUBmYmJF zKiZ+;XM~<_+dKO_B^gdffoc0&6;E7qpD4foZm*KXjGkY1`!mJ!1!GR{^Y|V<_nqy! zeWyN|sukS{-{)(UaKY-f6F6Td_#(nF$YbYyuDOMdacw)EPd-|F@XW9CAA?K29#|q; zJ&AkI1&5Z6St^mz9uBNksh_>wg%9jm_VUip50mycSe#3c)(x^h=zFi|L?f&HSs7vP zclvMky_{rsM7V#o-4>ykm7eKK?24+KiegW6?3+<2t{ca?!10xT>d%&o4vt9|ZfGy@ zR5=(B`K5cE+kyjntlcVU9||45#~QmmH-2q@;pm6=hf~+@Kd4n_5RoouZxo^Xdg5B% z{koxTH`Go%+^5ZJ5YPMdvR%o;6L)UUT(s}A;)=S1D?0ZXgz?2h9qV?S7E_jRL`TN*?VDIrfJh?#bnBBiz_Y)NfhxVmx`E6UwKY8Dqe3Q?f|0C=c z-tC)x>f(IIb6v8IQm@?)%1)ZRI@Va_;KlQC4mNB{94^e(*LurSCI`2*oSbFXDtPeJQ!C}2aT6WZ9yz#TrGLCbW0w?gdc5L<2*>MH-hZz>>^=DI#`Jyre-$1S(>uJiCRo_fM&qZjXVN)` zKT+q!dVVGzU=07O*qYO-LDhWe z%_seLJN*00-MZePz+uJn?FKs?7!O!~v~}70ef9pUmOJ-6TwYp?R{`T=HBPa ze)AvHNS&~*JoC7mqX+ZnyTA(6#qKnu&j31_nUJw9h6qg{pV zMf(%^&Q-U?``ORAd}m6@MX~+r-wY-mcYnC=!?%4KT?{YU{Z3Py^=qOd1hRV z`!4j&&lG#q;@CYYM()SQkc0c>{EZv@xDFaD*qqE`w8=rxTDf+fd6U

L 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�qd!^fP?e!Ac zRi+89X98X!!m;V)2Q~-$(u3tog=T-@DR%thX#aw9_Ya3~!8yM!ww^tZVG{7{1E2MQ zQ+E5MZti4vcpVhGy8K4+e$%bJudQBd+wYg#`%6@YW54k&_O>_WANEc9%0~mJkj-Vg53$%gZ=M=6RiF!Io?0Wv0~Svxegtj zQva)Eat=%=zq5qV>(KtTV*!r@w$HS$_!9c#Q?9}O>9a*tAE(Lh{}(>>z=7$X?T#=m zVOVW&$L{aB-1(C7d-qLOpM5Cv>GXZq0)5IBI`$mA=;IrC>XFgG^3vM|@5==o#R_xz zHg4>6`1OdlDkU-EK$FU&<&$gI?>`VMCUeib&3;a?r16(iLi_Vn;w#Ue=G@P;z1?n2 z`4zjx!oO#qY3KPftUpnHdmQA&fogG%bWXeoAf2c{|i7CK)q*nj=Q!GBv6l<#;C>{jeMByU#fRM}v6D~=_wDcBeTiRi@U04u zb#sn`qsSR?w=_0o$IDNHr2?vE9az^Irz(Cb`#`E_^HH6!oAzHro^;x)O}F1

f-# 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 z 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�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 z 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

k@a)()3lt5*H&Oy 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

7&EiN~awqW!n#wS$Rd8 z-FG|?V7y&8uI#h@dG3Q8Dbrf)!&GC!Zl4miFKvE$BH+)7eaE-Vd319Ay?u+Ap1)`= zn!V3Cnjy%%XPzC4*q_C$R|>)D@$e2rI9BXAYV&{FLdU(&FExb;DIfefaas<4f$G8C zD&0GeRTLd~bd4=n<9C6By@8ELX5&ly3&*dr1}QAr&+zj8_7iK&_D@?Lmf81{*WM#) zI^Uk!L;ECDyu*}_=dgXS3lNb+YO*gbF>Tj6hRBP#&_T-Szg{Os%nYlf= z1@{gfSikzisqb6P9GG@P@K!yC>4A>U)BvMeE(gcu+WQiZPqLp>qx7v~wfO!eg6A%V z#XR4)N@z{{k?rU9^*8FgsJ82|YjRgIiJcf>_jT>DqGWZ)eNXiRRO3#mIX?ZueaDC+ z-mxuiN*lw+bqA#WcQX8awBx{nb^mj@Y?ThUJ?2d-{_)M8H@HjsnpcDU-Ji3Aw~Gnw zpUC=0V}9|KeHNlj_RnW8+1Dv7T-LR?$j)U+-dnYY#`|3JoV3qoDuUCa|6xQpzSUzc zocC;j<0M5BQG@B>2mk!J@Xlhd%E8>fG4tNYZgAjlP>cN$Rp=18b+^(#rt|w#@_(*Q zoV0R(wy;9f(g{!PvW^#&ZCtBh|4g~>JlibROHmZ_Xjc}`35 zI<%ct{k*NP(Y~?p*u&at`Tf6z%X0-?+4g^I{(I59@!P)D*3xo*pU>JImMrwE4A^RS z=JnLYk0(vv=V+txiv4}QqiRIz@1%XPj`iPu`$WzDd_dqVw|VM|tRll@cCNt- z0=ML?!$RWW4A0SwuJ0U`6DEZCM=$ z99(4gx|(_yI9P{S&DeAH`~H2y@iH4&I{bQ(e{BSOQ^E#aqDP zW+n5P4toDGPMl`E?Ew4r?V)D1_(J&%xpAvgt#@D1vdqLwp={FGJs2|NEa8Yr( z<7~eN#Wz0Z9{lf7A9B-3_TbD2Js&UO6AsJ1o#otQneA{P# z|DNF#(`#q@=w+|iRINAJZI8WUYr6N#KDYQeTVI7=u;ZP-#Yir2uHD8CleKGZP2YEO zetB6b-wem?!VltKY)p6THhFbl*;4MHhX3^WuT~v7z-+c#dInF1!_6IPlMemhboeUH zHovfb*8U>K#|NHIci6vx=X#-Frs)1T6Q=&0&A)fwRQHF5qD+_V{xu}Yc>Q0sPw9M7 zXzhdMeT$#B&O3Ow#W8yw7sKVQ5XZzl6Pr?vxem7XJo)?b)y4x$U!LD%elx@&IFoVm zil%S&R=3yNg=@C&kG-d>op)J%|EZfN)?S*zuz%VV9p1uir}yogzbfkYKvAmbnU?uRlLRgd>l?RbRoDUdI!@W(%8`iVhlXTe#VjRruhJnK5iu56(KU zw}sg3+nVIywDjVhN5}aO7;T@t?dqeY`*Z7VT5!Ddwr|`PUgFfvWxp@qqO7>|{ytyH zHLJTC_U*f$G>td*PR73V2NTwwHIK9t5ViTq^LdV=#Wq!&r+smbTqnxvXT&HST;2cc zZdT#$1A#|RElbqQcQ|uTfBtnrlE?`pDq-qGvN z_kH=WdFO}Y5BE7g&D-iLJ!4<0-uY(!t(|tq%~$5r({5i0?kxlsV>f0g6zy?qtSuRF;zo!e)6%>Lqnl+AWYj@1lv^(O6O3R|I^%I~*N_(5gI z!-?}97v7!MJ1fS`ktP0ZVkfeFooM&B^y%8T2VMI< zb7yhd=;wgLk^2WC9NpHP&inAY@Syct-JMwniw|amXly;h`^_QEqA|ea!UYG9$NSjk zi#Q!veQ(l^m_xz`gl`=<_W5_2y;F6)dP#q%{r2n5oTBpI?aX-I|LS0TzmLn^RUvlK z?tOm`O^WqDH``8s+R2DNtd(|Z$!84YHqCcj^0&EODc0%W;vB!n{Q)WmQx|-UZ@V+s z!QMbrv01gqL3~HN?3a0W_uGZMJ#VM6VSnpPuZ*qMlJ=Xk=cV@@liJ^PWKENT%Z+`K zaXDNgss zw9X&jHzoFOI$O^%yGDW4OAMm7M>*x*3wC@PPX#SVKD{r>Qg+S5m}UFs=1YsE==bewb^7<%{I8c?&yy$iJpOYX z#ctR!EWR0YFnn3(U-=VC2R)j9^mYH=;qXG+zWC4F0*A1Et66&P|MyS+c_2~s!J7Sz zk!{+hhL-l(4_B;-tz_Q6Ct57RV)l}KU+z?WUAnixZq3Ea3eEm*yKOs)KP9ph+U03! zPMMnB>A3v!%$dbZo(KI+->eGs5ICrv_)~E4>ZJ~Xyhlxro{w=j+QxUQSL*eCzf*eU zjh|-hKjh;X_vVC>{Vv{yt4dv8_X+=%`6(YY!A|->p8unS2D?3%GuY25)Y%g&WW)(Ke$ zT12GNKUQ-exP3s-yp?&iz0(AS`1ito_N$*eYKUKE+yCL_@dNYpKkxJ8dZ)RfeZQUX zce6EC;!EvTT$=pH>srCSvK4puHD=Cm{B|?%h@)is!Q-K68(lNy556r{{p`Yj#NqD6 z`i<5{vK&hGhxIWTa2}Y}v`qh{@sj=B*QYUFD6_RsdHnQ}?ke8>Z|{ETteW}J&e(%_ z%Z82vc6CJy_OE}ueBVC%(KK zByV(Rk$0X~V-oJ5xif(O#^ta3U!U53-M(+)egQ9&@~eB5?NdUoxtE{(y6@P`;3hk> zCw6;kb6U*rEVg@ahyAA6>{TMB0*4&tHJ#dJx3J*A(vHfNj$aS=Cmjx5THV(u($kfqsuTJ4hklv5bi>+p`)&%k!sy?LTk+!Yuev z{r>9Y4Sj#-7}&47A6t;P^XtBEPlOwGD($k9$a(cl^7BT!>rC4g)v~qQ)wZAe6xEvu z4o6u*L^$fWd1!fFT5!7qGy2yiRHUS^*K2~vzPW$B&)49pPn;}s*!?EZ9f5Xe* z;~tOpPpUW)$f>j5-gB<~qN@L&_Sv7#QT)pywtwPj%|$tr&+XecRj#>T=a`+^+=6O8 z_qu&G$D<}5ewwq-k@NG#yhF{7&jkBI7_;K1QK;j?F?X4=286!hTxVrwsXNwZ4!{^Na%Zx&2&oBGIZ_P?0{yt*s) zy+2&TH^;ku-|JJ3CL!YScH70ouT-fQI)+bK@XzE(>_I~XS>YG6zaEHvXIk6Cztcg{ zw$;@m%-Z3ei|6}9(LehmsxE0xIvs3(RAGt0jd$Aiw|r!-UfFWeu5nh$3oGU0cC9O7 zwL7yH?2DQi@NT7a+&%+OkBZW>-r#(lEQScjyX_&4y|hNg$3Z0J2~(JC(SesQ|F$SGzOa`%!@Y^Yc$NK=*KtwVcH;XdH+%H_JSV;X zdRXSw$wdtNrImL~z7}-eF5~X2eZRgPv17V&JZ$<@*L^`PUH1ys1~?i%DpXp^S#Rn16C7Q>xn(`;e1rMycsK_S3t! z{C?jixPSeZ$=#X-&+Qgocy~>Z`HJ0>dq#d2UrpHeThzhVxopP1ty@J7^8493E~`%b z>gg7LFu^^cLu3Bo12sp&)D<`EbU0hJh-YoP^nv=BXI6^n|JuLp&SztV=tldNpsTFM zzbn{3TPiKlzV!1xyT$EGUe7#fH(jvSY1@-6b~Q{6T^#L2`&d5yW)OT>2~LkIr4ixy zO6~vS@Zg09+YOcme=Q7jTrzK-$G@*Cjyx9vc%lq89^h+Ua(z{O!GVoU*>}A2{@5Q5 zNm}9fevy5Xh;_rZCl33I`Q<}mHuLUx4yjX(DnD%3Q#*h2n)u<&=)9}MUD-QCz;c<{+d$<@1GF*$C|ah-XJ>5M~(zxvzu>d*rh3IZOf z)p8y<^o{58j-7Mu3kr>mZgX?lU-)D5*n0b`eL6n-FYNzz!Oo_q^}3v7>psV%n-^QQ zB<-7Xeo|)*ucKYIjLmjk@9cxTXY|uIr^FqcQc!&7cIpQQ=Cl7c_j>GbIO~0XTh@H1 z13$c1{pynXwqJPfG0ntlo%V67OJtNd^ z>xJLfN@v>boA_{M)mOfMp!w?y?-dZ?_+BHz)!uCW!G=fQb!=BBIsV^h)4pS_lB0p` z2KUb<2M%m2dUSQ|!t4V^8{CRAH!(ZdD6g+DkeFf5+OHmPE7fJcYmHPAo4wNh1x(ui zHJ*R4+kM|+iT>HgcD($Bg|er2?zlg=g{sMhny4((<>;I6tP=ve0h`@E1e#^$LO`){{g*Ir`% zdY{JeebeQ>{Iz@h#lqfs!<2nzIJ}KbL=W!kihi%eFIH>k>+8^`CR=lmL9cXAxYuwgKhhd9(xxyAt^OYrTtYW zV#+Qye%`l#QO+L8L(lBgYm(X9rmnGDvioN6N%7VDuDo5fGSdn?9)7`84H1sXMkT&Z z#2$4nZ2FvXUh z*L50J6(vkRxL8T$u4`xJLA$vhh0aZocI5Zri=E|q*uiYo%l})yrX6@>C38LL_OJcr za}s&i-(>I?3_-%e6_(P*6tS5 zQck9C9(FIcOr6f?*mCeM$AN8S%3%j>r*8bw^_1Ol?VP#;DqA-=?DYQ4QTsgjz?Fp^ zubDia?+;$kp`v)R+y3^=q+P7%mG<}QFVAc>d9m-Kn%o8p@k4gp2Fq^UY8tPA zvuluDvmfi%|K?WU^08VQ5sv!0QA>~AnRxKg-=ccKy#~o=i~a>$g9sB@Atc_%733WeYX9lw0W{cS8eu-rT6T-v|q%2Lh~8% z*7(PEIid?gOLpAYcS^X^%HZ8RyWIEF?zH}xYWLRsx6-*E9S55lo{XM>7@7Ixf`z@HaFmWDZ zw7=FT8@2c1ZM!nhST-Z66Z`t#1uvQ|QDG-tQP+CAvI88B2MrM6$oJ^pbHz`M2X+3& zx9?e3z$8Yg`bqw79a#O`V z4SvJ@JNCP2GW=!PZ+(J2v!Zyr-OY1*x6ifQW|z7)-EzvCF1w658~-Lh^s(y+Gt!(Q zw&38@i?R|cZw4M*rT2V}-!dh~!*N+opXFCN^grBtbl$V<10IIIt_#av+aHp(zPv(v zhW(EjvfuWev);d8=dGiLZJ+HnMe%zoK6zuOz4e;;hZMfj5^(%<#MGtc#8ij>w~TM|8AKfL?sZz4CwF*1 z^QS2?4_>v{2TIpfJ(!}i|CAE{DiN{!b{i_yjT`mu+qunY$zv^DYFGFFUc?G zrsD8qdvxB?basc@O`DIkH0JN$BUSHe+-tbMFID?})U}&-(KCHs%?!F`*Z)}M{9^U( z`@S4}-ILYOW@pGb{a5+2Y&)5VJz|sQEI8<$zAdi3M#zyVJuoyuTiNmSQAb^eljR5W z>~vD1g>nwG9GP__T>X?i=jY|OR*Fuw7h9FQv*n2N{yi1fR&-bh+Vjm;5n`HqeV^;b z;~Z(9R_?oMGA&g{d!gNhLtR(?xz_DF8oByH+Nqv{S~U;!?)>}jVDUxbhR-|!$JI+? z-X5Nna^T`~p2Ux#5eMcf?R#-~-8TERhu&OV$I)ajkg=h}w1;#5ozFZfe1%N*N9C7f z&RKb4U(O8WXC9&R_thM~oCa<2^Yl)rNv-t01dyZ3D zX{8Br`_J--zP++R(q8BU!w%WI&+SYlkKN7oI=AmOd(<@rg*E#)mhhe9ypd|RV)lkr zU5mR9{^Hwqt|{8lanT*Q%O~&hI|?1UuD-ir)`1^}_aw{0!Vh?@G)S0q>$1JKF2~18 zzD9fd_BjO)tXcLqsK)2SuHv>owdh+?%eTvR)jGSv|4ur%uX1iz;bM;2`@Z?dD2ts= z0_W?=4v27cZ>m%Ne0Y+h=qGvoPf-PqUU4&>vwn&mjH>jrxmSPkfcnlmTTXPxIUEv; z+Vnw-)xm)E^t>SThW-Dam(Ep)GTr~bqWs9=glGHK>v(o!s)Mkd(LP32^V|0cB)OaUsawn%dtn!{?JS|#;>zk?PqON`tx(uwtXQh4|}i# zgxhJUo)h|RR=cm&#Jo>fK5Jh~%xgvc=8l6|3mK>9*#=@38R1wFN5< z{NXsFG|49PKrN>RchTPm_F1n(JnY??>EYea%?kESXgO`gtPMU7;KEH;L^$eiKj-#AWtL-RSlx_G;#rOc9Pwwf zw#yxCpS1DR?FUB=917Ria%^U*!^_*&i%vK*JDjMSBrdYCbN}{}6@Pb$yX?1LzIflQ zjUVlN8n$q4eDK}w_LDM(jsG|93p&qR+Y`HS-`eV^x1S!y*ws|cm55j|?cm|ZQ=9>Sp56x-q&7L~VKKragrC_O% z{nIiT{T@9b`;s7E7Ok4M``RDpXDIADwU2$nQt_Q?OYM5ra$YJoY_^jQe0g*G!sdhJ z|E=XSR)#q)Q+%gWf0E5n^Geo=U#c4qe0ZclU++!ru2Xou3lc}^k`#cg{JXlR=;SLkLtlwKf3OdKRi*m~QVKS9jsh7DfA?pEShQyl1uF#>Q~le#5kVtZBbu3x4k0_j1GA zwNB16_O08J_;l%(AiI}GLgsU=t2$VBM%qcDCfYIf(bC*~8vh;i*Uet$BDeLxL%y$C zL2}*)zM7jXwb1)u|3I!W>CuxGd!FypS|>;f+b^1Y*(K}a3%j*d-|jLW*t+lDirvDM zpBC>sP!~~hP`Ps7yBX^uuIhvDZN88ifCxvEY|d+Z$qOB|zs0uRP4;t?PWXL7?1IWc z?Z^`WXM5KkFr5>rzkOQ1LxIk+y4jiE?U%IK{0Y53Z~r!xZ@+()JMXVueSq~ckC^@G z>!OoV$}Zb^Jj|crcjP?VV=-HvRfHlLPYh^Nod0 zzE(eDSF>fs5y|*x`>t_WnegN-vddd$JV$=!G`sT*Ij{a4PuX`?&HG_MSjNFVbqB}K zVR4QEPmbG~7rk*vGUrN}dTILsub#ipDx2&NTm;BThTi~E|n@1DPN^Ta-3(X{=gn`YSQzfyYEkyUIrBlLo(y=M@(o>?7=2*<>z z>4xXmEOb2m!y)asrp3WEX;byL<*6Pl-S~ZmidT&Tlb-73?}~*Ezg|0DdQ^aT6tQ^%~7_X_NfmiU{bmd;_HsD9UT#-T_1^!`_|1W&!NFYd*Q>#wWo z?UJhxUHcyQRF+hn*u1Y^ zy)EoZa_YWir|af^x>gLXXFf(D!tuJse1q$Y7C35z`_65Xiat1p^-k@{5|x7!A6zi- z6y5CL^g}y)hDV`;tU;g4vX{5_A6(efyk29~{yw*<8OhE@`*j}%tytY&Kj6 z7d%Y3EcEa6fk|QM<;{Ei9Hh>zGCmi<>!7DCDy*(oX8$a$U#Hi{WWVoqkqXhO9sAB- z{3t#5|FwOS&M)6#b7_X13!4+~-|$MiV}du|{=6Nw@6+{t`_DuaIqEL@VDZN@*0D;U z%TjjVw*y6+49Y59b{tSEjZmMp!ph<4gJt5sOMlv5El_KA5K6ND;#It2!Y$SPlMY-o zeKPT)-Hk%OS$bdh?Av{-?%gIaw|)BWzPha2pJCVf@1f=6uSVeXXr6!wNBc=?!ZTLR zas2h;;)?GE=?C|^xa&sTS3Jmf{lQHb^4_!}P zf4-mg>AW9Ub0!z>@BD5heZ*Q~|D#hKNxnWG?6_3k-u?LW|;aJ()4*u3-lR7XXN(0E79{DVnbWgKkhN*`QT?G)T2xxHphX;zrUhv>{jnLU*+g79cO8u%DDWHm$Q~H`VRMr@1Mac2>96SAYK$yzlRx1yA$8&Twp;TF>DhpXONg@qu$?i~Pa3q-m=U z&OUr#&)YduK4xV)OxW|5iIs!X!P?@z-!--Q`yYBfU1iKi>}MG9@x#hS7PUP z@7lgievd4dm3QuYS${>w%r0i%#GPNxT3iUa1-sYvYprPZ~`3 z-@NT_-{j$ddnUcZ?e;5a@{q3!PI^GUSE?* zubJz(tzPPvdP210Q=x?#?~W@SG@0-^S8w-@1NRlB7)k^S91e85{hs5;=pbz-zA*OG ziv6b--7~iA*WYhi%*%d7Uv$44_rV`;zdYX;s(EGRyjQpF#AofheR%EceK|SCT*rE5 z?eqPA@KXMyPRE&!9}Bv6yE__AUDMC*A#jlO=8O4<3YH$I)jel<;C8fwm(s&m5B|Tk zKh|}1-jeF6`(13Do?8p^?-x}$W&RN7a!cX=LXleTb~bnJ2;i&=z$9ktXo%9 z>MwJ1m?-_7`J|ul0Tzp0A$9_j_V;mYmr)cCw4ZbCg|cQNr@a&V;RVSjO6-1IIeKye z%i4XbqP>5AtnJ!oyM3$fl?|!;rab)oA#THb$77j`-%H)HbL@IHkKe*y<>21WYh1Yl z=N*{Bb?HLtw?c=K$ycSO-G6ES`oOGYm#p>sS5=&Q!+3<#o;&KBgXxoV`+6caO9tP5 zwNH54%*#h7Z{D{$aPGRx&gpg!C%1N1AIr0Q(l+Hwbal65pQdqM^nNYJ%xSuloM#Ij zd~+`0nx<#hfuaL0lQ*lxJDgszJR~pkntj^)C;Dufv-fB0y(cokn8*H{$BLTp=@<7s zE!8?DGw1HUt(0c(-Nsl`dF?`AyTKdZ{1PeFCV z{wY=c2WLBJ+6x_2vGjV%zh9~F=7DhlVRhRMYL^9cE`3%DQ`A+0SGa zxm5Ai?EP*cY5TOzh3y-(8Q!W+VB9a&z48B6zYBJY(r1O3+*@e(>~z{`wcFG7Ma*P6 zP?is=ucuZa!m;c3tGTy6EWkGP`+%vbs_t2V_GfyZZLOIiU~gi2z~Oe%&3$fjzW;kY`}{uV zE|*IFv?==vcK)6AWLuqG&*f(xx|8QPYIiH0S7Avw*jXUFIWJo2U+y~o z`=%7c&N6S=Ww)!kJ>Ir&j@{#odG;0^F5vWdyB-mabq*6MOO8xGC?%o3RLS1+#H#(7{;l!kxs#ntwgUq8H`nc!}3Qe;`t zx%;A><#Q`%av!x6VJ(vu~dGT%jZ{^?k?oJxaJ#Ki%@s&RSCyg$mT)cSAPHao$6IxpXQrJzs~)q-q2tme-G2;W4q-LVwbH+S+pi#L`7HQR|NcX} zpDtM%W@P`nwr84-%7=Z^^zLuG&alId?eETxo|8rUUh7!CiKtGut7r^elwBSQ4oAgS zL^$rW5^?%0J?|hJmwk;bW9q@TDXt$N42&IalFs4Fr zEZzt5b^F!X>2+K=cB6lSBd?Agcht?igH;pazv@be9^~0`|J0|9Qx4Y{E_L~vB{(=| z3FLjN;y=LDt@?FUfA@ZtmCMh}xZrBzgX{>gLiht{zGfz?-<=PuutW!Gh1u_ci-ea5}b$6UA0>#wP|+O zlC5^rr&^_EX7udK3cl>dBUK2lXVSY6;dtc{Z{$n9g$LJP`Y|Q_Ug$x!bsRgdYN|T! zT%j}};M6*YWP?XJf>A{WnCkyKa;sk5e=q*QDwEG^?O)jIv#fNLu=jWRAb+m!p513f z*+t%;pYM}-|6;S9+mU_WlDhSVLf)q;Cl)n03SQT4kj^SRIDKDS zD4Ra(K>;`ByN6BBIs_e#llGbB;ov>voq3d!z<~{!$qPKqYV5xYB)6=;;cS0BCNuZ7 z8t48uZ=$4sdL7;8v0_Q^Nz>JK@gk`$%e|-D-P5;si%|%-Q+4szo%|@r@o}t*+e*W@ zgDXU@PFWfI>A3 z(Stpcn>F6-YdTiEZjRlIeH_X88XY~|b__ex*Y8uG_eohaJ6>nHWapX`apd9d2D{7JlN3~b zw(Se?>)R@^#_1sc)6Clc+(iei8dir+j@|E&RX*>(ee+p|LuVH&zujST!0}}8Zb>gQ^v;Wb5WPPl&zWux7LJw_kv+TdNp_ygR#;0~=iH7lhM;F>{_VU{?n{V#E zT&9^{Hv~)ARc2hcFS0}bps~4)N}5;v!EKv9HTS8kcF;Du7rt-mP6y_P$qybr(Kw)| zWGcio@8|yaEmpZSs!0GYx6ht_h?2fBFCAsim^W@OmO&p<)FDLvsRK8NhQ9H@gSncoT z0}nI|8~mjT4oIK5dF<(ufA(K>*wjzVTxfrDMo8pVKBfJqCq3ElKwDtHTKa9@ODBHs zbIhE6Eos3rJBdH-@|>4;+dbZpu>I`w7P}JuQ;hFkHXZC!c=Ea2ukc{^EKy&@IyT3Y z=t%o1t*0Ft&(1Gt*NHfw{VCp9u9M@y$LzzUXBy|*o1SO=H}9^1eal&^JyZ2W_Nz~Q z?6rMUk6nH^udPMj1-r6o%L`QF7ua3-)$rE(S?9jMpgl&h2?YoJ%=3R;WsE!c?ZhL3*)Q`=xh3tQI`qoJ6 zFzkOji>W8-*WrC>OuH*sY_{1IW_{8*`D2RRS^r0#KQc4H;b=Jv5son)%Z{%Pn|DyG z_j*yXLyF_x&^0Ghgq0j8Fa~(Mk2`qavbEg3O?_DhvahWaJ`=;@uqbWDg!$1^?Juey zUVk#)djIiiSw))(y!)f_-E0{)p0%6Mqa|M|z18khZuY6k_a^Sk`Os>!zS()7?dhp0 zw--%3sJv_Qm1h(44&H11x3=Mth+}^Hsp|{p9e22++PX&ZO45PLU4j>W)-fHhOwiO! zIkCWg`=iv$QeQOo&wFr;<-ORqeTL;Pws5bwZMWy2yrR&Ao_+J~2Anjz)V%M@rA@u& z=OgV7=lR;d=&L(8ecFSh84XbfC2!1EJ0Zp7$icD5>wD!E2YbC2zEgt&4lL!VxN(*9 z!+w!~<3a!Zd+m+o(mq)}65Ma(YILme*!z7YwSwEy^pDvwzh-}zsZnjm)UqRFc4X2fLNy>wS;OIIb}Nwjjjy zkOOPfs*Rm1(hoe|d9{t<;*b67OSw5_GcB;ckd+a?-^*dY_rBa+;x@edITN>BIOz7r z?pWOBfZF17c9Ykg66H7Czwhmd;LoW{6ZXkUCVUciXgxUXtv>fNvCxCTk7ivs^O3`G zHE*`+jkW6?ET(gWRyTzl;8vUc*sS^Kej8){Ir2h1_HNyak|gYP_n&_GfbD1l^L`0Y zL0SIIFYT7rc&mN6eZ=nIWVOm!RcrQ{Ro&ToacdhmJsw?x2uGElji=YfPB_RZ|E0`9 zyU?*h9b3llDCh2X~`4Lo4$7Igi0FY7S26* zaKjz*qX`KIC8sFY>R2l}UgH+NT=-I8eO$}lDyE2`Ael;jxvMmA*M*X-8mDRDO1UDvRBIpGivNVQsbH;eCOdltBE#qF3de{cdl6@d4p+%-LH4+*H{*r+MN)(zQgu| zH#j|VuR?_5%Np@#a;~)pkHxUXUwBmH*p#WVPGJj!V_Rs<%OxRa4=8mnIP^5s`M}kq zd>^O0Vs}_DgK6dZ9ijUl_tbg0?lakcDp&90fnA*Yceo$Eq-*rq?!Xb&d)IPT*(q3M zEen^}wy!c%#KiS)v)%1mZZ+SiZO>HbH20+%>g7k0D9 zu;(18-7WWaxz+joS?4q6XY8GBzj?=w9al~`?3ZK7Z=QNg$UaQ<9^cMipY3KHukMh{ zyuEL;tKpq>p_BIA_@3!|a`yteN6s9NWF31B-VSLA5sbGycwyR#dzrxkjl!PnqrImd*KnuJEbd z;km{$o6XMdvndT%ng6F{-?|xvCoesm2oA@<^@wl`^jRjo<6okqaN(52^KFV9dH(d? zOXhfXz+%IRYj@|IJ@DYvNh|gc69>_!hpZFr*c}ef>OQy4Eq8z3o2Kh_M_h_lsg8*>+yZc4x26TX3+>JoQ-h zaYM)69$i*L1!c$h%^RQoRqa3U>cFLc_TRD(@PA3uzantiK7Q)Fr-h5B+OK?mefr`A z^Zi^lTa?y0UAKE>FyZE1ji+|iuQL5F8E&yNq%id$0lxlT?gcy_Mm zV0uBbmfJZw$NiD|SNo<2INmKjDf|0h)d9Ix`y)$}=J16X?Jvl>?!guCeqUmzV7Izt2EXI``2lx#RL?t5bo!Uf zLZ0vg0r3lpG6S#K|5JJ>WgOOM|BrXaq&Z4Y_Z|9G>HX_9vpviF1cM1a7x(QE`B8c+ zd-=Y5_XHVdC(N{~UU*6=)EUwazq=C=j;F17q;?ohab%e~`QP=u`Hs%p7w+wxE`BhN zx$d^X#S;e}K4w{LotofKd*^At$bA-vSrT^Fw13y_SIl~vkdtb%U$FYb>_k4%{Y5SA z5B$FFvU8c1YIVu*f?cL(Smch~i|rT%S2#qumhEevYn>F_G5cU-j^^JpvMG+MZU?n< z?38yjO?cFp@3QZ}G~Gj`ULVsBl&bjG=1YFH=aXO5Y$Y?*K6Hgu5FfM3evR*sYx{oR?3fr^xgWak{pYL6ruxX#YSWCb2qqX~9GOWzC+|jsCbi>m&qdV;f_dO~ylqm>w zw4P=6!o7jpF+^?gMONEY2Y$3XmzjDnI{eZtoBuAXVWVrSU=;a|>^&V9DGe}5Ge?zGb>{nDo8JCNvuD|n0}@4^ZqdJz545z;u{J*Z z*WUQ0+pe7Z)9lmzVl*ypm9o#;cic-dhsmDh_x;r|Vkh^7OZ8;7=XThAuCM-Epc}le zWLk8SuvGd!->Wg2bG9}e46VEsG=FZmZN^XVS1J4muCB{Lo+n^{t4R0HB8`La{Gl{QsTZ3>hj{c-$5=(}>kPUxek6$6SH~}B ze4=_`-^F{%uT^UQOt52Oo}izVUvY5f7UiUS@-dEFlM7QO zX8dvRdblz{XYJMlrG}M10>V8HylR-E&2Z;~{gbo1l8c&J>~&)9NJ+_Z+utg(6}Tk& z)9$W!N!Hnzll%O(ZkHGH-@fmF^Rbh;Yf9||z1HxG>6L=(ne`_T;m96;@myN}LPz`H zdBWKa?v5LG@xGL1S3OwB$v)dyV#NXV$EG`k#S0vw*Tk@IZ2f9~hu!5}Qs4ajg{K!? zbGqif-{^AbCDH4r_x*cV_wAVWQ@a%D{Pk;tciP?MGAnz+6SObmZjYOIOXa@r^((|| z)5;DuT-jDr`i7h?e&NMwQ%gWFbRFJto4T7|NY+Ef=lPwX(y(Cnw3+uuQ|2Z=jGvoeVyeT z)@#n0g45&IbBJ)%y5sXlWBx)%WijJdyONv_PMY5II4n{1U}ftAX2t819A?~+TU_N( z=rI3c_rZ>(_v|meoHN<&_tO35>h_G1pWXI%zf=39dqmRy?ggcX&dXlfO%}d1+3Vi5 zeF8V_rPsDj-p3{BE$H4k$6tEP{&>KMqqt$#xibeQ z@$H@UZUut_Tl~Ri~+OjXWKxXSIhNX7DE>08nev)X%)Oz7z(z`H6xAaGg&fbc1Tyy95%yV^j5A3~k zeT)3h9S64EJC##=@r`}%U4tig-+i}dWys_|9bRRBoBO=h%x9AO=k|22-B9<&j^nXj zA&0@Secz5|-qN|fWS{LnSzC+57Q0nJoDzXD(ctuGeFYJYFXwxP@Wm`})Np*;);b~X zV1NFNI1dGtgTA*5{icZ*FFbwVVug^?rTQR;$y2!QtGDnv%y_rz%$%YW`@*|M zPfoB|@Av!EmabyQXYVn0-<M0_-X(5{F8HY zPX^c@%icGIH(zJJdyjhee$792Tc)nQ`po07-9_oeMv78f_X)U}_VRt2v~R0^*aYUjW-eDsCb<3m+O|P{ zU!YXz&wu-;UyQfb5nH?e*~V6*?{A*$tBtwC^*&I<{>ia>_bz?Ewom&`an8;3J^SVq zhs^$dagH6=&SS?VE(Y4oka=;eVew?gV9&idAIx(cWj45bc(0Q;%N1HD4t%aQ zZsW;La!_x*`QBkNkHezi8!^1gd-wkeEDk#I*LME{re#boQs3HDU0uaqZvA*))Z$o; z7PC2azuUy#OkFg|?!FL@RH;w?HMys<9@IH}{cqUk zEeDJbDz^T8=kJg&!O6#X?1z1?jfF^oebs)ZKc)uVW?K8*59&==*8awBMzHaRyTOe&93DQ}UEIAa!{O)yz1yd5aUNJ1G0pkhgH`)?=IDB@G%>SRkb1MJ zyjj8idxck{R`({mpR;!`?^|?t-{O7$moDTi+m||rZF*Sie7h^%s)-&KXFAG0_3vnA zNOkm>cr^2ToWj9}5eEw+>JA;Ks8zP++MDIzDX_-V@i)6eE8oLEmWLMZFHcNo*uiMB z|H1521&Znd_B>g6eM{H>+Sj&efh7C43;P1O86OC7?Y6squ140eccPtru};CS-fLGU|mpgs_~H)<5~hep|IiN~B=_{=Q&C z_G3&k`;RZ#+Psy4#Xe5Kcy;LXSNmp#?bC5oKDzJigw(tpH&@v$kDsQj#M%bV*St>< z;dtn8de5}!?T&Nx_FP!8yXau>l}*w2wD=BA{Bgd@B=o$)yyG*s90-eZxZxEsB}z~5 zz#;Z!w|~7}v_EI1nEU&S9`@3WVg`MsZ1%VQHUHy#bZFmy;pKm~RW$5toAl4FO0M4S zFpH?QhD7kbTEEfx5|Mn%aXL6@sTeW{%pUu*H`bPWb#hjbQoc+PBIE_#G#r&K5Ca7F0$5bpAN;!0FZE=XS^xIZSx?LWi^Mq5aZ8efxUh4f~~Tah}_H#K2zqN|De_ zMc)1K8(dHP|M6pA(elWM7t?RsHAt+#s9v(fZt?H=Ci+5)_J#eKy;8TM+ws5Rr9Y)f zvX0xIbsX5XLGWO!$Rp2fvh@f0LSvaU)8id(9Ot#d$l`}YMsJ+!{*#lC`1TUt#foU@DXIo&hw*#tWw?#qE!nJ0t8appTjI99d4 zbvepZf6zx^cSdY>@xeG-VMC5N%#Pms&;FU!e!-!ZJL%HylE4GDW!l9IX~G8#zx`QS zv#!_vhiw|mZ`}ZU{=)l8FD^6LcS&tF4+%MCm*wrXT*|FskB=$0A z?<=3#5UIvA-*L*}7jw4?2OO-p^7(r2PvwJEd!8SV^jhs8n6YDm^tD0<=F?mz_ZUCy zXX>yGuGHVKf7iYX?MLMu?YGTbrn`jYzTLhB@l$Thdc5!1=3Msor`PQh+0DyrD%r44 zC5?ZLi=Mq*MCPijz{g#V3Tr~RjUHGZ{P{Xxn<-H6;0c43XYMSY?yzu@VB5hraSr#U zMoyY~==S~v4CXES-_PEkGwbJvONRRPISsOPC+;5GcjthZhlc2teY>k>KH@c+zRxL9 z zXB~Q;9u?A+OF3ZdE0L47M&Ll(bdP5tI!o-C|2H+%*#+1yN(r(%W%1Kaf8&I2(?VYD zi;dM1P1(H3?)cZ}z6H@!?DBY)SNX1L+b6F7Or_-XY{!#iYvdgOdMs|)DRgK;4jV-@US#(i&zZS#S zE0GCT?3kN864t*sV)xK?+ab1dYxhmQ^i8hTrNS<*TSZ4gs>5-)i3zKIvERW*IpPfq znE4N$o>De_R@Ewp*6D10H}#?&QaE4Ux^&>fekXnF`uXdo?T?RMxS;=>p}k|-yHj#k znD*;3MHQ_2eZlT8$JGR_-RtZY+jPXu{4{4@dG@iQa|^-u4PQ|Gi3rEDVgdVpy_s=v z&W$7e-;8q(x)ut})$Ejae688W&24hr!BzTzc#}fz0iN^&E4!|}t8X!XfP77E7M$Gxs{EhhQkhIA=w^(1A-@4Jc*T6yeqSo)*x z^`ex*1I6bOHecxev0q#wV5x2VdVAHpxuv_F7~1o$T>4%p{-#}2z@3-zyKe8>!@WeZ zig~`>h6lUfGT-jnx7DFKbM8j>eRJQX&Nvs+=lG{IOh0mK{=u8_4g0>u3m@DhU*Z2u z;IxAXWAyIZ%&`vqYql93f5Cs?w9edZ@lGxK`PO+$xz~8w$2z8j$)~XHXU{s~&9nNL zT~|hFM1OeOz8h_}c5|kt@B4OD?Z?|yd3Nsg7VbTMRgMpe_ia!IT&_KwlkOPnUY-1jtK zUBl_zopxEj_;)+=we8De>iW=hRAb+&|C5gVG={9l-N<~=kpToGR2|PoZsb^Ez3||) zn;RvI%z_T`9%JPRPf~T9SnjeRq;`eFsYM)eA}K`&IHMa9|J>WY|I4}d+x|P&*e{HF ztWhVZY0np%==L>)$KGQ1@^tx2fA=YtmWG?_UETMq{)0a6qfK`DlhV>BG|aLK;d8U~ z;;nWx-01GaKd1VtZ!lT?m)4Lh#+6fPKSd}9le*X)pPKu7L=NB@b`Yv zF2Q-cQw#0gU1i?B-f3k2{q2RU@ZCT6osQYMiSNdqeOA#TizS||x4XXnNe}m_cDoqf zYk!$sAp3^Db0ETz$KG@?@1}(ZnYS30zHQfb43y|vcXy4dBUj`1q_>-=AJ8?*vi`TZ z@PPTk*%$WdezIS&EbyE3|7G?*-`{v|PF3D77tPzf%=^Bb=n`wruvHKDd22K{{Snx< zkBQ?>%G+nf`;?|l^(^~ZWY>4-M$4-d8K%MMR%slVXhl6{fA zHhZVTh5shof^Qoh=-eq^P5Y7xKYOOT&-bmest$BY z-L+37{b~Av-kN>eCRydxC+6ARscSIc6$}99Yg;}sNxvjt*P9 z74E`=rj30uJO6SzhI>gB_53{L@WE(Vn9iQ413p5$hi`PTA2{9Hmu_vc!2Y(?JBz53 zeD>xS3~ZMD6WTvV`~Yup(E*L+pu|GcR;C6G+Xh( zGbK?PTD`Fc)mXkPyWjrJA@JSYS6xZl9j0&l8uL-d{lJ{k*&NfezU;T+INtM2uE(Co zeUs9%bAtAQA6H-OJ;AtNKCGJMoyJnTpX@81Eqk=n?wwv*>!!ZaeJuyfO77e*0k?aa zg%RPH8@OvnUi939JoS4n&pw{&xKBpk;%&X6<2#qp#0! z*+tJ@-8o6P+0N#m%Z@caCmme&vc*ARaqdC3)|_nz;>8>p-B#^qKYh%hdaZ$f@`>aF zjPZZw&M0O)AT-(GM?U*P`=`A-Rm9WXs+crn;{5d||^uznGZLnU zGXvBD5B!$j-_h^-Zhv{dK<|bPz4qNgM*LrlU)jC1_vzd9opJwdDOoXxs~7j3_$0fw z!*`>do7OHl-;>kr)|^Q2&NFlZhvP{JL^zr|PMNUz<+OuZ*ICPtPRMmUdQ!VI^pBL| zsega(P5X2Fz!T0tKOR&k9Y{a9rShdayTiQwNlgor8||yT-u3KY)Zc%2_P-g7uKfGe zV=uS;5Ib(S`+H4`YxF_8mlNH;gjUVm7sqj5ZOzj3eJRn4-^Ndyc`&QFSXWmd{os)m zr$eP*$vSQ=`^qL~f6(Eb>8k8PuZ#n}Rk@GuKK!=-yN280u&(*`OV=*EciYQ!f97hh zT5(CH{koQ?t!`F5vs;&X@E*T>jotYk%NKJ4=j=;%$a{FXCBshZXZ;F4-L`{A${IYj z{|i27T_w$T<{hVF(f-%Jbe^wu;L32GsmdREK>g6{X@xf*@1Ik!aQ2Bw-S&^4JHI>| zt-SxM#_sO5QQ!8ht*?va_XLYf1%^HIkWeg+X*@@Rf)(FT7UY$!Nk+i9r9rZDo*XYeD*K9L)g}v zl2c3)?f=Z!vFdTj{e4PHespr*6xqL-&vWOxUr+Zvcxmuy=l08X+Kz!a4X0PwZB!4h z^7=PvpVESes9zED4jzB~|JcJru?L?EiWu#hq3GBtP&wuD%&iWK7Hn_0!SJ0^VYU0!Q6cP+>MMV!CW-8Me4`*1$2^3mCo zcC|iLd|xXT?vr48e&?utH#j|pDkH+NFf?YbS$^5Ud;9?&hCIcNw*sd;RlWVwVI5D{ z?N3c-52)W#I5Ta6&4GB=8z%&=usduHeKKqHv6%gjk1o6C+#|Jr$KySFH%I*5=dYOL zV4JYj?&U)1%x1?XyD1$X>vx{5-zQSF`)%`VZ#%C4KUWuPh_4SA8{ZzGCtYWWy5}roPgiLyIbs?zlp7tYE$1| zGtcftG7e2IXx7u~auD|(Nj{g1reJu|UR~5Od?)%KE?7VYfIJlmft$_%~lMb&| z6<^DDRN7y%Oh>cWaSp?k#)-2&9avVkMAy9f?18y9Y=3<9?HnpfELOggVt2@2kv(zG z@0|TJUVgvQ5-YQRhKI`cuQnq4!!pz><2xVPO=o|)E8xRXfS{+O?xRo6Zxz_ASlbv~BYCqSB)0eUjDEaXpkXUiU z-m@xwLF>Y)_PbA1`tFZ`C}(0D)qXw`^rAaR~0^K>o@On zJ-uxEsw?yCN-V4D)AsfpycxfUY2pbjN0xUk_g6OwI39O>>wM}+>w#NlCYxurbcHZmuY>o&zvCr1& z^ObhD`TM>#8XP+sHvt@u4|NgYc&K+}W@dkvTax^H%c@1RnBna;PR zrw@GOoO0#j>QIM_-_hasx!D{RKbZeT-==K;${i;HxYHT-rJ75?$&2E#@S>Y=vuY2J#E?>`{288AKpxuYJX#T#{<1k!~ObB4-(pQ_uAbt zQ@GBUaM$i)(D&J&Z?CrV%xk>9#Ie;b>W_Ea%LcuD=4|(7=RN5Ce5cEkQj)`_kl?~b&8R*R3$wyTS}n&+A00M6Iy#)xp-v?w@)VZl_# zSH5r6UAN>po{kKS4bzf5ST*bZ)fR~p2jV^pM(H#qI!M1+Qz<;1#bN)_ms<~SZP;(W zcZuVY`)2zmgbLOK2XXAL{@1nZV!>NGJ%!h^ugqJ#Z%>L+bJvrF``9XL?6!TzLcT>61yQ$$ZSP5EY@suUaa zyL+m=#IXZHnR?>;+t(bQ-Q+52FLhFOU#j%keNtbyU9sUkxlgmA*iATKja>nUp4MHB zH8EqC*017W3tcD{ZaH}`wV$0$TKWx}n{fz0q$n05m zuO3Le{hkcj$DV6}2uG=p+soc&%yE2h?(`SN*mTE5SIpy1ELJ$ULM>?LhYyDisGs8e z;y*Xt!97PTD=v=7;h6UB_c7gF`^%?_dtQ_@+wak_lP||vVt=N(fK^)MjeQpapIlnb zd(!UH=|Fz<_VsojCLGNYN-nUwH*1?@W8sv88s{_YPk7}x&QCk|VCO<{$JL8uVv_5Q z9*E~6Y^!&GW z+j&a7bMLOQ<2?3HVavn$`x4oXcSvTo@9Vpm%;~(N@t}){$%)do2uI0@4ttl>usE8| zd6xQf;idz%ImOwfa{~^nKF;+l-RQNw$RxP~2bEgvPlun{?S7PP|MF{UoU=cFw43d< zXP)=xi*{KKc}Eqv1ML1*S}9+(>)iJ(FmZE(8e|{)W?Mu!if+6V`E0@h#|x(=GNoE$ z94~kO*z_GV}$kZ~nE{-u*4oL~Yvs;~veGzjwOq z7rOP+uJy*teNly{R8rg@*u6QmbQ9mCRr`u$o@L$AYPY*J>wdhDOo-j@B0jIDm7ND0 zs-!h+`wJY8UW%x*XyJ8K`crlM@SKwe_^;-yHpO*ZQB>2v$ur`(yeaCd{<^(+$N_e&P3diMisc5h@@Gx4MSo!8Zi zW2d*+o8IQt&br&b?~-eyh$qtnyNtiHelMN0eV@&$iP7^;HQUYAv5viKA7D2xEK{UJ z0)f``(dAFvqU9V8j*sM5GZh-E9&{J~-Co|d=zzV#Jg#@K1rA*& z+%5m+f428;iPP3{U$FnjAzp_E&wTgK*!%p%vI@cdhE>PTIQjguvuq8BQ)awncY2=V z#N?1o`)-~o*!8Gk;lAl}g6=6-7aRfp683 z55ist7Cb8A@n6Z|kpK7LtxsK3?ALM`Y2~RJ?9aM8>CgQLA^ZHrdVaS)Ke9{H-PySI z+Sz?CJ^z;mrL0iXRZ~gK0|D|{wo+Z^9RWI$b=ROvEUWV0T zf2z+`x0L8_c7JU$-~Kwe(~gm$QTncB)xH({nl9Y;8}`l4oV$V9AZTC7)TmESrzJQl z=g8mmULEH+nK^jt678o4QnFuI{(isXK!kll&)!T42RWmx^dE6Q>`e|St5|!K+aK0E z*H{{)vEP#G?B(n)x9!T}S!b|R>;CIOVT@)c#O<9t)*at2^3%>tZ(WPS{OkK-ofG|jD{tM$ zZuok-Am0qT%|`?y7S8T+G|@KdKI&B9XuDu%eA_C4gGF+hn}Uo_A4q*B(Xw}4s6%?U zSlH|7ybjG(?AxqZZ1&%){U^3n#D4#^xa0P29m4kYmXCbYz3=VI@IP|bx%JY%Y36Sa z%x_+3$Fch0goBL}?Pf^p@ z`J<=tt(`Z6`Jr1GQ|C$B#_ zu+voPp#PkoxzECn9|#w@do$rn|9&Y;|S9Dbz zz07C-x_XZ5TEQ!J4ZF|IVK}ybpOm?l{T;9Q`%OwO1qb(^V4N3YBXN+i#m#AH$Z3bpi>ZsBo2NUN-Fa>5QOkYc&%vjA zR8OqjU&?>$#g!kX_IaN~ojEJT?3<^25A;nxv+v*TP~}72C-%jahgKJTSZK!@x3GCO zPr2P&J=1i(6|)>)MHwA@IVIWAPf^|4|C7SOKGoYDC4mPINX8$$-2Ok?LG|kj_Zb)1 z9AekK59L^~c>f;nFV%6^ZT1_kk`Nc(!fwAP+D$hz<^8_jm1%jLr+fBE-&S8Ke|Cjk zke#-Yv!8Z8sQMD zX@5EJ*k}9D)K%uD8WZ;~S-Sbzip8q?wX5b_-}wBOov69bw>4f5_x;$Dd_0=JXWym0 z7x!#3j!2=E4x9EBo1zcQ$xVONxty?5Y& z^V;j)@0-{ry?57z>-+8sec5jQY>C}P2Cn+>s%duH%cG~OCv-V(sr+a2K)}iIrdZ$h zpeF(cLshvP6gw6iFzTF~ek3T?;e5iI{z$GD_Qp1Aw}n2PvHxP+&QF#FO#8ib*C+3- z+!yyue^;le;nU;bkU0y3$M+x`2CRSpW@eA3K)tMtH+jNKEtOo|+S-l|c*Y<|i91grY~ z^^-U3XSZRq$zPyk-?PS+Uo7m4UCfrEpo8%b_Qh6AXb?BsXjfJ8jn_jn%udy`w)_3x z(tS2(tj;m?c01Zu+&OXnz_a*5-)Rr_+7o< z{%$2NtNrRZ`~OU;pYo$a+&)qLp0DPHOLmD3|9FMmFYbGM`X=vn-Nkk*=kGD=nQF8z zV1-)F&o_|ukB`$4;V87p|JK=AO$VD^$-Ix#FFv?frDoyvtL%>J%CwDc1YU3uVdqf) zFeCJUB1eagl%(*1t-`1Bjs#7%KWKF6#>5xC_Ggw)ezDn8%zh!mk?2~ct@|_^Hr`Td zyt2=8#nbegjtlK_`%Ji2g-oy$@0XDJIBTAx&Y};&cglhfrk)Kr`FNM|!T4nLc$Ezs z91?5qy=jPZc+XzQ`=RaO{^Mcny_5T9@0Zg)%fI@snf>*9d2c`Ie%ZHF z@UN_+_?vwO9bWq^4j;D5e={YetZ}j3q21cEgI7Yvdo*(q;V928)ZmdY>0smTWkCzR z7912mSfH(4F7CKHd0q)?%Nd7Pb(%)z_fro<$o^n*eZ_x(%bkCf=dY#q>o_C7M1{K8 zD}}0tII;h>>nzt{Fm1VLm$qWw)}?bM+a1nNQs4eP$?i`X?~HSk)Auc{_nY7Rca~#I zP5q&6f#ictx7J_W6R&u1rQf9!J~IwD6fZm<`_CoMVO_!n{q@|e2jYHid*~gza{rz! z0=aUZeeGrQIL`(}-m?o`?e=70$gO?KDUS_K+s@pV%XxH)S!>6>4XXDSIbZPG7aZQV znlG*0@zBQ9$x7`32cJ1TGMFRJckqZ=_N0kN*EpmEb@VK;jdECZAR%~x?Wg@-*AM18 z-JQDs+(++am-#L2x%V~(ai2Q5uj&Z5|DxKX`&Kjg?D_b+Xx|Gn=dbTeiuUye#&o?d z`3pY(F~0~Aj#gYP45$9jJeX;sF~j<>kgWoax3dn4@dmqDT1p?Z2|pffYjxbA`k5LS|>DjKab2m&1rK3?626yOn=rXvj3NZ-<0H4TlY<0!8Na! z|AO7Sg-X6MaXAwP{U`Uhzv?6FtHYn%9S^9-hg5&?b9*%|WFt z4hI&r8SCT(I~3;cThsRV$NueaR2*$gJNJk2R!@EL($c<9;MYH2TZa8yr=|XU(AsHN ze*ZRa4cAt?^SAdz7Wq%#*T1@}anfW^+y~UN$m+V#l(pF|50+L~k10td|4vX)NmsoLMWJd7!S zZGipSRrv+!tYwdyuI7^+3Q|XNl>r0JK556=89XR-Io%(toe`1 z9e3``J^5KH=AfBw^i#{Oe+Pd2*r{^<`*w%bD_32+r|IS};b4P;7d)Yj^&*yYEzPMNFU6$$fmIelFFSBr@;TXDa)vp80#YF7VrU(Vy%Ne87j+Ogc1a^3&6 zc3*nyga&bww0#D`c~7-IlsGo_u=qwFFFdHjwm$r@&F=$}FZarRoO0G7^RUn6)@`N^ zZ^QKNh_2*6(6d-6%FVsYUN%dyX8&y$`}H$fY~*d&_g}p~tC_3zuwB9WPn7d8c*l8JF&KXcbr6 zu5m@l;o}NFMW3SI`*%Gt{?21tX73hL@On|Wk$qloNpq9Ot9>#vX3v{YJlifZB8c5N z*wXH5-}>J{aI2LbS`cH1!!h>xcY&(xnw{euOPPq55SJhEQ zXrEQ?y@dz3I<4;B&nrA|CYQt3i|eaB>$;gu{TfT{Gdz`L)_fG$ukE+Z>E9^{`>$ck z`|4P}>^qtAGDA(^{yvdVlg1ait#Mfvp66~XJO^rAKePqr&9ZN|zI)2^prieg^rPE< z+w$%Y&EDC&-2216nK3;gA7nPzMc9SzY@WT*?*F0ZX(uOF*=biCdmVE>@?hkLkmfeY z_=AD!c}XozcO8~!X6*7b+UXFbrTWcW-u%FWc>U zN2l(zohkl$U+cAi5?$^4`)+8t^GclJoBV__c?|b$J^Czd!pVcJ97QM$=(@yU6hl+xS#7@zH(C1k$t_7@&$5u!uC}%dhnkAR%WLb z%sTUaPP83Y(Bma~{iO#>Zwc5Yv&SC1d1~?w$%dZ}iuaDVJ-xHdq4p!6MX0amfiO>R z#T#9p_s_76O-%^zv2T7~?S6qt*8WzK$Nm!w-|joUQ(^fA?F0Mx`8gH#HfHTBes{^x z`$&r2v`oKve&+yidOX{M2uH;!Dtr$-=N$Cl@ZR*mA>C1b29IveV+F?zoV>d~b{#%Y z5^~9oEg<8-;j12++Y4A7^!Va)tHUPPAKki89BXfX*S_yz_d2y@R#Oh<8XBCNy*TIKgrzS3c+ZPF&f-t? zdG_Y0LvH2e;IMTm2Vzv0zw^#wIKa+$Y{5*%h4x&o=k==`-q^K24*fARKyrV^vF|UE z_>b)qE?@R_gVuFBrF#eKE^TSCo17VXVb1?)`!v|JzRl@uJZKx3@>AnV#KCLjZ}oR9 zW^tUwsJ83{<7S878>b~Kej9io@_Fci#T9S%mofG~{j{mqe$t_dzot4f+e>be)tkPF zYya&Q9TpvlQ~N5{zh*lta?);BOvk5N^E>QBYPGFwK6Ze|!-Xdy!m;=9fwDs_QxAq8 za@y^+A_2hf*-;*6Guy-i_ZzfwJ<8b~W@fTJyKukCe!=Z! zbGOgEyKi08)SQK#clRB3){#4N=;=N_#vi6_POJ7!F#CP_#}!vpI`Q;ZoE?R zFl)a3#!JFw1%ZP5g&AU6YX0!<|FY`Lf|)jV_MO=Hf02aB7Q3|6dq$#=`XSe@IqL!u;rm1Bk7ms8r?%4{dt zef_Su`_f}!aC(fKjtIw_W(Pm}M06e8D9_}>`LfXQe}P);wr6~fPEQX0b5lHX;OWgx z^OGk8AGp4#Mk1Dt!=dCPSLyWBKzq4o>#i@_{dC_7t;oAGr}OP!-&#HM%-bFNW@T@F z^6KkJyE3PPVJpr|**DL&r7eA0<36ji;#p~5<{eCVbTjzK=BR@&ZW#nGdZXyry3Bpy z7Wd5#uh)w#-|CZn;92nQ+@({V?9Z5}l)wGjYTb;); z?hkf9Bsaf3GkdGu#jEq@dTm>`uc|ohPtTboy95DATj^_E2e+p?H62iMKe%AsQvSoj z{EkZY7Fyr7EpYgp^SY&HRrrCp^f`w;FJ0WPqsOwV%Cp1%60hacJ+*arp4R zef-+y?*!x@*)gTB?|H_&$W9`&eD0%}3-*Z??9dE62)UEUN5#gA{XAi7e`hH<*hS34FghWoAZR`$GGaB^GKPT-^Zq@Fa z8?9(B%71HR)+XYANIJh%zg`L(O&lOuz;`S|{$+dCL z#03Wz%JuHzGj%wqe{s%oAyH+=MHRtMK4edI=>PqS`JPtJftIuT6RxGM-Tz9cRNCP3 z4Er)B%be@qO!oV;s(!XLkl1hH>heM{_Msh%o1?Nr)HS;*&HGV*&(-g9(Q==Zdt=hR z$-ccM%Xjr0w7lZB^^J_q!H9R-Zyt6DIIgnNbUZt$$)R>%UAk;`#DVTY{yn>RXYN7)jJ_~rmFAX{N~50z#XjnSA};T*Y~_>7kJ~zVP~16b|U?!cfXq0w(tCp zJqucAH-Yo@(}jp|{BeJ>(aMKqj?7Oaqc?IDJ3eDzsy5U3bs%@{bivu)XAf+*7Vh<8 za&d5ebgc9E2Q~-U)bA7Az7_2MaOl$1D-vJrD$hrxB;+#e4@{N(a_i14yUA)(T@Pk0 zvRm6BC+8U0wQurw`|XLx%3*#2CeVdTxBrzAjs@zcO^1z5mT5o0GjJ`>m?E_|2Vf?^_nUM{;e;BfE@) z?}Oi*+purL*$wGd(#8AM-%CFzXj*C~dibSE#-yHu(^zfx&QO=-NL?PpX#*lpYvSJ_FXotT^McvX+LT&M}*_#$#0ga>-eY5eRda+@aY<2`SYwKjL&!Mk}U z9wm9jI&$`x?U-Ao=%{kRlc896+ku-m=GiFS$UJcJ#(^%o-1qk3XII!&J)3Ip-Tx)- zqQC9_Qr~+=6rvv3Rm|MZ++Og{F8S+mriI?S_jPz`9Qb{1=RWS8wKMy5dh86GrpwPu z>^i9At^IRavZv$E_~+O4{P-L{Yki0kRbG6cMXh#0TYA_5+kFBpTWoIIyUt#vVz;Kr ze&wfwUF^~t`*$5>UR})h!A@t{i@fUi7j`R{f8DRN-@dP-b(R2+@8W$kR|!3pn$`d= z9}CwY!f{fi)}Fbn(;ZJ*pN;mKk?R;Vv)1O~2C0MdPTC%03O;^dvzvpU((ELMDMu1C zZaT3zT+DDe;cwQo|H7?WT@w!e{il|3Id}bF-hc1UBO8mS7xpRpp3M7pXX3tBhE==N zyi)d^SKKe`@+!q{&40e(@PK|xlU~|^ zv;&cLdxe&Y|FGXXZ_0xo*QVLqmj7YAu}X7)%%R4uX3mH03Qm6Xsbjff7uLFI?Zk+Q zc9~v%j(-K)?G}sLUbtQ5Vs|L!M1x{L+rd@F=kl_52Rk|{+i>mJ!s+;pYjXRqZEFv3 zo)Mj3zBBlMfs4U3-UmLhhJInZo6q~ z?2J>nQ|&bWm8R@oS74XyB(S=tg9{vv+czS@@i6x+JePe;O z;z98{8P^ZLIC$Wq&T83^=@|~$3cIFDJz#Y3pME|l^hnSCXLDoPJ5_D=U-4y{%zjIB z|K;0P`E{f|+I`9ntD0`K(@yH#8Lj4@8}{8R{wxu)ugT7deM)}4$>f9UUaI6ZdE`1u zo0n+JwiI)mZW*_1hR?AB9gi(7w)iC-;6JkHDN7xLgUbr{OYd{0+gqrJdazWh?N9cd z&iVGNkiGbh9r>A`j@ktVhA}MFxUi3*;La3-?~Ck;z?oNRSDE(tAF$9p)Omc$8~f$*`?wM_TI_{89NV@y zuqFq!}0GnL^u}e zPwY~7vB1$wHg(EW#Yjgt=JX{;ekdQ*df_QzW4`Uc@7{OrQVVk(!~(v%%DVrtzqk0u zXTwX=_6yxI{&z3Wa{u1B7c8c6i|==xS$%f#3oYDT+j$wITjHT61JLM3wDLWie z_DMSBl=jru?~~f~e3jkI;)8nkBErROVjVeCTNeJ>{LR7E{jZbLhHVF)ea)@bo9ucZ zaap5DgWD(jPRBp9c(=6JPu*hiI8H-if3nv(*4c;F@3XMoxGqlkh~0`<-%W-_i|lr# zKWpvEkF(?6W^Qb>5pqw3^BzPv&VRUZmG{+!j{UJLJ!y4@j%7jTVqXQT9t?Xaw2foe z%mdYuhs|EkDRB7gz}cK&^wGZK>6tIfO&0EV=)56OAndW<<3r$`3r}C~bBq1?@UQm^ zy93@rcOFP?+gJ7C>F1-HitRp|DJ+k@mSs1ebG5*xH7N(TT+n1tyj$p);B;OY{)h$TPb96x;$ zwJE5&>>w>A6~Z}x$ANzV@D5F%tVTf2$tieD&Gxrgz4~hU*XPq*iPz6=4Y6*ZXbraldnm_C4D7 zZQgd%N=HeN8#P?rg^q?Q0U2%Q{~xGki2azo;>>})ck+*`yIVPkZPNQ@(!=8*``h1u ze{q{Ve}=1&aFEOXl&KEur}Qz~-@VD`H*xAGyZ`A^=6-lSZ68O`b=UW-TlUr1K6))# z+_q2Q{MGN)*HRs;g};SFWyLv0b6lwxpZxm3;s;EZ|6Sj4V9r&&pAE;<9Jsu%CNLfR zVL$a~*CK&`#rEaZv&|noGv2>McD`4d=smleYhxzpl|Qz7b4zpQ(RGXMr0SYywiviO=WOh{VZZ;K(kjh&Gv3-AeesIP?A}egboa09 zI$BwF>$eLYo$?~n&MzccIleh*pRU0^spZMNj_Vv-OHz*KJJx3BPq0f9I(W!Yip_QN zsRO(s{pWAoiE#L~@ygrllX)Gadak}(d?0=Q*CK)D-BVom+b>jPnX~r0-Jv&g0?SwJ zw);No^R_aT#C<;20r6KF^7o|~+;mTW8oV#kbL;#U<&}FKQYxYmr8}Zgn z!gBu(2E(`ej_}wAiKj)_f8*^f@s}^j*uU$lRActKX}4$^aA(w&I@*5F50kWJi4&2pzoBC!j>uf#LXO> zT#F}x>zU|_h;V#$H)6}L=Mx=waW0*CS-{0 zhec~2d{*Y-J@DE|d1|`ziv8iuJX|e{_3W>)wp9D2{;+$`bHTs9?13G7?1|&o1s2*F zyj$>`xX(#SDCOD3c1QWA2R^H0_&YZFsfxbv=Q}9GT&2?T zZ1sUXN*mpEeIgw!q~1AZul{83pRj)7{C$)5zstJiA@ad^e?Z->!jp!K_F199L9cj^ z*)2QecaMMl(tUSx?H@=BweM@tQ=gHMs1FXuh1U?_=yhnf-@f`r$M=^TUWI!VA6&<2 zVX@~c>%jocw)bi_7aSHfUJ_8+9phO*~mO=;C*k>Gk5It|d`|VomJrAAjS9|`- z+ZrHZFK*=DEw6aR?#%1HYR$}x`Sd^7Dh~N0blh$+`Oascbm#H%v{m%(2j6Th8o~Fwr0O+3zl@1pipO|Mq`%qwF?~ z{Q`X1JAyAu*lQh9mC&F5bzg$$;tTqENB7NXiVfRpv%}8I>r(x>19tloWzL63@9T1G zs$|?bDa6i^P43SZc4fhXxsLnW9{iboK<19k@u=6a4#gcu%qHG{VlR+;d(UTvS^Jyc zZQb7`#kBv6yuVXo6stY+{N956`!Du&)$_*Oi(a$u_*CD0{ijyi#Rt870dHdHLmV0%=Q21)w%XQ6Zk z&NE$`S+cKsu}sId7u|O4>OZxZd%7KO&3q@d_>a)RSg&UbLU#!syni4ji_<5=;ZULA z{r_|09p*ClJMt}Qu@ADi_Sqt7?tX5*&uh(>i`(n}_7|)>#%}-e;f-Y`)|dBvv`U^? zy8Ph2-iz(^H;aqyuGt(V^G{+SiB!+u_5v6+3ar@fA7UB8Ywi+$}4 z7v5dJy6p0UU##}4-n!4dBrE+?{1m&B6`g-puL!hDuUq%}i|#x}wjX;>FFYG|@RVeT zhg*U2!H+JNdWzO;cHmXsH;2`?(4pt3*hgNMAN$p|?DFtAy?(!Ci>S!O7T0>3j zrJ^G*?f*N~?os{v)cB&S`+lukRme7Py`5XK#IFX|aJ$c!%DnQz^1$^>@iRm?Ze3b( zXX>WO2N#Jn28R?B9K2&Y;mJv7NypniOAE{mq%FBmKZp=eJ(5xqJt9UNw5v z(X!mW>g++*=btR?r=LE+eIiK6enM4JLZ|tAJJ*kgB`5E`w2yyzw0p~=#rtv^IpRC& zCfaFybZg+zndSI%ZOyIb)|7*Fp~~sDmlO_`$MH=(ardA@-U|5(7o>9?GUTeC$t_|# zu-j$QVPnn}`y1|0xRu=yWWVRVQD(!zKX!GK?S=e2{_b0ObWxf9raAjW+MnbHM)2f`0_tv#J?s4eq%Q+QzF#JI5Qe!RNgE5@<{;c}B&Vfnm?CVR`kq+}# zZU5#o`}6)Evolj%cTU;=zt(iIU%Q?CKeNSkUq3Ff+rIF=+Y7a4`xxs#iWiH{vzt+R z$-Q;=Lc0j@jDo83kaeUxUn9ctaBpGe3&sB60T?FSu2$G}AP2Qz0K zaVXlIQzliJf8ersO#HoX%m*5yq8~|%th4{qd?@9GmW=(OKkd`^eE(zjoh89AW5a2? zn7-BVHMSLYFVBYDRcCCmd%UU6^B-@@zHiEN?s-=y|T8K=~;HC zkMa0EXZC<&FS$1F+y3at)cAdMcFkG4Uy2tL?h9}~xQgG)44fYSe?WxeWbvpx9mxd; zg?grRo4<)a7*|vmZ|b9SkEU!F2Xx9mF^784Nl zw{@RQlH_5Px>85}e_Xc$PQ)BEJ>ZzNGw=5SshY3dM>BUgNKd`%S*PplaO?cO*Ztyu z_UCm;NwA59@BjYh=oc+UYx{d{Gd!-Ae%zP#{!(H6#^d`U6@R7fjM!-BC6`?G?soRR zn@^P8T(cqPk-C0Egro3_9fgSn3lDO?zaL?}()A$o>k~^pu2FSV={lx%^~7|ClsA6$ zJ|RU1X0yzl>6dcdzC-b4N_Ofh`>h3E^=~b**}ua4*KDH|LiWk3*OI$eKC$!4WV-nA z|NMQ{p*f}Do{RVGy!!IlCZ)E0BJ~dwUcb+Eyq6pky69Qq!Q?f`DZl1@J|M`#r_-|P ztb_77(KFYY6ddg29OF$K`45 zi@SB-2yEN7Z_W}v%h36q`%cZ-a!R>3-7atE)y)mhBOUEMnm^Csj6b;kXlSG;^TPwn z{2%GB+`iLckzSFT^hzFw+Rxjb?-BpKU$FM^)fvw!?PV&Hn2wd0*t=-NsNRUbZYMQu z!{&K!H}B(pdFRH{Ba8PPjcT>Jvc6&8t)p$MrTma{hP!_w!f|0t&vB!Ig$Ms~sa&XD z>gu>?UZ1;NvZ|vsQ|@>6v&#=`|9pAVXQjde42d7)SDpTD?=747uBq$Iooo*5DPo$hIQjej*IqMt zqOP~w&;9e((e9PD{kzj2D+2$%+jlm|YMLth?tNjRhxF8U%(0v1k}SWxws_wrhYuHI z1#H3f^+kqD@cq|!G$&Lr%Pu(B{`dIVy9x1*k@=?!A2%pF-mqKearpJ_1C~+KQu1qa z59~@Teqe0E7 zuGtX>^5j?S`{lW2dB%yUc9&dJ-dZf|KDcFjr^os9f`h7hC$#4z2{;Vo_ehR^$o6S=wVzK51*)`x!%>_K5suC3Z`AlTXCGWrYsPVIb%rC8 zvn+e0oq}Uf{^s702}cg>so+2LS~dN^-3doTia)SA9GMib)hN5$K6JzSh07+%?hn5I ze!14RD|QMtYphK`f%R#>@^?>P1Yq|S}{_PJEO3+>tnc)!SJ&*;zE5sV`0{sOE6dIJ&@W5&sn_Z`F!t`Z zo4tL)OX;b#c6^T>9gWYNeQ*i7+>wOND?N<+f%gj7* zXu0~`1fkFSLoO6oHgL?h&#*lI)B1>n{nDAYPuYHx+TW4v&T($;$9*UE>c_2jzh%e2 z#hAsfZkwH~`q3=5uQT_hnpz#PJlcLxT9p5+(7M2bzb3@Ht=hxwSm}7C&D?aALv_9U zK^Bg%1OKzkH!yZS*l+K>;+%~|x4i-*U!!adyZxM-JX!TReETOgn>#Nxez0$nl4apa z>2r2AUmYJ#3s`FR)?F@PVL~6czFsVV2*=O%m!2-=X+QY=^|r!niy}wsskW(y9k?CS zJ6CR$ZaZ_}NJ`n}lAi$w-u^5)%gMswu+Z#;xr2$_ewmA>^ZU;V*tZ1atTRbCYj<#MHe+%utPdB_7;+9~y$?N?|&f@t8x0u_i$4(1B=zeBT zY`D3Sqc9uG-GnzA9G1RY@qBw<_JO(bZFeP{AMUT{6uBhkFx&pVjMHy}7N-5P+dph$ zdCs}Nu`f_6p7X{&i?!eV?kBFWyXDr9R?<4rZk6!FDu+G?yJx0f6Ej@958A9PEiNl| zIXJmGEX{E$zvHb;`xl?W=Q>O|S0jD!arlA#@kd2YJw3bscgnOgoEO{ey%sYaIhw?{ zf2BEVx&W zC+zFb>R(+xcfmpP-?N+&Y>W?9z5DvcSWVgSN!#bnsET$6nF{8HLAe!uU7ofmoz_6u%MH{GCc@J7-D+Z{6n92w5c%bXci;_xUi)M80a#DP3M zmuvQp6YRB5lpl`>Z?%7WYAcT^m+Joe1uYIM?lbLIJz0CD@yt^@Egy!JUUN3v{aUU6 zrRc?qeQXJPkKNoZ2reJ>r4iv6pz~_MoTIglcV28wlzLd?xX#l3ulqHIgWf@+c?WsV z9&nslHfQB~4~Ho)*V=D8$mU>Fd7W)FU&;PG%}tY9V>InUrn0J4SsvM^(>RrN`L5^t zB#$>8m5^GqZ|7Kk-a*;v_H%Br#6L<<+h2ZQ%7?-gqWjwz zB0e`$E3qti(K$O)tzz+Y|GVr;Uv8MrZPd7LuJ+5sRNtP1Z?|WbFmAMP^gHu^ z7Q3r}W7p;0$No~24|H5SySMgu_<>og>R$43oVR~`cc*muoo4%9g?!Wg0_pwpnuV5d z)-mj7Q0(5kalWlJscTYkda?#6Dzv>TW5!RfJ70TGVQM=vhCQ!~MF z!LAQy_h}Y7ru^U6U-LrfU@vca$&7iY4#cd9|L`+9%Hc_8;1a88tPTQ6A<-YRtM)%t zSt-B!xsd&zOY4;WB(v>TT&%79QF`w_1(6u5={&paCTzRjD`hxkpYg278+9fL`*;uP zNqg*=d$7BEQSN1>1V^ssR^vnaBUmn!;lKp5up>*4| z%)V*%E5ps)Z+$S_@8iSBb#uk7eQr}%r+A0Fw98t1SZD3g-TSySRRe8GJNNzmyf#25 zp~)__X`;oWqn!s+SD6Jk{`7W?wGD16Si$S~HT`1e7Vf171PrDn9cK+Y;I;IXVe0C; z_V&@C_PM^z_NSE8r>VV_+5c_9oNcpYFW9~9dG~y(%O$(Yb5G7BORm|cQPX)ea#rL% zhHxLI_$k@o^tf9U5speF*~c7XW;i~IUgQ5VGsiJ|nJH7LmdwFbJ3DVGH5@yjyXBuo z+xldOPmI@c_?|L5i0@cuw{AuA{;Db2H&3uC*dH>f@8*sX-X9gZ|M3UjPy1d>;8S1r z`iz}N^6yns99P+;$o+Z$bXxm99-&XZbJoo`_^PcasGlXn(SEVYDX$h8M<<6(|366{ zI`F{c#?5Zgv;&W3#wjJu_-X%^Q}y`ut<&v42v@W$pJKK@XiL7-g>`@S&8@n#`g6;7 zJC}*-spk~7*+nZZc*hsDX`e^`{wMrTc33zzz<_ z+T8QPYDw!4Z0ks15mpU8z@}nqtfl+RzP59j*^AH?`^BO&mLHfTw?AU)^BkSK=l3}! zp1rlm`GH-1yI8{$#YVeTa#ycK@XXw|OD^8=R)7sS92vC{;mGB&{_wh*d5$8Vx1VIp zNO9!+l5utYDaC`TvkTYXyK>-w-M5&D8#*!_xKCW^jPhr6h?{wEUDnI~{aYI~ydT>u z@2_;$+3;&F`~GYz5#L#@NB6z*6th^BowBceN5v&(@1}isI%fUa|0CV*b*Ky9nFkXO zE;^T6WNnt`=y!FpMaN+gM`iV2QVRu+AJ{V6MAa)T@j&}6JIhTTj1H4{R9nC0&ai*Q z_o&kLmB#+mdDkSbg&nlZH{4~l?&BG|$LS}pb(&1rH}B&nes}3MyX*+vrnAQb>^6Ql zdR&R6{@|6n&n{IPL^-O@$y#Q}z~s1%>!-%Df13~ZbhRB4(e^vAXMNRA<=};!P1gbzZ$5BjRkXwEm^=r? ziV(%>xxefktEM>@c+A*8H&^oc3}@T@^JZ5i8U)Ji?_*KgcKPTFyNf0Ft5$xxXvbNz znB(}34g0bT*q6oBC-1BL{OvExl;(qu0slOXDHJ*$^5o7~ae~cpXHA(S=ekn|JlP+u z_%}K1fc>#kzh2y7b&!$bu~?fs-9Beyjk2_~+5X50Yp=OaXSLUPn)|+>{HfhV)wfob zI;Zx1{{HF4_Jo3cOpfl%udcM%spmvb{PMTpVC9?G=Ukg&9gUCvjox_RvjdaHZN66u z+YgBLGU>BVc0N$vb5NB1^C$aj!PmYVo77_eXIr%T+hYp*zhxA<&QX0}H%r!|!>{{- z-41U}KbCu|_SHLeGnT~_>3aBo&i~pX5n&35PMu`Q#aY3sk-&V7CW2$ zB@tfAiG^?Wx!O!=ba{E%E<-6nyr^QE-9O84;ZGV}cF$rowz7++?KAM{6Jq0CT@-448akMi1{+;O0O-xRk~AzBA6xzD}r*Z0jn?rq(SPK`$Uk3J72 z0;Dzee>!{U*rheE_I-W$<7)4et#(t4XG|>UUS_AsonK9`BlsJA6oI$>eWQI{p-8_v|erhu}^J^_}xR*AM66Yt-sE~v1Q+y#Z15Smv-*+ zwkUYC-m=Q>;u52W^4ax{Vcc(v6{8CsS6Eowdo+dlVENk8w@%e(4$Q7{V0hu}?9gkm zC_UmikHbUmqnq1Bn(du9+d}XCblT6+X{BIj$YB55$7pFn(pJ0pjW3O_3T)oD)r9v* zt8b6p@k<*Y3b=&rOMm?}g2yP^QT;*r(g5)|$46@KH+cR0a6nJOz53#Y9S0)19_a4h zY2YwbaPd7EfuHvB=Tm3B-dSMZyvxoYb)(V#I(HWF>n*SBE;S4Flyx4oTk>DS;+^Kw zeQU!iK18Y&+m(bW>MfbW2M$L`2Shk#XuLhqyKA1KL0=PZx^K$CZ*x{fC*4vy=&qY( zKWpbchdn!I_o(NCoP!=SZ+~YklRM~}m#$zZcHH5Z@an8L`Z*5U-&yBmK4Lkbz3_Ww#>UnA zKR1_Onw~1X|2aps-uKg=?Do_xSfKy@hTREU4UPEXIs0b5=>GikTb3P@Z=#gut&n{U zkF(~pN=$e3St-d{bUedx!|4@Q^d)2uI$7>tf4kx60sb%B9~eDIb8u$x%6Hq&<)Cwu z+2;R*nfp^Nt}j?})q8(~iG?fw9!7iJmQ3GkL5J)Ti+z4+o}acadDG*C9PNht8l6AB zJRK9XujBWPs$8ZP$8Vn2$2h7(9slx_maVtoJSe?pkGR82pvp6X?V2TeBg%zZFZd1yR?c? za?#!cUsf(+dFYkrFtxL-OQ3vdM1C_cNXrTW|BycmKcr1=|+KDcHLxtxqz0 z_}wm(D}DQ)`}g*pQB;0c=$NuMOs9$r3vhY&)|7p0=ek7oxA&=w``&x}ew?>u&AxSM%P-YD0{5B3A1G3D zn(tV&D|^#TBOk}|y_M6BF{m7T8Enb2HE`8|446j$13Y>=WDf zZbx)duvoX_H`{%dHwrBrm3tn`YljOS?6o6ns^0QSBE;x8?(b{9>mC9zEGxN#%X?Er5Tq`denD6+ zc6YtWzfFrA1clXCYQ8+Tzg5zpFn%F_dO5ps6>=XdwnIc%6}DBsfU`2YVG4xOp02frriPOMxfc<@c< zrbkUr8XUrI*6O{S6z`C|G-J}K=ezb#j7`!>pD}m;{=2L4FI6bom#jF=!qBe9KyuEwN_pj56 z4%V&8-O^VvtH#vX9{CNb@yo6rF!p{@B>=ghVLA$al#SDK6c z?h>~0_?mC~SkHZl>3sUw&SvW;{|A$|+r7+M#2ERoW8Zd{<=rdgbN4L|HJdYa=Um5^ zr=snTiANo@=7{ufLU9X4W=`M5_i>tq4 z6{dWS_VyXE5-(LH?5A40AJ}VMW4AXW?SgXT@qHW#g;P5@`uF|OiZ?Z$Uu-A4_~ysI z2Rj{aTYf4$I?wGOzfi-cS$zTr!$Q_E2h3RP@L^*er+IR$L)@`PO&%#P_KVj~vNe1> zYyX+8(yz@t4D5fpc&G1bX0-3Ky&vS@w|(E@$zFRO?cca>$}^sa{l`-FS-N~+`nw|m z+xoNSvb?>r#}_FJILqFp9(=2@S2xj0;h^X2tllr8haJ|QI@R>$ zZni^QMWwKn1jm80V;!PB>z3_TJ-3qWFi)WUlcE*bXU)FaZMb5}dotnUzOxF;7z$bs z+FjE-*u67ut{wA=Ggqd(?cO)jD=xhGbF1Swttktwn1c__SoeCyCncVP*A{Wgv~+K9 zFnSnXov#t$aOw8^K9@&d_AiavC-2`edH>&g9L;PzHuf)!vL0#_AF;D&|Gw+smuvg_ zo8m&YJzH<*Wg@cp*0CzP+&pz0vzOnt(qx6Gy_U8^A zxuEFi^dNVRkj-HSJ_jWYVf%su%x;wi&EFUgtdy|1|B5_Lm>_U75f5?k2aR`#uI;Nl}@;)K1-KNuOnKg`Hp9jXP244UPhS zISkiyBM(lnx|wzNCCkCbt|#Xftl#SJkNd;giyHzQ-dRU1@rwPm|Hd&dPVLvt`|mZ} z=un++YhV86(T|1UAM6@uh&;N?cx9iMC0F=Um6iMM=vZ&#yU}5nwW{)r{!hp~6`om$ zaCEE6M_1qYwz3rynAk2!ev%Tc$6`6`YZB6H`uDQ~%(``vM4 zg2M8qeMdrKuFD!F?qjH5&z34*?C8XPnfq2q?7>{2dFKmVe;lxkI(|_8^bUveWZqXV zwH+Le3O-(XM*YwJOqssw|IgL-vsHB!^tD;o*Eq-op3z%k_l_wr`Q-Tx`_@e0u;W|a zY3K3vBb!ZS+P)u)H1?^=dV||N{rQM+d@*CrVfFfj2Y+gx-u8)m4vzH@Dj@Ew1`2QJ9m}vi-<(|(=SuguTh1_#x zFTdY6Md-PRkixrtzj8%3@``S=vs&4C;?T8uc44bZCe^Fe?Q2k5vR|vr-?8zaNhyn7 z{J~#yRV*9NTsh#+yVv^H&Ycc{jnaWjvltIV{hY@zYuT^;{Y#HL?z&WKzv<5|J`XlC z`xvQ7^SzE;u{-=bBr$Er&3(z=toocd0{1chx;6Lo`F=a*QHL+46V3x3&GJQDpN zRlLal+#{n!iOZe#Ps_Ugfz@5We&O1aX(38??J~oEnZ*g*3l6^XSY3E9<+*d5>$(39(m5XYRO8P$oPBU7+(jq&K<`Zvn|?p8 z16LYM;(`L^*!#KIp9u4^vA>(x-tV^Kxm`yfN79Ps1N#zAJG^Y{U$ZaWHJ~-uf8xF` zaxGiS16=m)ZTnJIu9bf9zUngj)r;Z|ZcOX@d41w*ha$H9GxBHbaL`t`S=Bku;Xu@r ztB;?b`?i0*gwhT(zYhC%rawg5PH5V{%hF)aefZpNb{7w0=+fo;=3NecbGCNDzPEQ+ z^X5Kl-Zw96_WhmbA?F}TS0TdjYvf1!=A!ur119Vb^$JaNoU-2d{4ow?M=8la$rm#A z9njnP<-T%l&VjSfuWQ}lWOiUb%X2Jv?=<`1_NkphZkqdF)vsN+_z;i%-Mev*f1mlV z@80}OBT)Q0`(mWDXYxa5no$I&7q3@vj`?B0S90dnG?B}=kJ2A9Ja4IxKc7L#r|ycL2Hdv z$uyh)4uN;q=|pYZ>R=S4Ib~LW?|~y%J)3$CecXRh|9a5VX+8G730{IX3smj*)V^Kq zEBk(*(8uJ^lGB&>i9QPZzx2}@yVDvri~jJa@5^)EDk^#ra!*BKJt7=0=M)&2GtN4A zZ&h&6Ikqgv%{q$BpB3dDFYJ5m^uPV+0T+MQ-y&a94@7Bde_oit=8*VD_P%3(t35}D z5a+Tl>ieZOJ?cB}Dq-)pw?!h6ZG+wGX1?_e@|X6-_Wu!`8M}Vp-NzU1wKZ4T<*m`F zT2(Rapw!;xE}4p~gPJT-AA*~u99^Zo`Yc6`IJ`-ATjn2@cA)%l`s}G2|Liw)xpd!B zdV&4zhYBZeel@V4I4k-||Nn1xR=-!>{`dCXzMM(-c|ZO*zb}pPHQP7i2D=*xZZ6wZ zCfhCjR=4wSZSz5`RV$y>dA zOD`$*fN<@xHO;5l9h}!NtKZDdvJaRt@qhKjId(5*Onq^(>VX~i$=$PAa&GPGSS@*9 zB6+SIm%GE8g~>ttX3VqUzVc7W&YeT1>4VOkgN~lZ9y|X}I+$^GrH^H~f@9n2$~J!X zJr0TboT~etW*#_@d3Wkuy^s5gSaki{j?T3&99L)i=%-uFbeJ{CTKbPb!~vdfW%`N^C-(1MXmWFZ zQM-L^d&SRhuZ8V%B4(&C%;efX=Ui`<&XZ^R>^>#f`Es4GyK-1jul3P-JMk6kl+yk{ z_GudTBf`-wsreq8qt(Gp-1}V&-HIJ8A9deTIC$J4`_lQf^*hfVxcXz)6Q!Jg_H!l` zcHAywcW7F--gI|u!Tu?elMSAIlC+OFWpRAx@27Sb%|D**h(5EAqnjf@G;Hd=O@B4m zLli9RX1Ow&tXbz_mv1*O`1tGv2PZkcdB^H1agh1M#g!tu%8vJZPO|)4p5Tyvtf);} zDd#|su|TRT_W}EthF99We^0lc-CK7gXZa7iPfNER*<8)B|K*~ekIj0{?Xx>qZo7Ne zGQ0WLi+4?zsJEN^vHZMtviiR3|Gzl>JlAt@_UcQ*heTKpO3$rqSvz0Au|}-wmiGrA z2MIwrmc_{t2L!WhbeV9%*Wus0hm7SD*c?11Z!TvwDcdiw_|7N&pN964zhY&L zI^OQ<>a*T%DgJezIL8lrnNNr8G7c8r@N(a5cYpq-e~0Ex*tg@f!;9hITTW%QKeA)e`||FJ&q2Gb261uRl`HrC6Ig0+*sUBKj{9dK z!ZE>cU*gsO6CE2Y)*EK-DRA5?vT9w{Op$|bSIjr`u%9|maQDpjQ_Er;iY+IoIfS!1 z{FYR>{#dJi|A#G?B)(QF+gBd^Ctj=h!Os4mpu;++hx?xVF1`5u?bdxP`;A3II;!k? zb>3w7d`YqU-||GX;MJUi9EB5i6-`TYbbV27zI>B{qe^TZ$CTV%2mbv@eo_4<u%+$OMJvc);@c-ho_H9_D1E=@gPr}5zP ziL>VIcB#3yOyo_H_Z7|3{XSWw^Wf`?+aU4=Y!# zo*jCi%ck?>B$fyEmQvICHnOzXb3c*KX?er2-_*mIC))VizSF;BuBpf_vg7Fb`0J>} zGP|Ui*7=BV^osLbaBcQX$9s?DN<6f)9VPE9Tpm7E_Mp4@ zdY-mLM-ONoPbyX2o8quNwBG1eBeR3W`nUf5d)xM}*|gSf$}(yD?Qu8qF2?ih@9~pb zf70gGKK{9~h5J2D+r8b~<1=I8jD0)fIYr*iYTReEq{eSf_w<7+!$NMZHqUg_>dfn9 z43>7xeJnDuiv93`Z-<_k@g%1n;Qv;;yO!~{edT*A)2FpF?7NGV${p2p_j7O@T*Ptb z!@j*cH}dGNd~Y}BSlB$yJ^S}b@vpYmo-}vg$#pLa7d`B@b97)?ele%z;9~{L-7;o`vGV*IMk&oYimmtEC|H8~y z$w~7a9ke|z%HK+I+{)%_&=sI`u<<&l{fdJ92U=C_mn0TsIdJRFw|%*T!QsT1qlCS_V79W?5BB{&vzD*rcKf#PZ^&coty(MX=1Ly2aR^&u_waqn%vE!& z?LNL?m7HEZ;o#OoCnj$a%6FW(>c^*gCt=5}6U2kqPaQvS;d}xkOL@Y9iSllXRD_uv zG{Z|TJ+_@`@1ixo+{ zlAG=Q-rn)w;vMzxTkYo?G+c7j5#IkR#4pWw+2?&N*Zw!Y+jZRTSM2ke%8#qc;S-*GhbfQO_18cCVV~$YNAbYyS^Liz|JlDvMt{G5?52gsQ+f73XSh>3_txxv z-TZ-Jo=UUrSd2faNfb`nxA3agzl|&M?KE;8#r!B~IJh9}Jd^=Ce8Q7l}v5ZJcf&R-w)9FL|%3|WH zgpQxG^FDv#w_)+peNml0UzdJuwi6Cs5z06*!me4+^7xl&IR`JF)b~>ok8=zUcfWq| z;0K4e^W^ybInYp_g~v3eRihC zjeQT*PR}~{f1{nwwL*=bPdfIgbDS|GAqHL^#UaN#S|)dZFXp zwetiYJySo(-t{%prBL43-faKo;JCXSs}=Ug_$@GNeml*sy{x!p(}^2)7nw^7CFCaUV@>&!m$1Kc-zCAr z=Qh4}cHCt->4M42LdUjcf1F(ooj%}Nr)A}_>&$^IlTFoYHH{AhiwOqzF6DBNUw71N z*@8*->*U4%oj>ZhzxSVA?_AGY`>sa`zFo!s)^5+G_08J03-|4aPkOiT+=6|dSV}a6 z)pG5`1DH3lpEq#yV@S1M$Q$oirT6ORL5>{vO_wTa+hokHkL^viLw-);%xX|(C7vX+Z-H3yiT7%crZ&EpU>%#0>&3PLfmRE*s z){iW7xDn&{(lzYjen#6l%Ugt3?7#J2+MbWGg7xwPMk{a{Z1)b+gf zXAYdW-CEAs=;>h6oo#y8g4ZGJ`hhy**arLS3pITm9bNZ7Vf;E}+rwY`q$Oh{7iJu= zWBb8#BS2-HUERDHyT4~lwDZcF{*c?vz^>F!BV>Y4f#Zfl zzmGpptl4ouU`|KUMJY3fi&J6)`@(+OpYL!{mJ!Ug7tY|;ID5r-f1u{nGEvWu`vi_Y z2)3-=Z1+dmg86~vBDEN8|&67os9&p$$`#prmuE4>`srhGC;E(-=*(Lu@WUSsFbmULypNm%e zLkm@J%qnEtztE#%-~Xwf>~=LrXecl@+bt^6f3)T4qJ8IM|NMOFTW04PptkI6?L^1u z>C9D0f_aWTSLf_2J0yBgMq5Wbq2c5KWuN`~U3B6dW`}=V_1J^g!KhD6T#3DL|K`)H9=*eKFnY@03sutF4ou2tk=e-V?Vxe7%Ze@ar@i*mwGH;~ zbN5>vJY%1-#Ag4Y3!7JefB(+z>9zuvRQ2n2HkO)xYo2Y~$Mn}*B z84iD1^eSDRayq2eDIH}@nX`X-Y$Chdv%viY&zi4qocn*@ED!$ByRSajZ9BT+*T!j= z>^}b5$T0g*<-XntCVRifPTluMsgJY&SBsVBVy>?&Shx;71ugIML=doS< zyzbvAZw}ZorsR7mK5pB0=3Ho<#HluLJ@fuBA{?LcsfbME>T}#KROeD5Ty#)sWyIfk zn}iNJEHAKM#eB|Taiz=~&+H_Jv}-Dw4}S6=P`s^n&|hQe{%l>d{Q?3O_6$Zgt?u(4 z+xhuSK4Q1www{rTauTUe(*#r?c-?SLVHNc@4YT%U^Yy_~tsAUyWb&R4mSM zlHczeyYrO}PM5gRf>%UfQO8Y?W6(neNH56JNFANI|T}z5?Z>#p`uC9b+8| zLidV#IqtEU&U^nG|G{=AkNNIt%MWxi95k2JiFVj?dE+u2qYw6VzJ;-tsZ;k?3N4?c zdD3kEuB{Ap5qkgZzSxLfTa>ZdE=5a1cA41XeZ6`g;w0qL>>eM_e_$R7x&PYqBqAJF zuAFTXpi|~pG2ww>?b_ml#eFZ99{d060IQbMMZ3ip9P<9_tejuy>rk+}f8KQt;RDOp z{}z0qIA#AcPBYODLC*H~4^7N*QsvwKEJti}!OD+z{dvM1?ZMaW5>q@m-c+vKC%#(4 zNzi)1zE;LZ61j8dJ3cm;Sac)M)p3qo&IL(Bm4j@5_*zceEjeJZ$6PY!Y@x$BChyy8 zGCtVn*B#oh^uzl7hl)>W+J5)gzwJP0?b{9+d-f}SS7z>JvM&j_xuuZ%(!NOU$5UQ( zo!IwJ-MmfYQ<>e$a{O?z7vYpv#|_q-*COuDY!MyzRcYB#RZ-*UWcZo7=hXcc$~f#Na|{3vZQ! zM--oV?fyI8A*<`!taFM*4ng*F>T=v4>@U*`2)q4d!~UO&mK#^~{MhGm)A3*JaRK{_ zTT)KQzC3I<(=2#X$E{`i3g5)YHqc3mYt->(;TI~peHH2l46aBz)= z)xM3>1rJV{QL)}~SGU9c6%Kh%^5Y$DmX=EVc0IG-xlDEYtk}8xefJrseO&OxZrb^z zefpDr+kGkV3FW(9Yv;YHeO~MQN&9Y@pNikL*=^sFP4dgnKhy(<w!WzNOB?Ig6z`eiIRnTyK6BlzLA)$XQ$b&~i%N!S?h2=0003N3GM@q0yiS~99G+FrCl*g_cXAN-SKMTD|Pn$UWXkSekk9v3y(3a z-S&H%T}YJ^`(9QByXnafOkZvb-Pi3mRbhYW49Dc`e`mzK(+@h&_!P0xK>lEsY{ySc z$0H7l-4}(0b!0hA%vyE8vV`-%LyKbtPgIufcT489nAPfOe?%$8=6SY&z1p9QJ=bD) z*cmdf!Hera+Co9t`0Q^O8<>ga~}wZ@e!fbBW=k{a?>zW;}djYQObdezM@-FLrUK zNTN8fvhaFjar!FlcbIS2VaG`cE< zryVS3c|0jFQ^}Fb?NFo9#e)t3Y@zL&HWwUNnc3v%c;o;6SN|3lC^@dTHz@aDky1C> zf6n-V`~PR0_DZ!+e>3vGw!2gnnKJdm)qSd*Y4goBd+ikMQnKeQoMPwo*!RbY!xJ5? zmzaKS=gK?Cdi_HcORd;J(MC^3hjS+#c3WN6FqxU?@MuQ-wypg92j2R%G&}oG-tT2J z@y4>pf%a4PHD2{l`fImF#iiZXT&JzIJFr$seNyDaeM?kT z<+mTLbIeKDv;P8D)Ir|UfBGNPF&|u)B(msS+%|_Z!u*E2s6$GKH6?Vc~Xeq)-?&3!K)i9aqdoN5=DuqRVEe2QIWbgf{f z6J-8+@?%6eMt0eAS1ns`aI3*K6-U9p4K*+SZ*<`u<*=Ytezg zD|=q(&3Le1_G$#5oYXpd=@n-ju03|!e_hF-bK$v-c02zp_m7O$u72{ zgSkCllirqIJdpU`VHMcwDos&lbl zbTwUV>f3$$!c`tlNS=LZ->IiNOFL(-vny?w(&+!Ta39wMp3ApNviEVuH3qWnHgh~2 z8#8aUL;S(L!sfeMeD)o%X3DrUXZ22py=U1cZ;O&YFtu7tyIJPf{%_ac-|N}fV4t@6 z;OAqZhW5AonyT(UxNcV)&#SS3`_R5;b7E9pt(s)#@GF(Ev)RRNfmN)`@f66stNc4e zI8NBirny6S;lVRKzn^{O4s!fp^V*F4rHW(FOUA5ED>oik&^9YYEw|vnfuMq0fA0OU zkEt@w_{z7?{+BQJ=Jj9P_xFT^u(2k~*>ldBo9Ctc!mdH9XVS;mYx^n_e#bB@oxSh2 zNN!uKN2eXjsfB0ut2G?#wt8w9QB`>GUa(5h(N<>1-|g1LU2ji2_^awqTk#?EfN+@U z=Cl~j13KZKs{Q`Wv1bZevuxoL8~e!BALT<8ne1nWzW5S%^4Y#++!;2D*6iDt+%GhV z?aC~>S-i)7*(qe(wawv3)#A@N=)b@_Xqj)^!R#5e)pBn>IIKuKSnxN_)=(QUO=0YW4eAn zhhX}F10M{!&P*!EKEUrX(~spWvxD^(+qYZer`XqARG+_isl)zXAqx%56?yDe7RkG~VuUJ>k$NZq2R#Gx31c?fk5Z8O#UdoVt$-8!WJwYS6E#w^6rGF!E-3$@k4p z*mjlMw)gAy$(ih3ud#pjzUQ`5kGb~r?UP`ypUAT$Zl9z?O5?)(nuCJRt2>rRMjtHF z+a=Tgm%*`JV$ahpTw5I^(lVyowH#bGZ5Q`}_n`-+?IO<{72$GgMW zWV-E^E>(4#Zkq-U$B%yz;TUeB6|%)(;=#M?7cWmcU*Nb<>{;rKLJ`LY>>sD=>^ODc z-|9m@qb^1rSX(Tlv-cUhgXF2Io^=Z0_D*+>zD&?p-oG^QZ6!yNpnb@~4Ne!nU$Q%O zN!e`ohkg6DZ(I})wuI-&U2fgd2R6dxHc#tRX|FtPk6&$&& z)4tT5-086R{3FiiL0JdZ*B?Axy!qY!jaMejn4mDner{FV>(`kj% zgZEy2woliiLH=*^`F$U_ zdTJMW?}*ywS-1At+2%gsjM%kL{d?$Asb;r*Th#M?Lta77oiS&=?8pED5~_}e`g3;I z_cR=wsJd{T@Ae|cg?S%1d#*A&u4Q+ZYF0XXVBupiA*QA72aKH4W~97kcL+cCcb354 z2LBV^wxmHyi*>a*RXPG+NPop<-C^U0q6b9<8A-;kvl$KO}jIW=xx&G*A= zAJ^{5*(-z=9OS$4DE^Lp;6ay8)8g87N{(jt#4p)}tZ=w-KTA#cb@qXKou=ON=U?6b z@~-MEm;RadhySd-s9vXRKTY)ItvGFt{ciPt+UU|*>Mv~%iY=_ZdCyS5@#F8Qb|=KAI;2Jjui0-LaiEy{ zsMqrChxX^|f1h&#Tjlyh zXUfv_eHF`MBn(pZ!RfJ<0}+m0zs;NcWI`MxX1uXG=UnV~;7?il+GUpx@cj|mrn3I* zfi?3ZRwi9gcToApzPUG;-N9AmfN;^&lKryVvX7;TDA?c0`5$@3K-k{uO>+JA1Gn}C z&I?}acHrv1$hegc4HPQ(X|*o*p3pbL?zV4P=Ci&92Lr+~xR&|LIIc;Z9QjvM*^zIu z#o21bx&seR{9OE&H|Ib`eqUgs)M@)e#@;=bd#BrXbGgYD7n$2%(fE;f=b6C%PtE7{ zR9|P#|o;@B#m-AX3og=Ia zob!qt@BFyZ_|$^qpt@p!eQxHN1B&cTN4dQM9X{2bVU_0H}+|5d+)w^I|>e$9gDPk%XLRw?zXXA@!Y-K9^2+0 zJZt+*#c^(kqq}C6uuqthqrk?GUGqcMA2=!~)1r7k>%b@f8Qj^Es-#Qz>Gb;=%C?_x-W5NNZ)fc` zuvKl~H8^f}S+@Mo;tjL*75b>GG&t7*&e#4Dh;S^v>2$*5;4H@j4$sol?`AsI)LHQb zev~^nN#xl?pN6a$~GvD?LDw&16Cf!(V4vlIIF2=0pv`BT3;srlg9 z1d9TuTVam+#~xM%&0=%xko)~8&28fW$x}OT9eWyhz+itv#l@{J>_eM(ZaSaSYVTid zxIMSwv)z~Zj4tO(-|ur}WS*R9zI5O7brUNKx_j)n);K6X;t02U8Dn4}p(p|F&rFp? zgk!Gjt?wbC3mjiq=U+BF?j|D z=2nl!V9&|>OB44T|12$LFSzdXFA-nC{bA|rl_rP3*|+ji@Xq(C*X&NjR!@5z-??v7 zfSkwYuT%H=XjPxwE!=l-;e)MbYwqSdCWmIf+_Y8DaZlK@sLvHA4ur3}FzfBNxC8Uk zXZ&Qm&gAgBXRX%Ewwd-FJ*-S-YYg`5TmIPf&x>Jy>$)3#sxLm;J-TDgICJUdeO(Tp zRur9Gy>HRJ9;+j>`|UQg8O#5dsyg^;fp$>i{Afq9u)VwPZu#dhsr1anw`N-punDO0 z@!s${uq({Z#6I|gednTj-Rqid_Qtd4>6ZQ!+JDW^XLI?dkNZ3%4HX&OuiGhWajO>| zDA>2v|5WP-(P{fMnR7nr|0)EB<838GIDVbT&3btLLdUKi?qps~U&kP6o!D!)R1ONo zt`_BAx#qzAw+x>)Z_0NtEnm)A&hXuyw|)P_E6Q{CS2O%SRd|uvzGK~$W{1bG_w97j zj{N`b^S<+oT`tW1uz8=rlKw5Z%yaE}OBSrWyQjo%4b#M9TYIVwT5ex;C9u2DvBdtX z__Brn9r_+`KJcmg^nod-f4=NI8hD@~{-EBSSat{2PG=SV7t`&hC2=r{e$e0Vy1iNG z=Vh+_MsEbBXa*jz3y;u=QncA^cUUiY-IX2Hc4hJ^;erf7`@UBy?kg2ZKPYBV{qR9n zoTE0A=G(nFuN~s_e_b_sxc$KQTs4PX7wisb`TYN>=J3V-{tNTT*-u*RA4SS+yc8q6 z|4gm^{tTPn`+R*BcAfjMe&31ipBElFudq|!uk@qtd$pbG?%y}3JXG8Vx(`WF0}+nT ztGigL?k{u9r>R-!P`s4!e|-C6d%d&; zmv`J*yx%VMZ(?7A{(j|{6%m1l1@^CB%(TCsX`dZekWy~ikBxT4z5A|6hA-G>QR-%Y zg}>D9L+Q&~V$4a7-4h&6)!#34w0r-2w(HKP2SR6S`74|~bKuR|H}f6W${qOU9Z|<) z$?b5WAW|%7?nL{Lgx3}-qIUbw#ctg&g$k-#!GH=StT_gyVwQaa)^CFL0DrbDuJ6TlB%@4lRtX87c=;>U!2} znY!6w+peTTi(LyHa(ljY%rC#UKPiZ_Xw!xj`_CyTN;_PV+%M_e($6wUX1}E6rJxg^ zUhX?FlZiJ<^opIJkmGB9aL$boXhnq;*IEq-BQP-7=w{Kw}$bE#d? zmWz{kZ%=aE7RarqA(iV`zww5AM}qjlkE@&%V$Ys9V4~=5a9B0bA$Z}+Gj2b595jA5 z6)WFs-S5?Bbds0FXa51)8IK!N8TLOhOG?(+xYsW7;HAx4$@A^l6?fm2P@G`*?7@_{ z(<{R58d=Q+vO^jiH=HXopJWy3xUl2#>CMh82W=MaRq<@tdca*Hz`uT%uS4tc84vEu z|FqYe`oFE|OVNHUj!3ueGOPVr%+tP{%XqtQ&%&5ZiCuf_&Is1e>i#p)&bWKmo_(L| z?d&3RlvjR&oU8EJ91)Irof^C>?9&`Q?*4h;7oUGHLht+~wFv2hGhP?*uFg2=a4$@f=?b~#zzU-6NOvk@!%$sa=(;PS1G8b3umOrRzV5iTU zd-%Znm;b{St;lrPbE&uA^#g~)Dt=?53ESrHzmmP?w|rF4{uMts!nICLurnzv{OL3I zi`~x3oUX;USMJj?kN4YfXX!r6{P$lk2xQvbULIZY??tQQv4**Un=OMK8?Q+=esAPH z=(}-cz4`SG2WFi4$zo_1=CClZ!hGBOul5@wgxK#L>E8c*{<6kj%N_Q6AC9szpZwHr zZ;sHP(_0_gF>czo=z8j!eR=yOKPk?hyl;Wsj$1d5LGG!rv_*s?L*n*=#V@-YHy*rf zb+okT;Gq!X+g%h5R%T15}4)67S_jU-GHfrs#dm8=B_Nd-6yZV0yLd$n#+ig_c>-_5Q zT*tNfFS!z*MmfswnzJVIrqV%$)OoLzoOc}X|9UjsSiQhOYg60ye-exii=XGIrPZw5 zKXbpFi_cmA{pm6+fnP+K_D5vY$ZUK6!cP1%w~F}g3wDC+-dF3>C)ydVxs`bQRM);4 z<{LU^p6qn&oci&jQ=q%!H{};XzrzF$&IrBjy^&+-0msdsRq7dI9M*6MH_0r0Yaf5* zlM=iAwEYtVp7>7wYrWsD>GM0kw>S3*WO*5#T7S##QPV3kO2hNho_1Xrm z4v9Y2zJJ1n51i>-zjT&p|9;;EK9y-_J?#7PoM!ib`?$}W_2Q|gj`!`J*gZOXR;y`W z-Tpfo?|-)J;%0VrEqq&AAa}G?a z`cruQU!lXq9qydh*1WK9p80B@j>(4ovz|O!_w%IF{-v5K`X0$b_N(;tWZ#~>XLrep zeeq4}!~0&bJvsZ{E5a^Bz%{1yVTxT-uW~@&l5WS&1L<@BzteEES2}ERaK7Nd)bC9R z?Ij%tnm@>$us4o(&`!#)E{wZs&#~;h5{K5D{SggQZaB;9?052CZ7Xt*)Az>CI}xexs%h-Y}{q9JUOc5Op}kj?VX8@ z$%zvCbtf(JFBTZCa)FdiuU^-SGyS+vht@yp!~C zMYz|&V=-!9|0}B;{P1D=JYAz@4s8d6R~r2*bVxG3+gE(x#eV)ItAC~^Hte4h@5Wdl zXtsa;itQrj-wN5s@|+ev`;y6iSuS_G>9*PX#BNluD3~1G_i5sbiAPRN*!L^$aYuAu zw%?|DtYW%vcRPf-*I7TN~+sO{U)V3ecF^YFM)zW-=WA)Yj8x#r?)X&0~7T>JF%l6~H+8l@j<*6rKh`1(PoMIJak za{D5}G41eGmDzXt4oY?2bTPYJc#t*DJ@`D6h@*Pf--+_l=N#;M&zwIvH|fBXE9oE4 z=m;K&cV*XmS-;r+xA^bBD;iwwU%tK5zSfgzf7j>b+de)zYv=j9Q*g_P9=ogsuLX#k2+Re6aMht95z&&*^H1V~6SH3tzN-4lbJ1d*}8>{)5k1M0hr|tZ?Y9 zR^Jx*G}^(kW`eKH%Xj-l&Xlcrdu+!3T-CctkHWO<*}@p7asU5nH!V{)OyXG6KAV`@ zin-4w>|1wDxV|Yr!tT>ShBJSzX@lG0fkB9HTz=VYy1=yQ2j%X3xoj7ldoZi3=sUlQ zoa6Kj8?>ArAMne&Vwb&k_I?GSqx+sOoE>z+d-A?}8j<|GozoqUyWLT^G&AGi z<*q#&oo~q=6e(-%jEgzy;LPR7en%nGfzf?7!}$$d2R^R5zhp)8;{7HOb@u%X?)Ep| zcDE-Tixe3-?agUw1#Y zPQl37UNZYdZIu|OeUp97s(%(+?HX>LiT9a&df(L@hZ1Y~UG0wPobArJIsqJx)58(r z$noLjpHuhd9u(+dU(>ih<=|u6{~S-gDmhMjbfd^T?tsH()6}>2l7$D9El+gpKlFS5 z3|*(m#sAjZ?=R8$viFADJ*^);W=b2jl9cnp#geoSox)$LVUkgJ8m0 zoh^O*2TYYcUH822+ka=l+2=*uJ?)o;2>S*fXR=rOlr1OWwb@QSxkf^;VeUQw`5U^| z96k4WwW|H~cH_0P)4k(awywspc2c51h#a%qw?aq2_{nSmaK649g9yj7Ha|F~JYR6Iw$aL(-8=N)t5ALQLSt3OywI-A zI=j|7u)Z?Ab0n(hfY;Ny)uJCR?w_gr`A16KTKj|xyt~W}dG3FvRu=D3$7#Q-P_!;# z%TK$66MwQl^WNF_Z|d}ZgZBCR#P8>`$gEvtH);KbDQeRj9A%ix_HNBDJh)ZtXXmC~ zmV;cW&la-UpLJ+sEY3WU?(U$O+){j4THt_}g=g1Qt8)9LteYkB3cT$LCSMbrJ(J!3 z6U(x1Z{B>|7bxRqxP8U4eG~uQcZ*!L#cuAApjozVt^1BW5V*5?JP3Gh8{S(ziiZ1yj+cO4C`n}-1seRr5 zs?BB2{tqAy*gL<-K1O7;!Qb9FEFKh;UrqQndYh z|H6aSDH+F}8h>^uZk{6KxkuIUi%cWqO^NOU`>jqKm3mTm;Pkdrm8bW-xA*IBzW$17 zg}vj=>FeI*`|U5z)MxJL{JL+=rYL5KogeHxzusu6U4OvtjHu}sDU;@XjV?Pb9)DD@ z&$*)CVpX2=!E0aMS(mUE9W;uTT_At-q=VqW#l~~1&N}=_+xfTtpxuG%wv5O+9^i6Jl;QZ<-Ua_3zWMWJNE6l zxssLVL-@Y9>Gt-meuf86oSn%c=oEi2C}8Rqjo@t#mjlFSeeB)o@JY~s`^0*!17AO< zuen(EbAL%hIm0a3Ci{ZPx4+k2Q?x%5EytGc^VKfKa@&Q@9jELr3bQ+h$BkFDUqyJ;C4=Slpx|HP`L{hM`x{qp@!?N?Q~?~iI(Umj;FY=6%q$=3eXrhRv} z=`1K@KeTVgf%~~(w#)5KO*p4_TPk~>rULuT1#g-TexChJOxvOGpsP~U;y__`$J>#P z+l}&0J4}8az1Dh4#DVilF>?gdI1YT7lKI2##9aG%>jD!aT21U#`)pon%f7e!7R5RF zQ{=6EPKuu^k1knhx1cX_*{m%Mc8>#k7@p0j*mpZ$G1CZ#TIUv;OlzerD16JJJqlIO?2Ga^ou&}pUr!=@y2x(`&G;W?;~!% zu;fEm2W>{j_6e9P2*YT?mPIk?MP7-?zzSvCXP$_f6P1<=oBk9ed>*OMl&* zHSyq^X;Wi9C+8j9^y%jWF(pyQMQKl$-KjqAQ2O6S-2Ye7fwDLJBHv<|4us2YNUS(I z-+uWCo#+A=Y5V9C${~T5gzV)vsq+b*+q_TdRm0c0ug>h7A!*+ypg3XQEC*H0-TA$eLpMD>NeNAlJ_`w{`_GIj(-P?924%Ee`F+qMxf22OQYFI*Y~a_WS*! zw^nkrBzN1NW%IukeofSVfqIV0(>=`gch%?YQcXOvZ#5(9vU0%#`}TGezmSW}-uG4} z>el&=0&qR^wGa`G`9Ak%b*-9yFnZsk5{14T$G@R1v2FG;j=V}AzOC~+exQG23D<>| zfnALE3LL0mNnj~#j!#PvzCYG0#b;#l6 z$F}WT4yGSyGFEH*I{(N11CbM#hvdw&pMTRyX4xfv`~0WR`66%qwM#ji*J+`BXy4q4 ztS2qviud{K-E%+eRQtXyKmWMfT}j+$u3^hL+qm^$_H;In;zuC|lXon?`$wA7@!>}) z-kjw14prw4CVZS8a=JDh?pqc* zrm{%g`?^)gG3<(ftDx)Y1G{39zZN=295^L=qG|U(c86b?OJ7X5Xkvf#@thBH%vAPs z|2wF9?YF4?(G_w|Q>R_px5HxF4Y50C_HC`KTA9c_(N4}U@6YbyI=f95r6296o_o-( zdRJz@RKmfZAy@O|ycHd*7K$C>Y2EIS=5qP4*!HXg?A!0DUR8g+-_pLKX0G&Xd!u7! z@y#km_Aav`wOY`(K1ukT;vC)2m& zY`gt6OO2J6V-@Z97G5vvntQ?SW5V1Yg?3N(Y2_sanyTj6aRfg49^W|IE^XpRwzpG^ zz~R_fg9yjIuXSNAN2(4!QezEY{k+I==bl$D?+7tC{#8G=H6ixwf$P_`+D+S>4&+J5 zS8_jQchLB8ciW2VS^K$LtVP9FEA0Qdr9?UJDXYE4JkfMj^=o#_d_AY^l&9>wd-a0D zk?%A1G4rxbRNyJvCmP4cs$jU_VB4giNh-oV2efacHV5SJt)nR$jpT@FI&n+rJ5%h3_8h>*DLLRdGGO zZ=!nc-kgP#_ualb#bBL(wO!B_Hr8CRo`Ws(`Qkr?Ssc9F#=1}@QowO}cF6MA?vu5quZ|2nR%E;AfZ|4^1=2|Ikzx*oOUIVtLc498QXFe)k*jIe! zZ*#-m4f{0rdKj8~E!-F9dikYr3*rTKrFql?5^Az$-iM;(?;vVBut z9EhCtLi_2Avj?TNjJH zcztu#X}!DqZmKaFcx0~F7qBOf;c3-GJ3GZ)vuE@w*eRI4J?>h$;Gq1^$OA|8OdLC!O z?(0+o?){nTJTw}9Kizk+uwkRxp<{O6?mAE2+gE4DvBhhG%goY!5{i-nhkm(9!LwZ$HbK1I91C&kAh{cF>q1cg)X}&EenF z`&;Jhsono=+6#d{YJc~wU_T)k@J7Ub&OEL6h0Ctml`b$%Ja+ZszCXI#JYu-k?weL# zZh4};!_IM)hhn12{DaerJKX;73U@3IJ(+4LsN}dozM}Tr*Nq2K**mMMy0Z>MEORpZ z`tzlIvwU$tY1cISxGyqmzPel6Yi_JqWBQ6||DClDCyD<2v#;xf_pi3BCHv%>Yc5H@ z+ikaIuWXuS(gZu>V?B#LFm)f?xN+WI_DL>|^Q^KprGoh#Ewf6tK31B4fIr~X*N05u z2h#L<4br==*?)K@ynRDnvwh^Xzc;wrmF$lwzRC`Hkm0i8`$Q|*6jcdCe zwr)9bASCyy5Yw~-2j1AyOLpg297MBO@4GcL@1L^Z`ixt<{@8iUn6qitoD(H zOu4%6tMxj~inkN@9rgGa+@V@;=XzV0VUdsIzMr>uO0r4LKB)C7@8`9+6vzE){0z(b z^mMK|peIom$hRTnfROPOt|i5f>_0Fb`no2d#lEC!x{c&UUi*Tt zpA3Jge%N<7hPCj_(dK=(?{hoddotB-g)d9Xk@CcSR(5Pha;=QP>2c;nL^!6Uh06t< zneFH&edf^oh73mr4O8BE@(KsF+7~z)9zA^Egt_CYrc-GS(K}vF6y3_?aI|gb|EbG* z_kZm!u_~RTX786W5_AfYjyPL9KWmr%P;&;Hq~q*b)v{y%kpjBc)Jc^2<}iQ8wM?)>rFj(h&AFMAxW@0*<8 z-N_ricwgF-wv>*EPIiSsZPT}FIPY7+;68ntV)wxnB5h`R-UW_q?`<7_$p|>Um^>qR zrR>QA*Xn1b3q6fF;D6;w62m-Zhla>~IoDff+V@*td&#o!!@kPP8-LdCXWAdX|2IeW z>{w(00$!GIyXGdv|33|k_9Zx*@z*iWwFS)=s?I@#qfTDWl!JR0I$p>) zZ*Bd-)$sx6D^+6w)q~9!%WXt7mmk=$;o@Rz)dB}!o=Kmk{rh5ncS~-shTHu8M^v;# zzFd;F-+pTKw9?yr`%48JqR%(pvj$~C?I(ZYRCwz+I} zS1mcn)a#O#va!(dy~uId{MsK5N86?dPkwg#zb3Ar_xArw$IO9ok#?EHwt#-M%$u4|dfzb403-`It zE7I{!a|f4?*$WZjxMsG3=DkA;9l!g=Hr4HPIXFciDSUmL>Omcz*73w+L&f7x8_kHu5eUFMH?D_?E z?GuY%!0_Nrs-5rO<1V_lQ|tos|Gl2`HP7+mET_Y4rwbkL?#sOL#r@L(kz3%8oEixR_+4eJ(H!r@|esY{I_m28i4)U{T=l6^DIF~)Vly7%kvAGmBR z(OvU%$ARw;gvHmd`D1Tw){~^g`NQ68RoLo(thM%EE=G8G`zY?;do^y~o*%#V#n~)PC3WjFho`qQkO5O6qdT!sk8d)f8bo}~*McOHG@Aa5Lh zP~zdif;d5ygEgU1^L@IuIcR^Y?FmyYbm(*F{^9uh>3+qWLj{cUR_@RJIj!n^yXgL$ zH&@CEnuPW%OXPay?muoPIqxxRverSnKovE{Icrwz%ik2UxH-MVj^mhlRp##wN57v{ z3QfHQjv_*@e9mX`9elLj>i^COrw@Fp5HXA83w97cvOstHBwmNt@d>*pJGlKC4yXTCwKzCj*!(IbcgatC$IW}S0(4{S zyO!ptrAL_Vf3%+^sw?i}zCYhApH-+_wzIpSebxH+ynVAd>@Gf)FWYAtn|foRKcrvy zeKjH+7fo&#U3_`ABa=iMllS+GgDj^w_Po$mJa~Lc*!F#OhaHSf4o*}1ljkt&ht~Js zoBr?L8p2@RxMcPI{lykbpDi-7k9pCb6~9zqf0OCoETfN~_GKtd619uoV^XRY0?Qzmd1%11W#6{VYONL1BBu_8)!FA9H=l+ZN9&Ls`(G_@ zjhy{`bQ}(cjkFZD+BVsb|i-1iN`0J70Y{(dPJZ)6YaD z)*#3HEjfwO{X7Q`sBB%mW5@afBCEFcn8$}Z)I8@)owxdneSeJz-x;;O{X5-wuc*dZ z?_bLK!O7kF;l7D0rJ43TJYd)V{af^&B;$Pw^UE`3Usc*&oXAuCLdpu9uba0a!m-Es znYht{cE_F5f{VG&79D&Pbmfjj4e!AVxnIsE6`pq}Se4#(bA7DCoa4fQlidXmuqU?t zib!9$zfz>?(9~7#_TTpP1_W3M?^j=`vbj5UtzByS?69qK&fDdlKl!i!fPvj&Gn=P1 z0?qrR4A<#zPnqX<-mzls-udBPThAA)5I9&T5v1^U#-alTPnE3w4#qg} zue?6-@YYxMN$#!lzgkY;Z?RQ^hrQlrf8>kavOgvl_LcovYIb$|Gds~kWnW@nPq(`l zHkDhfbKXAVDj)y-GLU;oPwqy9<85n>|9dVZIG(+>ecGFc#Rpy4|2xmCe|#Y5WZMp} zyB8eReVF2Sd#$CzqOC6am6L@J^eg=0@Aquozekx>K;uY&{g+dJSN=TDu>as(_vt0q zZ|%$P)SSY`n7wbyi|JcgTBg|v>1;fvs#jvS)8Ws{8@vk~`y983&#%*UoNPixzAYU8A3VTiFZOpR)$xC^Z~h|I zFOoOU+p*p;`|y9w7Q5_2zGq&vm+!l&b@dn<>m0}D%^x?tJd=2E(OU_l3uhG%Zi>6< z*7|>+L(ST<4g;Nhhtv7~^A-D<53HLWwCkAc>itXqX>3?mp=7W9`u@M=j7;|0hhBIk z`~9)Ao&LquUTu%v#6O)!Pu||XZ%64&m*xCZ_65#&*}v1R!_gwV?%ccEeh2+-UHxT# zkME$a{eGoO_f|QqjLV;SpEcTnInnj>nXe!AJ3a_9D^Hrf|JpA1+RNFJ_EGoaCH(sz z+Bt-&om+SHk=+&1DZaV;R@+UmDSP*C^W1&<{y{fhZ>a;P$JwV5;n=dpx+dw~jDt4w zTkkDl$T`^WpPJTvLf(<>wDY8&e~vk1S55l2AuRX6uc}??9Tn^cykl)%UAwZ@UiPE- zdskgO`#q)#I}f?@?!WS7NqvdIExVkmAl<#b3+%EUE%`XdvTGlASgz>lJYBop?-v}A z=$hvE;;+HgUAHn1YWj*aNEOK(wDi$_a5VjxLkiD2v4yMB9X_s+NLY7{`+(1#ph{Wm zh5Ijse{!zc>}r4X>)NKuFWmNq7Fo~tuC=v$cKW>6{pDNtRcyTWLGo^s-45*)8o}?P z?K+>fS}ba7c2v7$Ruq;Qc5tCY&V?&0I1Wx`+fyc%v)N(A2aVa9Eg=pYd}roNmin=O zhNFZ{@x0#s`t#3~{_Rc=$-1ipig4gX+|9o2V?TQ6<=e2bnEUK?^jLbF{Wt|>Vf>RaO{N5k<=igsuwUYfDU#_gQ>Cv&j+x%j}yT1(fYH2I? z#XfjwH}|xAm;3ia`@&|*o$TGbWZ&jyi5_4iscf($Sc;Y`>&Wb(T`ZTKi4ai}%&4Iq%=P zXYYsbA#KkS_ik+ zcZWIIcNIl0_BHurcjrj2v$F0AyYH#tww=EGl{LQkQg#y`1nG2~ zN_TYQS<^IcO58!k8g8d05^oR8HfuCG-?`I)oo{2)%}qKE0bNH`7q9)j->d9q)Kczz zdryZw%M3nh+p~of@urvy*!;(@HE z$i0mS$BK>Hqd!bsc(Ad%=2$ALfuqIm=Ragus5*M4o!@zU*USUPr>fTVtSCIdxHvvA z@aiY~cpkBLPcJUBzi>DA`qHYv{r!QP7A({FZ6});zVn3{ll_iw=j;9k-Pl(n!GF%> z@XmeLLpsiOmoK$Dwx;&{;huzpoerW*&HoAyF3P)G{l4d^gVlsE1{ROA4m%Wd@>kAw zJrMf;jp>zDJO_-8F6!=mInCbj&c&Wvn=I`2H@^_Mvsb`=yHl8NY52W;n?)Dxdd7Qh zpB{hoBbB!s?0V$aGxw?1+x_jlxk>Gb&%yp8v)W9f_=CRJPfob8=90tT_tVOil6E>| z?N|5m-eq*)t@*iD?wddMi(RV!zqhy9UQyO-*-2Mr`-18i$!)U+4~L`zODr4>&*`k;kf-D#}xS$3l8r5#E=jm9O+p4#A&&m zql)9pd9qPE)V3e!`u}P3KcoBuiBq|&nWi#0RJ-i^D#JS8{%ztb7ZZ7({Zn3OSv>pn zb>GW90w)%Id~EkSZSNcThdb=5S5^zWG^n*x+S9VpG0$*cL1=SE-KN%q?_F#Jj{Ye) zxai6JK<0^Djt`%o{}}M#lta(2?)2Nr(FZ(UiRk3SvmX$d!}~a;YM%Y-gb0_%r~lg- zbO+v@;``OklqdX%@W-2W!M7$y6^c!=tFqbg&!MrKJ9a0|L)*-uGX*6XS;*kGOn%VZSDu2D)>B7cK)(oVny0jBh@bZey8{w zVP9U@t+W;~`?dFj9jos)omot$?VQ#g=iGB9VxRB&gh0=Vf_(-m0`Jph!oc;+&!>oR z{J3?6hu5z;2QOG!3Euyo>ZoGUoWb{jUj?qS{Ml+6CR)-zSiIdS7DPH3pWv)poTL z(z;586!&dArJ?=g+@ynZGsSD8OLGq@xoq6Hajux-Y%}4G#AU}E&Q$EbvgBRzfj23A ze~f(?4=_inTkx)*Z=co^P;$v%z}`jC^iE$byZzmNqVJEGKi-!=vDCqQS>`@F){xKH z?-tlG#QJ$CENR-;QT0uLGqB;H)h!l*#Lmcro2p;Qot(w&IJ4+(@8m_B9Uir;{AubQ zcp!Gt%4{LVcl(WR$t|A}*KJ>Jefq_?%6|2;dq1xnciyjQaNF(VeJ1-O3AH>A zkAJkgd`6q=a>N3=ml86W?vEGk+gdmymwiU#z6(b+8dKwD9(=j4rSRmHw1ZsV_$)U_ z$T{ZDE8&b6I_Mz&glF%%See`?hf~b9LjJ$h3GqfGNt2kx zE7!F160?2$3(NNgAGg^F@IGQXb!^8z<+%@x9_UWm$KE8XJvYb&oUdCyAi~l72a9sp znx2D?j6U-|omJ?#dW&M7{1w2@;qa09engPI z^!~TuriPWg2K%Lr=B|F#!)$LPI>}>I-^P7C37G|OJ{q1f}J-2(P&7Mtq)k!Q4zPptT8({g2>)CzC=*RQ77EzMF}l>E4UpMF*S zJPW_{eaj1ib|(pU9en=6c9~D8=fMr0i}wDQ#pk$w<-X}`DT^Gq54Ky2m4qK?_{g%x zrufSK6V0zTEPBvp-+IVJp=J-W{k8z3&zH>~*}ZPL5#JebXkX)A)-`kXb=f^j$d|Yi zQ@HQ_g0sh4A9#S%41?qzm|mo{B05nJ>3PZWD(w(FM8{)E5BMSe>N*)t2x{So#3ft|;U z*E=`YoZNRwY~R-GNelN~)_Lx`(W2UJk;1a?r#%-OG?4o)xqr6n!4uVow*LC3wpre6qTS<~{pu|aJqIT>hb0v6HaZw;tQX4^lpclP@I$`Lo8*h;t9D|x50tcjJkf1GCFrz!Z& zu1WCU(Z=dW`_wu+0^CEl?z?o>O}jsBhTUc%cHZBo%E0MS@HZkHZSCf^Cm%0#EWfto zPK83TWAdie%a1?$d|+XUehp{I*#kw_ekG(@Bbq4E7TinTkYRy|r&OQ%!`K#O{5J!kKeszV6vq_n>l8u6wrK z<0qHSI41WT6nU9g7;s9*abs<4dU~CJW58nNg9YmC2fofeSYaX=aiDX0uiEE5N9`-! zy@e-SXtF=%Fmq+tLoxeE=B&%Vc%Ik=DrZ}5K6G&3jU72|Q(i6H=bRn=L(;fpUtavq zhYA&taoli*EAai-_m|#ZaU{Rn@hS7~rPnVPI?j`EIQAo#|KLZBdu2-}o<8t}clWL~ z;V=iG_bf_bOl%H%T5COA-Rk#WeU&ubTSsue_Otp^4EcigUiWux;FdYN&-up%f1~2# z`%*5j|5*QTk{#Rj3%a+pYwQeXS*#N7n0Ii!*xVAcbu|IyP%}v# z=i!ZgcYYm`-f(S$-2*qV+@n=pc1vd^Oi4SPu!+Nhw3rrbC(<1P-FP_q z?U@|1AMFlPk85U~B_lsRn4 z2R;fOf{5xxqvd@xbZAV#35V)Sv6hMUIq&>VoM>j5TbhmI&D|{5~_{FB3NnoY& z!4|J4vQBAM%%xljD9^TfUu9FF;-h;Uqx zapLUNGYcJEZziws3%7OLm2YzYvZd<5eHnA?k4;&4V0X-;m&Y;+9F}g{_@eUJC;Klq zlb(vJE!;0;CKP9ISbqO8f3xG^+yC0>JU-X*H2LWHwA$ zaG1m4{ftPNsiD*CSMR)Dt#m?ezb?Cb-ag@f`z$y_yM*Ew?n~C)I)B;xZaZiFeFbgj ziuWD!FV||_`DE|+nG*_T@J1Y*s8VD7=T4ks!VwwMps#lwijtlvx)ts?Ft1)S_Uld4 z1J5=b=MgFUYQKBi*XBu$&GyNkchp{J{kiXQO9Xf1`S<(g_&GU8DR0=<5+b*M`QsM5 z+DE73{PGj`70hDMb#GMxhvQZ$L^zfPyM2qCzR+uTkIzB&DB~j^om3AlxgzjI zA$ozsZ_9X1^N2!+)HUlo-ru@l|MMXSi;}~#{RY3XIyj$c*k^ud(%ka!|GstCs{7>} z8TVg$QgQfh=ry}Vtj^!Qne4C&S!uQV#)n1wSf>X3&pKV|80{CJ{dskvY4mDuRd%STx%V4*KEPQTU_(*n6_1d!|}H~A{;O5d-LYC zzyik^c0FQi{SptJ=XV#hf4u>|q(?7EL&HgCED7Wv7 ztM~6^$PqK&C2s#N_iY}aRE zow3Cr#qQg#%X+<96^^G0f-bj8#5kHurghHG_~0{gZ9&StAzRo^n8Qf0~SW{jusV`~FRu@k!|K(S4BzdGc!+1?;YtaNY8C zOSVgpf2OT{HVoW;bW}xz<5c%APpg;CauoERbzLYc>)<<6Y14={g@c-hCd&$)J>pO^ z(QxTSi9CntuDtKK*DxMhz1*2o*5(F6`*$6>uXIX(hTX5W z3m(dir|sHz_(a+Iui0m4EO+ywhL0V8>#gmc=~Eq@%0;GGeaUiswQFq^f4S7b*QeYx z?TwEgnAs94@=ia+;h3gTMCyNThpe4<%ykb=*zdS<_it%2@BOoKPapD0U%&nNNtYNW?6Xd}voUN^IXE2KwGiQGa-_fPgY0C-FEzHx zhfWn7iV9ecQ)>-wZ9ll8Y7ViF$=5S5PeASLK+y}g>yJ8pgtk}Q3?#kz& z_3rlKuW!ZKYP{L^{h#dKe*F*o3gk|y*T`(#7jSHX;N-P4?YJ$uxHJDW+x?st)Tv`W z+i{-ju2(D($&Sm@O%8A5QaqS4-Fd3H+`$7Km6v|rGs7AfrK^xujUj+IJ|$abF+EbXZuSV z=e<%eov@#a)nxIEaI^jLx67=rpJm!V=cva^YwrE~{``9yy}D|PU9qm^tGuKsc3fS~ zUY=(Iz~OjS9}$kG$)7%2n725Ze&29aK(hGY|CKWP8!|W#PN|s963KeOLFs2BZrk0o zim!h5V9q}NA3Znus+#TkL!TeKbTHlS`Z`zTzEfR}%A4OEZ=LSwXwSqP{qMcNLE#_T z0aIlb9B9^+nrk<^aEJV==l1nt!L^(^Gxl?qZ4zu=YqEc;)b7b^&tKYSIoEnc z$;KmgOg?_me?2GcQ|FB8E7K~rJG}69iq}!ddG^Alh;VE(Xk5@HZQ{6k&9#e~uZj<* zNY9zlEwJ%Gu&{ZOLt>AX?+@GC!O&V6Y_Iye zq3%`?@BY85jwl?Adb6)baE()g`XRd;BG(@(7_70|6~FuG>BQiD4>~v7ew19`c+vB& zjNjp>4yQT7*Qb}N9Q3*qqo?&H>%eM$%jK5lMGhg_!k@1SU9i9UqLpF3(T4rAw)ee@ z%5d7BX5@QiuBpg=p76gckxk$1UM~A&X;OZ}&XM`;8E5yU`%Z7a?{y<^#=bqf=XoA} z-t8FQ`^1mQ@v=k3%U9ONZcT}Iu;w|V7JOm1eZpURMMLvB z`%6W4U6xbS*{?szRP}J;kA3|UF6fI|Jg`gYFuLcxbHAObs=|&qJX4Ypir1lm% zywv4cetp-M{rP(3W!I0a-~XjzgZef8*Zba{?z`l?^TR&rgUpxJwXfT$e!f*_HD#w= zyWO=IUdah|>HAD-r22FBm24G$5_Y-Ev21P0n*3C+%_R+UGf=@lBcAY{&2VY3>@ zMDv+>DjuA5mG|zy3kMuFoP8R+N-WPIRr$1^wLR;BC4MUe~tio89>-%zX8SkMAp3u)g!Q`1*ZD$G3JbGHbEhGvfq9#iDk{d&S<& z6?+2?{%YntV*i8p;Et1`zf0BEI*9R2{^ukb+-UFWegTcZ$f75TlHu1pS_xp^BjA&> z6>o)Ktg}x(I=NI>$liX%vyGW72gLTTzFz3^V(W)}$31)k0^aVlQ|+F|6R*6{Zd?t+y=V{OS)$Cpucp*+0V2RABCkk9-nbueV@`HJ%?#~n6%PvdG+OLKT1uzUa4 zt2_rbCDl#-e{JsmI|;3Kbd~Jv+43Lmys)QdpIBS;`)RQs?7Ak@Ef4lPXm_S1Uf9-t z;l73&>b>)Gy7uu}Ph)=-Cb1uMa^l~S;l9OT31{Y)HO9dX zRT8?7)&Kw4f5YLwvf6~s{pv3m3QzKD+dn(xbVKmR<9!?c8#|VjUALQe`(L{7rY&}C zN4Q>n{!q7XzMF|4mq-OTUu%0I!cpbqm7f;N=N}Aws++SsC-GpcOyQa0*UFBO-VGa1 zAK2v(pFX?LcVFRwC6oWIxV-H1{-xG)=gI4Bus?cX{@jOcy8GQeNx7_ABeI|6W0_cN z;S)O(t+Q{Ewr{sHTCvb;?VSbtmdm`Fwqdc>K7pCm*X7@JJ4&Q7ZTad~aPWlAzRVc` zf(Hd$f}3{kJMGZ!)%>O8cZ5T##px4zvH}PACmoioSXaB>XRF8di}#%E|0hdu)P=Cx z3tv}T*DZg*PRC>-!_~}v`(_FJdG&2~likg^?Gn+Nd3G@?=6~F6Sm8KnvHi8*t}zGQ zxpO!Au>L#XU9fwC0PhZmNqnvyE-PFeOe4h{s^0zHzu01TRk%dv{=jtUX*S_{_JQIn zo3EC=vlFnr`RKjV5xZwUOSk90TeXkpzfPoHm#Lk$j9qi>S;)CFh5m?eJohuDd}{Q< zgH!o)b;Un>AN>4bd4tCkRmZl?IseW{E_Ap#U0|(UV$p%)6-R=_A0M}`v)dKZ#kAJG zzVXwo6}is)lkPT4Ke?g2e|q)I{;8KA+lfWi-D%{1V#hVLquHou;y$&P=MC4NT)NL- zf9lUYvr8SH91DM)d$#c4sgnT*Cw~5UAT6!v`T1FA9T=?oAC$!#JA6yH=6!h*|AAX? z=5U?2@34PyD#OJ>z|>yUZ9YfVCI$uaxg@e0MeaR-p-MuEz)mZyQ(8A%hvdYXNwMe zY$$q{lw5c~puj`YddpY)TvGw*ZA{DT&uBj^Zr|;(e~+->|0!Bb`+r^EWw}b@o?XAG z)SrK~#rrP1Mli19Y1qeXV`nw#O|qTQ{JG1$TXGKae%ut?|GMyC{x2aFDX&isLDM!A zKq=t7HG-7*nP(^JBYiiMJO& zsqC~%3sU#&v!1l?tGH+5g^FT3u4Aqf1&+DesWZ-=8hA3|;J(CHs!DV}VETX_YfO4>Z165m@G)ci`;DsF(hIj1G>cJkPeim}75Xa^JZ` zJaGTKgNk`xEKl|+`FpI{I)~YQ#=*nV8WF-G;rg8w@XA9!){s62;E z#sN!)uyvmESRJm~E^N8j-*3;7y!F=NZ?5}IZgO93JO6QCSAVzI&9-ZHJaU^8>Ufvi zEq9urH1k@s-S&TG-F^=7b`xj*5bbB0a&SlQn(k+1IS1F}NBn=vE#c_mKJjAm(W4GK zV}d2`T}?SKH#h3yYa@mOfsz*jQ}4~U&yD>5Vv(@ke$SgSoAYEo+O;id)o}iD%Wm@h zEiaQ>7TQJm>hG^ym~O|x%~Zs^A#&e8P1crqQH=-n`c7_NxhCRZ?qLlPvl}dq;?dbk zHTO3;BrSMjHJ3l=K(PYD2L_2Z`=8tB|6E$wZGX6i<@#Jz(fu3LnkO#X_R_94yRvo4 z;v;s>wwvat7gpPC7b%{?)jUTt zq4U`}s*;Z9t{#}n`{2ZZKR>Nfa+nhja4&xHpKB7kgDy+Rm&>lD_A8d@)~!6@xc|Z? zy}#>L3)(;9SQnl9^NQVF1^%fEUtQR@EppP&9X3ntjwlLT^Y^W@(<+qkSMZp1@Z_ZV zQ}o+X5AI4h7|o|C?|ARCnuQwE0f(L=c^^u@XB_yeskkg_)|dV7e}28Vbp9NB&)0Um zdv=TL=e7C9Wm+L(FaIa*zoW_XeGB6C7v{9=**D{IGuM*P4R$6r*L@cKZrnHZVaC*q zQ*8%p=EbYGtOz>zGAZ=kXC`jP{K|@wu!E}|EM&g^uU`^+z%=z#+tvFI_oqxg^(_5$ zhrOfy0{P{uEBAdAwX(I5`)j9ve!WmQ^!)^?ODN_IrIJ|hfOn01=Yi| z51g;=Ti@~T@%{|lFojm#@p=d{G#?J{yxlUQ+jPzI`7A{%o|(w ziIx^WWmvar-_7von~6`G_AQCz7U1jaI(VdCSLeeQ15 z-JP2;o5K%Sb(p=8i@La9ZvOvizfQK=-?=*X{IPh!{lbAg?{7T(Z};QaipFd2&)cy^ z>}Fw~uz26Hr;iS+yqdJH)-l%eR%!+~J&NWd!ZE-+CD`;>&cUrupMN;2S?rilbzCF+ z%Lj*V9a?z_%g!G7yt&gYXu83HJcV6#t~=Qsqy#RnZ}iUJAN8f>8OwCd{X1_@;AiV( zu%GzB?fU9vi}#5~$*QG2n!0Zd+uu{(9^H2T{@pfaU6#3TlHMD?jd2SO=5(p?8JgN1 zTx=H;^+sITv1?oAmzM`7I|SP`Cn;#=9H?Cvpvn`neE;Kx3DW+))9l|r{_${Oh@$=6 z{a%Oo{Fv;w&-mT9{^NsvY3!WU@4qa!d+KNua>Ofb-?RPu1a2NI+;?ea!;ALho`VmM z-l){m*E$%k>+w&wSHLkX=1{{%g+>R~P5(G@G9wODyINNN6`!(y<)%&UUwfME=cM0n zyRebXUSF`;`@-9&c3#!{ce1=Ww(reVo*Rz0rr6a^Us|_pZv4LUH@TJ_#h%uVmyb8%qFu9DDx$L1i` zmSflNRlfhe0+&+qMAQ8N=Qh3WwPLitv`Fre9QZ*Q@i<-tFavedmt} zGThd!+o$6@cl!dn1qW?Jljj7BxI0Emd~yH#RLSwZP4$WznMDVlFA~m|oRxi`d+O!F z=bP@?FP2Swd8KiR{XMO}Q;h!@+dtoW=3!p5l>Ot^rf2_Gz1z2FSHzZ2({JySy}{G> zP_fC*{Y=+6C$(92fxGrMywUDCxXAqbp}&kKj@cEN*Ip$GIPOW6bSO>jKk$*c(Leuf z_<<4)q4isrpR#{+`?mL?_l@>1S4Jgf z(XqZmK)I-B+ku0nHCHVUWgdvKN^m!;L@^m~d z%+Oe2$mdv^UuLXdy7+*|((osdAz=q3u7CMgo^jhguxB#Y)Y>Nd?~!(Y{%@7EKhmag zQ>);KU3Z(r$t4qa?91o=+PCc3#C`ei+8>q8D%`hc_OZ9Aj~&6`_`D7gj=$d|Z`3iK z?)cto!is${xsLmHuFqQdLF%CR+Vxp)^^PB~QDEAfbt1`O%~ghstHvx2SMIpxuE=iR zU&6_4p2upuf778FJvl}Rdz-atUXv!>w7cN6DBe^2+CI^qTWP5;`}cM8M6!i;O|~l( z>ePx+oq2GbOfuj8A8C%?c5W1IE0uM;%`UaDSc4fj8Pe>?fG6 zoX%xA-JVB&`#BYEJNvq$orRVHzxP$V$+fwc|6^apVrE^fYX|K6nnBaI^dG+5`OaK6eGo3qG(a-RY6| z*C+NqTDFsGZ#3KYWXP^ftJbhznG|9+A*g3xTGsz#P6|)By z$T@c4`c?k2B=w{ND~vN1lyx&WbRAy(C~xKr`+MKBTz;4s+kb5<^1aEvW#8HD2mU;B ze70}V<9+WOu5H~nw>4Kj_{T&$uiIBlub9=^wa@pe;FNAS7*$zYIj1Gk(Qo0>b%jYV zyqBLC*oR-*H(!pK&AoQ*zAdTur?fQ`*xmT>JSF8`4mdp)cOt@3u&A?V+nWWB8jd<~ z=c^(dPl$={$YxhLc+-0CyT2#59#|CN93Q+d*P$_xY3JpyzwNvBsVL0UnzdgnGc0Om zwc7p}->x1!Qk~iz1tna zda$rYAm`-s0>_5LKJ+YDy$A4UM5cHcs9e{ z=xY56?iW(_yt8)+w)ArDpKxH=CbkF1_eIY;%{MRMkX=d(i{#{{R_`=1lt z-&M7@+E-LqUyxWPYJYeBDy~9{Z~G>do8Ha)dvf0{yD74p)@-s{mYFBHQ`W$)ddrU{ z5vCk)dfeHE2*>J=Ki4asU+8GIAn7k_jjrRtb-&#XhN~Vtko{%avFpQp_J-Dp=}J$`h1o-1f&Vxe3)41Fnghw5zntJ_Oc@XF22~feE&zcR)?D^!u#J9 z+$lP1|JQDQ;LATPS03$CHhxvK^6COR34Q0IWh-0k7Cf{_xto!<@6wAqZciUqJBo^R z6wGNVbhPS-@e*ibILLSE;PpET&m0h$^x=Jzp^d|$mqD96C-FFZT{r3dRE17^^%sXV zm|KnZ_jmlbvF*v9eH=V@%C-sa+P8GhhV6-m7uaQxx0Cf{IF-XoT=OI zRc60$_SzQf61n}~Tx(19`9ANn65AVOCcAW>){OqcJ#VJlO)7m5%XX@0UvYnH$+Pt~ z;Ba)Ei3rEstiX2@9Opacxab^M_%rFCj^Yx{Yxc?qzilfOP7L4UV0K}{b(X^g4iO)! zew*C>xW8j5>x)~{R`1_>{HLc$jG29D+^*Gm44>@obat)2@SSo0o`R-w&++9qm4E(=^Bq^@)rb69FLaRgd;Zy5b50$Y880_K zB_`5g{?5soYkGJcc9`EzzEvN#f8vZsW}U2-`TEF(Yeu%|N3p_yf9)o$Y=gy&vU`; z2MW$MNG$&C>TtKcP-*47pZ0eY_ivugWw*b;!d^6>O>_Ub>t4Tpd}H7L(XOlRaMOW( zvfkgPF|0mjSMuhK^bx)KeY%==ZLDszg2S(_uGuM_>)KR2 zx$}peim2uNWldN2$;I#(o{yfk?|l9xuiS=~eJZU_m2K@4_sPZF|8c*2n&Y=xu5aom zG98ya2+4T+M*5)U9HprWe#Z_ZFrDB~SmH!M-W`L(7F{FIeoj z-$c>$&C!a#`%G?KFRFZWeP2!GEDp`Snfo61`G5P(U%pSwD0-p2OthUJ&)1a?I-4C& zS0A5oIWo-g%4FZk?4}$CF9uXTVGY}S;Ly<|xhpN~?MzM}1%Zko8)YxZtC>5tVIBDm9l#Sy( za6_x_!O98C_own4d;225)1J|K%G+H(Irp#rVt?a__pN;sOpHI=Uvt6kQDlQrsMVr< zias`Jk(mwqQXeVUII_)ge4!Gxar>=AM;lJgqk)qY51v@PZjsWl{Rf&Jtl98BKG&fw zcd3J0B&);bIZyacIxg9-b-GqG_m%tpsnW-ouPTV|pC#NlQ)ul=yHLq@o8*@svYS2I z;@-v|8~62Ote$Sq-)I*iE7H5nv%@h~`O{XDuYQgjLVkQbRmOMlUbp3^itg11rU_Zb z?kS6Okndzp9}SS$y!69J9b&C)R_X z6lKgz+%GuX=2ffTED`3AV&AaLBtq!GIu#|EGgId5w=kVB`OMEid&?x*cL$`t*;y`~ zJt6bL!+nj5-#xeHIlwpl?_`|L1qn`7`-fDa5Gxx_c_Va9;lBX4? zw!f(6%7?$(f9?y;C@3>$zqD^(0I!T<_e497<+jUye41dl;K-c`JI_J(vB$1MgrmXC zMbC>ag&&-oZ#nDA)8d2ECM7&LSa;8%Kxw^q`l|~Lv%5JrKm9I$;C9~LZlNo}2c~?Q z-+R6{a{tyVy=!+f1=}w!zw+9;>hC_yqi5Sb?bx_)#hM#GrX()13ksb3M(S(tzW*CU zYHyrMx658RGv~S30>_pg)A)-{XdS%dX#8t>k;=isxn`>$STs2(yC}wI^<{P^l2!;@eBA9grQe_Rse$;xZ{HUk+PqWn;NfRF&Nn9IJ5+s&epa&} z-a#xP?NW9??fyuQw*?au=j;!d6!kbMQsNcUEY7+>_O4N!q)FcuW#gWyuRio z^MBS04s#zSec2iubzth#s8#Pb3LUuqZu;~JTDxQKzS~bVmh8@3Z+F}I?5*I~iFS8_-|u#AnCBQgry?gZIsD-95B-xJ zl9dmN=XVvY*WKcf@7kVr%D&K{d)Dl%?Pq@MKN2G(a<^jL{tnBY!n{HbdlQ4L-27!y z`>+39^tB`SiCxy-;%T|(?%K&4uK(5bZl>Lg(|ao2m}c&?So=75LVlNHOYZ6qnXWDe zkIyVfX+9@#@X*Oq2iMjvbO?}TH+cL!*1>D}!G?cLPxtS7GXKET;#vDGCzXX?&lj}! zTz@QTb0f?ClXf|Q+@E&ZeOmSFYy9G)cJtj{&VKJQ(e7r5f_K}!dT>4Sat9(DWArEg zxgeaCY2X(uTE{m8b>6o9wVnZeP3LfSu~Xr?AkBxbFY|| zWw-N%LC(IMS&pCXE;IjeEahN&xn9wWoeBpv&M35=5jo`G?DEjY;bo3P6VC>Zt5?|$ ztTDZx>6p8GfA^(JuUitV?akVj-+Q|5`M!Vo?=}k8U9o%J>%3s+;{|qk%RRa{3!3fj zrAw{h?u^^F-j?&d;PW=esoQVPDrO2gcvSLp<+=Yn2bXf{8sCdp?_ehty7w!8q{DQr zK<)!)KJS;C`Yrdh`IP;x_HEufE^FC`>6!jGoBn9u9pQqr98ufszO7{`vftfr*Q%8> zW!ckWJAKytmDRcq;BeI6hX_Zx89JR`LuVgkn5NYBPc!r2l*M=cOL!?duGrPwe>eV! z!}O*EdG|H>2R<+Eje4}VhTEM!ZcsoefO&knc$Uhr`r z?>7U%P3v#i3G>d1i`uin&aV8)oo=yd``+E@Qb};1;<&HdX* zSm$r|KjCmQMmr$Mh z^ybJ&@;OoC!RBPtzTwWHm9lJ`^6>ulGcYbR48PD!?E-*A{=#IDFP-g>$H}(AUe)%@ zTE-hf_Br2*rU}0j+|S%tKR>$j?Y`J4d{gFx&$ioDD)IgN;bnF&FaP=`*imY?d|qBq zr);O=yW8i*cvcl0^jUE2o-GIe!FyA8AHQmM#$hh2SMNyYFDXdfDqfPlqr27 z+jlGVx7G2(rH*!ggfbpJjyZUk>Ei2e&wd>+(P%s*U$evE-`<`r)0a6poMH7aQ4s#K zUysAbrAa7g|CjrJe1g|&*{|N(y5R7^5BoHN7oAfKJ#D9VyKvXzmi2b(DQ7+(iFC62 zv^jcC-&e>u?(P$aaAdGQ!uX_f;lWtHmB-k-Tn^r->fzAbsOosdDf(pLoT&~PJ?66Q zfkg*wxH*ik3g5C1?!Q>K_y219$z-ruNzE*RK|T^Vu$_%(qSd?OnU= zt4-FtHa@WLveVzH^DPbgvi~?GF8ozvr+;bc)YuzQj+`4_Ok5xwf6$_DDsRNe`v(eE zUwdS*bEm@%g}e^FLKcUE>mQ3>`SEN2MIoIH3+k%u-=-~_n>Y42OG9N z?yEajc<}OqxtBI={pp~v^YxUt4QCvV37>qkrR<0qbZhR_TD;1ADh- zicimBa)?N3a@A*=ZQp-u&A~&*-1kpC%vR3Y@^4?vt%E8?cOToOan5-8;MClGt+sv7 z%G>()$yA+9kl`)1i~M|)Z%b(R!M9gkzJx~=9Nf$kd2Z)Q0Y}XmIk(fZPCDqA{IXH~ z8h?P(UAfNAmG!{aZI0P~q6_Tb?@@`p_EC2Keb1ujqP9=%PHmGc@sht_S1jAb^mqHp zef(UO*W99u>?RyosIe1-M{8{KKA2!9^1%JkH`A#HFXpyOT*}No z*thK?+xjd?#}3z>0!(*~IH+6gYiM4RdSGSxkGS)W|MvG!+`l-dX}&#&bj}U6&(`}7 z#mXsv%;&XtY&{$lDe}$E^}pSQizS!#xi}v)J^f|FKKHv*MHphI+iAz-SMN-2I(S#p ztv%sz_(8Writ7S6*c`dzYcCs%ZgQB!x#8H+lR*dmaR_I>wSTq$(hSyDPD0)GbLSM~ z-Yiw#-*8MdENv%)eI0+?BZ+0V?6w=bX+M=XypLsN#8bz}3Hw%g_H?6ptJmpu!7^=27i;?xAr=4G(EnxqBirujNVjM z+tr`;PrO@dS-)hC{VnAONhc4R?035m?eRhCyPXLauXoUgYj%0!E5(GJC))A;Iag@U z)?nA=Jg4vOABTM^EO&!9OlUuN>*+qzgxbJ^9iRH|%)ig=7@sFy6!mbWgYS_Aycv>V z2R!1O?;SRNu>VDrK+WGT9rkZ0pY|89m)<`)eq!`?)~9ye2||aSPTy(gxJjcTQ>WN2 ze06?#?Cx~C_vg4be1Bj8uCFB@Bf?QG#7X($+qQ$tCVF=_IutqXS+sNB?nPXVO)?vr z9!@@Uz-RTmd3jv{2ZFRdJMQG*a44#Go@w0fxPO8Cdo%79oBf-<2& zInI1IS)H$Sg9F>AL#<&`vkzZms1%>GX99R<(yTkYe1=DwJIQE0zv z;?(CNCd~E~whQBv-kja{V1;y~W9628#Ty>FewjMQPPv{p)MO82{bT$KL^ulQF?B1H zCLG*&<;eE8*2RuXYo^_HTJy-^Sd88dj%{ZT9GTbS)2%Iapy9sG^pEq{9X_-EbS^)f zz2D>V9%04%M*C|nv=)E;@?+nmCmxL*;uq~wzyA2`ad3~F->?0_>(!>%)gP8zcX3maRBr(cf@>bfH z%xGJ)Ic%zZvEe5j{=b_0kLNGU*)dU&JSclG@2|(5wpjv>myhl*x9BW%c$@JiVO@H}0nJti zMb3>=?Kg#YMx5Q>WWRYO@436HMfNK{?Yhsr@0*>|)JP>4*;BpiDv^OF9z`+-56I-Mn*|UYNP`KAN#ooy8D#xys+V(|Ce#>u9WU+sIW!2tL z{pb61@1EQ}^~)N&g;OVI9iPd;?x9^3cb2gBL~=P*yQbPQ@bIIGK6 zz;Wi$Xsv_CCLdr>Ozc~{JN$rs&mEiotn>EoPUr1Se%fe1um9?V&!711_qRFtiTi)F zTVAU{xx)w0>31uq!Iz@E7z=28ZM8Pl#~*SU>;i<;Dq)?x$la zR746LUA8Sfw#q>GVBy*?@rPSa9Z=P)4(i?&<#5vH)~i=DSshkK?rh3#uG_EM7t`%| z-FE-{eW!e$`@h;JTc}iNHg>YjrQNp>m}`ZDrg^gWjTvk8oT{ug)>Wjw6C@c)^vDjZ+K+iR)v<6iOsY3Jx&t$ zi8~6}_hI-05ssmblbw7*W;k+w)-qzz%W#h)hY^QX7(4`H~pQRSWa{v#J7n@;chVpqQ{Cr{4%qTRyMGB%N}M!Ob8 z_RtGojO|{($l^S}lf18heVyt&^%(~z=5T!7ZJgow`2^qef4wAbJ(NUye{wC@ML@4 zZH}USPFLQ$SNK-#+gzx9Wu92DU8Y%K*|QHV2lb{PRwE1 z`U91>>NCr^gAdFpmo`dveP%!PL;j`JtD5aAX9w1OxGrt~Pxru6j$M!K-ehY|Ii9p< z-vSQ{k5#$l`<^{5Ij(mzbKjDk`xFEAYJltO^1q01d=oQCo-<{hV~e^~^jWzSM~ebMP9bCqv@wVPYbR^@W`*1jpf&wRN4b^AWvtrce~*3GmtVCQW+>Ob+|!FN~L ze}?5bu72>PI=)%Naj{oe#a8{}2Yi10Y`<@xctG|2)j0JCMh8A02@~s}8TMTKIW9p$ zmiBhay@ET}J+gbKyyDE-BR}?qIWE1o{K|@b-&oBU*Ui{rcTKvf$9Q#_-GNH$x+a#o zgO}|NeB<+taunF2$((qC(Xo8$^$T&5TMqQk^i$w_;d|gO-yA`Efp_+~;V~XgCtK{* zPOoF)X3(%-{kccu&CU;YQN}zcf4+UbFC=WbM9}3;`*v4l#pD!}2m zm+7h_=o)bb30236c<)40xrL76>1Th2u!TBKjl2H%d9=#GdLeOzBGb(WmN>Z|$*s8YJQ=fXojgBI-b zH#*bX7d&_0tNE*LCJAKjW8K?*?`~?-L01<=%W926N4}a(d)}I`IcDW)fAc(a>cA1N z%Ei-+!wzV0x@|r4j@99Zu+KT|v(xR5uH%v__$+NN-eNRkQ_F3;hFQFGPqtp(r#f$g z;I^hU`{FkiERd=4w9{qZzO^+k&CW>du3F>s{DUjcPG;@jAM1GG{OoT%u?c(EbR3wSbL71GodSm&#w{MR&%CjZpTkxUaj&uVR(kR=af*CN~LfueN(2u;+?*mAo*Q!?g2TN>3b^Y(Hmd;fap5 zkM{lD>*%pFoMFGtrSGpcC_dS@U;IGS;&q4Y+Ka3Yo|rw!&O}l*LG@V6zIm@=6qW_5 z9bBvY{^|pcc*l+-18hE)+;8WV{hRyD{RT(In=j)6{0kjt+;z&IYQ%Cdo4vXFY0;Sjx=dkHH~6|Z zH2t;K5q{0%a8d7K<@7Dh_I$;2j}%y{@8=7f{yzKW6FZM@MI}@Iyx7O$zdh;v%02tc z63$I_^q6bclw1F-EVR~+{lACMXZu{oJ+fcV|741DoH3!@_DbW&1Ha!Z{q|qES z(aB}*zSgFgzuB87+igxdq9A=J1)LuHg%IJm^nj-EIsbW%?GFXMKAxF!u;^TtlJZfd zgX)nS+vSY+JNPVejGIwk;4pcEs~Bt6*ZmP!O8yr(ui5YR>HMPeHx%usu~$BM`HIoL zc=y5Sp%-54yY=RiNwMO3J2fFi!DWq8>{4f)`FnF}&A!SIo0@e?Cpa!qZQI3mI?wUT zr^&~*C5jx}mS(O#mE+Wb>a9OSH+RK2MC>*Yu1e>1IJD%wjnl%C{R{JU)J+t(-p_TZ znI$>q|Go+L7M^H*d}*KCZ}AzXLEG$NEu+(Q!W#D3u$nZfdgtzw+3`!1=T41d_r>jH z*EU8uHc3yq_-Ga5LEDpp%rO(U9ngr%6R6(n;h=kB<{8bppZ2XfHv8XwOxXXzqfPAY zTh0BpQeXY*^gi!9{5JWt?1DA>A_9&D6?|V}Csn=c9Td$HC#S$%+@KTAAAn(OJSOpyZ+e@yZf!- z3LB=!+3iyJF_(SDbjKZWrxba6G90y%x>aLCWDi#E6RYYEKYHM-N}KF|*>nfPt+{+yG8Kr50XuMb$0UieP_4Tc7=A(`T zO?L0|#a>SDpSW*L_;H0z#Vw8&(tpn#cMo-ZJL3uatQ^jRvm3MyxHfD$V7^N0;AhSd zhmxNMmM>%dZvQi7ar`&#*8T71otsgtqPbsu(w{V0qksF{8;+Mt8QoJql-5Czs;zXsx|$) zFY85o@E^S^`zD{wshurVWOumbVDE*)E&Cp{D&D^L-_uU|_2t(=&pI4U+xfB|d;2&p zt>_3h2;e^$^7pk-TENN!GivLte`iNI?0q1%P~GvPy^hUa&$9`*V)He4P|>-%do1A#c9G6+2s&HC)r5Z`vmz)WF(s zGIifAJL75hGP)fv+_=>(7-#NS=hS^KJYMkNTc!5@MjxggSUDrLO}8b^;fQ63)H%+F z_Nym29!%IVb3cCy^R&&`%KICC-8IYD$h4nxyAJC$fg^SXRyR*9=-XvCmtDH@r^n2F zT1ECxTR6SI>2bL_A{^Zw%P^-pW*xkxIPJ-iE5!%1`b{m*1blD^yBwE1|K0_Mp2CBN zihfxf5D#lI+;&0u!0eSzUWghd+skd=R-Jw%*q(FOs-;GjjP|pV7UjC$I<#-P?F`=? z4cqsfS*O=CId$f~Eq=O=BGbe6ZIpeNSjw`%v8(zMV||hJ!HHY@R9li%4lc{EwK_C+ zs>9>;((c%ePVIV=oi^-OU35vKVV9D9)s$-eU}^6Cd`F@+S*u^{ z+q*$he96-*#~ExS}1A%ZeQFx zRhLDVF7Ny9o%2mtV(LDw_``EvvDVp@{XBoPvKumg{ZJ>NKeBwH7*{?6S{aVdFe|=dPfP>-&T3 zRsUZKIg|8n-{mf2)iv|3?W=H~Xz6i#i`^p@4(_w%efzctC2e^kU}AS(C+q#;w{smA z>dk%oU}Mxl))S5V-#C>IGHU%5GLhQu(B-$d;{2lmhZ>Pv$0r{8v)|n1qR_F4Yxh4d zzV=QgRm0w(;!H^DO{V>Fmpa9y{9oBEE?;|b`}bx0oPy?`_)*`vZ^5^}*Qeg7vs*5< zk@3~XPRHN>e7u~M-4Ci)Zt#<86gW7`%j|PI+Y*P#6O59Vy2U!k%5OA&@bSfd-=!~? ztXnv9|0!R-)Svg|?7Q~gmGYbPY2T&Imve>UFWOa{Zf0S1DBm}ecjk1TYZd#>OtTe# z7?uIf*TzPOaGdJQlNi-G^&m$?!`Ufn`}y_q+}k5 ze5+D)cqY$*gJ0&CMZ8*RuYNwDTE{5BKEzL5=4|LcyJTPC?|0UG-sclku*gmL>b{NF ztyjHF@3FJs`ja#>f2Q3f?vk}D%V#0}HAp*{VezleYfe}!-LIN@*d{;S$-e)>?r?d3$^8+|g7&uM`}cMIKGhX> z>Z+aPonuQc$Zxb`y1HQU7Rly)Tsn(?eid$W>}u9d^sos&IDLwL+~+Uc2iNP$OI_Wu z!D0XI`2mIB!X0?MgP(E=f88&<;;GQ&ph^3e8O+J-1ZG0XRNoMBDbHT2@A2%4yq~COdxU{=(gD zmwWJe^ZP=pTjB>}CDzIQQ$OiYy_DbK^!FqONtI%OYqfj_JUdgLPZyfHpMz`Fd`>AB zd%bxIhbC#i+xNP2hETx9i*`@uh2NY$Gk;&p>-?II>PkD!vW#zY&pGeYkT`Z(tGdB) z{kLVIwULnr!z$*UFIdZR(C~b6PSd%q4yP{Zup|@)IP^yR-?l#Q*M0`uvtR%HYurD* zuj500o1y(fak0DQ(y#XYKOkx97P8-t(}&%MZ&smQPg2zMNaaksvaqHnf9jOL;ke%h z5ssaQ0_VM+zTjY+)V+sWA4VVa-gxt6@;VjAe>49uoS(79;fm9_yd|1N2aYc*WZqr) ze1E3*ov)u-*4r1a+t{VB+`#^0iQVOSCnfh^`sQ+K76aq{b!tCneMh(SKZsCob5!1c*6q))f`cZnzAj@);6Au~<8RkntIjw?z2|;>mOIE{ z(=3bZW;1~U3Og2VI^G;?A9F&FU;2c#ecXku9_3A3`<2t$?S*4L*}dOerclar+Ag?0 zxxXo6!@lb&b6z){oVf2`z0-bE(_%+!!I#=*1+fRuMDZO=+5P>1@U&a0dv5MQH&DTbwZ;$QXi(X$H zI^~evoQOZU8hH!%ZOn-)7LRQQha;;KA{-x^$uHJjv+$s2?pLM5>Q)EE7K+P#IiTve zV6KuxyLpqt=Wjb~ZA^;}SbmA+b=mybe$(|sNm*N0*{jW6vthEQ_I}$=QQ^zw-1{f+ zeY*Xi?CHMHPxreozHGNUnVwqcs5`^1?QqR$$@VO}=dHyaQ=*a_Rr}iP*E1F!%zGxc zBQf*ofepu$PNc6s>u~LKh4*(G*#oQE7&}?rEgGd)LiUyX69Z%Qv&c?wjtz=3IKq-%&N{u);R; z_=B6dS3Gi`ciL9XlPAn>S1k58*s;boEsU`KDj{-$~sp%U5Zz?{JwP780aj zpX$OAbEfUXKEWxDYhOIyZ?|ysb-{Zb3+>Wo)jnXAjzBPn*zL`c zpBLMUNFJ(NKGSi(l=s$qdCUs?w?2)sEcAI|_p&avV4?j@yW3jbhu11^+V`Ph&7==} zllCRgZ?NK7P<2p`O~YAtdEvqQNUp1*Eewu4m-d)9`kZlySi_iUyFB>7Tuy68Au+B4 zna@qfvJ)^E zewsJ?+y0mc7j5^C9rkA`1bp69FzwfyT>oFn=D3~p9FF~}KkwTWEz>!XP6#bG5_EsuYFS`rX@NSX|~i&`>f=6*4It(*u{MZ z-sw+0IK@BbfUqG?*DC{NhaRR)+-JOJ+VAXmzH-M&+x<5)k4f;Z6yLv3E`8M@!CU*{ z8O|&e-FVI}DXj3lS@~kSCq*^ko(CKD9eS?$OVp_Epm+7Ox&OcAA5`7cAu8c1*U=}PdFTH-SR0*Jn?|YlgsgUtXK}X&H8TpVEzL8&u@(r*i^Om|C;=YW1$G={#I25 z%To^@*<~H}@iZ?wX1A&_H`H)J+rGM;pSs!^n)c25BmH}ecGbbs3)9zSZ;d|4x8ldv z*vxL-)``_j2xJ@(asOBfZ@r1neZY1p>e!TI`nAR-*qqxz!HY0Nr! z*-m}tA*(D$rO1sZO`pj*{;W70d2jvE1M(pc1MK&w9@sl=-R<5=HV4-5jzhj%I_+uV*|c3T>+ zRc*+ac2HyYj74{Rvkta+dr4{Rl5)KDAhO%y)nNzKU&_H>OVbVGXg@yA!*ll%@UGw3~1G`7pAGif>+p{n3=%b0xAG_I|=X-4} z|E$7p)4XkwUOCMNtCvrj-oCdh6rQrC|BCUMG zvfT~`?HiUwf6qK%x9dYY@9q!#zaQ7G;ftDMU-f~b^7AsM{cIXv=h#pCW0zE^(>3|o zZ#$Pgy7Ld&@7yXuI9&bhnR(i`d&?82a0WXoZ{lVyWe)kHOJMHJM3RC3}u#Fq_tl=-v??*Prgx!BgX)eC`G4ssI|_x{A9`eB=ivVP zh9$FH&VlJ2-xvAWAF>y(+?yxFH zDE@MNUr^cQL(|Px+fB21&OPyQo1G~C|Gvx_JqMfDA3pXg?9YLm)?d|W^93AZ|Gkr) zTd3vWsl0{tP<+IJH`Too+^g5y7f!f-Ft4b|zHqYEtyUY!{kv`Mbj>ehwP%f$@VWGG zjh$0zjd5Ar!F{1hzuaf2_uDaNKW<~QDh8*=_i2c5%<7e$c$l-v(WYQ)&w~X;j&0IU zeOR`#EUs*)VD4G&YCGU3=dI>Xqy_|2pZ{rzJZ3lY-LI z9P60(uUq(>aq`71yU%f%B`XRx+1Wl%T79c)hMma79#^9ksdk~_nPM;B&OdlE?Z~x? zw}FnUEB4>%>`-#-J!QdCQnUJivDCshJaX9w#QCC+TxNM{fA3F`hrRO@`+#@RS4&cr z_E-Gi6h6trW8ZmZ^6?w2PwckLFiPdOnr)Zl@jUf$+{ArXRz7gha%|jJbA9fo|7*Gr z*5`F}yb-Z?oc!bNzXt*Wj;aT)Ojo@;{lLZJ7S)d%!w;j9CCh%vu0{KhUG@;DEbx62fz`Y@g z)!~6=%;Sku>-RH%{>0qfX|aDNFZZ&=LLco8JM^85Wqn}RrT^~^)A?Qd#BHn+zW!>m zyV3DZaPsK{JHH88N|BT1987L(U*>lv(NRle&jY~)3XWxVTKb<)>^g96?J?^e*E0?z zYo*)ITJ*_&x!2F_A-|{Ci+8{9b&0wXb05BrCo0S$2oz z-OT?cOtZUYQv3g%QT;yEV;24Q4|g0ClH5B#@3x;~j6+`AyGuNd6K7_6oHt*7pfon^ z6?13kfzC4vIF4&Qu$NUfTenEK$^Pr!M{-#?!uAI)SKj5^^~Mf>)hmpzzl z^}0T*=IDX-TeCP2ke;h%n3U-#S#!MO zysWfi>Rcb$^LmF5{Ol>!lW|Txz|$Wgl4|+e{%l(Q_eML zApvU1Rc!V;ZRI5=ye`^ha-JyPtg?5X#JtZezf2eJoAV**)9yczdDnwwh;UrL%)t7; z%6!LWbR>53bIYWC z{Tm)e&*GbK@Py?A1`EA>$6FGUJ{vO#J070LZLRR)_<YYTT8k57> z$uZLXcFfZU>% z=*WHkmTgQu`TXGWk-Y{Hj?s%7Ee?1tbhO`J`+Q1UprcGw8&m31m4hG3nLh2Au;Bpz zyA4(UwDKJmyixBeUGu}fJ)b*y^W3@nmsosIvHj|`Kl+kZ){ZuD`(MAF{aa$pWWW8q zr2y-e%lme)YhAN3IJWQmT&>sYCLMNs=aNMolBf{ zUrbLQ(9XKEOypeff&0Q7Z82Nf9Q=j9%4eRLX8--l?AxclDckQ$U-~ZN7l*xXvU=P0 z&+qrKxKt(9zPqsRV)b2JM!VH^S7$!&{I_VD-Ac=v<%++v4l)XeO3apzb5!b>d-t^6 z2Zsv+$r)ACwjU@?wv4dTc03?>zxd7iwV&;Ev-5>GrZn5Tze?V9M^whXyhz``A?Kf6 z8^^Jyf(IY(>pfb*$69z~-@(J|(!U)R+FhRcD}7ILH#i)98xi5i+|gk=W#>Z2hb(vV zmvZSIOqY4JoV8H(;JfvKvJV>E4j2jEKe?H+&>?BM+|KXsp4)4dzAtD?TC!h(ec2VZ zMyLIA_MhWX_T#iynyS2XC+A%|4q;&}j(0Qm>CTkZFf8fWr{C&tb%8r--=B@Yj_eT# zbPVlyJR|5yp`$K`%<&JmFCCZ{Z+1w2-3-|HYEvk(4%ilNscm4^E{eE_{ z&8?&l>M&uPJ%cGVH(s-8VbzDqih4@M?4BR>vE%2UuSx{K{AUZZGGQ zvv(?Mz5Q*USHkMc439qGi&)OBZ=!Y%jX(^A+Zv zq`$`%9FCLQ5aGCO*OaWbs|y@gXO|xFI301&yK$$d?=qExkx5g^ZpdzQ5Nfj)%L*%W zP-;vH{yhEi{wo{j#GU=Pa=+Swq(z@58SH29FzrzjRI)c(#@}rw_G(}1nU__UOYiNQ z=C5#@W!84PsGZ?gCn(Rfn?32!CcpK~j%PjZsk#dlI`TTJ&e(g6{h-Ekw>R}hXAac+ z%~@nT(aYi01D9V4#=H*9eOERfK2l>p(?^f>3#;1xnW6HISLR=_n-s~pzeM)SzG4lg z6%SslunUiBzf$MF*-rPuOx628n)Y?YZFc%4Sm>C_zI(sW%veWx1QX(+q21T?h9Xo7pe2?I;Ax0=d?iPxo&nN!cprI-`V*ga~;=|hWT#LO*@$Q zZpMMFc1j1=s@I-PXE^9!vd5aUT))7freLOr{NEq@gH~pI5xcc!|M7CxUvtvL_kWGh zx*l#WZZC50`@e$Om+dU>7jMdLJGyV~y!~4rt)IEiICuANpW;HheH(4Rop~_PagT)Y zYsH7Tj+r|O*RS9ZJNW9DV$a2-lLzMU#agm$ig);R!z(afgV#Y^Gk?dl-lqLODrt*nrq#rF62-Ln47^XbH)eT_X`l5@`&+6CP%<=^33X15}P&uTtH zy`w|6XF0?3NXJJBp^+_;%m+1ivsG3yZaWZoN{!jR(%V6W-^o_j{inU*+fQo0c=Goj zYFNC{#7TX>IG6T~0KxlqfzB&`a=Dz{XE~j3viRzy`yMabAZWF?&`vLOx3<8S7;t)& zpNI&@jk`P6r0kjISj+J77E40j!5!?0FD9*#IVg5#^<~@g6AnJS?*bAoW;xj0{`~I? zGy8!GBeV919jo`h>|W=8!@}O4L;lb5-WBZj#S7CH{n_T!|l?VguyelmH^ z61&Cei`Pw*XxrDlXt_gt&kV;oY2igz9Mc^QUuLo&StWN+XibewbKsE!p4-ldEpN$i z*!yCVk?nF$2m86R4CR*2*?*s_EqLN1tNrinjEXyo8TLPVHUFdU+{gQVurGVM=-+X> zJGc2nm9~`bJ7HD(z2|f5zQ&oV?`C_nI)=%+#T9CXIHtE*t;?Lsb@2Yg=NYndHy&X8 z?O=D)A=F`}B*V%*cHivZ$olyZ6ytnEO7fVbs8cZuM}8y?A_DjxHzMH-Zs^ugFQ#|pNhr{ z9lWsmZgGyvIfrW-HO+r0COMeSW!`p7PT+uM^uN!iS1sM|vwMBl{i|N~>-##F>~s;e z-}3b3wsY!F_oc*Ci1=SWvu|l{QMO{iJUid4xa?>9n(RbYvsc^FhKGyN6 z_u?(WO-ct7Z)80z?%H*rT4CYuj{1CuIo$U>)x((_PVeQL{GMgS{+ji>PHYTU-fz2n z_A{oxulAK${4uZU`@L^r@9|HqSu^d93cfaO4BKMIXHoVcTsv-`*#Vb5o!Om^);tFN z&67MGxlVpjR;4c zGvObl%ZnWY^RH&D-%@<=Oq0HGaR1K(NwdzzHLkqi&~)lzVT**1!n6Zq$y`eDa-MdVqp@wt7S#$j#s!i(&tybMxjU`*V%wy%MhG(ahr9J`0}7^>Xn`?Oy)Km~{5? zqAsoOE<>4f;X@rI6~4?S9rwFw@K;H->#wr0YC9Gz>^-@l4; zFp2piCZ~SeUcvlw``kmb_U}+u|C6(ibH90olg^v6yZb&Byt=NyyJKId_x<*3D?05? z>?rnJx~^(p5$}XUAJgT*`TFAmL^!?>w12}OUvki+MMuSJd+|Y0w*16pUw=3>w?+z! z9lzjUa$(QxGjClEe2PC>7r$BfKw$Ng{MP9;_O8|kLX{#z>_c6=4+$*#Z&!bzn1#df z!@hgIr8O?^Chs%JyYW`feYss8SH`EFH|6`pEl=uiIzHbqDe18K&&@6eLz)i+?sio< zxUpu*-CZmT9h#NhK3F_n&jvu*q-EY0kt0hhM$fY_wVMz$u1mq4(z& z*#Eq%u;TI30DHbg!83(Kne5*sSY{juTWQy+_~=#Am8JW_jn9f^E||Vg<8#r`n1_Y? zRur}!t9F>{cx~R}_@8fM4<>V@TSzTcIw-Uu%~#;dPKWQ;b94$T3mmFGR6JA*WH`Wl zMxv4>cFq2kg4wrLt#h$|@A*k2+?jR%E~_mr{A=&;vurx}{Zr(EeT(;KJ)QKgIXLQ^42@pQdB9-zSrylY#rvfMnvCzice0=O-oy9zLZ1C6m1KOA znqS&Y}LZvHIy;3wLxj;gG>JEmub92DZapZDb^ z*FmqwO~0~sY;>@l{qf(5b72mdzpm;kSbf{yduXk_$CU~DC&$J=)+#Zwudlc;V?#c} z{t2QPE!r0@*}c#)%XM*GXxFw~X;M~9-@ZL3$_s+E(!u%q@CHOU8Xd9`*it|D;0Dtt zy>6mu2W3`v@9=6;ax_tY(U3g#phIVWWDwu6f&(GXbxPi({@>-6Faf|C5kG}7eO)-r+nD(JBV~->A!R70Zui9I+%|Wu?Y1LzHKL_oYsaM$l{@ULr z^Cj%9Le2gy8z&n-ceb#9$Ify>xsPSPH^=&epZl-xo6GT!=jE~ub|0oOhx|CZ(5~9a zyxQeP4mcb+w;{qYyU0>`{?i2q_X%hGeeWG{kmd2)<=_6OIPN|3N=&(Cql4o;&5-Hd zMF$*SwDho7+~3cpx^;Q;jCJ-JCc8^#r10AB-XYv|+L(1ezi6#M=J{Lu%C6NPdVXo8 z-E%%W@7CnveUqGSt!2HDXxAyUDQUWJv*V$!1$SmR79Lb-x0ztIhW+5d7o`XS;fj-8#s(e#bi7a6X)> zb5(t(!;ao}i_-!v9WE6$hdc8B*}ur&OuFn)g8ik>N6wZk)3JAR6v&u7{r$cJdmDD_ z3_50ak@5JJbFHcS9KzJaW-c|hGn%xitofKaI2`?VBf`;=HAd*)zJ&)@8|VMFk5oIj zs)VDu@QA8o{5iJeQL$ME{?7cEUBX{OZI&tGjo}%W8;i{ ze{XUZ9ZY92*vq{8#DTCq*XRA1dDdag^C|6DtxOI)a8mhZ%*c1(uhH(l(u}G0-qU+F z%$Q(ifA)t(cI$7^{kNuZeLLWI!tNMDeQa~!RXdKd&(}38`t9@--`czhn7*%L%fqOq zuSSk33|igsp795#J9b`)uh@E^Kcd-@Y2{9btH)K>Olem|@S{9-r|<%6|FfhVx%PvF=~7*5HwU`z1Ts^!xnTipTBje8oiWJS*PkD&M^NURpP} z-81z7A{^&CH}5X7UwH7Jq}_JAB|(nO-=vf`-BocktIhDeqP*$AwGW^5IpPZroP4n{ zxK!t_y%%azY=*#}yCd(7?M{U}v|FaPWaZ<#i}!6Z%fI~P%)))VGaPc(w@oVyLNHS!6%P? zt#o3HK3I57I>gw5(J@avKKA0fEe?}o$~Q_?`yaUTq4kX8(hvK2KboX@@%GwZ<9Sn@ zlP3o7kNAE4n|$}y_Pl2?qLX z`F06qr@vm6DcsjqG`mo#u;t+Ky3L*1r$P_1FR^%F?a1L+el+a!+pG-^Nf!)scF2Yt zn7wRL=h02i_P02SWlsLoZNFmD?X-h-^81VL?~h#`_i6QzzE*vn53xPzz$$2>#CQuw^Y*&n=%Edmqi1w}Or4``dQ8bY42ewqIwpxa1d^ zS9a4hrG&3$Pq53~KjD$k`{nx@dOG&{NYvS>$EN;>cs=Lf4UUg0Q=$?NM)*|R`S@MI zv6X-Qp1|~-4n;f4MZ7bz4y=6VeCN@@xBE}rUvzYJ@ErR;x3ss-k#*SLxmYZ^r2ea& zoSyIOQjvFd`78^iQ}3ME*KvSnH|xI6eLQ9#4le5Iu~YbE=qoMIdCRqYE%!#fvj^C&A6uNZ*X=;^x|)xZzp^{b&Q)_@5cS=! zuNJzaH(g`@Eqft#iH`#NjkYYAby0t>-IL47^R+8a+GW2gZ%bQgYPapJ)0XM{4f|H) zue|YHXu-i1>vwW3I~s6s5|dn-<8~#-_(kgJHyV~ZdEt!yqhUvd(iCv`yOvg0ms`!3+wWBDc;K$>)k9aVADC#Rw`cR3vjkaG>stNYtD)@3+r!>j{)E5KgZa%4u%hrF-r!VU{Xmj!UnO~9ojvN0ioVIzk zfa50pGb&ln@(;Xs`KR0J7jfX5WrkaS_AdLa&jtJWo;BG!2&R~xI<2rj&+}n*Y2*vL z=p_ED^ZNGM=_)#%cmFzN-{kVi!XgW*>=y5PnKW5I6Ws2xe1HhY=6y92eN1E*i`$5(bgcWmLE8F#?$M8(lH6JIXd*I{jbVll7ZK0$`Pi=R!O zfAB>7g#tFwP)CJrVKMsNN{%dc_r>lBY&fv=kIsQD=d%thY1+Gx=hJih;)1YLewiuu zfjpUk=4`tA#ko_qs?>W(poE)`IXfs7@=Xbnee{j!-o3jtxnc>U$);9cr%an=UdyieQ7vOon z=il5$d)K7xt#Q(d`)B8}q+cp$vENgAc1O_sn|5dRZ@Zbte`sICJd;`cI~w;fKCb6~ zv9KB(j`dFw;kf>gpgNbsWXHER;wQ5i7C4H}TJ+JlP3+(e6_=eXZYK{gDQ?((+ArQg zaK({{ulZOV%Gpg{KX$C!pLfbg#qF5>{*L#TCVf$7-~U;6cYo&R&HGlrbNXREb+KJb zf0km|!6|kHOD^pA|0mzBY15p~lkUtuXnT?Uz#Zdc$EsO!Jg&M5j>YpY-e7yS=YT;~ z&fN|E83$}$9<=LJ`C_k_JY~aS-Kq9{oWc{1{}tNLwlUf0h!LxO@7|ZUKJ{O>+hBaa z!_RxRoyafV2sNpqeOaI97+g#$-M5YB!oPaej)UClXKL-11~}H`uNS`0&Eu%WBDLlS z&&mTC+#OR?g+mVnZFk=%Rr%1qPHETucL`1QrF=o5Ru%&LFE3zyF`@s1UGBg2t&Xjy z?f&mU&JJV@@v#P+$ zeCZ4O=E~>0EZ6*C$0n`(;NrPm`_vvJe|haQVP9s)tc}`v)piAU^#3a=OgpIN)RF7c zlI5uFzI>hNElI~+y>ktJ2_HGoaL-fWaec~xFj+T`=mUT3uQXr!w_(~e`&Ui;vRiMf z**`n1eJSW0uf4_dP`!M+=lf=>t^blXf6cz1txq&R+Ap+QyRO({rD@5&^d@EH89L1e zJI{&aW&8 zRF%+X!*AbEymyb`3`TpMs#(64t(W&*`>1?8?ZJwDe7Z_TESD$RovoPmC4w;q9FE){ z5aHPRfwMI6;e5x-Qn7zJeq;xCd7yNVMtk|2KUV#|d)e-6!>QO~m%`;I}*K??ke2*;)$OZLAjTkDmqT)cVTDZftn^dn_@n0RX@6Q(gXIE+~50>{#-=*1C==ez{ zM@&BVpMyhG#{UPiP9LbaUa+P%IPieo@=!$FYU)sG1C-zNA@ORby+F&QRH(}b@J|DZwS$=-KypVG~rvE~OWBRFC zwXc>hbQCpYW|*O7doWE|N^7wRk)J8c~f~S2@@B1v=T@y|I4Y zzV-#P-L_cFv?~jW4%t=~=$LwkC#~i~oMV!`+4&WJuN;_H70BxGeaC?fJC|k7UBY}| zljHlQGxNXOCkR*-ixgMecX`yB-AQ8Gznkeo=igdJdoJGVA2{1C>^qQn_p1HIWBcO2 zY~Xwqnq=o9{Ze&#RyVkwx%(dxjuzi@Owzg*IC9NBv^Lr+<{*=wi*|OT%E5o?t}eF&YRP=c&^$%areEJ2lH(AN4z~C(UQt(KYjU))hj++ zw3C+np;&G?f8QnLkE_4*7w=PJ>8chv{a`Qq&N*uQS#6GP4Lm(?=hba0v}Z7yS@}N1djE~%x*PI7ezj}e z)Fv;XwrO98cB8+))U18}4>!!eFPFaWe)k%t@441?H}7%!KPxD9ob;e6v0pCMQR&dm zP|lOz4@`L~#~P%yZC*gcQBpI{B0 z<0y6R)t>0B=?9}OKRobkjpD%o)+@gJ@rNAl&ez_1dRe~10<(iTKYRb|Z<}3J_r-GU z{vto+S$k>}_iHwtc8tf-M*uLme*ZRda|#09g`P_{!+X5<~F-{mMpWo z6JHa?#5>t>`qrWzyJtC$>2WIy|1TCl=y|O)R%gwL10vt=uhvgXbXapPBR@?@X>-y!#8-x{yx=B`zX_my#$B_Hiv zZkKzaq3*wx8aNy?xe(#_`TN0$j?}4+1siIU-23wnwtoBDnf1MO3@d8w6R_u$5^TJ<Bi|30q5FB7@!+uOpHC`Vk} zXYF_7sFBOwegF0?Z~EL*xX-*kb?X1vL_4-15C5G!ZH_1XCV4jg4|25hI1&7P9rwY9 z?W-9J)^0d(H>IsWJ}1nfGBxn{_O!3|Jv)UxnU?qL@AIA=wZcPxzv}fr#+R3Vw0rpA zq08pI8~2@iE7Le%Z_&QxrP8|hzs2v9moi)>nhIG@v7R3hj?ss2v2{=Gblj)0vhPlF z(ZNpk8Og2_PK&vnO^dJ*th%Rlm)W93-(_NAFxx->+iNGaENLX5YFAp;E?feYP|8DmHV}m zE&7vnmG}ROZ#Umv_IqEDfokXRxX=51*7)wXK6}aThl1JcQiDl$;p(Nuk#DB$`y2T= zd+Oaz$D9b&R|`+MIWADNWZ9G=a8Oj_%ai{LmmCmK-Oy?)ALCFs<3_PR=Ue+(_xzOf zlBVt7v8v&5&tb{^WiNGp`l?^t=T$f>-OT;YK9y{ttGhC`+bQn7GMQ_3ligd6Ue4RM zA?J~P6+wjKzSU_V|AR9fh2Qp_n}4DBU~y-!$#;{QmZCOv@6=R|?vDA1J75l|O2?s95?WFVmrYnyg+2 zCEB|89p_M*mt>V~H-Ea0OV5+}j?b&uzOC1`ay)2b$95}1<>2$F2e#Ym&N@&Vae1;V zOOZpGOKiCr|8x5)>rb{%f2`mCpy1`?i$+@Z3Cq>~EaLcMCtLpig~5bx`;Pgv=6qw? zzwe&7Q(|28GP_eXZFUzgmDw@fsDCWEyxTD~5)7epB0l zgs$qXqBijkVdl{V*BP(af0<)AKlRq^{S4iwxqXBM?AOgW&L6(ui=C~h*fSaXiVxQ9OLQna z#^88PbK}PuOD;HkHaT?iT9EI7=-0|OcXkUOsF{;=XPQ~NeNFw}uNpT3?Ujli)nBUl zWp}nX?{3oH%loQ+pWG|ozR=Edf`mM?Vx8U8TFG?1_M&|&uXQ^-$e-^RI60_l-8}Du zX1_0N7M4*t_=K_L#a!d%4y9rttd-vi9XwWQp702Kwcn{P^)|ERhW%9^Z(rFRYGrT8 zYV^-BjCudNCf`~2m5%Jwk8%u~C%)6pJ+@HZ@bsL0mx8RXEBcz*)oRT;z~Xyv8bZ!6LC3`1raG0}SbV|s* zL$aFoso!@TOMdZm-XWqMY2CMXRsSY84_k0Myixud zyq=jKK5HMh=!AnSU!;ll?=L(!Cm^J>F;v9y+DZ1kTYjE((E8!S*ZDl@0F%h2N>3@l z12%sh{jxVKvOm7thYW#{(s3YGXL%%5p@ zB45mH`i^S5y$9H5B-hPxjE$~(f2J$p;M?QD4Jjr{2OoUA%kY2q9tWM*`yKU}3moSC zlUwei!gS#9IX78dlhylgn`PAHg?QVa-RSMG-&}M*W9_kA*Rc2dGJYj&dG+Cvop@Zz zyPv1#+GTD1c&GVg$G*_u9eQuJbT~dVxVXAxtv zpB{>KII#StsdM@J{eAB~&2?WkegE~;U9Uc^x3ZUv=#$ud;{U$YGq#>9O?

drGZg zeCA#|$NPUjnfXt(yId!@vVy4;9FE6T5aD=*qvFA2gBb@`H=Xd1m&`pVy!y^3Zn;!MrT=7rQz7zJj(}R4bJ3cS1n^STlJ?ARHVhx{mYU_G2#Zr>)-P@ZFI6ZNjurhbYO1+s*}l-`^V0u32!oZ~rUJj$f~P ztnCBe7%o#h@pfO5W#J9)_@nzK{%x55VO8Hg%{kYC4ppY^Q@K>sB%5%tKA9zoibbMzwUddsc`ac;as~%OA=G;-z~P|o4?Tf z(aEZPQ#cB=Ubswf)Rbact*n-Ru;ESIC($;MgArffYS=D5<*+>GR92c#yu(JXeZTH6 z;XkmcV2_brQ0M;rG1Jcnb$i+uN8T5?AtJQDWmfM7v)&ta?C~>pM>`y_bGY2Z`k`&^ zKJCcwsb?4i?W|VJsm`&eaV-0-VB^LReQ^KQh&OvrF&-2<_tf1$e7l33P{FGMirx

P&9qtfZ+-HIUH{^7yQROkM0M$Gwd>dv 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

H2)5g2 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­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
  • RGTGm*azn`k?U{!TZvD2%wuU4A;EseT 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

    NwO>LfA-5%WqcIgKjCyN%cs{3``Be( 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%0Dq)W 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%0D!>+PA!v$n>+W!TSlrGUj>e8xU^&iOe? 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 X$G@kEtj3{w3=w9jSSbgLCoFi3754e`J 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 S(8w`>sFTv0q8-yzrue2m4|a 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∓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ⅇb_qt^tJFTzb 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 z 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 z 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 a-ruXC-;X==s&)p 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 z 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

    `X7_%mv!EA8Ws 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

      %E@P5C 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

      >SrfT_h4LQ*YP}$^&+dG-PBim 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ν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�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%0Aq6;QssbJ}1PC z97MR1tG#5G*uQdmu;Kf^3VSQ*UAw2|n(m)Ee@dP2&S(2<%v$z@pS)`4w&`B*{S7Pk z`DdHIzG+ct7uDolU3Zmn-wh}IX4O2lgWSJ=WJNNrI3T0=RQ|9Se`}oUz*xyRU*yTT# zH1U5X2u?5hcM;+8PE%_2;`0UvV@~n;$nM_dP&eOKSZ}hC!_2FtZ(co)us=7M*);rd z#(tl$q;uXSEcPpwvu`-5d&O>+rRI;x>NECPpT2TznN_-7|CidPy-EiA?wm~D&D8hN zc46SoKip~Z2W>3o7>4-nI*_0Bt2OtNk;9G?X{J)4+wIGIl-?Zh4zdqTiQmV$Q*nR3 zl@gz4%zZnteL1u3bSCX<{&MW?#si^td3!^*bSSagCCR;fbBg=X-W{(qf)jPv4_Yd& zxFOKH{D6F~>FKrSWgYG`c&Wt3er2Ux@3VW5{JJASf9}3| zAv5`QzJh(V!sT~oD_HOQx40|HFr8sv?ZQk3R%wNU2FhP;EH~~vFw5^wqrRAl1E

  • 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 psz3XirgJsACqVhQqF(s*Z7W%N_f~mmj$K>>5jk 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�=5Dd-zq7yK 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